mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-09-25 03:38:22 +08:00
* feat(gps): Galileo HAS mode for the ZED-X20P and GPSDrivers bump GPS_UBX_MODE 8 selects the new UBXMode::GalileoHAS. The receiver only processes HAS while host corrections are off, which makes RTCM and SPARTN from the autopilot dead input, so it is an explicit mode rather than a default and the description says what it gives up. The submodule bump also brings UBX-SEC-SIG jamming state for F9 HPG 1.51 and X20, where the MON-RF flag is deprecated and always 0, and stops the F9P-L1L2 path from warning about a missing jamming monitor on 1.51. Assisted-by: Claude:claude-fable-5 Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> * feat(sensor_gps): report the correction protocol, not just RTCM status The u-blox driver now reads UBX-RXM-COR, which covers RTCM3, SPARTN and Galileo HAS, so rtcm_msg_used and rtcm_crc_failed no longer describe only RTCM. They become corrections_msg_used and corrections_crc_failed, and corrections_protocol says which protocol the last message was: the only receiver-side confirmation that a SPARTN stream or HAS is actually being consumed, and the first time either field has moved on an X20. Assisted-by: Claude:claude-fable-5 Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> --------- Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>
103 lines
5.1 KiB
Plaintext
103 lines
5.1 KiB
Plaintext
# GPS position in WGS84 coordinates.
|
|
# the field 'timestamp' is for the position & velocity (microseconds)
|
|
uint64 timestamp # time since system start (microseconds)
|
|
uint64 timestamp_sample
|
|
|
|
uint32 device_id # unique device ID for the sensor that does not change between power cycles
|
|
|
|
float64 latitude_deg # Latitude in degrees, allows centimeter level RTK precision
|
|
float64 longitude_deg # Longitude in degrees, allows centimeter level RTK precision
|
|
float64 altitude_msl_m # Altitude above MSL, meters
|
|
float64 altitude_ellipsoid_m # Altitude above Ellipsoid, meters
|
|
|
|
float32 s_variance_m_s # GPS speed accuracy estimate, (metres/sec)
|
|
float32 c_variance_rad # GPS course accuracy estimate, (radians)
|
|
uint8 FIX_TYPE_NONE = 1 # Value 0 is also valid to represent no fix.
|
|
uint8 FIX_TYPE_2D = 2
|
|
uint8 FIX_TYPE_3D = 3
|
|
uint8 FIX_TYPE_RTCM_CODE_DIFFERENTIAL = 4
|
|
uint8 FIX_TYPE_RTK_FLOAT = 5
|
|
uint8 FIX_TYPE_RTK_FIXED = 6
|
|
uint8 FIX_TYPE_EXTRAPOLATED = 8
|
|
uint8 fix_type # Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix.
|
|
|
|
float32 eph # GPS horizontal position accuracy (metres)
|
|
float32 epv # GPS vertical position accuracy (metres)
|
|
|
|
float32 hdop # Horizontal dilution of precision
|
|
float32 vdop # Vertical dilution of precision
|
|
|
|
int32 noise_per_ms # GPS noise per millisecond
|
|
uint16 automatic_gain_control # Automatic gain control monitor
|
|
|
|
uint8 JAMMING_STATE_UNKNOWN = 0 #default
|
|
uint8 JAMMING_STATE_OK = 1
|
|
uint8 JAMMING_STATE_MITIGATED = 2
|
|
uint8 JAMMING_STATE_DETECTED = 3
|
|
uint8 jamming_state # indicates whether jamming has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected
|
|
int32 jamming_indicator # indicates jamming is occurring
|
|
|
|
uint8 SPOOFING_STATE_UNKNOWN = 0 #default
|
|
uint8 SPOOFING_STATE_OK = 1
|
|
uint8 SPOOFING_STATE_MITIGATED = 2
|
|
uint8 SPOOFING_STATE_DETECTED = 3
|
|
uint8 spoofing_state # indicates whether spoofing has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected
|
|
|
|
# Combined authentication state (e.g. Galileo OSNMA)
|
|
uint8 AUTHENTICATION_STATE_UNKNOWN = 0 #default
|
|
uint8 AUTHENTICATION_STATE_INITIALIZING = 1
|
|
uint8 AUTHENTICATION_STATE_ERROR = 2
|
|
uint8 AUTHENTICATION_STATE_OK = 3
|
|
uint8 AUTHENTICATION_STATE_DISABLED = 4
|
|
uint8 authentication_state # GPS signal authentication state
|
|
|
|
float32 vel_m_s # GPS ground speed, (metres/sec)
|
|
float32 vel_n_m_s # GPS North velocity, (metres/sec)
|
|
float32 vel_e_m_s # GPS East velocity, (metres/sec)
|
|
float32 vel_d_m_s # GPS Down velocity, (metres/sec)
|
|
float32 cog_rad # Course over ground (NOT heading, but direction of movement), -PI..PI, (radians)
|
|
bool vel_ned_valid # True if NED velocity is valid
|
|
|
|
int32 timestamp_time_relative # timestamp + timestamp_time_relative = Time of the UTC timestamp since system start, (microseconds)
|
|
uint64 time_utc_usec # Timestamp (microseconds, UTC), this is the timestamp which comes from the gps module. It might be unavailable right after cold start, indicated by a value of 0
|
|
|
|
uint8 satellites_used # Number of satellites used
|
|
|
|
uint32 SYSTEM_ERROR_OK = 0 #default
|
|
uint32 SYSTEM_ERROR_INCOMING_CORRECTIONS = 1
|
|
uint32 SYSTEM_ERROR_CONFIGURATION = 2
|
|
uint32 SYSTEM_ERROR_SOFTWARE = 4
|
|
uint32 SYSTEM_ERROR_ANTENNA = 8
|
|
uint32 SYSTEM_ERROR_EVENT_CONGESTION = 16
|
|
uint32 SYSTEM_ERROR_CPU_OVERLOAD = 32
|
|
uint32 SYSTEM_ERROR_OUTPUT_CONGESTION = 64
|
|
uint32 system_error # General errors with the connected GPS receiver
|
|
|
|
float32 heading # heading angle of XYZ body frame rel to NED. Set to NaN if not available and updated (used for dual antenna GPS), (rad, [-PI, PI])
|
|
float32 heading_offset # heading offset of dual antenna array in body frame. Set to NaN if not applicable. (rad, [-PI, PI])
|
|
float32 heading_accuracy # heading accuracy (rad, [0, 2PI])
|
|
|
|
float32 rtcm_injection_rate # RTCM message injection rate Hz
|
|
uint8 selected_rtcm_instance # uorb instance that is being used for RTCM corrections
|
|
|
|
uint8 CORRECTIONS_PROTOCOL_UNKNOWN = 0
|
|
uint8 CORRECTIONS_PROTOCOL_RTCM3 = 1
|
|
uint8 CORRECTIONS_PROTOCOL_SPARTN = 2
|
|
uint8 CORRECTIONS_PROTOCOL_HAS = 3 # Galileo High Accuracy Service, received on E6
|
|
uint8 CORRECTIONS_PROTOCOL_PMP = 4 # SPARTN over L-band (u-blox NEO-D9S)
|
|
uint8 CORRECTIONS_PROTOCOL_QZSS_L6 = 5 # QZSS CLAS
|
|
uint8 corrections_protocol # Protocol of the last correction message the receiver parsed
|
|
|
|
bool corrections_crc_failed # Last correction message failed its CRC or content check
|
|
|
|
uint8 CORRECTIONS_MSG_USED_UNKNOWN = 0
|
|
uint8 CORRECTIONS_MSG_USED_NOT_USED = 1
|
|
uint8 CORRECTIONS_MSG_USED_USED = 2
|
|
uint8 corrections_msg_used # Whether the receiver used the last correction message
|
|
|
|
float32 antenna_offset_x # [m] [@frame body frame FRD] X Position of GNSS antenna
|
|
float32 antenna_offset_y # [m] [@frame body frame FRD] Y Position of GNSS antenna
|
|
float32 antenna_offset_z # [m] [@frame body frame FRD] Z Position of GNSS antenna
|
|
|
|
# TOPICS sensor_gps vehicle_gps_position
|