低速数据通道

2024-11-14
暂无评分

低速数据通道相关功能的头文件为dji_low_speed_data_channel.h,本文档描述了dji_low_speed_data_channel.h 文件中结构体和函数原型的关键信息和使用方法。

目录

宏定义、枚举与结构体

typedef function DjiLowSpeedDataChannelRecvDataCallback

功能:回调函数原型,用于接收来自选定通道地址的数据。 product:all

说明: 用户不能在回调函数中执行阻塞式操作或函数,因为这会阻塞根线程,导致系统响应慢、负载断开或死循环等问题。

typedef T_DjiReturnCode (*DjiLowSpeedDataChannelRecvDataCallback)(const uint8_t *data, uint16_t len);
参数
data:指向数据的指针。
len:数据的长度。
返回值
根据程序执行的情况输出对应的返回值,详情请参见:DjiErrorCode

函数原型

低速数据通道初始化

function DjiLowSpeedDataChannel_Init

功能:初始化低速数据通道模块 product:all

说明:DjiLowSpeedDataChannel_Init 需要在 DjiCore_Init之后使用。

T_DjiReturnCode DjiLowSpeedDataChannel_Init(void);
参数
返回值
根据程序执行的情况输出对应的返回值,详情请参见:DjiErrorCode

低速数据通道去初始化

function DjiLowSpeedDataChannel_DeInit

功能:去初始化 product:all
T_DjiReturnCode DjiLowSpeedDataChannel_DeInit(void);
参数
返回值
根据程序执行的情况输出对应的返回值,详情请参见:DjiErrorCode

发送数据

function DjiLowSpeedDataChannel_SendData

功能:通过命令通道将数据发送到选定的通道地址端 product:all

需要注意,如果实际带宽低于限制,数据可以直接发送到终端。如果超过限制,数据将被存储到流控制器的缓冲区中,并在一段时间后(1s的整数倍,确切时间取决于带宽限制和缓冲区大小)发送到端点。如果缓冲区已满,数据将被丢弃。流量控制器缓冲区的容量为 512 字节。

说明

  • 必须保证实际带宽小于相应通道或流的带宽限制,请有关带宽限制的详细信息,请参阅开发人员文档或通道/流的状态。 用户可以通过DjiLowSpeedDataChannel_GetSendDataState() 函数获取“sendDataChannel”命令通道的状态。如果实际带宽超过限制或设置繁忙状态,用户应停止传输数据或减少数据量被发送。
  • 在命令通道的物理链路上,发送到选定通道地址端的数据包的最大大小为128。如果要发送的数据长度大于128,则要发送的数据会被分成多个包发送,并且用户也会在选择的频道地址端收到多个数据包。
T_DjiReturnCode DjiLowSpeedDataChannel_SendData(E_DjiChannelAddress channelAddress, const uint8_t *data,
                                                uint8_t len);
参数
channelAddress:低速数据通道的通道地址。
data:指向要发送的数据的指针。
len:要发送的数据的长度,单位:byte。
返回值
根据程序执行的情况输出对应的返回值,详情请参见:DjiErrorCode

发送数据状态

function DjiLowSpeedDataChannel_GetSendDataState

功能:获取"sendToOsdk"命令传输通道的数据传输状态。用户可以将这份数据作为控制选定通道地址与机载计算机之间通信的基础。 product:all
T_DjiReturnCode DjiLowSpeedDataChannel_GetSendDataState(E_DjiChannelAddress channelAddress,
                                                        T_DjiDataChannelState *state);
参数
channelAddress:低速数据通道的通道地址。
state:指向低速通道状态的指针。
返回值
根据程序执行的情况输出对应的返回值,详情请参见:DjiErrorCode

注册返回数据回调函数

function DjiLowSpeedDataChannel_RegRecvDataCallback

功能:注册回调函数用于从指定的通道地址接收数据。在注册过回调函数注册后,当系统从指定的通道地址收到数据时,回调函数会被自动调用。 product:all
T_DjiReturnCode DjiLowSpeedDataChannel_RegRecvDataCallback(E_DjiChannelAddress channelAddress,
                                                           DjiLowSpeedDataChannelRecvDataCallback callback);
参数
channelAddress:低速通道的通道地址。
callback:指向回调函数的指针。
返回值
根据程序执行的情况输出对应的返回值,详情请参见:DjiErrorCode
若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。