Skip to content

Use double/int_least64_t for coordinates to support GPS RTK #83

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

rovo89
Copy link

@rovo89 rovo89 commented Feb 9, 2025

The README mentions that five decimal digits can be parsed for coordinates. However, GPS RTK modules are built for even higher precision and therefore send eight decimal digits (tested with a UM980 module by Witmotion). This precision gets lost when using float/int_float32_t. Therefore, this PR introduces minmea_double with int_least64_t value and scale and uses them for coordinates. The easier way would be adjusting minmea_float, but I didn't want to add overhead to fields that don't need such precision and it would be strange to have a type with that name handled like a double.

Tests are adjusted, README not yet. I can do that if you show interest to actually merge this.

GPS RTK modules like Unicore UM9xx have a higher precision for latitude
and longitude.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant