added nmea msg parsing
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
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.checksum = None
|
||||
|
||||
def __repr__(self):
|
||||
return f"mode: {self.mode}, fix_type: {self.mode}, sat_id: {self.sat_id}, p-dop: {self.p_dop:.3f}, h-dop: {self.h_dop:.3f}, v-dop: {self.v_dop:.3f}"
|
||||
|
||||
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.checksum = data_list[18]
|
||||
|
||||
print(self.data)
|
||||
Reference in New Issue
Block a user