Skip to content

Releases: semuconsulting/pyspartn

v1.0.5

20 Nov 08:27
5550d39
Compare
Choose a tag to compare

What's Changed

  1. Add new optional timetags argument to SPARTNReader & SPARTNMessage, to allow them to use any available 32-bit gnssTimeTag values from the incoming datastream in order to decrypt messages (rather than having to provide an explicit basedate).
    • The timetags argument is a dict of the format {0: 495763673, 1: 485866844, 3: 410283479} where the key represents the message subType (0 = GPS, 1 = GLO, 2 = GAL, etc.), and the value represents the 32-bit gnssTimeTag value from the data stream (if present).
    • If a nominal decryption basedate of TIMEBASE (datetime(2010, 1, 1, 0, 0, tzinfo=timezone.utc)), or integer 0, is passed to SPARTNReader, it will endeavour to capture 32-bit gnssTimeTag values for each msgSubtype from the incoming data stream and pass these to SPARTNMessage via the timetags arg to decrypt messages of the same msgSubtype with 16-bit gnssTimeTags (timeTagtype=0).
    • NB: this will only work if the data stream contains valid 32-bit gnssTimeTag values for the same msgSubtype e.g. if an HPAC message with msgSubtype=2 precedes a GAD or OCB message with msgSubType=2 and timeTagtype=0 - until such an eventuality occurs, decryption of GAD or OCB messages may fail!
    • Always use quitonerror=ERRLOG or quitonerror=ERRIGNORE when setting basedate to TIMEBASE.
  2. SPARTMMessage will now return explicit SPARTNDecryptionError if unable to successfully decrypt/decode message using key and basedate provided.

Full Changelog: v1.0.4...v1.0.5

v1.0.4

11 Oct 06:38
1279010
Compare
Choose a tag to compare

What's Changed

  1. Add active support for Python 3.13
  2. Drop active support for Python 3.8 - now EOL as at October 2024.
  3. Rename socket_stream to socket_wrapper for clarity.

Full Changelog: v1.0.3...v1.0.4

v1.0.3

22 Sep 07:07
d4cffce
Compare
Choose a tag to compare

What's Changed

  1. Fixed offsets added to troposphere attributes, in accordance with SPARTN 2.0.2 specification:

    • SF043 (Area average vertical hydrostatic delay )-> add 2.3m
    • SF045 (Small troposphere coefficient T00) -> add 0.252m
    • SF048 (Large troposphere coefficient T00) -> add 0.252m

    Thanks for @jonathanmuller for contribution.

Fixes #30

Full Changelog: v1.0.2...v1.0.3

v1.0.2

10 Jun 10:48
700e6b2
Compare
Choose a tag to compare

What's Changed

  • Enhance exception handling to Include SPARTNStreamError. by @semuadmin in #28
  1. Enhance exception handling to Include SPARTNStreamError. Fixes issue where SPARTNStreamError may still be raised even if ERRIGNORE is set.

Full Changelog: v1.0.1...v1.0.2

v1.0.1

04 Jun 17:49
7167374
Compare
Choose a tag to compare

What's Changed

  1. Internal enhancements to logging and exception handling.

Full Changelog: v1.0.0...v1.0.1

v1.0.0

16 May 07:24
09ae8e4
Compare
Choose a tag to compare

What's Changed

  1. Add payload attributes for PRN, Phase Bias and Code Bias values, derived from the corresponding bitmasks for each constellation type. e.g. PRN_01=3, PhaseBias_01_03=L2L, CodeBias_02_03=C2L.
  2. Add examples parse_ocb.py & parse_hpac.py illustrating how to convert parsed and decoded OCB and HPAC messages into iterable data structures.
  3. Add naive2aware(dt,tz) helper method - convert naive basedates to aware with UTC timezone.
  4. Internal enhancements to simplify basedate handling.

Full Changelog: v0.4.0-beta...v1.0.0