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
- 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
- Add support for Feyman IM19 IMU NMEA sentence GPFMI.
- 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
- Minor updates to proprietary Quectel NMEA definitions to improve attribute name clarity - affects QTMCFGGEOFENCE and QTMCFGPPS.
- 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
- Fix for Conda build issue (license = { file = "LICENSE" } deprecated in latest Python build but still mandated by Conda).
- 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
- Add support for proprietary Quectel LG290P PQTM* NMEA sentences, as documented in https://quectel.com/content/uploads/2024/09/QuectelLG290P03GNSSProtocolSpecification_V1.0.pdf.
- 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
- 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.44
What's Changed
- RC 1.0.44 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/70 ENHANCEMENTS:
dms2deghelper 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
- Add provision for user-defined payload definition dictionary, supplementing the existing
NMEA_PAYLOADS_GETandNMEA_PAYLOADS_GET_PROPdictionaries. Format should mirror that used inNMEA_PAYLOADS_GET. Can be used for proprietary product development purposes or for standard payload definitions which are not yet in the public domain. - 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:
- Add additional maritime talker IDs and NMEA sentence definitions.
- Add
DTLdate 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:
- Enhance NMEAMessage to parse unrecognised* NMEA sentence types to a nominal
<NMEA(TTXXX, NOMINAL, field_01=x...)>message structure ifVALMSGIDvalidation flag is not set, rather than raise aNMEAParseMessageerror 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).
- Add NMEA ALF sentence definition.
- Add
validateargument toNMEAMessageand carry forward fromNMEAReader - 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
- Add
area()helper method to calculate spherical area of bounding box. - Sphinx documentation and docstrings enhanced to include global constants and decodes.
socket_stream.SocketStreamclass renamed tosocket_wrapper.SocketWrapperclass 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
- 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
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
- Correct
planar()helper function. - 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.35
What's Changed
- RELEASE CANDIDATE 1.0.35 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/56
FIXES:
- Fixes & simplifies the derivation of NMEA
NSandEWvalues when creatingNMEAMessageobjects (e.g. GNGLL) using individual keyword arguments.NSandEWwill always be derived from the sign of the provided signed decimallatandlonvalues and need not be provided explicitly. When creating anNMEAMessageusing a single payload argument (which is effectively what happens when parsing incoming serial data streams), the value ofNSandEWin the payload will determine the sign of the decimallat/lonvalues in theNMEAMessageobject.
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:
- 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
- Add planar formula in
nmeahelpers.pyto 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
- 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
- Extend range of permissible NMEA header sequences in
NMEA_HDRto include all known Talker IDs (not just the previous "GNSS" range of $G & $P). Supported message types remain as defined innmeatypes_*.pybut these can now be associated with any Talker ID from any device. - 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.29
What's Changed
- Rc 1.0.29 by @semuadmin in https://github.com/semuconsulting/pynmeagps/pull/43
ENHANCEMENTS:
- 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.27
RELEASE 1.0.27
CHANGES:
- Add write capability to socket_stream wrapper, allowing clients to write to NMEAReader socket stream (
NMEAReader.datastream) as well as read from it. - 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:
- 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. - Internal streamlining of helper methods.
- Python
Published by semuadmin over 2 years ago
pynmeagps - v1.0.25
RELEASE v1.0.25
FIXES:
- Add support for non-standard 3-digit degree latitude value, e.g.
'$GNGLL,02348.3822990,S,15313.5862807,E,040856.82,A,D*5F' - NB: footprint of
dmm2dddhelper method has changed -attargument no longer required. - Fixes #37
- Python
Published by semuadmin over 2 years ago
pynmeagps - v1.0.23
RELEASE 1.0.23
ENHANCEMENTS:
- 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.20
RELEASE 1.0.20
CHANGES:
- quitonerror and errorhandler kwargs added to NMEAReader constructor - see Sphinx documentation for details
- 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.18
RELEASE 1.0.18
ENHANCEMENTS:
- 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.15
RELEASE 1.0.15
ENHANCEMENTS:
- Enhancement to NMEAMessage constructor - will now automatically derive value of
NSorEWattributes from provided lat/lon e.g.lon< 0 =>EW= "W" - Enhancement to NMEAMessage constructor - optional keyword argument
hpnmeamodeadded 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.13
RELEASE 1.0.13
FIXES:
- 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.8
RELEASE 1.0.8
ENHANCEMENTS:
- identity property added to
NMEAMessagefor consistency with companion pyubx2 library - identity = (talker+msgID) - 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.5
RELEASE 1.0.5
ENHANCEMENTS:
- Filter added to nmeadump cli utility to limit output to specified NMEA msgIDs. See README for usage.
- 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