mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
Better handle check_callsign changes.
This commit is contained in:
parent
b132122d08
commit
cdefbb841f
2 changed files with 30 additions and 10 deletions
|
@ -206,7 +206,9 @@ class DATA():
|
||||||
|
|
||||||
|
|
||||||
#if bytes(bytes_out[1:3]) == self.mycallsign_CRC or bytes(bytes_out[2:4]) == self.mycallsign_CRC or frametype == 200 or frametype == 250:
|
#if bytes(bytes_out[1:3]) == self.mycallsign_CRC or bytes(bytes_out[2:4]) == self.mycallsign_CRC or frametype == 200 or frametype == 250:
|
||||||
if helpers.check_callsign(self.mycallsign, bytes(bytes_out[1:3])) or helpers.check_callsign(self.mycallsign, bytes(bytes_out[2:4])) or frametype == 200 or frametype == 250:
|
_valid1, _ = helpers.check_callsign(self.mycallsign, bytes(bytes_out[1:3]))
|
||||||
|
_valid2, _ = helpers.check_callsign(self.mycallsign, bytes(bytes_out[2:4]))
|
||||||
|
if _valid1 or _valid2 or frametype in [200, 210, 250]:
|
||||||
|
|
||||||
# CHECK IF FRAMETYPE IS BETWEEN 10 and 50 ------------------------
|
# CHECK IF FRAMETYPE IS BETWEEN 10 and 50 ------------------------
|
||||||
frame = frametype - 10
|
frame = frametype - 10
|
||||||
|
@ -360,12 +362,17 @@ class DATA():
|
||||||
# get received crc for different mycall ssids
|
# get received crc for different mycall ssids
|
||||||
self.received_mycall_crc = data_in[2:4]
|
self.received_mycall_crc = data_in[2:4]
|
||||||
|
|
||||||
# check if callsign ssid override
|
|
||||||
mycallsign = helpers.check_callsign(self.mycallsign, self.received_mycall_crc)[1]
|
|
||||||
print(mycallsign)
|
|
||||||
|
|
||||||
|
|
||||||
global TESTMODE
|
global TESTMODE
|
||||||
|
|
||||||
|
# check if callsign ssid override
|
||||||
|
valid, mycallsign = helpers.check_callsign(self.mycallsign, self.received_mycall_crc)
|
||||||
|
print(mycallsign)
|
||||||
|
if not valid:
|
||||||
|
# ARQ data packet not for me.
|
||||||
|
if not TESTMODE:
|
||||||
|
self.arq_cleanup()
|
||||||
|
return
|
||||||
|
|
||||||
# only process data if we are in ARQ and BUSY state else return to quit
|
# only process data if we are in ARQ and BUSY state else return to quit
|
||||||
if not static.ARQ_STATE and static.TNC_STATE != 'BUSY':
|
if not static.ARQ_STATE and static.TNC_STATE != 'BUSY':
|
||||||
return
|
return
|
||||||
|
@ -569,7 +576,12 @@ class DATA():
|
||||||
|
|
||||||
|
|
||||||
# check if callsign ssid override
|
# check if callsign ssid override
|
||||||
mycallsign = helpers.check_callsign(self.mycallsign, self.received_mycall_crc)[1]
|
valid, mycallsign = helpers.check_callsign(self.mycallsign, self.received_mycall_crc)
|
||||||
|
if not valid:
|
||||||
|
# ARQ data packet not for me.
|
||||||
|
if not TESTMODE:
|
||||||
|
self.arq_cleanup()
|
||||||
|
return
|
||||||
|
|
||||||
base64_data = base64.b64encode(data_frame)
|
base64_data = base64.b64encode(data_frame)
|
||||||
base64_data = base64_data.decode("utf-8")
|
base64_data = base64_data.decode("utf-8")
|
||||||
|
@ -1341,7 +1353,12 @@ class DATA():
|
||||||
helpers.add_to_heard_stations(static.DXCALLSIGN,static.DXGRID, 'DATA-CHANNEL', static.SNR, static.FREQ_OFFSET, static.HAMLIB_FREQUENCY)
|
helpers.add_to_heard_stations(static.DXCALLSIGN,static.DXGRID, 'DATA-CHANNEL', static.SNR, static.FREQ_OFFSET, static.HAMLIB_FREQUENCY)
|
||||||
|
|
||||||
# check if callsign ssid override
|
# check if callsign ssid override
|
||||||
mycallsign = helpers.check_callsign(self.mycallsign, data_in[1:3])[1]
|
valid, mycallsign = helpers.check_callsign(self.mycallsign, data_in[1:3])
|
||||||
|
if not valid:
|
||||||
|
# ARQ connect packet not for me.
|
||||||
|
if not TESTMODE:
|
||||||
|
self.arq_cleanup()
|
||||||
|
return
|
||||||
|
|
||||||
structlog.get_logger("structlog").info("[TNC] ARQ | DATA | RX | [" + str(mycallsign, 'utf-8') + "]>> <<[" + str(static.DXCALLSIGN, 'utf-8') + "]", bandwith="wide")
|
structlog.get_logger("structlog").info("[TNC] ARQ | DATA | RX | [" + str(mycallsign, 'utf-8') + "]>> <<[" + str(static.DXCALLSIGN, 'utf-8') + "]", bandwith="wide")
|
||||||
|
|
||||||
|
@ -1475,7 +1492,10 @@ class DATA():
|
||||||
static.INFO.append("PING;RECEIVING")
|
static.INFO.append("PING;RECEIVING")
|
||||||
|
|
||||||
# check if callsign ssid override
|
# check if callsign ssid override
|
||||||
mycallsign = helpers.check_callsign(self.mycallsign, data_in[1:3])[1]
|
valid, mycallsign = helpers.check_callsign(self.mycallsign, data_in[1:3])
|
||||||
|
if not valid:
|
||||||
|
# PING packet not for me.
|
||||||
|
return
|
||||||
|
|
||||||
structlog.get_logger("structlog").info("[TNC] PING REQ [" + str(mycallsign, 'utf-8') + "] <<< [" + str(static.DXCALLSIGN, 'utf-8') + "]", snr=static.SNR )
|
structlog.get_logger("structlog").info("[TNC] PING REQ [" + str(mycallsign, 'utf-8') + "] <<< [" + str(static.DXCALLSIGN, 'utf-8') + "]", snr=static.SNR )
|
||||||
|
|
||||||
|
|
|
@ -252,4 +252,4 @@ def check_callsign(callsign:bytes, crc_to_check:bytes):
|
||||||
print(call_with_ssid)
|
print(call_with_ssid)
|
||||||
return [True, bytes(call_with_ssid)]
|
return [True, bytes(call_with_ssid)]
|
||||||
|
|
||||||
return False
|
return [False, ""]
|
||||||
|
|
Loading…
Reference in a new issue