Recent Releases of pynmeagps

pynmeagps - v1.0.51

What's Changed

  • update to 1.0.51 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/80
  1. Add Python 3.14rc2 to workflow. No functional changes.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.50...v1.0.51

- Python
Published by semuadmin 6 months ago

pynmeagps - v1.0.50

What's Changed

  • Rc 1.0.50 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/78

ENHANCEMENTS

  1. Add support for Feyman IM19 IMU NMEA sentence GPFMI.
  2. Add nmeatypes_decodes.py containing decodes for common NMEA enumerations.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.49...v1.0.50

- Python
Published by semuadmin 10 months ago

pynmeagps - v1.0.49

What's Changed

  • RC 1.0.49 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/76
  1. Minor updates to proprietary Quectel NMEA definitions to improve attribute name clarity - affects QTMCFGGEOFENCE and QTMCFGPPS.
  2. SocketWrapper class updated to accommodate chunk and/or zip encoded socket streams.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.48...v1.0.49

- Python
Published by semuadmin 11 months ago

pynmeagps - v1.0.48

What's Changed

  • update pyproject.toml for conda build issue by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/75
  1. Fix for Conda build issue (license = { file = "LICENSE" } deprecated in latest Python build but still mandated by Conda).
  2. No other functional changes.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.47...v1.0.48

- Python
Published by semuadmin 11 months ago

pynmeagps - v1.0.47

What's Changed

  • RC 1.0.47 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/74
  1. Add support for proprietary Quectel LG290P PQTM* NMEA sentences, as documented in https://quectel.com/content/uploads/2024/09/QuectelLG290P03GNSSProtocolSpecification_V1.0.pdf.
  2. See /examples/quecteldemo.py for example usage.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.46...v1.0.47

- Python
Published by semuadmin 11 months ago

pynmeagps - v1.0.46

What's Changed

  • Rc 1.0.46 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/73
  1. Add support for proprietary Sepentrio X5 NMEA sentences.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.45...v1.0.46

- Python
Published by semuadmin 12 months ago

pynmeagps - v1.0.45

What's Changed

  • Rc 1.0.45 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/72
  1. Fix NAK message talker attribute name - fixes #71

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.44...v1.0.45

- Python
Published by semuadmin about 1 year ago

pynmeagps - v1.0.44

What's Changed

  • RC 1.0.44 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/70 ENHANCEMENTS:
  1. dms2deg helper method added to convert d.m.s or d.m to d.dd format. See API documentation for details.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.43...v1.0.44

- Python
Published by semuadmin about 1 year ago

pynmeagps - v1.0.43

What's Changed

  • Rc 1.0.43 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/69
  1. Add provision for user-defined payload definition dictionary, supplementing the existing NMEA_PAYLOADS_GET and NMEA_PAYLOADS_GET_PROP dictionaries. Format should mirror that used in NMEA_PAYLOADS_GET. Can be used for proprietary product development purposes or for standard payload definitions which are not yet in the public domain.
  2. Drop active support for Python 3.8 - now End of Life as at October 2024.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.42...v1.0.43

- Python
Published by semuadmin over 1 year ago

pynmeagps - v1.0.42

What's Changed

  • RC 1.0.42 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/66

ENHANCEMENTS:

  1. Add additional maritime talker IDs and NMEA sentence definitions.
  2. Add DTL date format ddmmyyyy.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.41...v1.0.42

- Python
Published by semuadmin over 1 year ago

pynmeagps - v1.0.41

What's Changed

  • parse unknown message IDs by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/65

ENHANCEMENTS:

  1. Enhance NMEAMessage to parse unrecognised* NMEA sentence types to a nominal <NMEA(TTXXX, NOMINAL, field_01=x...)> message structure if VALMSGID validation flag is not set, rather than raise a NMEAParseMessage error e.g.:

A. with the VALMSGID flag not set (the new default behaviour):

shell from pynmeagps import NMEAReader msg = NMEAReader.parse("$GNACN,103607.00,ECN,E,A,W,A,test,C*67\r\n") print(msg) <NMEA(GNACN, NOMINAL, field_01=103607.00, field_02=ECN, field_03=E, field_04=A, field_05=W, field_06=A, field_07=test, field_08=C)>

B. with the VALMSGID flag set:

