Files
NmeaClient/nmea/RMC.py
T
2026-03-16 11:06:18 +01:00

37 lines
1.0 KiB
Python

from msg_container import MsgContainer
from receiver.nmea_receiver import NmeaReceiver
class Rmc(NmeaReceiver):
class Msg:
def __init__(self):
pass
def __repr__(self):
return f"{self.__dict__}"
def __init__(self, name: str, tid: str):
NmeaReceiver.__init__(self, name, tid=tid, msg_type="RMC")
self.msg = None
self.data = Rmc.Msg()
def on_recv(self, msg: MsgContainer):
data_list = msg.data.split(b',')
self.msg = data_list[0]
self.data.utc_time = data_list[1]
self.data.status = data_list[2]
self.data.latitude = float(data_list[3])/100
self.data.ns_indicator = data_list[4]
self.data.longitude = float(data_list[5])/100
self.data.ew_indicator = data_list[6]
self.data.speed = data_list[7]
self.data.course = data_list[8]
self.data.date = data_list[9]
self.data.mag_var = data_list[10]
self.data.mag_var_ew = data_list[11]
self.data.mode = data_list[12]
self.data.nav_status = data_list[13].split(b'*')[0]
self.data.checksum = data_list[13].split(b'*')[1]
print(f"{self.name}:{self.msg} {self.data}")