from msg_container import MsgContainer from nmea.receiver import Nmea class Gll(Nmea): class Msg: def __init__(self): self.latitude = None self.ns_indicator = None self.longitude = None self.ew_indicator = None self.utc_time = None self.status = 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="GLL") self.msg = None self.data = Gll.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.latitude = float(data_list[1])/100 self.data.ns_indicator = data_list[2] self.data.longitude = float(data_list[3])/100 self.data.ew_indicator = data_list[4] self.data.utc_time = data_list[5] self.data.status = data_list[6] self.data.checksum = data_list[7] print(f"{self.name}:{self.msg} {self.data}")