shell from pynmeagps import NMEAReader, VALMSGID msg = NMEAReader.parse("$GNACN,103607.00,ECN,E,A,W,A,test,C*67\r\n", validate=VALMSGID) print(msg) pynmeagps.exceptions.NMEAParseError: Unknown msgID GNACN, msgmode GET.

* unrecognised message types include those with unknown or invalid NMEA msgIDs (but valid payloads and checksums), or valid NMEA sentences whose payload definitions are not yet in the public domain (e.g. those currently commented-out in NMEA_MSGIDS).

  1. Add NMEA ALF sentence definition.
  2. Add validate argument to NMEAMessage and carry forward from NMEAReader
  3. Add logger to NMEAMessage.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.40...v1.0.41

- Python
Published by semuadmin over 1 year ago

pynmeagps - v1.0.40

What's Changed

  • Rc 1.0.40 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/64
  1. Add area() helper method to calculate spherical area of bounding box.
  2. Sphinx documentation and docstrings enhanced to include global constants and decodes.
  3. socket_stream.SocketStream class renamed to socket_wrapper.SocketWrapper class for clarity.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.39...v1.0.40

- Python
Published by semuadmin over 1 year ago

pynmeagps - v1.0.39

What's Changed

  • Rc 1.0.39 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/62
  1. Add support for NMEA streams with lower case hex checksums

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.38...v1.0.39

- Python
Published by semuadmin over 1 year ago

pynmeagps - v1.0.38

What's Changed

  • Rc 1.0.38 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/59
  1. Add Locosys proprietary NMEA GET and SET messages:

    • $PINVCRES: Clear the NVM data
    • $PINVCSTR: Start session
    • $PINVMATTIT: ATTIT information
    • $PINVMIMU: MEMS RAW-DATA message information
    • $PINVMINR: Calibration status
    • $PINVMSTR: Session Status
    • $PINVMSLOPE: SLOPE information
    • $PLSC: Set status/poll version
    • $PLSR: Set status response
    • $PLSVD: Attitude yaw, pitch, roll

    NB: $PMTKnnn: proprietary command message sets not yet implemented

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.37...v1.0.38

- Python
Published by semuadmin over 1 year ago

pynmeagps - v1.0.37

What's Changed

  • Rc 1.0.37 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/58
  1. Correct planar() helper function.
  2. Internal logging & exception handling enhancements.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.36...v1.0.37

- Python
Published by semuadmin over 1 year ago

pynmeagps - v1.0.36

What's Changed

  • RC 1.0.36 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/57
  1. Add further proprietary message definitions.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.35...v1.0.36

- Python
Published by semuadmin almost 2 years ago

pynmeagps - v1.0.35

What's Changed

  • RELEASE CANDIDATE 1.0.35 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/56

FIXES:

  1. Fixes & simplifies the derivation of NMEA NS and EW values when creating NMEAMessage objects (e.g. GNGLL) using individual keyword arguments. NS and EW will always be derived from the sign of the provided signed decimal lat and lon values and need not be provided explicitly. When creating an NMEAMessage using a single payload argument (which is effectively what happens when parsing incoming serial data streams), the value of NS and EW in the payload will determine the sign of the decimal lat/lon values in the NMEAMessage object.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.34...v1.0.35

- Python
Published by semuadmin almost 2 years ago

pynmeagps - v1.0.34

What's Changed

  • RELEASE CANDIDATE 1.0.34 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/53

FIXES:

  1. Add missing Trimble PASHR Proprietary Pitch and Roll sentence Fixes #52.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.33...v1.0.34

- Python
Published by semuadmin almost 2 years ago

pynmeagps - v1.0.33

RELEASE 1.0.33

What's Changed

  1. Add planar formula in nmeahelpers.py to calculate approximate planar distance between two sets of coordinates. Complements the haversine formula at smaller scales.
  • Rc 1.0.33 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/51

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.32...v1.0.33

- Python
Published by semuadmin about 2 years ago

pynmeagps - v1.0.32

What's Changed

  • Rc 1.0.32 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/50
  1. Update pynmeagps.NMEAReader to cater for NMEA streams with LF (b"\x0a") rather than CRLF (b"\x0d\x0a") message terminators.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.31...v1.0.32

- Python
Published by semuadmin about 2 years ago

