From 22e98a816ff7ee438776d6dc9e78608dab93b11b Mon Sep 17 00:00:00 2001 From: DJ2LS Date: Fri, 15 Dec 2023 14:56:35 +0100 Subject: [PATCH] WIP ARQ - more fixes --- modem/arq_session_irs.py | 4 ++-- modem/demodulator.py | 2 +- modem/modem.py | 14 -------------- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/modem/arq_session_irs.py b/modem/arq_session_irs.py index 2f3ab5c2..a9f1ecf2 100644 --- a/modem/arq_session_irs.py +++ b/modem/arq_session_irs.py @@ -65,8 +65,8 @@ class ARQSessionIRS(arq_session.ARQSession): def final_crc_check(self): return self.total_crc == helpers.get_crc_32(bytes(self.received_data)).hex() - def transmit_and_wait(self, frame, timeout): - self.transmit_frame(frame) + def transmit_and_wait(self, frame, timeout, mode): + self.transmit_frame(frame, mode) self.log(f"Waiting {timeout} seconds...") if not self.event_frame_received.wait(timeout): # use case: data burst got lost, we want to send a NACK with updated speed level diff --git a/modem/demodulator.py b/modem/demodulator.py index a627fd0c..e41338dd 100644 --- a/modem/demodulator.py +++ b/modem/demodulator.py @@ -613,7 +613,7 @@ class Demodulator(): # snr = np.clip( # snr, -127, 127 # ) # limit to max value of -128/128 as a possible fix of #188 - return snr + return int(snr) except Exception as err: self.log.error(f"[MDM] calculate_snr: Exception: {err}") return 0 diff --git a/modem/modem.py b/modem/modem.py index 2aa377f7..3fa552fd 100644 --- a/modem/modem.py +++ b/modem/modem.py @@ -628,20 +628,6 @@ class RF: self.transmit(tx['mode'], tx['repeat'], tx['repeat_delay'], [tx['frame']]) # self.modem_transmit_queue.task_done() - def get_frequency_offset(self, freedv: ctypes.c_void_p) -> float: - """ - Ask codec2 for the calculated (audio) frequency offset of the received signal. - - :param freedv: codec2 instance to query - :type freedv: ctypes.c_void_p - :return: Offset of audio frequency in Hz - :rtype: float - """ - modemStats = codec2.MODEMSTATS() - codec2.api.freedv_get_modem_extended_stats(freedv, ctypes.byref(modemStats)) - offset = round(modemStats.foff) * (-1) - return offset - def init_rig_control(self): # Check how we want to control the radio if self.radiocontrol == "rigctld":