mavlink - Mavlink命令中的[180]是什么意思?
问题描述
例如,我正在尝试发送一个 mavlink 命令
GPS_RTCM_DATA ( #233 )
flags uint8_t
len uint8_t
data uint8_t[180] RTCM message (may be fragmented)
https://mavlink.io/en/messages/common.html#GPS_RTCM_DATA
我知道 uint8_ 将是一个单字节无符号整数。[180] 是什么意思?
解决方案
MAVLink GPS_RTCM_DATAuint8_t[180]
消息中的表示该字段最多可包含 180 个字节。data
请注意,RTCM 消息可能大于 180 字节,并且会被分成多个 GPS_RTCM_DATA 消息。
您可以flags
按照 mavlink 文档中的说明检查该字段:
LSB:1 表示消息被分片,接下来的 2 位是分片 ID,其余 5 位用于序列 ID。只有在自动驾驶仪上重建了整个消息后,才会将消息刷新到 GPS。片段 ID 指定片段应以何种顺序组装到缓冲区中,而序列 ID 用于检测不同缓冲区之间的不匹配。当所有 4 个片段都存在或接收到具有非完整有效负载的第一个片段之前的所有片段时,缓冲区被认为是完全重建的。此管理用于确保正常的 GPS 操作不会损坏 RTCM 数据,并从不可靠的运输交付订单中恢复。
推荐阅读
- kubernetes - Kubernetes 为所有 Pod 提供服务,另一个只为领导者提供服务
- javascript - 如何使用 jQuery 或 AJAX 显示 ColdFusion 函数的返回值
- google-places-api - 为什么我没有从 Google Places API 获得多种类型的结果?
- javascript - 更改嵌套对象键的值
- dart - 在列表列表中每个项目的开头插入列表项
- amazon-web-services - 通过 terraform 的客户输出
- r - 安装软件包时 Rcmd.exe 出现问题
- pandas - 在 Pandas 中按字符串和数字对 MultiIndex 列进行排序
- java - 如何将 JSON 字符串反序列化为对象放宽根值区分大小写?
- json - 将 Json 文件附加到 Postgres 表中的现有 Jsonb 字段,并在需要时更新 json 文件