Releases: semuconsulting/pygnssutils
v1.2.1
What's Changed
- RC 1.2.1 by @semuadmin in #137
FIXES:
- Restore (nested) pynmeagps dependency in pyproject.toml. Fixes #136
- Fix blank RINEX meteorology output file error. Fixes #138
CHANGES:
- 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
What's Changed
- RC 1.2.0 by @semuadmin in #132
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:
- RINEX version 3.05.
- Convert binary UBX RXM-RAW or RXM-RAWX (raw observation) data from u-blox receivers (e.g. ZED-F9P) to RINEX Observation file format.
- 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
RinexConverterNavigationclass is readily extensible. - 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.
- Convert NMEA MWD (wind speed and direction) and XDR (temperature and pressure) sensor data to RINEX Meteorology file format.
- Data sources limited to those which can be parsed by
GNSSReaderand 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:
pyrinexconvCLI RINEX conversion utility - typepyrinexconv -hfor helpRinexConverter- common RINEX conversion Python class.RinexConverterObservation(OBS) subclass converts binary UBX RXM-RAW or RXM-RAWX message log to RINEX Observation text format.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.RinexConverterMeteorology(MET) subclass converts NMEA0183 MWD (wind speed and direction) and XDR (pressure and temperature) sensor data to RINEX Meteorology text format.RawNavutility 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
What's Changed
- RC 1.1.22 Add Unicore Data Output support by @semuadmin in #131
- 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
What's Changed
- RC 1.1.21 by @semuadmin in #130
- Add CLI arguments for
tlspempathandtlscrtpathto gnssserver and gnssntripclient; will default to paths set in environment variablesPYGNSSUTILS_PEMPATHandPYGNSSUTILS_CRTPATH. Used for TLS encrypted socket server and NTRIP connections which use self-signed TLS certificates. - Add CLI argument
ntriprtcmstrtognssserverandsocket_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). - Enhance type hints and docstrings.
- Update VSCode actions & workflow.
Full Changelog: v1.1.20...v1.1.21
v1.1.20
What's Changed
- RC 1.1.20 by @semuadmin in #126
- Fix to gnssreader to return
GNSSStreamErrorrather thanValueErrorfor unrecognised protocol. - Fix typo in gnssntripclient CLI args.
Full Changelog: v1.1.19...v1.1.20
v1.1.19
What's Changed
- Rc 1.1.19 by @semuadmin in #125
-
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
-
Additional
--clioutoptionOUTPUT_SOCKET_TLS(6) added to gnssserver, gnssstreamer, gnssntripclient and gnssmqttclient cli utilities (remember to setPYGNSSUTILS_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
What's Changed
- add support for QGC by @semuadmin in #123
- Add provisional support for Quectel QGC protocol, via
pyqgclibrary. This currently implements LG580P RAW message types but will be extended in futurepyqgcreleases.
Full Changelog: v1.1.17...v1.1.18
v1.1.17
What's Changed
- update to 1.1.17 by @semuadmin in #122
- 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
What's Changed
- Rc 1.1.16 by @semuadmin in #120
- fix critical error from socket timeout for Python <3.10 by @fuchst in #119
FIXES:
- Fix gnssntripclient inappropriate critical error for socket.timeout in Python<3.9 Fixes #118
CHANGES:
- Min versions of pyubx2 and pysbf2 updated.
Full Changelog: v1.1.15...v1.1.16