- added GGA
- print messages as dict
This commit is contained in:
+3
-1
@@ -9,6 +9,7 @@ from a_backend import ABackend
|
||||
from nmea.GLL import Gll
|
||||
from nmea.GSA import Gsa
|
||||
from nmea.GSV import Gsv
|
||||
from nmea.GGA import Gga
|
||||
|
||||
class NetworkBackend(ABackend):
|
||||
def __init__(self, servers: list[dict]):
|
||||
@@ -93,7 +94,8 @@ if __name__ == "__main__":
|
||||
rx_list = [
|
||||
Gll(grm, '--'),
|
||||
Gsa(grm, '--'),
|
||||
Gsv(grm, '--')
|
||||
Gsv(grm, '--'),
|
||||
Gga(grm, '--')
|
||||
]
|
||||
# Topology
|
||||
# Receiver-0.0 \
|
||||
|
||||
+43
-2
@@ -1,11 +1,52 @@
|
||||
from msg_container import MsgContainer
|
||||
from receiver import Nmea
|
||||
from nmea.receiver import Nmea
|
||||
|
||||
|
||||
class Gga(Nmea):
|
||||
class Msg:
|
||||
def __init__(self):
|
||||
self.utc_time = None
|
||||
self.latitude = None
|
||||
self.ns_indicator = None
|
||||
self.longitude = None
|
||||
self.ew_indicator = None
|
||||
self.quality = None
|
||||
self.nsv = None
|
||||
self.h_dop = None
|
||||
self.orthometric_height = None
|
||||
self.orthometric_height_unit = None
|
||||
self.geoid_separation = None
|
||||
self.diff_age = None
|
||||
self.ref_id = 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="GGA")
|
||||
self.msg = None
|
||||
self.data = Gga.Msg()
|
||||
|
||||
def on_recv(self, msg: MsgContainer):
|
||||
data = msg.data.decode(encoding="utf-8")
|
||||
print(f"{self.name}: {data}")
|
||||
data_list = data.split(',')
|
||||
|
||||
self.msg = data_list[0]
|
||||
self.data.utc_time = data_list[1]
|
||||
self.data.latitude = data_list[2]
|
||||
self.data.ns_indicator = data_list[3]
|
||||
self.data.longitude = data_list[4]
|
||||
self.data.ew_indicator = data_list[5]
|
||||
self.data.quality = data_list[6]
|
||||
self.data.nsv = data_list[7]
|
||||
self.data.h_dop = float(data_list[8])
|
||||
self.data.orthometric_height = data_list[9]
|
||||
self.data.orthometric_height_unit = data_list[10]
|
||||
self.data.geoid_separation = data_list[11]
|
||||
self.data.geoid_separation_unit = data_list[12]
|
||||
self.data.diff_age = data_list[13]
|
||||
self.data.ref_id = data_list[14].split('*')[0]
|
||||
self.data.checksum = data_list[14].split('*')[1]
|
||||
|
||||
print(f"{self.name}:{self.msg} {self.data}")
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ class Gll(Nmea):
|
||||
self.checksum = None
|
||||
|
||||
def __repr__(self):
|
||||
return f"{self.latitude:.8f}{self.ns_indicator},{self.longitude:.8f}{self.ew_indicator}"
|
||||
return f"{self.__dict__}"
|
||||
|
||||
def __init__(self, name: str, tid: str):
|
||||
Nmea.__init__(self, name, tid=tid, msg_type="GLL")
|
||||
@@ -33,4 +33,4 @@ class Gll(Nmea):
|
||||
self.data.status = data_list[6]
|
||||
self.data.checksum = data_list[7]
|
||||
|
||||
print(f"{self.name}: {data}")
|
||||
print(f"{self.name}:{self.msg} {self.data}")
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ class Gsa(Nmea):
|
||||
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}"
|
||||
return f"{self.__dict__}"
|
||||
|
||||
def __init__(self, name: str, tid: str):
|
||||
Nmea.__init__(self, name, tid=tid, msg_type="GSA")
|
||||
@@ -33,4 +33,4 @@ class Gsa(Nmea):
|
||||
self.data.v_dop = float(data_list[17])
|
||||
self.data.checksum = data_list[18]
|
||||
|
||||
print(f"{self.name}: {data}")
|
||||
print(f"{self.name}:{self.msg} {self.data}")
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ class Gsv(Nmea):
|
||||
self.checksum = None
|
||||
|
||||
def __repr__(self):
|
||||
return f"sat_vis: {self.sat_vis}, sat_id: {self.sat_id}, elevation: {self.elevation}, azimuth: {self.azimuth}, snr: {self.snr}"
|
||||
return f"{self.__dict__}"
|
||||
|
||||
def __init__(self, name: str, tid: str):
|
||||
Nmea.__init__(self, name, tid=tid, msg_type="GSV")
|
||||
@@ -44,5 +44,5 @@ class Gsv(Nmea):
|
||||
|
||||
if self.data.number_of_msg == self.data.seq_number:
|
||||
self.data = Gsv.Msg()
|
||||
print(f"{self.name}: {data}")
|
||||
print(f"{self.name}:{self.msg} {data}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user