Files
NmeaClient/nmea/GSA.py
T
jens f04a6655a4 - fixed parsing
- added RMC
2026-03-15 21:08:19 +01:00

39 lines
1009 B
Python

from msg_container import MsgContainer
from nmea.receiver import Nmea
class Gsa(Nmea):
class Msg:
def __init__(self):
self.mode = None
self.fix_type = None
self.sat_id = None
self.p_dop = None
self.h_dop = None
self.v_dop = None
self.signal_id = None
self.checksum = None
def __repr__(self):
return f"{self.__dict__}"
def __init__(self, name: str, tid: str):
Nmea.__init__(self, name, tid=tid, msg_type="GSA")
self.msg = None
self.data = Gsa.Msg()
def on_recv(self, msg: MsgContainer):
data = msg.data.decode(encoding="utf-8")
data_list = data.split(',')
self.msg = data_list[0]
self.data.mode = data_list[1]
self.data.fix_type = data_list[2]
self.data.sat_id = data_list[3:15]
self.data.p_dop = float(data_list[15])
self.data.h_dop = float(data_list[16])
self.data.v_dop = float(data_list[17])
self.data.signal_id = data_list[18].split('*')[0]
self.data.checksum = data_list[18].split('*')[1]
print(f"{self.name}:{self.msg} {self.data}")