mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
third run with improving arq code
This commit is contained in:
parent
ea2883a85a
commit
1e3314627b
|
@ -1492,7 +1492,8 @@ class DATA:
|
|||
|
||||
"""
|
||||
# Only process data if we are in ARQ and BUSY state
|
||||
if static.ARQ_STATE and static.TNC_STATE == "BUSY":
|
||||
if not static.ARQ_STATE or static.TNC_STATE != "BUSY":
|
||||
return
|
||||
static.DXGRID = b'------'
|
||||
helpers.add_to_heard_stations(
|
||||
static.DXCALLSIGN,
|
||||
|
@ -1512,8 +1513,7 @@ class DATA:
|
|||
|
||||
for i in range(0, 6, 2):
|
||||
if not missing_area[i: i + 2].endswith(b"\x00\x00"):
|
||||
missing = missing_area[i: i + 2]
|
||||
self.rpt_request_buffer.insert(0, missing)
|
||||
self.rpt_request_buffer.insert(0, missing_area[i: i + 2])
|
||||
|
||||
############################################################################################################
|
||||
# ARQ SESSION HANDLER
|
||||
|
@ -2167,7 +2167,7 @@ class DATA:
|
|||
self.mode_list = self.mode_list_high_bw
|
||||
self.time_list = self.time_list_high_bw
|
||||
self.snr_list = self.snr_list_high_bw
|
||||
elif frametype == FR_TYPE.ARQ_DC_OPEN_W.value and static.LOW_BANDWIDTH_MODE:
|
||||
elif frametype == FR_TYPE.ARQ_DC_OPEN_W.value:
|
||||
# ISS(w) <-> IRS(n)
|
||||
constellation = "ISS(w) <-> IRS(n)"
|
||||
self.received_LOW_BANDWIDTH_MODE = False
|
||||
|
@ -2181,7 +2181,7 @@ class DATA:
|
|||
self.mode_list = self.mode_list_low_bw
|
||||
self.time_list = self.time_list_low_bw
|
||||
self.snr_list = self.snr_list_low_bw
|
||||
elif frametype == FR_TYPE.ARQ_DC_OPEN_N.value and static.LOW_BANDWIDTH_MODE:
|
||||
elif frametype == FR_TYPE.ARQ_DC_OPEN_N.value:
|
||||
# ISS(n) <-> IRS(n)
|
||||
constellation = "ISS(n) <-> IRS(n)"
|
||||
self.received_LOW_BANDWIDTH_MODE = True
|
||||
|
@ -2459,6 +2459,14 @@ class DATA:
|
|||
snr=str(static.SNR),
|
||||
)
|
||||
if static.RESPOND_TO_CALL:
|
||||
self.transmit_ping_ack()
|
||||
|
||||
def transmit_ping_ack(self):
|
||||
"""
|
||||
|
||||
transmit a ping ack frame
|
||||
called by def received_ping
|
||||
"""
|
||||
ping_frame = bytearray(self.length_sig0_frame)
|
||||
ping_frame[:1] = bytes([FR_TYPE.PING_ACK.value])
|
||||
ping_frame[1:4] = static.DXCALLSIGN_CRC
|
||||
|
@ -3013,6 +3021,7 @@ class DATA:
|
|||
self.data_frame_ack_received = state
|
||||
|
||||
def set_listening_modes(self, enable_sig0: bool, enable_sig1: bool, mode: int) -> None:
|
||||
# sourcery skip: extract-duplicate-method
|
||||
"""
|
||||
Function for setting the data modes we are listening to for saving cpu power
|
||||
|
||||
|
|
Loading…
Reference in a new issue