pynmeagps - v1.0.31

What's Changed

  • RC 1.0.31 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/48
  1. Extend range of permissible NMEA header sequences in NMEA_HDR to include all known Talker IDs (not just the previous "GNSS" range of $G & $P). Supported message types remain as defined in nmeatypes_*.py but these can now be associated with any Talker ID from any device.
  2. Minor Internal streamlining.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.30...v1.0.31

- Python
Published by semuadmin over 2 years ago

pynmeagps - v1.0.30

What's Changed

  • RC 1.0.30 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/47
  1. Cater for 'IN' (Integrated Navigation) Talker ID.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.29...v1.0.30

- Python
Published by semuadmin over 2 years ago

pynmeagps - v1.0.29

What's Changed

  • Rc 1.0.29 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/43

ENHANCEMENTS:

  1. Cater for legacy "BD" (Beidou) NMEA Talker ID.

Full Changelog: https://github.com/semuconsulting/pynmeagps/compare/v1.0.28...v1.0.29

- Python
Published by semuadmin over 2 years ago

pynmeagps - v1.0.28

RELEASE 1.0.28

ENHANCEMENTS:

  1. Add 'NAVIC' to list of gnssId enumerations - reference only, no functional change.

- Python
Published by semuadmin over 2 years ago

pynmeagps - v1.0.27

RELEASE 1.0.27

CHANGES:

  1. Add write capability to socket_stream wrapper, allowing clients to write to NMEAReader socket stream (NMEAReader.datastream) as well as read from it.
  2. Update constructor arguments and docstrings to clarify API (no functional changes).

- Python
Published by semuadmin over 2 years ago

pynmeagps - v1.0.26

RELEASE 1.0.26

CHANGES:

  1. Deprecated NMEAReader.iterate() method removed - use the standard iterator instead e.g. nmr = NMEAReader(stream, **wkargs): for (raw,parse) in nmr: ..., passing any quitonerror or errorhandler kwargs to the NMEAReader constructor.
  2. Internal streamlining of helper methods.

- Python
Published by semuadmin over 2 years ago

pynmeagps - v1.0.25

RELEASE v1.0.25

FIXES:

  1. Add support for non-standard 3-digit degree latitude value, e.g. '$GNGLL,02348.3822990,S,15313.5862807,E,040856.82,A,D*5F'
  2. NB: footprint of dmm2ddd helper method has changed - att argument no longer required.
  3. Fixes #37

- Python
Published by semuadmin over 2 years ago

pynmeagps - v1.0.24

RELEASE 1.0.24

  1. Python 3.7 is officially end of life on 27 June 2023. This change removes Python 3.7 from workflows and documentation.
  2. No other functional changes.

- Python
Published by semuadmin over 2 years ago

pynmeagps - v1.0.23

RELEASE 1.0.23

ENHANCEMENTS:

  1. Add proprietary Trimble NMEA message definitions. GMP GNSS Map Projection Fix Data LLQ Leica local position and quality ROT Rate of turn PASHR,ALR Alarms PASHR,ARA True Heading PASHR,ARR Vector & Accuracy PASHR,ATT True Heading PASHR,BTS Bluetooth Status PASHR,CAP Parameters of Antenna Used at Received Base PASHR,CPA Height of Antenna Used at Received Base PASHR,CPO Position of Received Base PASHR,DDM Differential Decoder Message PASHR,DDS Differential Decoder Status PASHR,HPR True Heading PASHRHR Proprietary Roll and Pitch PASHR,LTN Latency PASHR,MDM Modem State and Parameter PASHR,PBN Position and Velocity Information PASHR,POS Position PASHR,PTT PPS Time Tag PASHR,PWR Power Status PASHR,RCS Recording Status PASHR,SBD BEIDOU Satellites Status PASHR,SGA GALILEO Satellites Status (E1,E5a,E5b) PASHR,SGL GLONASS Satellites Status PASHR,SGO GALILEO Satellites Status (E1,E5a,E5b,E6) PASHR,SGP GPS Satellites Status PASHR,SIR IRNSS Satellites Status PASHR,SLB L-Band Satellites Status PASHR,SQZ QZSS Satellites Status PASHR,SSB SBAS Satellites Status PASHR,TEM Receiver Temperature PASHR,THS True Heading and Status PASHR,TTT Event Marker PASHR,VCR Vector and Accuracy PASHR,VCT Vector and Accuracy PASHR,VEL Velocity FUGDP Fugro Dynamic Positioning GPPADV,110 Position and satellite information for RTK network operations 110 GPPADV,120 Position and satellite information for RTK network operations 120 PTNL,AVR Time, yaw, tilt, range, mode, PDOP, and number of SVs for Moving Baseline RTK PTNL,BPQ Base station position and position quality indicator PTNL,DG L-band corrections and beacon signal strength and related information PTNL,EVT Event marker data PTNL,GGK Time, position, position type, and DOP values PTNL,PJK Time, position, position type, and DOP values PTNL,PJT Projection type PTNL,REX Rover Extended Output PTNL,VGK Time, locator vector, type, and DOP values PTNL,VHD Heading Information

