# MSG_SYS_STATE

# MSG_SYS_STATE

# System State Packet

该数据包用于描述:状态信息,同时包含时间、滤波修正的IMU传感器数据以及导航数据。

解析注意(与实机帧一致)

  • 载荷长度 Length = 102。
  • Filter_status 之后有 2 字节保留字段,随后才是 Unix_time / Microseconds;不可按旧文档从 offset 4 直接读 Unix。
  • G_force(offset 62,4 字节)结束后,姿态从 offset 66 开始;不可按旧文档从 64 读 Roll(会与 G_force 重叠)。
  • 经纬高为弧度;时间为 UTC,显示北京时间需 +8 小时。

# System Status

此字段包含 16 位(uint16_t),指示系统状态。这些是字段,0表示假,1表示真。

名称 偏移 说明
System_Failure 0 系统故障
Accelerometer_Sensor_Failure 1 加表故障
Gyroscope_Sensor_Failure 2 陀螺仪故障
Magnetometer_Sensor_Failure 3 磁力计故障
Pressure_Sensor_Failure 4 气压计故障
GNSS_Failure 5 GNSS故障
Accelerometer_Over_Range 6 加表超量程
Gyroscope_Over_Range 7 陀螺仪超量程
Magnetometer_Over_Range 8 磁力计超量程
Pressure_Over_Range 9 气压计超量程
Minimum_Temperature_Alarm 10 低温报警
Maximum_Temperature_Alarm 11 高温报警
Low_Voltage_Alarm 12 低电压报警
High_Voltage_Alarm 13 高电压报警
GNSS_Antenna_Disconnected 14 GNSS天线未连接
Data_Output_Overflow_Alarm 15 数据输出溢出报警

System Status

# Filter Status

This field contains 16 bits that indicate the status of the filters. These are boolean fields with a zero indicating false and one indicating true.

名称 偏移 说明
Orientation_Filter_Initialised 0 姿态初始化
Navigation_Filter_Initialised 1 导航初始化
Heading_Initialised 2 航向初始化
UTC_Time_Initialised 3 时间初始化
GNSS_Fix_Status 7-4 GNSS状态,详情见[GNSS Fix Status](#GNSS Fix Status)
Event_Occurred 8 保留
Internal_GNSS_Enabled 9 内部GNSS开启
Magnetic_Heading_Active 10 磁航向有效
Velocity_Heading_Enabled 11 速度航向开启
Atmospheric_Altitude_Enabled 12 气压高度开启
External_Position_Active 13 保留
External_Velocity_Active 14 保留
External_Heading_Active 15 保留

Filter Status

# GNSS Fix Status

值 名称 说明
0 GPS_FIX_TYPE_NO_GPS 无GPS模块连接或GPS故障
1 GPS_FIX_TYPE_NO_FIX GPS没有信号
2 GPS_FIX_TYPE_2D_FIX 2D定位
3 GPS_FIX_TYPE_3D_FIX 3D定位
4 GPS_FIX_TYPE_DGPS DGPS/SBAS 辅助
5 GPS_FIX_TYPE_RTK_FLOAT RTK浮点解模式
6 GPS_FIX_TYPE_RTK_FIXED RTK固定解模式
7 GPS_FIX_TYPE_STATIC 静态定点模式,通常用于基站
8 GPS_FIX_TYPE_PPP 精密单点定位
9 GPS_FIX_TYPE_RTK_DUAL 双天线均为RTK固定解模式

GNSS Fix Status

# Unix Time Seconds

此字段使用 1970 年 1 月 1 日的标准纪元提供 Unix 时间(以秒为单位),时区为 UTC。载荷内起始偏移为 6(前面 offset 4 为 2 字节 Reserved)。若需北京时间,将 UTC 加 8 小时 即可(中国无夏令时)。

# Microseconds

此字段提供时间的亚秒分量,载荷内起始偏移为 10。它表示为自最后一秒以来的微秒。最小值为 0,最大值为 999999。若解析得到的微秒远大于 999999,通常表示时间字段偏移读错(常见错误是从 offset 4 / 8 按旧表读取)。