Skip to content

Commit

Permalink
Merge pull request #87 from semuconsulting/RELEASE-CANDIDATE-1.1.0
Browse files Browse the repository at this point in the history
RC 1.1.0
  • Loading branch information
semuadmin authored Aug 23, 2024
2 parents dfb1c79 + 9c7fe50 commit 2da1f2b
Show file tree
Hide file tree
Showing 18 changed files with 1,277 additions and 882 deletions.
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
"python3.8InterpreterPath": "/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8",
"modulename": "${workspaceFolderBasename}",
"distname": "${workspaceFolderBasename}",
"moduleversion": "1.0.32"
"moduleversion": "1.1.0"
}
5 changes: 0 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -291,8 +291,6 @@ The `GNSSNTRIPClient` class provides a basic NTRIP Client capability and forms t

### CLI Usage:

**NB:** see [KNOWN ISSUES](#chunkingissue) for an issue affecting some casters in NTRIP 2.0 mode (e.g. euref-ip.net, igs-ip.net). Use NTRIP 1.0 (`--ntripversion 1.0`) instead with these casters.

Assuming the Python 3 scripts (bin) directory is in your PATH, the CLI utility may be invoked from the shell thus:

To retrieve the sourcetable and determine the closest available mountpoint to the reference lat/lon, leave the mountpoint argument blank (the port defaults to 2101):
Expand Down Expand Up @@ -527,12 +525,9 @@ For help and full list of optional arguments, type:
ubxcompare -h
```


---
## <a name="troubleshooting">Troubleshooting</a>

1. <a name="chunkingissue">**KNOWN ISSUE**</a>: `gnssntripclient` doesn't currently support `Transfer-Encoding: chunked` in NTRIP 2.0 mode, as used by some casters (e.g. euref-ip.net, igs-ip.net). This issue manifests itself as missing RTCM data and an inability to achieve an RTK fix. A fix is in hand, but as a temporary workaround, use NTRIP 1.0 instead (`--ntripversion 1.0`), as this doesn't implement chunked encoding.

1. `SPARTNTypeError` or `SPARTNParseError` when parsing encrypted messages with 16-bit gnssTimetags (`timeTagtype=0`), e.g. GAD or some OCB messages:

```
Expand Down
8 changes: 8 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# pygnssutils Release Notes

### RELEASE 1.1.0

ENHANCEMENTS:

1. gnssntripclient now supports chunked transfer-encoded NTRIP datastreams.
1. gnssntripclient improved handling of NTRIP 1.0 casters.
1. gnssserver now supports NTRIP version 1.0 or 2.0 in NTRIP mode via arg `--ntripversion`.

### RELEASE 1.0.32

ENHANCEMENTS:
Expand Down
8 changes: 8 additions & 0 deletions docs/pygnssutils.rst
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,14 @@ pygnssutils.socket\_server module
:undoc-members:
:show-inheritance:

pygnssutils.socketwrapper module
--------------------------------

.. automodule:: pygnssutils.socketwrapper
:members:
:undoc-members:
:show-inheritance:

pygnssutils.ubxcompare module
-----------------------------

Expand Down
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "pygnssutils"
authors = [{ name = "semuadmin", email = "[email protected]" }]
maintainers = [{ name = "semuadmin", email = "[email protected]" }]
description = "GNSS Command Line Utilities"
version = "1.0.32"
version = "1.1.0"
license = { file = "LICENSE" }
readme = "README.md"
requires-python = ">=3.8"
Expand Down Expand Up @@ -88,12 +88,13 @@ jobs = 0
reports = "y"
recursive = "y"
py-version = "3.8"
fail-under = "9.7"
fail-under = "9.8"
fail-on = "E,F"
clear-cache-post-run = "y"
disable = """
bad-inline-option,
deprecated-pragma,
duplicate-code,
file-ignored,
locally-disabled,
logging-fstring-interpolation,
Expand Down
1 change: 1 addition & 0 deletions src/pygnssutils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
from pygnssutils.gnssstreamer import GNSSStreamer
from pygnssutils.helpers import *
from pygnssutils.mqttmessage import *
from pygnssutils.socketwrapper import SocketWrapper
from pygnssutils.ubxload import UBXLoader
from pygnssutils.ubxsave import UBXSaver
from pygnssutils.ubxsetrate import UBXSetRate
Expand Down
2 changes: 1 addition & 1 deletion src/pygnssutils/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
:license: BSD 3-Clause
"""

__version__ = "1.0.32"
__version__ = "1.1.0"
5 changes: 5 additions & 0 deletions src/pygnssutils/globals.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
EARTH_RADIUS = 6371 # km
DEFAULT_BUFSIZE = 4096 # buffer size for NTRIP client
MAXPORT = 65535 # max valid TCP port
ENCODE_NONE = 0
ENCODE_CHUNKED = 1
ENCODE_GZIP = 2
ENCODE_COMPRESS = 4
ENCODE_DEFLATE = 8
FORMAT_PARSED = 1
FORMAT_BINARY = 2
FORMAT_HEX = 4
Expand Down
17 changes: 17 additions & 0 deletions src/pygnssutils/gnssdump_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
from pygnssutils._version import __version__ as VERSION
from pygnssutils.globals import (
CLIAPP,
ENCODE_CHUNKED,
ENCODE_COMPRESS,
ENCODE_DEFLATE,
ENCODE_GZIP,
ENCODE_NONE,
EPILOG,
FORMAT_BINARY,
FORMAT_HEX,
Expand Down Expand Up @@ -130,6 +135,18 @@ def main():
choices=[0, 1],
default=1,
)
ap.add_argument(
"--encoding",
required=False,
help=(
f"Socket stream encoding {ENCODE_NONE} = none, "
f"{ENCODE_CHUNKED} = chunked, {ENCODE_GZIP} = gzip, "
f"{ENCODE_COMPRESS} = compress, {ENCODE_DEFLATE} = deflate. "
f"Options can be OR'd e.g. {ENCODE_CHUNKED} | {ENCODE_GZIP}."
),
type=int,
default=ENCODE_NONE,
)
ap.add_argument(
"--quitonerror",
required=False,
Expand Down
Loading

0 comments on commit 2da1f2b

Please sign in to comment.