- fixed parsing
- added RMC
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
from msg_container import MsgContainer
|
||||
from nmea.receiver import Nmea
|
||||
|
||||
|
||||
class Rmc(Nmea):
|
||||
class Msg:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def __repr__(self):
|
||||
return f"{self.__dict__}"
|
||||
|
||||
def __init__(self, name: str, tid: str):
|
||||
Nmea.__init__(self, name, tid=tid, msg_type="RMC")
|
||||
self.msg = None
|
||||
self.data = Rmc.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.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("*")[0]
|
||||
self.data.checksum = data_list[13].split("*")[1]
|
||||
|
||||
print(f"{self.name}:{self.msg} {self.data}")
|
||||
Reference in New Issue
Block a user