Skip to main content

高速数据通道

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

目录

  • 宏定义、枚举与结构体
    T_UavDataChannelBandwidthProportionOfHighspeedChannel

  • 函数原型
    UavHighSpeedDataChannel_SetBandwidthProportion UavHighSpeedDataChannel_SendDataStreamData UavHighSpeedDataChannel_GetDataStreamState

宏定义、枚举与结构体

typedef struct T_UavDataChannelBandwidthProportionOfHighspeedChannel

高速数据通道状态结构体。

typedef struct {
uint8_t dataStream; //The bandwidth ratio of the data stream, ranging from 0 to 100
uint8_t videoStream; //The bandwidth ratio of the video stream, ranging from 0 to 100
uint8_t downloadStream; //下The bandwidth ratio of the download stream, ranging from 0 to 100
} T_UavDataChannelBandwidthProportionOfHighspeedChannel;

函数原型

function UavHighSpeedDataChannel_SetBandwidthProportion

  • 功能: 设置高速通道的数据流、视频流与下载流的带宽比例。
  • product: all。

自定义带宽分配机制允许用户可以自由控制带宽限制。系统将高速通道的总带宽限制乘以相应流的比例以获取特定流的实时带宽限制。数据流和视频流的实时带宽限制可以通过UavHighSpeedDataChannel_GetDataStreamState() 和 UAVPayloadCamera_GetVideoStreamState()接口得到。高速通道的总带宽由系统所处的环境与系统负载。如果用户不对每一个流进行带宽比例设置,默认的比例为33%(数据流),33%(视频流)和34%(下载流)。

说明:

  • 带宽比例会在一段时间后生效,最大时限为1s。如果用户想使用这个接口,需要先调用autelPlatform_RegHalNetworkHandler() 接口,否则接口将不工作。
T_UAVReturnCode UavHighSpeedDataChannel_SetBandwidthProportion(T_UavDataChannelBandwidthProportionOfHighspeedChannel *pBandwidthProportion);
  • 参数pBandwidthProportion:高速通道的每个流的带宽比例。带宽比例的总和必须为100。
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码

function UavHighSpeedDataChannel_SendDataStreamData

  • 功能: 通过数据通道的数据流发送数据到移动端
  • product: all。

说明:

  • 这个功能只能在Linux操作系统中使用。
  • 必须确保实际带宽比通道或者流的带宽限制要小。有关带宽限制的详细信息,请查阅开发者文档以及通道/流的状态。用户可以通过UavHighSpeedDataChannel_GetDataStreamState()功能获得"dataStream"通道的状态。如果实际带宽超过了限制或者设置的忙碌状态,用户需要停止传输数据或者减少传输数据的数量。否则数据会丢失。
T_UAVReturnCode UavHighSpeedDataChannel_SendDataStreamData(int32_t channelAddress, int data_type, const uint8_t *data, uint16_t len);
  • 参数channelAddress:数据源通道地址data_type:数据类型,用户自定义data:指向被发送数据的指针len:通过数据流被发送数据的长度,该数据必须小于或等于65000。单位:byte
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码

function UavHighSpeedDataChannel_GetDataStreamState

  • 功能: 获取 "dataStream"通道的数据传输状态。用户可以使用该状态作为控制数据流数据传输的基础。这个功能只在Linux操作系统中存在和使用。
  • product: all。
T_UAVReturnCode UavHighSpeedDataChannel_GetDataStreamState(int32_t channelAddress, T_UAVDataChannelState *state);
  • 参数channelAddress:数据源通道地址state:指向"dataStream"通道状态的指针。
  • 返回值 根据程序执行的情况输出对应的返回值,详情请参见:UAV 错误码