Weitere NMEA0183 Daten verarbeiten

This commit is contained in:
2025-07-18 14:40:19 +02:00
parent 9e4622aeef
commit f7337a0c6c
3 changed files with 135 additions and 21 deletions

View File

@@ -210,7 +210,7 @@ def rxd_0183(devname):
try:
msg = pynmea2.parse(raw)
except pynmea2.nmea.ParseError:
print(f"NMEA0183: Parse-Error: {raw}")
print(f"NMEA0183: Parse-Error: {raw}", end='')
continue
# sentence_type kann fehlen
try:
@@ -223,11 +223,16 @@ def rxd_0183(devname):
# if stype in stypefilter:
# continue
if stype in nmea0183.decoder:
nmea0183.decoder[stype(boatdata, msg)]
nmea0183.decoder[stype](boatdata, msg)
else:
# Hier unbekannter Satztyp: protokollieren und ignorieren
print("Nicht implementiert")
print(msg)
"""
['checksum', 'data', 'fields', 'identifier', 'name_to_idx', 'parse',
'proprietary_re', 'query_re', 'render', 'sentence_re',
'sentence_type', 'sentence_types', 'talker', 'talker_re']
"""
print(f"Nicht implementiert: '{stype}' from {msg.talker}")
ser.close()
def rxd_gps(devname, devspeed):
@@ -608,7 +613,7 @@ def init_profile(config, cfg, boatdata):
cls = getattr(pages, p['type'])
except AttributeError:
# Klasse nicht vorhanden, Seite wird nicht benutzt
print(f"Klasse '{type}' nicht gefunden")
print(f"Klasse '{p['type']}' nicht gefunden")
continue
c = cls(i, cfg, boatdata, *[v for v in p['values'].values()])
clist[i] = c