Skip to main content

低速数据通道

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

目录

  • 宏定义、枚举与结构体
    UAVLowSpeedDataChannelRecvDataCallback
    E_UAVChannelAddress

  • 函数原型
    UAV_LowSpeedDataChannel_Init
    UAV_LowSpeedDataChannel_DeInit
    UAV_LowSpeedDataChannel_SendData
    UAV_LowSpeedDataChannel_GetSendDataState
    UAV_LowSpeedDataChannel_RegRecvDataCallback

宏定义、枚举与结构体

typedef function UAVLowSpeedDataChannelRecvDataCallback

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

说明:

  • 用户不能在回调函数中执行阻塞式操作或函数,因为这会阻塞根线程,导致系统响应慢、负载断开或死循环等问题。
typedef void (*UAVLowSpeedDataChannelRecvDataCallback)(int32_t srcChannelID, int data_type, const uint8_t *data, uint32_t len);
  • 参数srcChannelID:数据源通道地址。data_type:数据类型,用户自定义,必须 >100。data:指向数据的指针。len:数据的长度。
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码

typedef enum E_UAVChannelAddress

  • 功能: 数据源通道地址。
typedef enum {
UAV_CHANNEL_ADDRESS_UNKNOWN = 0,
UAV_CHANNEL_ADDRESS_MASTER_RC_APP = 1,
UAV_CHANNEL_ADDRESS_CLOUD_API = 2,
UAV_CHANNEL_ADDRESS_SLAVE_RC_APP = 3,
UAV_CHANNEL_ADDRESS_SPEAKER = 4,
UAV_CHANNEL_ADDRESS_GIMBAL = 5,
UAV_CHANNEL_ADDRESS_EVERY = 999
}E_UAVChannelAddress;

函数原型

低速通道初始化

function UAV_LowSpeedDataChannel_Init
- **功能:** 初始化低速数据通道模块。 - **product:** all。

说明:

  • 需要在 UAV_Core_Init 之后使用。
T_UAVReturnCode UAV_LowSpeedDataChannel_Init(void);
  • 参数none
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码

低速通道反初始化

function UAV_LowSpeedDataChannel_DeInit- **功能:** 反初始化。 - **product:** all。

说明:

  • 执行去初始化前,需要初始化低速通道成功。
T_UAVReturnCode UAV_LowSpeedDataChannel_DeInit(void);
  • 参数none
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码

低速通道发送数据

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

说明:

  • 发送长度不能超过256字节。
T_UAVReturnCode UAV_LowSpeedDataChannel_SendData(int32_t dstChannelID, int data_type, const uint8_t *data, uint32_t len);
  • 参数channelAddress:低速数据通道地址。type:数据类型,用户自定义,值必须 >100。data:指向发送数据的指针。len:数据的长度, 小于等于 256。
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码

发送数据状态

function UAV_LowSpeedDataChannel_GetSendDataState- **功能:** 获取命令传输通道的数据传输状态。用户可以将这份数据作为控制选定通道地址与机载计算机之间通信的基础。 - **product:** all。

说明:

  • 待实现。
T_UAVReturnCode UAV_LowSpeedDataChannel_GetSendDataState(E_UAVChannelAddress channelAddress, T_UAVDataChannelState *state);
  • 参数channelAddress:低速数据通道地址。state:通道状态。
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码

注册返回数据回调函数

function UAV_LowSpeedDataChannel_RegRecvDataCallback
- **功能:** 注册回调函数用于从指定的通道地址接收数据。在注册过回调函数注册后,当系统从指定的通道地址收到数据时,回调函数会被自动调用。 - **product:** all。
T_UAVReturnCode UAV_LowSpeedDataChannel_RegRecvDataCallback(UAVLowSpeedDataChannelRecvDataCallback callback);
  • 参数callback:指向回调函数的指针。
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码