from msg_container import MsgContainer from receiver.nmea_receiver import NmeaReceiver class Gsa(NmeaReceiver): 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): NmeaReceiver.__init__(self, name, tid=tid, msg_type="GSA") self.msg = None self.data = Gsa.Msg() def on_recv(self, msg: MsgContainer): data_list = msg.data.split(b',') 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(b'*')[0] self.data.checksum = data_list[18].split(b'*')[1] print(f"{self.name}:{self.msg} {self.data}")