Skip to content

Commit a28b8fe

Browse files
committed
fix attribute definitions
1 parent d7a24d8 commit a28b8fe

15 files changed

Lines changed: 243 additions & 410 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ src/pyunigps.egg*
2525
pylint_report.txt
2626
venv
2727
output.*
28+
.VSCodeCounter

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ This is an independent project and we have no affiliation whatsoever with Unicor
2828
![Contributors](https://img.shields.io/github/contributors/semuconsulting/pyunigps.svg)
2929
![Open Issues](https://img.shields.io/github/issues-raw/semuconsulting/pyunigps)
3030

31-
This Alpha implements a comprehensive set of messages for Unicore "NebulasIV" High Precision GPS/GNSS devices, including the UM96n and UM98n series, but is readily [extensible](#extensibility). Refer to [UNI_MSGIDS in unitypes_core.py](https://github.com/semuconsulting/pyunigps/blob/main/src/pyunigps/unitypes_core.py#L86) for the complete list of message definitions currently defined. UNI protocol information sourced from public domain Unicore "NebulasIV" GNSS Protocol Specification © 2023, Unicore.
31+
This Beta implements a comprehensive set of messages for Unicore "NebulasIV" High Precision GPS/GNSS devices, including the UM96n and UM98n series, but is readily [extensible](#extensibility). Refer to [UNI_MSGIDS in unitypes_core.py](https://github.com/semuconsulting/pyunigps/blob/main/src/pyunigps/unitypes_core.py#L86) for the complete list of message definitions currently defined. UNI protocol information sourced from public domain Unicore Reference Commands R1.13 © Dec 2025 Unicore
32+
https://en.unicore.com/uploads/file/Unicore%20Reference%20Commands%20Manual%20For%20N4%20High%20Precision%20Products_V2_EN_R1.13.pdf
3233

3334
**FYI:**
3435

RELEASE_NOTES.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# pyunigps Release Notes
22

3+
### RELEASE 0.2.0
4+
5+
1. Update for Protocol Specification R1.13 Dec 2025.
6+
1. Fix GALUTC `da0g`, `da1g` attribute lengths.
7+
1. Fix GALEPH `fnavreceived`, `inavreceived` attribute lengths.
8+
1. Add additional VERSIONB device type decodes.
9+
1. Remove redundant routines.
10+
311
### RELEASE 0.1.5
412

513
1. Fix OBSVM, OBSVMCMP `psr` & `adr` attribute scaling.

examples/benchmark.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,26 @@
1212

1313
# pylint: disable=line-too-long
1414

15+
import os
16+
import sys
1517
from io import BytesIO
1618
from platform import python_version
1719
from platform import version as osver
1820
from sys import argv
1921
from time import process_time_ns
2022

23+
# get path to site-packages (source) folder within venv
24+
pypath = (
25+
f"{os.path.expanduser("~")}/pygpsclient/lib/python"
26+
f"{sys.version_info.major}.{sys.version_info.minor}/site-packages"
27+
)
28+
sys.path.insert(0, os.path.abspath(pypath))
29+
2130
from pyunigps._version import __version__ as univer
2231
from pyunigps.unireader import UNIReader
2332

33+
CYAN = "\033[1m\033[36m"
34+
NORM = "\033[0m"
2435
UNIMESSAGES = [
2536
b"\xaaD\xb5Y%\x004\x01\x00\xa0e\t\xe8[\x80\x04\x00\x00\x00\x00\x00\x12\x02\x00\x1f\x00\x00\x0014208\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00HRPT00-S10C-P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002310415000015-O322A3233801305\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ff3bbd949ceb95fc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002024/05/23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\xc0\x95\x94",
2637
b"\xaaD\xb5Y\xfb\x03\x01\x00\x00\xa0e\t\xe8[\x80\x04\x00\x00\x00\x00\x00\x12\x03\x00\x00\x94#\x96'",
@@ -113,11 +124,12 @@ def benchmark(**kwargs) -> float:
113124
txnt = txnc * cyc
114125

115126
print(
116-
f"\nOperating system: {osver()}",
117-
f"\nPython version: {python_version()}",
118-
f"\npyunigps version: {univer}",
119-
f"\nTest cycles: {cyc:,}",
120-
f"\nTxn per cycle: {txnc:,}",
127+
f"\nAbsolute path: {CYAN}{pypath}{NORM}",
128+
f"\nOperating system: {CYAN}{osver()}{NORM}",
129+
f"\nPython version: {CYAN}{python_version()}{NORM}",
130+
f"\npyunigps version: {CYAN}{univer}{NORM}",
131+
f"\nTest cycles: {CYAN}{cyc:,}{NORM}",
132+
f"\nTxn per cycle: {CYAN}{txnc:,}{NORM}",
121133
)
122134

123135
start = process_time_ns()
@@ -136,7 +148,8 @@ def benchmark(**kwargs) -> float:
136148
kbs = round(msglen * 1e9 / duration / 2**10, 2)
137149

138150
print(
139-
f"\n{txnt:,} messages processed in {duration/1e9:,.3f} seconds = {txs:,.2f} txns/second, {kbs:,.2f} kB/second.\n"
151+
f"\n{txnt:,} messages processed in {duration/1e9:,.3f} seconds = "
152+
f"{CYAN}{txs:,.2f}{NORM} txns/second, {CYAN}{kbs:,.2f}{NORM} kB/second ({CYAN}{kbs*8000:,.0f}{NORM} baud).\n"
140153
)
141154

142155
return txs, kbs

pyproject.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,14 @@ readme = "README.md"
1414
requires-python = ">=3.10"
1515
classifiers = [
1616
"Operating System :: OS Independent",
17-
"Development Status :: 3 - Alpha",
17+
"Development Status :: 4 - Beta",
1818
"Environment :: MacOS X",
1919
"Environment :: Win32 (MS Windows)",
2020
"Environment :: X11 Applications",
2121
"Environment :: Console",
2222
"Intended Audience :: Developers",
2323
"Intended Audience :: Science/Research",
2424
"Intended Audience :: End Users/Desktop",
25-
"Programming Language :: Python :: 3",
2625
"Programming Language :: Python :: 3.10",
2726
"Programming Language :: Python :: 3.11",
2827
"Programming Language :: Python :: 3.12",
@@ -101,7 +100,7 @@ disable = """
101100

102101
[tool.pytest.ini_options]
103102
minversion = "7.0"
104-
addopts = "--cov --cov-report html --cov-fail-under 85"
103+
addopts = "--cov --cov-report html --cov-fail-under 98"
105104
pythonpath = ["src"]
106105
testpaths = ["tests"]
107106

@@ -112,7 +111,7 @@ source = ["src"]
112111
source = ["src"]
113112

114113
[tool.coverage.report]
115-
fail_under = 85
114+
fail_under = 98
116115

117116
[tool.coverage.html]
118117
directory = "htmlcov"

src/pyunigps/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
:license: BSD 3-Clause
99
"""
1010

11-
__version__ = "0.1.5"
11+
__version__ = "0.2.0"

0 commit comments

Comments
 (0)