- Python
Published by semuadmin almost 3 years ago

pynmeagps - v1.0.22

Description

RELEASE 1.0.22

FIXES:

  1. Rounding removed from haversine helper method, so now usable for small distances (e.g. scatter plots).

- Python
Published by semuadmin almost 3 years ago

pynmeagps - v1.0.21

RELEASE 1.0.21

ENHANCEMENTS:

  1. Add bearing() helper method.

- Python
Published by semuadmin almost 3 years ago

pynmeagps - v1.0.20

RELEASE 1.0.20

CHANGES:

  1. quitonerror and errorhandler kwargs added to NMEAReader constructor - see Sphinx documentation for details
  2. NMEAReader.iterate() method deprecated - use the standard iterator instead e.g. python nmr = NMEAReader(**kwargs): for (raw, parsed) in nmr: print(parsed) ... passing any quitonerror or errorhandler kwargs to the NMEAReader constructor.

- Python
Published by semuadmin almost 3 years ago

pynmeagps - v1.0.19

RELEASE 1.0.19

FIXES:

  1. Fix typo in PUBX00 payload definition - PDOP is now TDOP. Thanks to @dbstf for issue report.
    1. Fix handling of VALMSGID flag in NMEAReader. Thanks to @nmichaels-qualinx for issue report.

- Python
Published by semuadmin about 3 years ago

pynmeagps - v1.0.18

RELEASE 1.0.18

ENHANCEMENTS:

  1. Following utility methods added to nmeahelpers.py:
  • latlon2dms - converts decimal lat/lon to degrees, minutes, decimal seconds format e.g. "53°20′45.6″N", "2°32′46.68″W"
  • latlon2dmm - converts decimal lat/lon to degrees, decimal minutes format e.g. "53°20.76′N", "2°32.778′W"
  • llh2iso6709 - converts lat/lon and altitude (hMSL) to ISO6709 format e.g. "+27.5916+086.5640+8850CRSWGS_84/"
  • ecef2llh - converts ECEF (X, Y, Z) coordinates to geodetic (lat, lon, ellipsoidal height) coordinates
  • llh2ecef - converts geodetic (lat, lon, ellipsoidal height) coordinates to ECEF (X, Y, Z) coordinates
  • haversine - finds spherical distance in km between two sets of (lat, lon) coordinates

- Python
Published by semuadmin about 3 years ago

pynmeagps - v1.0.17

RELEASE 1.0.17

CHANGES:

  1. shields.io build status badge URL updated.

No other functional changes.

- Python
Published by semuadmin about 3 years ago

pynmeagps - v1.0.16

RELEASE 1.0.16

ENHANCEMENTS:

  1. time2utc helper method enhanced to cater for proprietary NMEA messages containing timestamps in format hh.mm.ss rather than hh.mm.ss.ss (i.e. missing decimal seconds). Addresses PR #19.

- Python
Published by semuadmin over 3 years ago

pynmeagps - v1.0.15

RELEASE 1.0.15

ENHANCEMENTS:

  1. Enhancement to NMEAMessage constructor - will now automatically derive value of NS or EW attributes from provided lat/lon e.g. lon < 0 => EW = "W"
  2. Enhancement to NMEAMessage constructor - optional keyword argument hpnmeamode added which allows NMEA position message payloads to be constructed to 7dp decimal minutes rather than the standard 5dp (i.e. (d)ddmm.mmmmmmm rather than (d)ddmm.mmmm). NB: this is primarily for manually constructed messages. Messages parsed from a GNSS receiver data stream retain whatever level of precision is output by the receiver to a maximum 10dp of decimal degrees.

