Skip to content

Releases: semuconsulting/pygnssutils

v1.2.1

16 May 09:23
d2fcc96

Choose a tag to compare

What's Changed

FIXES:

  1. Restore (nested) pynmeagps dependency in pyproject.toml. Fixes #136
  2. Fix blank RINEX meteorology output file error. Fixes #138

CHANGES:

  1. Updates to experimental RINEX conversion to add support for GPS CNAV and RINEX version 4.02.

Full Changelog: v1.2.0...v1.2.1

v1.2.0

09 May 08:03
1650282

Choose a tag to compare

What's Changed

CHANGES:

Add preliminary support for RINEX bulk data conversion via CLI pyrinexconv utility.

NB: This ALPHA preview release is limited to the following experimental functionality:

  1. RINEX version 3.05.
  2. Convert binary UBX RXM-RAW or RXM-RAWX (raw observation) data from u-blox receivers (e.g. ZED-F9P) to RINEX Observation file format.
  3. Convert binary RXM-SFRBX (navigation subframe) data from u-blox receivers to RINEX Navigation file format. Currently only GPS LNAV data is supported, but the underlying RinexConverterNavigation class is readily extensible.
  4. Convert RTCM3 CEI (Clock, Ephemeris, Integrity) messages (1019, 1020, 1041-1046) from any source, including NTRIP caster or RTK base station receiver, to RINEX Navigation file format.
  5. Convert NMEA MWD (wind speed and direction) and XDR (temperature and pressure) sensor data to RINEX Meteorology file format.
  6. Data sources limited to those which can be parsed by GNSSReader and its underlying Python message parsers (i.e. NMEA0183, UBX, RTCM3, SBF, QGC, UNI).

Type pyrinexconv -h for help.

A Graphical User Interface for this utility will be added to PyGPSClient.

The intention behind this preview release is to gauge the wider appetite for further development of a cross-platform Python RINEX conversion utility and enhance functionality in a future release, as and when time permits.

CONTRIBUTORS WELCOME

IMPLEMENTATION DETAILS:

  1. pyrinexconv CLI RINEX conversion utility - type pyrinexconv -h for help
  2. RinexConverter - common RINEX conversion Python class.
  3. RinexConverterObservation (OBS) subclass converts binary UBX RXM-RAW or RXM-RAWX message log to RINEX Observation text format.
  4. RinexConverterNavigation (NAV) subclass converts UBX RXM-SFRBX (Currently GPS LNAV frames only) and RTCM3 CEI (Clock, Ephemeris, Integrity) messages (1019, 1020, 1041-1046) to RINEX Navigation text format.
  5. RinexConverterMeteorology (MET) subclass converts NMEA0183 MWD (wind speed and direction) and XDR (pressure and temperature) sensor data to RINEX Meteorology text format.
  6. RawNav utility class facilitates the acquisition and conversion of raw NAV subframe data from a variety of proprietary data sources (e.g. UBX RXM-SFRBX), based on a series of NAV subframe data definition dictionaries derived from the corresponding GNSS Interface Control Document (ICD). Currently supports GPS LNAV (L1 C/A) frames only but is readily extensible.

Full Changelog: v1.1.22...v1.2.0

v1.1.22

09 Feb 11:01
a09b167

Choose a tag to compare

What's Changed

  1. GNSSReader - Add support for Unicore UNI binary data output messages via pyunigps>=0.1.3.

Full Changelog: v1.1.21...v1.1.22

v1.1.21

18 Dec 15:50
d66ab71

Choose a tag to compare

What's Changed

  1. Add CLI arguments for tlspempath and tlscrtpath to gnssserver and gnssntripclient; will default to paths set in environment variables PYGNSSUTILS_PEMPATH and PYGNSSUTILS_CRTPATH. Used for TLS encrypted socket server and NTRIP connections which use self-signed TLS certificates.
  2. Add CLI argument ntriprtcmstr to gnssserver and socket_server, containing RTCM message type(rate) sourcetable entry for NTRIP caster mode (was originally 'hard-wired' for ZED-f9P, but pygnssutils now supports a wider range of base station receivers).
  3. Enhance type hints and docstrings.
  4. Update VSCode actions & workflow.

Full Changelog: v1.1.20...v1.1.21

v1.1.20

03 Nov 10:30
6f19ea2

Choose a tag to compare

What's Changed

  1. Fix to gnssreader to return GNSSStreamError rather than ValueError for unrecognised protocol.
  2. Fix typo in gnssntripclient CLI args.

Full Changelog: v1.1.19...v1.1.20

v1.1.19

01 Nov 07:38
50a2874

Choose a tag to compare

What's Changed

  1. Add support for TLS connections in SocketServer. Introduces two alternative client request handler classes - ClientHandler (HTTP) or ClientHandlerTLS (HTTPS). TLS operation requires a suitable TLS certificate/key pair (in pem format) to be located at a path designated by environment variable PYGNSSUTILS_PEMPATH - the default path is $HOME/pygnssutils.pem. See Sphinx documentation for details.

    A self-signed pem file suitable for test and demonstration purposes can be created thus:

    openssl req -x509 -newkey rsa:4096 -keyout pygnssutils.pem -out pygnssutils.pem -sha256 -days 3650 -nodes
  2. Additional --cliout option OUTPUT_SOCKET_TLS (6) added to gnssserver, gnssstreamer, gnssntripclient and gnssmqttclient cli utilities (remember to set PYGNSSUTILS_PEMPATH), e.g.:

    gnssstreamer -P /dev/tty.usbmodem101 --format 2 --cliout 6 --output '0.0.0.0:8443' --verbosity 2

Full Changelog: v1.1.18...v1.1.19

v1.1.18

07 Oct 16:14
089a61e

Choose a tag to compare

What's Changed

  1. Add provisional support for Quectel QGC protocol, via pyqgc library. This currently implements LG580P RAW message types but will be extended in future pyqgc releases.

Full Changelog: v1.1.17...v1.1.18

v1.1.17

02 Oct 07:41
b74c948

Choose a tag to compare

What's Changed

  1. Min pyubx2 ver updated to 1.2.58 - incorporates several minor fixes and additional support for proprietary Quectel NMEA message definitions.

Full Changelog: v1.1.16...v1.1.17

v1.1.16

22 Jul 08:22
cfe5254

Choose a tag to compare

What's Changed

FIXES:

  1. Fix gnssntripclient inappropriate critical error for socket.timeout in Python<3.9 Fixes #118

CHANGES:

  1. Min versions of pyubx2 and pysbf2 updated.

Full Changelog: v1.1.15...v1.1.16

v1.1.15

15 Jul 08:37
a712b21

Choose a tag to compare

What's Changed

Fixes #116

New Contributors

Full Changelog: v1.1.14...v1.1.15