ros2 / ros2/common_interfaces

GPS FLOAT case is missing

Open
#289 6 comments 1 reaction 1 assignee View on GitHub

@mjcarroll is already working on this.

Since Jul 10, 2025.

Dominant language
C++
Stars
393
Forks
157
PR merge metrics
No merged PRs in 30d

Description

Hello to everyone, I'm working with UGV, and the next big step for my work is to add GPS to the system.
In my facility, we are using EMLID Reach products, in particular RS+ as a base and M+ as a receiver.
The GPS signal can be in 3 different states: SINGLE / FLOAT / FIX. Unfortunately, the current version of the nmea_driver_sat is managing in the same way as FLOAT and FIX. Looking at the NavSatService message, I discovered that it is missing the case for FLOAT messages.

What I propose is to add a FLOAT case in one of the two following ways:

int8 STATUS_UNKNOWN = -2        # status is not yet set
int8 STATUS_NO_FIX =  -1        # unable to fix position
int8 STATUS_FIX =      0        # unaugmented fix
int8 STATUS_SBAS_FIX = 1        # with satellite-based augmentation
int8 STATUS_GBAS_FIX = 2        # with ground-based augmentation
int8 STATUS_GBAS_FLOAT = 3  # with ground-based augmentation

Or in a more logical way

int8 STATUS_UNKNOWN = -2        # status is not yet set
int8 STATUS_NO_FIX =  -1        # unable to fix position
int8 STATUS_FIX =      0        # unaugmented fix
int8 STATUS_GBAS_FLOAT = 1 # with ground-based augmentation
int8 STATUS_SBAS_FIX = 2       # with satellite-based augmentation
int8 STATUS_GBAS_FIX = 3        # with ground-based augmentation

If this is something that can work, I can open a PR and later open another one to edit nmea_driver_sat

On nmea_driver_sat, there is also this issue that is talking about the missing FLOAT case.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.