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

add network retry to gnssntripclient #74

Closed semuadmin closed 2 months ago

semuadmin commented 2 months ago

pygnssutils Pull Request Template

Description

Various enhancements to gnssntripclient & gnssmqttclient:

  1. gnssntripclient - Add retry, retryinterval and timeout parameters. NTRIP client can now automatically retry failed or inactive network connections.
  2. gnssntripclient & gnssmqttclient - Add support for TCP socket server output --clioutput 3; will send raw RTCM3/SPARTN data to designated socket; data can be consumed by any suitable socket client e.g. gnssdump -S 0.0.0.0:50010
  3. gnssntripclient & gnssmqttclient - Log levels amended, will output full parsed message if verbosity is HIGH, but only parsed identity if verbosity is MEDIUM

Type gnssntripclient -h or gnssmqttclient -h for help.

Other streamlining and refactoring:

  1. CLI wrappers refactored into separate *_cli.py modules.
  2. Various minor pylint advisories.

Fixes #73

Testing

Please test all changes, however trivial, against the supplied pytest suite tests/test_*.py. Please describe any test cases you have amended or added to this suite to maintain >= 99% code coverage.

Checklist:

semuadmin commented 2 months ago

Closing this PR, will raise new PR which utilises standard Python logging function