Releases: semuconsulting/PyGPSClient
Releases · semuconsulting/PyGPSClient
v1.5.10
What's Changed
- Rc 1.5.10 by @semuadmin in #197
- Fix type formatting issue by @davidtlascelles in #200
FIXES:
- Fix issue with type formatting in banner_frame.py #202 - thanks to @davidtlascelles for contribution.
- Fix issue which would cause console to flicker between fixed and dynamic fonts when filtering data.
- Fix issue with reset widget layout menu option not updating stored configuration.
ENHANCEMENTS:
- Add support for Septentrio Mosaic X5 Base Station configuration in NTRIP Caster mode (supplementing the existing u-blox ZED-F9P/X20P and Quectel LG290P options). Note that the Mosaic X5 is configured via ASCII TTY commands - to monitor the responses, set the console protocol to "TTY" (remember to set it back to "RTCM" to monitor the RTCM3 output). Note also that the input (ASCII command) UART port may be different to the output (RTCM3) port - ensure you select the appropriate port(s) when configuring the receiver and monitoring the RTCM3 output.
- Add base station location update - automatically updates NTRIP CASTER Survey-in base station location from RTCM 1005/6 message.
- Chart Plot widget streamlined to reduce memory footprint and simplify CSV cut-and-paste (double-right-click) function.
- Minor enhancements to
ubx2preset()
andnmea2preset()
helper functions; added\examples\convert_ubx_preset.py
example. - Dependency versions updated to incorporate latest fixes and enhancements.
Fixes: #202
New Contributors
- @davidtlascelles made their first contribution in #200
Full Changelog: v1.5.9...v1.5.10
v1.5.9
What's Changed
- update to 1.5.9 by @semuadmin in #192
FIXES:
- Fixes MON-SPAN RF3 spectrum offset issue #193.
ENHANCEMENTS:
- Add support for Septentrio SBF binary GNSS protocol (via the underlying
pysbf2
library). If SBF protocol is selected, the console can now display parsed SBF data e.g. from Septentrio Mosaic X5.- NB: At present, either UBX or SBF protocols can be selected, but not both at the same time.
- NB: At present, with the exception of the SBF PVTGeodetic message, SBF data is not used to update the various user-selectable PyGPSClient widgets. This functionality may be enhanced in future releases.
- NB: Serial connection must be disconnected before switching between SBF, UBX or TTY protocols.
- Enhancements to TTY Command mode - will now work with a wider variety of TTY-configured devices, including Septentrio Mosaic X5 (see example tty_console.png screenshot) and Feyman IM19.
- Delay checkbox added to TTY Preset Commands dialog - if checked, inserts small delay between individual TTY commands.
Fixes #193
Full Changelog: v1.5.8...v1.5.9
v1.5.8
What's Changed
- Rc 1.5.8 by @semuadmin in #188
FIXES:
- Fix incorrect default value for "lbandclientunqword_s" - Fixes #189
- Fix issue where datalog path was not being updated if datalogging was enabled at runtime.
- Fix issue where settings frame was not updated after reloading configuration file at runtime.
ENHANCEMENTS:
- Add receiver type option to NTRIP Caster mode - can now utilise either u-blox ZED-F9* or Quectel LG290P as Base Station receiver. NOTE THAT due to quirks in the LG290P firmware, setting Base Station mode with RTCM MSM 7 messages requires two successive restarts - you may see WARNING - connection error in the console during those restarts.
- Add new IMU (Inertial Management Unit) Monitor widget, capable of displaying orientation / attitude (pitch, roll, yaw) and status from a variety of NMEA and UBX IMU or other attitude data sources (e.g. UBX ESF-ALG, HNR-ATT, NAV-ATT, NAV-PVAT, GPFMI, etc.).
- Add TTY (raw terminal) mode with a new TTY Commands dialog (accessed via Options...TTY Commands). TTY commands (e.g. AT+ style commands) can be entered manually or selected from a list of user-defined presets.
- Make GUI update interval configurable via configuration setting "guiupdateinterval_f" - default is 0.5 seconds. NB: PyGPSClient may struggle on slower platforms (e.g. Raspberry Pi) if the GUI update interval is less than 0.2 seconds, though much lower intervals (<= 0.1 secs) can be accommodated on high-spec platforms.
- RTCM3 messages types 1002 (GPS L1 observables) & 1010 (GLONASS L1 observables) added to NTRIP Caster configuration.
- Update min version of pynmeagps to 1.0.50 (includes GPFMI support).
- Update min version of pyubx2 to 1.2.52.
NB: This release introduces a number of new json configuration items. It is recommended that any *.json configuration file is resaved.
Full Changelog: v1.5.7...v1.5.8
v1.5.7
What's Changed
- RC 1.5.7 by @semuadmin in #187
FIXES:
- Fixes some typos in MQTT configuration settings (mqtt rather than mgtt) NB: recommend saving a new json configuration file for this version.
ENHANCEMENTS:
- Add setting name validation in json configuration file, supplementing existing type validation - will now reject any unrecognised settings and revert to defaults e.g.:
- Configuration not loaded myconfig.json Unrecognised setting "misspelt_n": 1, using defaults
- Add 'Decode SPARTN in console' checkbox to SPARTN config dialog.
- Add explicit LBand Frequency topic check box to MQTT client dialog.
- Refactor configuration settings - new Configuration class in configuration.py.
- Streamline command line argument handling.
Full Changelog: v1.5.6...v1.5.7
v1.5.6
What's Changed
- RC 1.5.6 by @semuadmin in #184
- Enhancements to Dynamic Configuration Panel to allow POLL arguments to be entered for those poll commands that require them.
- Enhancements to Preset Command Configuration Panel to allow user to specify CONFIRM option.
- Improved error handling in Preset and Dynamic Configuration panels.
- Minor improvements to color choices to improve contrast in Dark Mode.
Full Changelog: v1.5.5...v1.5.6
v1.5.5
What's Changed
- RC 1.5.5 by @semuadmin in #183
- Add new NMEA Configuration panel, complementing and (partly) mirroring the existing UBX Configuration panel. The NMEA configuration panel supports GNSS receivers which can be configured via proprietary NMEA sentences. Currently the only supported receiver is the Quectel LG290P (or other command-compatible Quectel receivers). See README for details. User-defined preset NMEA commands may be added via the nmeapresets_l section of the PyGPSClient *.json configuration file.
- Two new helper functions added ubx2preset() and nmea2preset(), to assist users in converting UBXMessage or NMEAMessage objects into strings which can be copied-and-pasted into the relevant sections of the *.json configuration file (ubxpresets_l and nmeapresets_l). See README for details.
Full Changelog: v1.5.4...v1.5.5
v1.5.4
What's Changed
- RC 1.5.4 by @semuadmin in #180
- Fix issue with GUI update facility not working for virtual environments.
Full Changelog: v1.5.3...v1.5.4
v1.5.3
What's Changed
- Rc 1.5.3 by @semuadmin in #176
- Fix issue with final contents of files not being displayed in console after EOF.
Full Changelog: v1.5.2...v1.5.3
v1.5.2
What's Changed
- Rc 1.5.2 by @semuadmin in #174
- Fix logpath setting in config file - Fixes #171
- Add support for pyubxutils.
- Minor updates to vscode task configurations.
Full Changelog: v1.5.1...v1.5.2
v1.5.1
What's Changed
- RC 1.5.1 by @semuadmin in #170
- Add new user-selectable and configurable "Chart" widget:
- The Chart widget broadly emulates a multi-channel "oscilloscope", allowing the user to plot designated numeric data attribute values over time. By default, the number of channels is set to 4, but this can be manually edited by the user via the json configuration file setting
chartsettings_d["numchn_n"]
. - Any numeric attribute from any incoming NMEA, UBX, RTCM or SPARTN message can be plotted.
- For each channel, user must specify the parsed data attribute name e.g. "hAcc" or "numSV".
- User can optionally specify a message identity e.g. "GNGGA" or "NAV-PVT", in which case only the attribute from that message identity will be plotted.
- Nested group attributes must include the full group index e.g. "cno_04". Alternatively, one of three wildcard characters '*', '+' or '-' can be appended, representing the average, minimum or maximum of the nested group values e.g. "cno*" = (cno_01 + cno_02 + ... + cno_0n) / n ; "cno+" = max(cno_01, cno_02, ..., cno_0n).
- X (time) and Y (value) axes are fully configurable.
- Double-right-click will save the current chart data to the clipboard in CSV format.
- The maximum number of datapoints per channel is configurable, though NB the practical maximum will be dependent on available platform memory and performance. 100,000 datapoints per channel is roughly equivalent to 3 MB in-memory data.
- Chart settings will be saved to the json configuration file when "Save Configuration" is invoked.
- Principally intended to provide a real-time view of incoming data trends over relatively short periods (minutes or hours). Analyses of much long time-series data (days or weeks) can probably be done more efficiently by saving a binary log of the incoming data and processing the data offline through a standard Python graphing tool like
matplotlib
.
- The Chart widget broadly emulates a multi-channel "oscilloscope", allowing the user to plot designated numeric data attribute values over time. By default, the number of channels is set to 4, but this can be manually edited by the user via the json configuration file setting
- Add Check (for updates) on startup option to About dialog (NB: check requires internet connectivity)
Full Changelog: v1.5.0...v1.5.1