dji psdk开发(4)自定义控件widget

39 篇文章 ¥399.90 ¥499.90
本文档详细介绍了基于DJI PSDK开发自定义控件的过程,包括主界面与配置界面的控件、控件配置文件、功能实现、按键映射与航点任务的使用,以及在升级到PSDK v3.x版本中遇到的bug和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于PSDK开发的负载,如何快速验证负载设备的功能?需要使用到PSDK 库中的“自定义控件”模块。

“自定义控件”是一个将“负载设备的功能”封装为按钮、开关以及范围条等控件的功能;使用DJI Pilot 或基于MSDK 开发的移动端APP 能够识别负载设备中控件的配置信息并生成UI 控件,方便用户快速设置负载设备的参数并控制负载设备执行指定的动作;同时,DJI Pilot 或基于MSDK 开发的移动端APP 还能以浮窗的形式显示负载设备的状态信息;此外,用户还能根据使用需求,将负载设备的功能映射到遥控器上的预留按键上,通过使用遥控器上的预留按键,以更便捷的方式控制负载设备。

先介绍官方demo 中widget控件的UI,再详细介绍自定义控件功能的实现,最后简单说明在按键映射与航点任务中的使用。

注意:在Linux系统下,自定义控件的功能的初始化信息下传到app,也是用的网络传输,因此必须开启网络功能、连接网口。

1、自定义控件UI介绍

自定义控件根据显示区域的不同,分为主界面和配置界面。两者最大的区别在于,主界面的图标是立即可见,并且可以自定义图标展示。

1.1、主界面的控件

如下图所示,主界面控件显示在负载的图传画面之上(若不实现图传,就是一个纯黑的界面)。主界面控件分为两类:

  • 动作栏控件:按钮、开关、范围条和选择列表四种控件类型,最多5个
  • <
### 启动 PSDK 的方法 PSDK(Payload SDK)的启动涉及多个关键步骤和接口调用,以下是对启动方法的详细说明: #### 1. 网络配置与初始化 在 PSDK 启动前,需要确保网络配置正确。根据引用[^1],如果设备如 M300 使用动态 IP 地址,则可以通过 `PsdkPayloadCamera_GetVideoStreamRemoteAddress` 接口函数获取视频流的远程地址和端口。此函数允许程序在运行时动态获取网络配置信息,从而适应后期可能的更改。 ```c char ipAddr[16]; uint16_t port; PsdkPayloadCamera_GetVideoStreamRemoteAddress(ipAddr, &port); ``` #### 2. 控件注册 为了实现自定义控件的功能,需使用 `PsdkWidget_RegHandlerList` 函数将控件注册到 PSDK 中。此过程通过传递控件处理器列表及其数量完成[^2]。 ```c int psdkStat = PsdkWidget_RegHandlerList(s_widgetHandlerList, s_widgetHandlerListCount); if (psdkStat != PSDK_SUCCESS) { // 处理错误 } ``` #### 3. 认证芯片检查 根据引用[^3],对于 Matrice 4E/4T 及后续机型(如 Matrice 4D 系列),若设备未集成 SDK 认证芯片,则 PSDK 功能不可用。因此,在启动 PSDK 前,必须确认设备是否已安装认证芯片,并确保 PSDK 版本不低于 v3.10.0。 #### 4. 启动主流程 启动 PSDK 的主流程通常包括以下步骤: - 初始化 PSDK 环境。 - 加载配置文件。 - 注册必要的回调函数。 - 开始服务。 以下是一个典型的启动代码示例: ```c #include "psdk_api.h" int main() { // 初始化 PSDK 环境 int initResult = PsdkInit(); if (initResult != PSDK_SUCCESS) { // 处理初始化失败 return -1; } // 加载配置文件 int loadResult = PsdkLoadConfig("config_file_path"); if (loadResult != PSDK_SUCCESS) { // 处理加载失败 return -1; } // 注册控件 int regResult = PsdkWidget_RegHandlerList(s_widgetHandlerList, s_widgetHandlerListCount); if (regResult != PSDK_SUCCESS) { // 处理注册失败 return -1; } // 开始服务 PsdkStartService(); return 0; } ``` ### 注意事项 - 确保设备支持 PSDK 功能,并已安装认证芯片。 - 在开发过程中,建议参考官方文档以获取最新 API 和最佳实践。 - 网络配置应尽可能灵活,以适应不同场景下的需求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aworkholic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值