首页 > 解决方案 > 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

解决方案


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 数据,并从不可靠的运输交付订单中恢复。


推荐阅读