parse bytes instead of strings
This commit is contained in:
+1
-2
@@ -11,8 +11,7 @@ class MsgReceiver(MsgSink):
|
||||
def is_msg(self, msg: MsgContainer):
|
||||
res = False
|
||||
try:
|
||||
data = msg.data.decode(encoding="utf-8")
|
||||
res = re.match(self.filter, data) is not None
|
||||
res = re.match(bytes(self.filter, encoding="utf-8"), msg.data) is not None
|
||||
except UnicodeDecodeError:
|
||||
pass
|
||||
return res
|
||||
|
||||
+3
-5
@@ -29,9 +29,7 @@ class Gga(Nmea):
|
||||
self.data = Gga.Msg()
|
||||
|
||||
def on_recv(self, msg: MsgContainer):
|
||||
data = msg.data.decode(encoding="utf-8")
|
||||
data_list = data.split(',')
|
||||
|
||||
data_list = msg.data.split(b',')
|
||||
self.msg = data_list[0]
|
||||
self.data.utc_time = data_list[1]
|
||||
self.data.latitude = data_list[2]
|
||||
@@ -46,7 +44,7 @@ class Gga(Nmea):
|
||||
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]
|
||||
self.data.ref_id = data_list[14].split(b'*')[0]
|
||||
self.data.checksum = data_list[14].split(b'*')[1]
|
||||
|
||||
print(f"{self.name}:{self.msg} {self.data}")
|
||||
|
||||
+3
-4
@@ -23,8 +23,7 @@ class Gll(Nmea):
|
||||
self.data = Gll.Msg()
|
||||
|
||||
def on_recv(self, msg: MsgContainer):
|
||||
data = msg.data.decode(encoding="utf-8")
|
||||
data_list = data.split(',')
|
||||
data_list = msg.data.split(b',')
|
||||
self.msg = data_list[0]
|
||||
self.data.latitude = float(data_list[1])/100
|
||||
self.data.ns_indicator = data_list[2]
|
||||
@@ -32,7 +31,7 @@ class Gll(Nmea):
|
||||
self.data.ew_indicator = data_list[4]
|
||||
self.data.utc_time = data_list[5]
|
||||
self.data.status = data_list[6]
|
||||
self.data.mode = data_list[7].split('*')[0]
|
||||
self.data.checksum = data_list[7].split('*')[1]
|
||||
self.data.mode = data_list[7].split(b'*')[0]
|
||||
self.data.checksum = data_list[7].split(b'*')[1]
|
||||
|
||||
print(f"{self.name}:{self.msg} {self.data}")
|
||||
|
||||
+3
-4
@@ -23,8 +23,7 @@ class Gsa(Nmea):
|
||||
self.data = Gsa.Msg()
|
||||
|
||||
def on_recv(self, msg: MsgContainer):
|
||||
data = msg.data.decode(encoding="utf-8")
|
||||
data_list = data.split(',')
|
||||
data_list = msg.data.split(b',')
|
||||
self.msg = data_list[0]
|
||||
self.data.mode = data_list[1]
|
||||
self.data.fix_type = data_list[2]
|
||||
@@ -32,7 +31,7 @@ class Gsa(Nmea):
|
||||
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('*')[0]
|
||||
self.data.checksum = data_list[18].split('*')[1]
|
||||
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}")
|
||||
|
||||
+3
-4
@@ -24,8 +24,7 @@ class Gsv(Nmea):
|
||||
self.data = Gsv.Msg()
|
||||
|
||||
def on_recv(self, msg: MsgContainer):
|
||||
msg_data = msg.data.decode(encoding="utf-8")
|
||||
data_list = msg_data.split(',')
|
||||
data_list = msg.data.split(b',')
|
||||
self.msg = data_list[0]
|
||||
|
||||
data = self.data
|
||||
@@ -41,8 +40,8 @@ class Gsv(Nmea):
|
||||
data.azimuth.append(data_list[data_set_size*n+6])
|
||||
data.snr.append(data_list[data_set_size*n+7])
|
||||
|
||||
data.signal_id = data_list[data_set_size*(num_sats_in_msg-1)+8].split('*')[0]
|
||||
data.checksum = data_list[data_set_size*(num_sats_in_msg-1)+8].split('*')[1]
|
||||
data.signal_id = data_list[data_set_size*(num_sats_in_msg-1)+8].split(b'*')[0]
|
||||
data.checksum = data_list[data_set_size*(num_sats_in_msg-1)+8].split(b'*')[1]
|
||||
|
||||
if self.data.number_of_msg == self.data.seq_number:
|
||||
self.data = Gsv.Msg()
|
||||
|
||||
+3
-4
@@ -16,8 +16,7 @@ class Rmc(Nmea):
|
||||
self.data = Rmc.Msg()
|
||||
|
||||
def on_recv(self, msg: MsgContainer):
|
||||
data = msg.data.decode(encoding="utf-8")
|
||||
data_list = data.split(',')
|
||||
data_list = msg.data.split(b',')
|
||||
self.msg = data_list[0]
|
||||
self.data.utc_time = data_list[1]
|
||||
self.data.status = data_list[2]
|
||||
@@ -31,7 +30,7 @@ class Rmc(Nmea):
|
||||
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]
|
||||
self.data.nav_status = data_list[13].split(b'*')[0]
|
||||
self.data.checksum = data_list[13].split(b'*')[1]
|
||||
|
||||
print(f"{self.name}:{self.msg} {self.data}")
|
||||
|
||||
Reference in New Issue
Block a user