semuconsulting / pygnssutils

Python GNSS CLI utility library for reading, parsing and broadcasting NMEA, UBX, RTCM3, NTRIP and SPARTN protocols
BSD 3-Clause "New" or "Revised" License
84 stars 25 forks source link

update NMEA GGA sent to the ntrip caster with number of satellite, RTK fix status, and age of differential #83

Closed yydgis closed 2 months ago

yydgis commented 2 months ago

pygnssutils Pull Request Template

Description

The current ntrip client sends a NMEA GGA with a fake number of satellite (15), always SPP for GNSS solution type, and always 0 for age of differential, instead of the real-time GNSS solution status from the receiver.

Fixes # (issue)

Testing

Pass the test for test_gnssdump.py.

Checklist:

semuadmin commented 2 months ago

Hi @yydgis,

Thanks for the contribution. I appreciate the intention here, but unfortunately changing the footprint of the get_coordinates() function has knock-on effects in other external applications which are not addressed here, including PyGPSClient.

I'm also not sure the additional GGA information would actually be used by any mainstream NTRIP Caster - to the best of my knowledge, NTRIP Casters which request GGA information are principally interested in the client lat/lon for geofencing purposes - the numSV and DGPS correction parameters would be redundant (if you know otherwise, I'll happily stand corrected on this).

I'll keep the PR open while I assess the wider implications. I'm happy to make the corresponding changes in PyGPSClient but would obviously need to ensure the PRs are synchronised.

Thanks

semuadmin commented 2 months ago

Hi @yydgis

Appreciate the contribution, but I've decided instead to implement this functionality in RC 1.0.32 in a way that minimises the impact on PyGPSClient.

Some context here...

Many of the utilities in pygnssutils were originally developed as core functionality in PyGPSClient, but were separated out into discrete CLI utilities for the benefit of those users who didn't want or need a GUI application. But there are still strong inter-dependencies between PyGPSClient and pygnssutils, so I need to be mindful that changes to either are appropriately coordinated.

Thanks again.