Skip to content

Commit

Permalink
Merge pull request #57 from semuconsulting/RC-1.0.36
Browse files Browse the repository at this point in the history
RC 1.0.36
  • Loading branch information
semuadmin committed May 9, 2024
2 parents aca8269 + 6046bf8 commit ad41fca
Show file tree
Hide file tree
Showing 10 changed files with 282 additions and 141 deletions.
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.0.35",
"moduleversion": "1.0.36",
}
6 changes: 6 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# pynmeagps Release Notes

### RELEASE 1.0.36

ENHANCEMENTS:

1. Add further proprietary message definitions.

### RELEASE 1.0.35

FIXES:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "pynmeagps"
authors = [{ name = "semuadmin", email = "[email protected]" }]
maintainers = [{ name = "semuadmin", email = "[email protected]" }]
description = "NMEA protocol parser and generator"
version = "1.0.35"
version = "1.0.36"
license = { file = "LICENSE" }
readme = "README.md"
requires-python = ">=3.8"
Expand Down
2 changes: 1 addition & 1 deletion src/pynmeagps/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
:license: BSD 3-Clause
"""

__version__ = "1.0.35"
__version__ = "1.0.36"
7 changes: 5 additions & 2 deletions src/pynmeagps/nmeamessage.py
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ def _get_dict(self, **kwargs) -> dict:
f"P{key} message definitions must "
+ "include payload or msgId keyword arguments."
)
key = key.upper()
if self._mode == nmt.POLL:
return nmp.NMEA_PAYLOADS_POLL[key]
if self._mode == nmt.SET:
Expand Down Expand Up @@ -363,12 +364,14 @@ def identity(self) -> str:
:rtype: str
"""

# pylint: disable=no-member

if (
self.talker == "P"
self._talker == "P"
and self._msgID in nmt.PROP_MSGIDS
and hasattr(self, "msgId")
):
return self._talker + self._msgID + self.msgId # pylint: disable=no-member
return self._talker + self._msgID + self.msgId
return self._talker + self._msgID

@property
Expand Down
17 changes: 15 additions & 2 deletions src/pynmeagps/nmeatypes_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
ERR_LOG = 1
ERR_RAISE = 2
# proprietary messages where msgId is first element of payload:
PROP_MSGIDS = ("UBX", "TNL", "ASHR", "GPPADV")
PROP_MSGIDS = ("FEC", "UBX", "TNL", "ASHR", "GPPADV")

GNSSLIST = {
0: "GPS",
Expand Down Expand Up @@ -242,9 +242,17 @@
"GRMW": "Set Additional Waypoint Information",
"GRMZ": "Altitude",
# ***************************************************************
# JVCKenwood Proprietary message types
# JVC Kenwood Proprietary message types
# ***************************************************************
"KLDS": "Position, Speed, Course",
"KLSH": "FleetSync GNSS sentence",
"KNDS": "Position, Speed, Course",
"KNSH": "Position",
"KWDWPL": "Waypoint Location",
# ***************************************************************
# Magellan Proprietary message types
# ***************************************************************
"MGNWPL": "Waypoint Location",
# ***************************************************************
# U-BLOX Proprietary message types
# ***************************************************************
Expand Down Expand Up @@ -308,6 +316,11 @@
"TNLVGK": "Vector information",
"TNLVHD": "Heading information",
# ***************************************************************
# Furuno
# ***************************************************************
"FECGPATT": "Attitude yaw, pitch, roll",
"FECGPHVE": "Heave",
# ***************************************************************
# Dummy message for testing only
# ***************************************************************
"FOO": "Dummy message",
Expand Down
88 changes: 87 additions & 1 deletion src/pynmeagps/nmeatypes_get.py
Original file line number Diff line number Diff line change
Expand Up @@ -402,8 +402,25 @@
"ltzn": ST,
},
# *********************************************
# JVCKENWOOD PROPRIETARY MESSAGES
# JVC KENWOOD PROPRIETARY MESSAGES
# *********************************************
"KLDS": {
"time": TM,
"status": CH,
"lat": LA,
"NS": LAD,
"lon": LN,
"EW": LND,
"sog": DE,
"cog": DE,
"dat": DT,
"declination": DE,
"dec_dir": CH,
"fleet": DE,
"senderid": ST,
"senderstatus": DE,
"reserved": DE,
},
"KLSH": {
"lat": LA,
"NS": LAD,
Expand All @@ -414,6 +431,60 @@
"fleetId": ST,
"deviceId": ST,
},
"KNDS": {
"time": TM,
"status": CH,
"lat": LA,
"NS": LAD,
"lon": LN,
"EW": LND,
"sog": DE,
"cog": DE,
"date": DT,
"declination": DE,
"dec_dir": CH,
"senderid": ST,
"senderstatus": DE,
"reserved": DE,
},
"KNSH": {
"lat": LA,
"NS": LAD,
"lon": LN,
"EW": LND,
"time": TM,
"status": CH,
"senderid": ST,
},
"KWDWPL": {
"time": TM,
"status": CH,
"lat": LA,
"NS": LAD,
"lon": LN,
"EW": LND,
"sog": DE,
"cog": DE,
"date": DT,
"alt": DE,
"wpt": ST,
"ts": ST,
},
# *********************************************
# MAGELLAN PROPRIETARY MESSAGES
# *********************************************
"MGNWPL": {
"lat": LA,
"NS": LAD,
"lon": LN,
"EW": LND,
"alt": DE,
"alt_unit": CH,
"wpt": ST,
"comment": ST,
"icon": ST,
"type": ST,
},
# *********************************************
# GARMIN PROPRIETARY MESSAGES
# *********************************************
Expand Down Expand Up @@ -1185,6 +1256,21 @@
"unit": CH, # 'M'
},
# *********************************************
# Furuno
# https://www.furuno.com/en/support/sdk/
# *********************************************
"FECGPATT": {
"msgId": ST, # 'GPatt'
"yaw": DE,
"pitch": DE,
"roll": DE,
},
"FECGPHVE": {
"msgId": ST, # 'GPhve'
"heave": DE,
"status": CH, # 'A'
},
# *********************************************
# Dummy message for error testing
# *********************************************
"FOO": {"spam": "Z2", "eggs": "Y1"},
Expand Down
2 changes: 2 additions & 0 deletions tests/furuno_nmea.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
$PFEC,GPatt,12.345,23.456,34.567,*50
$PFEC,GPhve,12.345,A*0E
5 changes: 5 additions & 0 deletions tests/kenwood_nmea.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
$PKWDWPL,150803,V,4237.14,N,07120.83,W,,,190316,,test,5,/'*30
$PKLDS,001235,A,3544.6650,N,13940.1900,E,015.0,038.8,110498,10.80,W00,100,2000,15,00,*7E
$PKNDS,124640,A,4954.1458,N,11923.5992,W,000.0,000.0,120223,19.20,W00,U00002,207,00,*29
$PKLSH,4000.0000,N,13500.0000,E,021720,A,100,2000,*2C
$PKNSH,4000.0000,N,13500.0000,E,021720,A,U00001,*55
Loading

0 comments on commit ad41fca

Please sign in to comment.