- Python
Published by semuadmin over 3 years ago

pynmeagps - v1.0.14

RELEASE 1.0.14

CHANGES:

  1. nmeadump CLI utility has been removed and replaced by the gnssdump utility available via the pygnssutils PyPi package.
  2. Python 3.11 classifier added to setup.

- Python
Published by semuadmin over 3 years ago

pynmeagps - v1.0.13

RELEASE 1.0.13

FIXES:

  1. When manually creating NMEA Messages, the nominal (default) value of time and date fields is now set to UTC time rather than local time. This is relevant, for example, when constructing NMEA GGA messages to send to NTRIP casters.

- Python
Published by semuadmin almost 4 years ago

pynmeagps - v1.0.12

RELEASE 1.0.12

CHANGES:

  1. Add support for THS message type.
  2. Extend test coverage for socket handler.

- Python
Published by semuadmin almost 4 years ago

pynmeagps - v1.0.11

RELEASE 1.0.11

ENHANCEMENTS:

  1. Add capability to read from TCP/UDP socket as well as serial stream. Utilises a SocketStream utility class to allow sockets to be read using standard stream-like read(bytes) and readline() methods.

- Python
Published by semuadmin almost 4 years ago

pynmeagps - v1.0.10

RELEASE 1.0.10

FIXES:

  1. GBS and GSA message definitions updated - systemId and signalId now correctly defined as HX rather than IN.

- Python
Published by semuadmin almost 4 years ago

pynmeagps - v1.0.9

RELEASE 1.0.9

FIXES:

  1. GRS message definition updated - systemId and signalId now correctly defined as HX rather than IN.

- Python
Published by semuadmin almost 4 years ago

pynmeagps - v1.0.8

RELEASE 1.0.8

ENHANCEMENTS:

  1. identity property added to NMEAMessage for consistency with companion pyubx2 library - identity = (talker+msgID)
  2. internal refactoring of error handling in NMEAReader.read() method to make it more consistent with pyubx2 when processing corrupted data streams.

- Python
Published by semuadmin about 4 years ago

pynmeagps - v1.0.7

RELEASE 1.0.7

FIXES:

  1. HX attribute type processing corrected - will now parse HX values as hex strings rather than convert to/from integers.
  2. GSV payload corrected - SignalId is now hex.

- Python
Published by semudev2 about 4 years ago

pynmeagps - v1.0.6

RELEASE 1.0.6

ENHANCEMENTS:

  1. Python 3.10 compatibility added
  2. Minor pylint code tweaks

- Python
Published by semuadmin over 4 years ago

pynmeagps - v1.0.5

RELEASE 1.0.5

ENHANCEMENTS:

  1. Filter added to nmeadump cli utility to limit output to specified NMEA msgIDs. See README for usage.
  2. Update dmm2ddd() helper method to increase conversion accuracy from 6 to 8 decimal places - thanks for Doradx for the contribution.

- Python
Published by semuadmin over 4 years ago

pynmeagps - v1.0.4

ENHANCEMENTS:

  1. The nmeadump.py example has been moved into the pynmeagpscli module and configured as a setup entry point. It is now available as a simple command line utility. See README for usage.

- Python
Published by semuadmin over 4 years ago

pynmeagps - v1.0.3

RELEASE 1.0.3

FIXES:

  1. Fixed diffAge field type in GGA payload definition.

- Python
Published by semuadmin over 4 years ago

pynmeagps - v1.0.2

RELEASE 1.0.2

FIXES: 1. Fixed typo in VTG payload definition - cogT is now cogt. Test script updated.

- Python
Published by semuadmin over 4 years ago

pynmeagps - v1.0.1

RELEASE 1.0.1

FIXES:

  1. Fixed typo in GBS payload definition - effLon is now errLon. Test script updated.
  2. Fixed cosmetic typo in nmeafile.py example - functionality not affected.

- Python
Published by semuadmin almost 5 years ago

pynmeagps - v1.0.0

CHANGES:

  1. Mark to v1.0.0 and update status to Production/Stable. No other functional changes.

- Python
Published by semuadmin almost 5 years ago