Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: semuconsulting/pyubx2
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.2.41
Choose a base ref
...
head repository: semuconsulting/pyubx2
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.2.42
Choose a head ref
  • 6 commits
  • 11 files changed
  • 1 contributor

Commits on May 20, 2024

  1. Verified

    This commit was signed with the committer’s verified signature.
    semuadmin SEMU Admin
    Copy the full SHA
    c04ea3f View commit details
  2. minor performance tweaks

    semuadmin committed May 20, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    semuadmin SEMU Admin
    Copy the full SHA
    7221f39 View commit details

Commits on May 21, 2024

  1. update to v 1.2.42

    semuadmin committed May 21, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    semuadmin SEMU Admin
    Copy the full SHA
    2e08d59 View commit details

Commits on May 23, 2024

  1. Verified

    This commit was signed with the committer’s verified signature.
    semuadmin SEMU Admin
    Copy the full SHA
    e01b6a7 View commit details

Commits on May 24, 2024

  1. pylint issue

    semuadmin committed May 24, 2024

    Verified

    This commit was signed with the committer’s verified signature.
    semuadmin SEMU Admin
    Copy the full SHA
    5313883 View commit details
  2. Merge pull request #151 from semuconsulting/RC-1.2.42

    Rc 1.2.42
    semuadmin authored May 24, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    b9da2f6 View commit details
Showing with 441 additions and 434 deletions.
  1. +1 −1 .vscode/settings.json
  2. +1 −3 README.md
  3. +6 −0 RELEASE_NOTES.md
  4. +8 −0 docs/pyubx2.rst
  5. +2 −2 pyproject.toml
  6. +1 −1 src/pyubx2/_version.py
  7. +2 −2 src/pyubx2/socket_stream.py
  8. +100 −372 src/pyubx2/ubxmessage.py
  9. +13 −38 src/pyubx2/ubxreader.py
  10. +291 −0 src/pyubx2/ubxvariants.py
  11. +16 −15 tests/test_exceptions.py
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -4,5 +4,5 @@
"editor.formatOnSave": true,
"modulename": "${workspaceFolderBasename}",
"distname": "${workspaceFolderBasename}",
"moduleversion": "1.2.41",
"moduleversion": "1.2.42",
}
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -449,9 +449,7 @@ The UBX protocol is principally defined in the modules `ubxtypes_*.py` as a seri

Repeating attribute names are parsed with a two-digit suffix (svid_01, svid_02, etc.). Nested repeating groups are supported. See CFG-VALGET, MON-SPAN, NAV-PVT, NAV-SAT and RXM-RLM by way of examples.

In most cases, a UBX message's content (payload) is uniquely defined by its class, id and mode; accommodating the message simply requires the addition of an appropriate dictionary entry to the relevant `ubxtypes_*.py` module(s).

However, there are a handful of message types which have multiple possible payload definitions for the same class, id and mode. These exceptional message types require dedicated routines in `ubxmessage.py` which examine elements of the payload itself in order to determine the appropriate dictionary definition. This currently applies to the following message types: CFG-NMEA, NAV-RELPOSNED, RXM-PMP, RXM-PMREQ, RXM-RLM, TIM-VCOCAL.
In most cases, a UBX message's content (payload) is uniquely defined by its class, id and mode; accommodating the message simply requires the addition of an appropriate dictionary entry to the relevant `ubxtypes_*.py` module(s). However, there are a handful of message types which have multiple possible payload variants for the same class, id and mode. These exceptional message types are handled in `ubxvariants.py`, to which any additional variants should be added.

---
## <a name="troubleshoot">Troubleshooting</a>
6 changes: 6 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# pyubx2 Release Notes

### RELEASE 1.2.42

ENHANCEMENTS:

1. Internal refactoring to improve performance and exception handling.

### RELEASE 1.2.41

ENHANCEMENTS:
8 changes: 8 additions & 0 deletions docs/pyubx2.rst
Original file line number Diff line number Diff line change
@@ -92,6 +92,14 @@ pyubx2.ubxtypes\_set module
:undoc-members:
:show-inheritance:

pyubx2.ubxvariants module
-------------------------

.. automodule:: pyubx2.ubxvariants
:members:
:undoc-members:
:show-inheritance:

Module contents
---------------

4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ name = "pyubx2"
authors = [{ name = "semuadmin", email = "semuadmin@semuconsulting.com" }]
maintainers = [{ name = "semuadmin", email = "semuadmin@semuconsulting.com" }]
description = "UBX protocol parser and generator"
version = "1.2.41"
version = "1.2.42"
license = { file = "LICENSE" }
readme = "README.md"
requires-python = ">=3.8"
@@ -33,7 +33,7 @@ classifiers = [
"Topic :: Scientific/Engineering :: GIS",
]

dependencies = ["pynmeagps >= 1.0.36", "pyrtcm >= 1.1.0"]
dependencies = ["pynmeagps >= 1.0.36", "pyrtcm >= 1.1.1"]

[project.urls]
homepage = "https://github.com/semuconsulting/pyubx2"
2 changes: 1 addition & 1 deletion src/pyubx2/_version.py
Original file line number Diff line number Diff line change
@@ -8,4 +8,4 @@
:license: BSD 3-Clause
"""

__version__ = "1.2.41"
__version__ = "1.2.42"
4 changes: 2 additions & 2 deletions src/pyubx2/socket_stream.py
Original file line number Diff line number Diff line change
@@ -48,7 +48,7 @@ def _recv(self) -> bool:
try:
data = self._socket.recv(self._bufsize)
if len(data) == 0:
return False
return False # pragma: no cover
self._buffer += data
except (OSError, TimeoutError):
return False
@@ -100,7 +100,7 @@ def readline(self) -> bytes:
if line[-1:] == b"\n": # LF
break
else:
break
break # pragma: no cover

return line

Loading