Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -399,15 +399,6 @@ By default, the server/caster binds to the host address '0.0.0.0' (IPv4) or '::'

¹ Unicore and Septentrio devices do not appear to support an SVIN status output message, so Survey-in % completion is not available.

---
## <a name="spartnconfig">SPARTN Client Facilities</a>

### NB: As of October 2025, u-blox have discontinued both their L-Band and MQTT encrypted SPARTN correction services, so the SPARTN Client functionality is effectively redundant and may be removed in a subsequent version of PyGPSClient.

The SPARTN MQTT and L-Band configuration panels are now disabled by default, though the L-Band panel can in theory still be used for other generic L-Band modem configuration purposes and can be re-enabled by setting json configuration parameter `lband_enabled_b` to `1`.

Please refer to [SPARTN.md](https://github.com/semuconsulting/PyGPSClient/blob/master/SPARTN.md) for instructions.

---
## <a name="gpxviewer">GPX Track Viewer</a>

Expand Down
12 changes: 12 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# PyGPSClient Release Notes

### RELEASE 1.7.2

FIXES:

1. Various minor bug fixes.
- garbled configuration loaded message on startup.
- thread error when database logging started.

CHANGES:

1. [SPARTN Configuration Panel](https://github.com/semuconsulting/PyGPSClient/blob/master/SPARTN.md) removed. Recommend resaving any existing PyGPSClient json configuration files as several configuration settings referencing this panel will now be redundant.

### RELEASE 1.7.1

FIXES:
Expand Down
97 changes: 0 additions & 97 deletions SPARTN.md

This file was deleted.

40 changes: 0 additions & 40 deletions docs/pygpsclient.rst
Original file line number Diff line number Diff line change
Expand Up @@ -372,46 +372,6 @@ pygpsclient.socketconfig\_ntrip\_frame module
:undoc-members:
:show-inheritance:

pygpsclient.spartn\_dialog module
---------------------------------

.. automodule:: pygpsclient.spartn_dialog
:members:
:undoc-members:
:show-inheritance:

pygpsclient.spartn\_gnss\_frame module
--------------------------------------

.. automodule:: pygpsclient.spartn_gnss_frame
:members:
:undoc-members:
:show-inheritance:

pygpsclient.spartn\_json\_config module
---------------------------------------

.. automodule:: pygpsclient.spartn_json_config
:members:
:undoc-members:
:show-inheritance:

pygpsclient.spartn\_lband\_frame module
---------------------------------------

.. automodule:: pygpsclient.spartn_lband_frame
:members:
:undoc-members:
:show-inheritance:

pygpsclient.spartn\_mqtt\_frame module
--------------------------------------

.. automodule:: pygpsclient.spartn_mqtt_frame
:members:
:undoc-members:
:show-inheritance:

pygpsclient.spectrum\_frame module
----------------------------------

Expand Down
31 changes: 0 additions & 31 deletions pygpsclient.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,37 +107,6 @@
"ntripclientreflon_f": -115.81513,
"ntripclientrefalt_f": 15.0,
"ntripclientrefsep_f": 0.0,
"mqttclientserver_s": "",
"mqttclientport_n": 8883,
"mqttclientid_s": "<<=== YOUR MQTT CLIENT ID ===>",
"mqttclientregion_s": "eu",
"mqttclientmode_n": 0,
"mqttclienttopicip_b": 1,
"mqttclienttopicmga_b": 1,
"mqttclienttopickey_b": 1,
"mqttclienttlscrt_s": "<=== FULLY QUALIFIED PATH TO MQTT CRT FILE ===>",
"mqttclienttlskey_s": "<=== FULLY QUALIFIED PATH TO MQTT KEY FILE ===>",
"lbandclientbpsrate_n": 9600,
"lbandclientdatabits_n": 8,
"lbandclientstopbits_f": 1.0,
"lbandclientparity_s": "N",
"lbandclientrtscts_b": 0,
"lbandclientxonxoff_b": 0,
"lbandclienttimeout_f": 0.1,
"lbandclientmsgmode_n": 0,
"lband_enabled_b": 1,
"spartnport_s": "<== YOUR USER_DEFINED D9S SERIAL PORT ==>",
"lbandclientfreq_n": 1556290000,
"lbandclientschwin_n": 2200,
"lbandclientsid_n": 21845,
"lbandclientdrat_n": 2400,
"lbandclientusesid_b": 0,
"lbandclientdescrm_b": 1,
"lbandclientprescrm_b": 0,
"lbandclientdescrminit_n": 26969,
"lbandclientunqword_s": "16238547128276412563",
"lbandclientoutport_s": "Passthrough",
"lbandclientdebug_b": 0,
"spartndecode_b": 0,
"spartnkey_s": "abcd1234abcd1234abcd1234abcd1234",
"spartnbasedate_n": -1,
Expand Down
2 changes: 1 addition & 1 deletion src/pygpsclient/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
:license: BSD 3-Clause
"""

__version__ = "1.7.1"
__version__ = "1.7.2"
7 changes: 6 additions & 1 deletion src/pygpsclient/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,8 @@ def __init__(self, **kwargs):

# display any deferred messages
if isinstance(self._deferredmsg, tuple):
self.set_status_label(self._deferredmsg)
msg, col = self._deferredmsg
self.set_status_label(msg, col)
self._deferredmsg = None

# check for more recent version (if enabled)
Expand Down Expand Up @@ -583,6 +584,10 @@ def refresh_widgets(self):
frm.update_frame()
self.update()

# update database if enabled (must be done in main App thread)
if self.configuration.get("database_b"):
self.sqlite_handler.load_data()

if self.conn_status != DISCONNECTED or self.rtk_conn_status != DISCONNECTED:
update_interval = int(self.configuration.get("guiupdateinterval_f") * 1000)
self.refresh_widget_timer = self.after(
Expand Down
48 changes: 2 additions & 46 deletions src/pygpsclient/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,27 +31,20 @@
CUSTOM,
DDD,
DEFAULT_PASSWORD,
DEFAULT_REGION,
DEFAULT_USER,
ERRCOL,
FORMAT_BINARY,
FORMAT_PARSED,
GUI_UPDATE_INTERVAL,
MAXLOGSIZE,
MIN_GUI_UPDATE_INTERVAL,
MQTTIPMODE,
OKCOL,
PASSTHRU,
RCVR_CONNECTION,
SOCKCLIENT_HOST,
SOCKCLIENT_PORT,
SOCKSERVER_HOST,
SOCKSERVER_NTRIP_PORT,
SOCKSERVER_PORT,
SPARTN_BASEDATE_CURRENT,
SPARTN_DEFAULT_KEY,
SPARTN_OUTPORT,
SPARTN_PPSERVER_URL,
TRACK,
UBLOX_ZEDF9,
UMM,
Expand All @@ -60,7 +53,6 @@
from pygpsclient.init_presets import INIT_PRESETS
from pygpsclient.mapquest_handler import MAP_UPDATE_INTERVAL
from pygpsclient.serverconfig_dialog import BASE_SVIN
from pygpsclient.spartn_lband_frame import D9S_PP_EU as D9S_PP
from pygpsclient.strings import (
LOADCONFIGBAD,
LOADCONFIGNK,
Expand Down Expand Up @@ -208,45 +200,9 @@ def __init__(self, app):
"ntripclientreflon_f": 0.0,
"ntripclientrefalt_f": 0.0,
"ntripclientrefsep_f": 0.0,
# SPARTN MQTT (IP) client settings from pygnssutils.GNSSMQTTClient
"mqttclientserver_s": SPARTN_PPSERVER_URL,
"mqttclientport_n": SPARTN_OUTPORT,
"mqttclientid_s": "<<=== YOUR MQTT CLIENT ID ===>",
"mqttclientregion_s": DEFAULT_REGION,
"mqttclientmode_n": MQTTIPMODE,
"mqttclienttopicip_b": 1,
"mqttclienttopicmga_b": 1,
"mqttclienttopickey_b": 1,
"mqttclienttopicfreq_b": 0,
"mqttclienttlscrt_s": "<=== FULLY QUALIFIED PATH TO MQTT CRT FILE ===>",
"mqttclienttlskey_s": "<=== FULLY QUALIFIED PATH TO MQTT KEY FILE ===>",
# SPARTN L-Band client settings from SpartnLbandDialog if open
"lband_enabled_b": 1, # SPARTN L-Band and MQTT services discontinued
"spartnport_s": "",
"spartndecode_b": 0,
"spartnkey_s": SPARTN_DEFAULT_KEY,
"spartnbasedate_n": SPARTN_BASEDATE_CURRENT,
"lbandclientserialport_s": "/dev/ttyACM1",
"lbandclientbpsrate_n": 9600,
"lbandclientdatabits_n": 8,
"lbandclientstopbits_f": 1.0,
"lbandclientparity_s": PARITY_NONE,
"lbandclientrtscts_b": 0,
"lbandclientxonxoff_b": 0,
"lbandclienttimeout_f": 0.1,
"lbandclientmsgmode_n": GET,
"lbandclientinactivity_timeout_n": 0,
"lbandclientfreq_n": D9S_PP["freq"],
"lbandclientschwin_n": D9S_PP["schwin"],
"lbandclientsid_n": D9S_PP["sid"],
"lbandclientdrat_n": 2400,
"lbandclientusesid_b": 0,
"lbandclientdescrm_b": 1,
"lbandclientprescrm_b": 0,
"lbandclientdescrminit_n": D9S_PP["descrminit"],
"lbandclientunqword_s": D9S_PP["unqword"],
"lbandclientoutport_s": PASSTHRU,
"lbandclientdebug_b": 0,
"spartnkey_s": "abcd1234abcd1234abcd1234abcd1234",
"spartnbasedate_n": -1,
"relposnedsettings_d": {
"source_s": "NAV-RELPOSNED",
},
Expand Down
7 changes: 0 additions & 7 deletions src/pygpsclient/dialog_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
from pygpsclient.rinex_dialog import RINEXDialog
from pygpsclient.serverconfig_dialog import ServerConfigDialog
from pygpsclient.settings_dialog import SettingsDialog
from pygpsclient.spartn_dialog import SPARTNConfigDialog
from pygpsclient.strings import (
DLG,
DLGTABOUT,
Expand All @@ -37,7 +36,6 @@
DLGTRINEX,
DLGTSERVER,
DLGTSETTINGS,
DLGTSPARTN,
DLGTTTY,
DLGTUBX,
DLGTUBXLEGACY,
Expand Down Expand Up @@ -88,11 +86,6 @@ def __init__(self):
DLG: None,
RESIZE: True,
},
DLGTSPARTN: {
CLASS: SPARTNConfigDialog,
DLG: None,
RESIZE: False,
},
DLGTGPX: {
CLASS: GPXViewerDialog,
DLG: None,
Expand Down
2 changes: 0 additions & 2 deletions src/pygpsclient/menu_bar.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

from tkinter import Menu

from pygpsclient.strings import DLGTSPARTN # service discontinued by u-blox
from pygpsclient.strings import (
DLGTABOUT,
DLGTGPX,
Expand Down Expand Up @@ -44,7 +43,6 @@
DLGTNMEA,
DLGTNTRIP,
DLGTSERVER,
DLGTSPARTN, # service discontinued by u-blox
DLGTGPX,
DLGTIMPORTMAP,
DLGTTTY,
Expand Down
Loading