Skip to content

Conversation

dakejahl
Copy link
Contributor

Replaces #24352

  • Rename fields to remove units and improve naming
  • Cleaned up comments

Please see the questions in the TODOs

@PetervdPerk-NXP
Copy link
Member

Good chance to rename to GNSS as well?

@dakejahl
Copy link
Contributor Author

Good chance to rename to GNSS as well?

Probably should..

@hamishwillee
Copy link
Contributor

@dakejahl
Copy link
Contributor Author

Does this align with https://mavlink.io/en/messages/development.html#GNSS_INTEGRITY ?

Right now we're not collecting most of that information

@hamishwillee
Copy link
Contributor

Right now we're not collecting most of that information

OK. Just putting it there for your consideration.

@dakejahl
Copy link
Contributor Author

dakejahl commented Mar 4, 2025

Good chance to rename to GNSS as well?

Probably should..

487 matches across 136 files

oof

@dakejahl dakejahl marked this pull request as draft March 4, 2025 09:50
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
Copy link

This pull request has been closed after being marked as stale with no further activity. Thank you for the time and effort you put into this contribution. If you’d like to continue the discussion or update the work, please feel free to reopen it or submit a new PR.

@github-actions github-actions bot closed this Oct 15, 2025
@dakejahl dakejahl reopened this Oct 15, 2025
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dakejahl Can we also bring to docs standard

That would be like this

# GPS position in WGS84 coordinates.
uint64 timestamp         # [us] Time of publication (since system start)
uint64 timestamp_sample  # [us] Time of data capture

uint32 device_id  # [-] Unique device ID for the sensor that does not change between power cycles

float64 latitude            # [deg] Latitude (allows centimeter level RTK precision)
float64 longitude           # [deg] Longitude (allows centimeter level RTK precision)
float64 altitude_msl        # [m] Altitude above MSL (meters) (as calculated by GNSS system)
float64 altitude_ellipsoid  # [m] Altitude above Ellipsoid (WGS84)

float32 speed_accuracy                     # [m/s] GPS speed accuracy estimate
float32 course_accuracy                    # [rad] GPS course accuracy estimate
uint8 fix_type                             # [@enum FIX_TYPE] Fix type. Value 0 is also valid to represent no fix
uint8 FIX_TYPE_NONE                   = 1  # No fix
uint8 FIX_TYPE_2D                     = 2  # 2D fix
uint8 FIX_TYPE_3D                     = 3  # 3D fix
uint8 FIX_TYPE_RTCM_CODE_DIFFERENTIAL = 4
uint8 FIX_TYPE_RTK_FLOAT              = 5
uint8 FIX_TYPE_RTK_FIXED              = 6
uint8 FIX_TYPE_EXTRAPOLATED           = 8

float32 eph  # [m] GPS horizontal position accuracy
float32 epv  # [m] GPS vertical position accuracy

float32 hdop  # Horizontal dilution of precision
float32 vdop  # Vertical dilution of precision

int32 noise                    # GPS noise per millisecond
uint16 automatic_gain_control  # Automatic gain control monitor

uint8 jamming_state               # [@enum JAMMING_STATE] Indicates whether jamming has been detected or suspected by the receivers (ublox only)
uint8 JAMMING_STATE_UNKNOWN  = 0
uint8 JAMMING_STATE_OK       = 1
uint8 JAMMING_STATE_WARNING  = 2
uint8 JAMMING_STATE_CRITICAL = 3
uint8 jamming_indicator           # [-] [range 0, 255] Value from 0-255 where 0 indicates no jamming and 255 indicates strong CW jamming (ublox only)

uint8 spoofing_state                # [@enum SPOOFING_STATE] Indicates whether spoofing has been detected or suspected by the receivers
uint8 SPOOFING_STATE_UNKNOWN   = 0
uint8 SPOOFING_STATE_NONE      = 1
uint8 SPOOFING_STATE_INDICATED = 2
uint8 SPOOFING_STATE_MULTIPLE  = 3

float32 ground_speed  # [m/s] GPS ground speed
float32 vel_north     # [m/s]GPS North velocity
float32 vel_east      # [m/s]GPS East velocity
float32 vel_down      # [m/s]GPS Down velocity
float32 course        # [rad] [@range -PI, PI] Course over ground (NOT heading, but direction of movement)
bool vel_ned_valid    # True if NED velocity is valid

int32 timestamp_time_relative  # [us] timestamp + timestamp_time_relative = Time of the UTC timestamp since system start
uint64 time_utc_usec           # [us] Timestamp (UTC), might be unavailable right after cold start (indicated by value of 0)

uint8 satellites_used  # [-] Number of satellites used

float32 heading           # [rad] [@range -PI, PI] [@invalid NaN if not available] Heading angle of XYZ body frame relative to NED. (Used for dual antenna GPS)
float32 heading_offset    # [rad] [@range -PI, PI] [@invalid NaN if not applicable] Heading offset of dual antenna array in body frame
float32 heading_accuracy  # [rad] [@range 0, 2PI] Heading accuracy

float32 rtcm_injection_rate   # [Hz] RTCM message injection rate
uint8 selected_rtcm_instance  # [-] uORB instance that is being used for RTCM corrections

bool rtcm_crc_failed          # RTCM message CRC failure detected

uint8 RTCM_MSG_USED_UNKNOWN = 0
uint8 RTCM_MSG_USED_NOT_USED = 1
uint8 RTCM_MSG_USED_USED = 2
uint8 rtcm_msg_used           # Indicates if the RTCM message was used successfully by the receiver

# TOPICS sensor_gps vehicle_gps_position

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah sounds great. Want to push to the branch?

@dakejahl
Copy link
Contributor Author

I'm not going to rename it to gnss because I think that might be the straw that breaks the camels back, at least not in this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants