Payload 教程
Sample 介绍
用户借助 Payload SDK 以及 PSDK 教程可以开发适用于安防、巡检、勘测等场景的多类负载,如气体检测仪、降落伞、探照灯等。通过 MSDK 的 Payload 功能,用户可以获得对飞行器连接的第三方负载进行管理的能力,获得负载的信息和控件(Widget)信息,对控件数据的获取、设置、接收与发送。
在 Payload Sample 中,划分了负载信息页与负载控件页。通过对不同的云台口的选择,呈现不同负载信息与负载控件信息。云台口范围请查看 API 文档中的负载索引类型PayloadIndexType
。按照飞行器前进方向来看,云台的位置有左(主)云台,右云台,上云台等,根据实际机型有所不同。
接口调用流程
下图为完整的接口展示以及接口调用流程示例。详细的使用方法请查看Mobile SDK的 API 文档中的 Payload 管理类 IPayloadCenter。
- 负载基本信息请关注
PayloadBasicInfo()
。 - 负载控件信息请关注
PayloadWidgetInfo()
。 - 各控件类型可设置的值的范围请查看枚举值
WidgetType
。更详细描述可参考PSDK教程。- BUTTON 按钮控件:默认为0,按下为1
- SWITCH 开关控件:“ON”为1,“OFF”为0
- RANGE 范围控件:[0,100]
- LIST 列表控件:[0,N]的int值,N由第三方负载设备制造商的固件决定
- INPUT 输入控件:任何int值,默认值由第三方负载设备制造商的固件确定
- 接口调用示例:
将连接在飞行器左(主)端口的负载中的按钮控件设置为0,即按钮为未按下的状态。
IPayloadManager payloadManager = PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.LEFT_OR_MAIN);
payloadManager.setWidgetValue(new WidgetValue(WidgetType.BUTTON, 0, 0), new CommonCallbacks.CompletionCallback() {
@Override
public void onSuccess() {
}
@Override
public void onFailure(@NonNull IDJIError error) {
}
});