RflySimSDK v3.08
RflySimSDK说明文档
载入中...
搜索中...
未找到
PX4FaultInParamsSend——打包发送UDP数据到30100++2端口

功能 通过UDP端口向CopterSim中dll模型发送仿真参数。
参数
Target IP Address 目标coptersim的IP地址
CopterID 目标coptersim的序号
输入
Bitmask (uint32): 一个32位无符号的位掩码,指定要修改什么参数。每个位代表一个不同的参数,如果一个位被设置为1,那么对应的参数将被修改。<br>bitshift(1,2) 这个操作将数字 1 左移了两位,结果是 4,其二进制表示为 100。这意味着第三个位被设置为 1,其他所有位都是 0
因此,bitshift(1,2) 修改了第三个位(从右数起),即这个位表示的参数将被修改。对于32位的无符号整数,结果是 00000000 00000000 00000000 00000100。bitshift(1,31) * 2 + 1可以直接修改全部32位参数
InParams (list或numpy.array): 32维包含双精度浮点数的列表或数组。
输出 通过UDP向CopterSim模型发送仿真参数

struct PX4ModelInParams{
int checksum;//1234567891 for PX4ModelInParams, and 1234567892 for PX4InitInParams
uint32_t Bitmask;
double InParams[32];
};
checksum要求为1234567891。函数预留copterID参数传入位,当函数传入的CopterID大于0时,函数采用传入的 CopterID,否则取对象本身的CopterID。通过30100+(copterID-1)*2 UDP端口号通讯(copterID从1开始计数)。将函数传入的InParams进行 长度校正后将结构体相关数据按iI32d的格式打包,并通过UDP的方式发出,其中 'i' 表示1个整型数据(校验位),'I'表示无符号整型,'32d' 表示32个双精度浮点数。
使用示例 【安装目录】\RflySimAPIs\4.RflySimModel\3.CustExps\e0_AdvApiExps\5.ParamAPI\2.FaultInParams\2.Matlab\Readme.pdf