Skip to content
Merged
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
4 changes: 2 additions & 2 deletions .github/workflows/checkpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ jobs:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install deploy dependencies
Expand Down
14 changes: 6 additions & 8 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@ jobs:
release-build:
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.13

Expand All @@ -24,7 +23,7 @@ jobs:
python -m build

- name: Upload distributions # upload build artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: release-dists
path: dist/
Expand All @@ -35,13 +34,12 @@ jobs:
name: Upload release to PyPI
runs-on: ubuntu-latest
environment:
name: pypi
name: pypi
permissions:
id-token: write
steps:

- name: Download all the dists # download build artifacts saved in previous job
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: release-dists
path: dist/
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ jobs:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install deploy dependencies
Expand Down
59 changes: 23 additions & 36 deletions README.md

Large diffs are not rendered by default.

11 changes: 11 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
# PyGPSClient Release Notes

### RELEASE 1.6.6

FIXES:

1. Update nmeahandler to cater for mixed float/null NMEA GGA alt/sep data - Fixes #244.

ENHANCEMENTS:

1. Minor internal updates to NTRIP SPARTN handling - no longer requires a 'dummy' key for unencrypted Point Perfect Flex SPARTN NTRIP services. To decode SPARTN messages in the console, set `"spartndecode_b": 1` in your json configuration file.

### RELEASE 1.6.5

FIXES:

1. Fix custom map import spurious validation error.

ENHANCEMENTS:
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.6.5"
__version__ = "1.6.6"
6 changes: 4 additions & 2 deletions src/pygpsclient/nmea_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,14 @@ def _process_GGA(self, data: NMEAMessage):
:param pynmeagps.NMEAMessage data: parsed GGA sentence
"""

alt = data.alt if isinstance(data.alt, (float, int)) else 0
sep = data.sep if isinstance(data.sep, (float, int)) else 0
self.__app.gnss_status.utc = data.time # datetime.time
self.__app.gnss_status.sip = data.numSV
self.__app.gnss_status.lat = data.lat
self.__app.gnss_status.lon = data.lon
self.__app.gnss_status.alt = data.alt
self.__app.gnss_status.hae = data.sep + data.alt
self.__app.gnss_status.alt = alt
self.__app.gnss_status.hae = sep + alt
self.__app.gnss_status.hdop = data.HDOP
self.__app.gnss_status.fix = fix2desc("GGA", data.quality)
self.__app.gnss_status.diff_corr = 0 if data.diffAge == "" else 1
Expand Down
10 changes: 7 additions & 3 deletions src/pygpsclient/ntrip_client_dialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -559,8 +559,6 @@ def _get_settings(self):
self._settings["refsep"] = cfg.get("ntripclientrefsep_f")
self._settings["spartndecode"] = cfg.get("spartndecode_b")
self._settings["spartnkey"] = cfg.get("spartnkey_s")
if self._settings["spartnkey"] == "":
self._settings["spartndecode"] = 0
# if basedate is provided in config file, it must be an integer gnssTimetag
self._settings["spartnbasedate"] = cfg.get("spartnbasedate_n")

Expand Down Expand Up @@ -613,6 +611,11 @@ def _set_settings(self):
self._settings["reflon"] = float(self._ntrip_gga_lon.get())
self._settings["refalt"] = float(self._ntrip_gga_alt.get())
self._settings["refsep"] = float(self._ntrip_gga_sep.get())
self._settings["spartndecode"] = self.__app.configuration.get("spartndecode_b")
self._settings["spartnkey"] = self.__app.configuration.get("spartnkey_s")
self._settings["spartnbasedate"] = self.__app.configuration.get(
"spartnbasedate_n"
)

def update_sourcetable(self, stable: list):
"""
Expand Down Expand Up @@ -655,7 +658,8 @@ def _connect(self):
reflon=self._settings["reflon"],
refalt=self._settings["refalt"],
refsep=self._settings["refsep"],
spartndecode=self._settings["spartndecode"],
# NTRIP SPARTN is unencrypted so key not needed
spartndecode=1, # self._settings["spartndecode"],
spartnkey=self._settings["spartnkey"],
spartnbasedate=self._settings["spartnbasedate"],
output=self.__app.ntrip_inqueue,
Expand Down
1 change: 1 addition & 0 deletions src/pygpsclient/recorder_dialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,7 @@ def _on_import(self):
self._importdesc.set(self._get_preset_desc())
self._lbl_activity.grid_forget()
self._ent_import.grid(column=0, row=2, columnspan=8, padx=3, sticky=EW)
self._ent_import.focus_set()
self._save_to_preset = True
self.update()

Expand Down