Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Rc 1.2.47 #160

Merged
merged 5 commits into from
Oct 10, 2024
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
2 changes: 1 addition & 1 deletion .github/workflows/checkpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, "3.10", "3.11", "3.12", "3.13.0-beta.3"]
python-version: [3.9, "3.10", "3.11", "3.12", "3.13.0-rc.3"]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, "3.10", "3.11", "3.12", "3.13.0-beta.3"]
python-version: [3.9, "3.10", "3.11", "3.12", "3.13.0-rc.3"]

steps:
- uses: actions/checkout@v4
Expand Down
34 changes: 34 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.12"
# You can also specify other tool versions:
# nodejs: "20"
# rust: "1.70"
# golang: "1.20"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true
# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: docs/requirements.txt
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
"editor.formatOnSave": true,
"modulename": "${workspaceFolderBasename}",
"distname": "${workspaceFolderBasename}",
"moduleversion": "1.2.46",
"moduleversion": "1.2.47",
}
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ If you're adding or amending UBX payload definitions or configuration database k
## Coding conventions

* This is open source software. Code should be as simple and transparent as possible. Favour clarity over brevity.
* The code should be compatible with Python >= 3.8.
* The code should be compatible with Python >= 3.9.
* The core code should be as generic and reusable as possible. We endeavour to limit the amount of processing dedicated to specific UBX message types, though this is sometimes unavoidable.
* Avoid external library dependencies unless there's a compelling reason not to.
* We use and recommend [Visual Studio Code](https://code.visualstudio.com/) with the [Python Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python) for development and testing.
Expand All @@ -37,7 +37,7 @@ Please write unitttest examples for new code you create and add them to the `/te

We test on the following platforms using a variety of u-blox devices from Generation 7 throught Generation 10:
* Windows 11
* MacOS (Ventura & Sonoma, Intel & Apple Silicon)
* MacOS (Intel & Apple Silicon)
* Linux (Ubuntu 22.04 LTS Jammy Jellyfish, 24.04 LTS Noble Numbat)
* Raspberry Pi OS (32-bit & 64-bit)

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ This is an independent project and we have no affiliation whatsoever with u-blox

The library implements a comprehensive set of inbound (SET/POLL) and outbound (GET) messages for u-blox GPS/GNSS devices from [generation 6 through generation 10](https://www.u-blox.com/en/positioning-chips-and-modules), but is readily [extensible](#extensibility). Refer to `UBX_MSGIDS` in [ubxtypes_core.py](https://github.com/semuconsulting/pyubx2/blob/master/src/pyubx2/ubxtypes_core.py) for the complete dictionary of messages currently supported. UBX protocol information sourced from public domain u-blox Interface Specifications © 2013-2021, u-blox AG.

Sphinx API Documentation in HTML format is available at [https://www.semuconsulting.com/pyubx2](https://www.semuconsulting.com/pyubx2).
Sphinx API Documentation in HTML format is available at [Read the Docs](https://pyubx2.readthedocs.io/).

Contributions welcome - please refer to [CONTRIBUTING.MD](https://github.com/semuconsulting/pyubx2/blob/master/CONTRIBUTING.md). Feel free to discuss any proposed changes beforehand in the [Discussion Channel](https://github.com/semuconsulting/pyubx2/discussions/categories/ideas).

Expand All @@ -49,7 +49,7 @@ Contributions welcome - please refer to [CONTRIBUTING.MD](https://github.com/sem
[![PyPI version](https://img.shields.io/pypi/v/pyubx2.svg?style=flat)](https://pypi.org/project/pyubx2/)
![PyPI downloads](https://img.shields.io/pypi/dm/pyubx2.svg?style=flat)

`pyubx2` is compatible with Python 3.8 - 3.13 and has no third-party library dependencies.
`pyubx2` is compatible with Python 3.9 - 3.13 and has no third-party library dependencies.

In the following, `python3` & `pip` refer to the Python 3 executables. You may need to substitute `python` for `python3`, depending on your particular environment (*on Windows it's generally `python`*).

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

### RELEASE 1.2.47

ENHANCEMENTS:

1. Add 37 additional config database keys for F9P HPG 1.50 (FYI UBX NAV-TIMETRUSTED message type 0x0164 added in this firmware version, but definition not yet publicly documented).
1. Drop active support for Python 3.8, which is now End of Life.

### RELEASE 1.2.46

ENHANCEMENTS:
Expand Down
15 changes: 14 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,20 @@
html_static_path = ["_static"]
html_last_updated_fmt = "%b %d %Y"
html_theme_options = {
"display_version": True,
"logo_only": False,
"prev_next_buttons_location": "bottom",
"style_external_links": False,
"vcs_pageview_mode": "",
"style_nav_header_background": "white",
"flyout_display": "hidden",
"version_selector": True,
"language_selector": True,
# Toc options
"collapse_navigation": True,
"sticky_navigation": True,
"navigation_depth": 4,
"includehidden": True,
"titles_only": False,
}

autodoc_default_options = {
Expand Down
1 change: 1 addition & 0 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sphinx-rtd-theme
15 changes: 7 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ 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.46"
version = "1.2.47"
license = { file = "LICENSE" }
readme = "README.md"
requires-python = ">=3.8"
requires-python = ">=3.9"
classifiers = [
"Operating System :: OS Independent",
"Development Status :: 5 - Production/Stable",
Expand All @@ -22,7 +22,6 @@ classifiers = [
"Intended Audience :: Science/Research",
"Intended Audience :: End Users/Desktop",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
Expand All @@ -34,11 +33,11 @@ classifiers = [
"Topic :: Scientific/Engineering :: GIS",
]

dependencies = ["pynmeagps >= 1.0.42", "pyrtcm >= 1.1.1"]
dependencies = ["pynmeagps >= 1.0.43", "pyrtcm >= 1.1.2"]

[project.urls]
homepage = "https://github.com/semuconsulting/pyubx2"
documentation = "https://www.semuconsulting.com/pyubx2/"
documentation = "https://pyubx2.readthedocs.io/"
repository = "https://github.com/semuconsulting/pyubx2"
changelog = "https://github.com/semuconsulting/pyubx2/blob/master/RELEASE_NOTES.md"

Expand All @@ -56,10 +55,10 @@ test = [
]

[tool.black]
target-version = ['py38']
target-version = ['py39']

[tool.isort]
py_version = 38
py_version = 39
profile = "black"

[tool.bandit]
Expand All @@ -70,7 +69,7 @@ skips = []
jobs = 0
reports = "y"
recursive = "y"
py-version = "3.8"
py-version = "3.9"
fail-under = "9.8"
fail-on = "E,F"
clear-cache-post-run = "y"
Expand Down
2 changes: 1 addition & 1 deletion src/pyubx2/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
:license: BSD 3-Clause
"""

__version__ = "1.2.46"
__version__ = "1.2.47"
17 changes: 17 additions & 0 deletions src/pyubx2/ubxtypes_configdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@
"CFG_BATCH_WARNTHRS": (0x30260016, U2),
"CFG_BDS_USE_GEO_PRN": (0x10340014, L),
"CFG_BDS_USE_PRN_1_TO_5": (0x10340014, L), # aka CFG_BDS_USE_GEO_PRN
"CFG_GAL_OSNMA_MINTAGLENGTH": (0x20350007, U1),
"CFG_GAL_OSNMA_TIMESYNC": (0x10350009, L),
"CFG_GAL_USE_OSNMA": (0x10350005, L),
"CFG_GEOFENCE_CONFLVL": (0x20240011, E1),
"CFG_GEOFENCE_FENCE1_LAT": (0x40240021, I4),
"CFG_GEOFENCE_FENCE1_LON": (0x40240022, I4),
Expand Down Expand Up @@ -689,6 +692,11 @@
"CFG_MSGOUT_UBX_NAV_TIMEQZSS_UART1": (0x20910387, U1),
"CFG_MSGOUT_UBX_NAV_TIMEQZSS_UART2": (0x20910388, U1),
"CFG_MSGOUT_UBX_NAV_TIMEQZSS_USB": (0x20910389, U1),
"CFG_MSGOUT_UBX_NAV_TIMETRUSTED_I2C": (0x209103A8, U1),
"CFG_MSGOUT_UBX_NAV_TIMETRUSTED_SPI": (0x209103AC, U1),
"CFG_MSGOUT_UBX_NAV_TIMETRUSTED_UART1": (0x209103A9, U1),
"CFG_MSGOUT_UBX_NAV_TIMETRUSTED_UART2": (0x209103AA, U1),
"CFG_MSGOUT_UBX_NAV_TIMETRUSTED_USB": (0x209103AB, U1),
"CFG_MSGOUT_UBX_NAV_TIMEUTC_I2C": (0x2091005B, U1),
"CFG_MSGOUT_UBX_NAV_TIMEUTC_SPI": (0x2091005F, U1),
"CFG_MSGOUT_UBX_NAV_TIMEUTC_UART1": (0x2091005C, U1),
Expand Down Expand Up @@ -921,6 +929,11 @@
"CFG_MSGOUT_UBX_SEC_ECSIGN_UART1": (0x2091034B, U1),
"CFG_MSGOUT_UBX_SEC_ECSIGN_UART2": (0x2091034C, U1),
"CFG_MSGOUT_UBX_SEC_ECSIGN_USB": (0x2091034D, U1),
"CFG_MSGOUT_UBX_SEC_OSNMA_I2C": (0x209106CA, U1),
"CFG_MSGOUT_UBX_SEC_OSNMA_SPI": (0x209106CE, U1),
"CFG_MSGOUT_UBX_SEC_OSNMA_UART1": (0x209106CB, U1),
"CFG_MSGOUT_UBX_SEC_OSNMA_UART2": (0x209106CC, U1),
"CFG_MSGOUT_UBX_SEC_OSNMA_USB": (0x209106CD, U1),
"CFG_MSGOUT_UBX_SEC_SIG_I2C": (0x20910634, U1),
"CFG_MSGOUT_UBX_SEC_SIG_SPI": (0x20910638, U1),
"CFG_MSGOUT_UBX_SEC_SIG_UART1": (0x20910635, U1),
Expand Down Expand Up @@ -951,6 +964,7 @@
"CFG_MSGOUT_UBX_TIM_VRFY_UART1": (0x20910093, U1),
"CFG_MSGOUT_UBX_TIM_VRFY_UART2": (0x20910094, U1),
"CFG_MSGOUT_UBX_TIM_VRFY_USB": (0x20910095, U1),
"CFG_NAV2_NAVSPG_ONLY_AUTHDATA": (0x10170003, L),
"CFG_NAV2_OUT_ENABLED": (0x10170001, L),
"CFG_NAV2_SBAS_USE_INTEGRITY": (0x10170002, L),
"CFG_NAVHPG_DGNSSMODE": (0x20140011, E1),
Expand Down Expand Up @@ -992,6 +1006,8 @@
"CFG_NAVSPG_INFIL_MINSVS": (0x201100A1, U1),
"CFG_NAVSPG_INFIL_NCNOTHRS": (0x201100AA, U1),
"CFG_NAVSPG_INIFIX3D": (0x10110013, L),
"CFG_NAVSPG_MAX_TIMETRUSTED_ACC": (0x301100DE, U2),
"CFG_NAVSPG_ONLY_AUTHDATA": (0x101100DD, L),
"CFG_NAVSPG_OUTFIL_FACC": (0x301100B5, U2),
"CFG_NAVSPG_OUTFIL_PACC": (0x301100B3, U2),
"CFG_NAVSPG_OUTFIL_PDOP": (0x301100B1, U2),
Expand Down Expand Up @@ -1103,6 +1119,7 @@
"CFG_SEC_CFG_LOCK_UNLOCKGRP2": (0x30F6000B, U2),
"CFG_SEC_CFG_LOCK": (0x10F60009, L),
"CFG_SEC_JAMDET_SENSITIVITY_HI": (0x10F60051, L),
"CFG_SEC_SPOOFDET_SIM_SIG_DIS": (0x10F6005D, L),
"CFG_SFCORE_HNR_RATE": (0x2008001A, U1),
"CFG_SFCORE_USE_SF": (0x10080001, L),
"CFG_SFIMU_ACCEL_ACCURACY": (0x30060018, U2),
Expand Down
1 change: 1 addition & 0 deletions src/pyubx2/ubxtypes_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,7 @@
b"\x01\x26": "NAV-TIMELS",
b"\x01\x63": "NAV-TIMENAVIC",
b"\x01\x27": "NAV-TIMEQZSS",
# b"\x01\x64": "NAV-TIMETRUSTED", # not publicly documented
b"\x01\x21": "NAV-TIMEUTC",
b"\x01\x11": "NAV-VELECEF",
b"\x01\x12": "NAV-VELNED",
Expand Down
9 changes: 9 additions & 0 deletions src/pyubx2/ubxtypes_get.py
Original file line number Diff line number Diff line change
Expand Up @@ -2912,6 +2912,15 @@
),
"tAcc": U4,
},
# nominal definition, excluded from public HPG 1.50 interface manual:
# "NAV-TIMETRUSTED": {
# "group": (
# "None",
# {
# "data": X1,
# },
# ),
# },
"NAV-TIMEUTC": {
"iTOW": U4,
"tAcc": U4,
Expand Down