From d54416fc8dbf249e2dc7ad2594562ceff9de1717 Mon Sep 17 00:00:00 2001 From: DJ2LS <75909252+DJ2LS@users.noreply.github.com> Date: Mon, 30 Jan 2023 12:08:45 +0100 Subject: [PATCH] first test with additional radio parameters --- tnc/modem.py | 5 ++++- tnc/rigctld.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ tnc/rigdummy.py | 12 ++++++++++++ tnc/sock.py | 3 +++ tnc/static.py | 3 +++ 5 files changed, 71 insertions(+), 1 deletion(-) diff --git a/tnc/modem.py b/tnc/modem.py index e6002163..7b089607 100644 --- a/tnc/modem.py +++ b/tnc/modem.py @@ -968,7 +968,10 @@ class RF: static.HAMLIB_MODE = self.hamlib.get_mode() static.HAMLIB_BANDWIDTH = self.hamlib.get_bandwidth() static.HAMLIB_STATUS = self.hamlib.get_status() - + static.HAMLIB_ALC = self.hamlib.get_alc() + static.HAMLIB_RF = self.hamlib.get_level() + static.HAMLIB_SWR = self.hamlib.get_swr() + print(f"ALC: {static.HAMLIB_ALC}, RF: {static.HAMLIB_RF}, SWR: {static.HAMLIB_SWR}") def calculate_fft(self) -> None: """ Calculate an average signal strength of the channel to assess diff --git a/tnc/rigctld.py b/tnc/rigctld.py index f7ddfec9..4c5a9e47 100644 --- a/tnc/rigctld.py +++ b/tnc/rigctld.py @@ -34,6 +34,9 @@ class radio: self.bandwidth = '' self.frequency = '' self.mode = '' + self.alc = '' + self.swr = '' + self.rf = '' def open_rig( self, @@ -199,6 +202,52 @@ class radio: """ """ return "connected" if self.data_connected and self.ptt_connected else "unknown/disconnected" + def get_level(self): + try: + data = self.send_data_command(b"l RF", True) + data = data.split(b"\n") + rf = data[0].decode("utf-8") + if 'RPRT' not in rf: + try: + rf = int(rf) + except ValueError: + self.rf = str(rf) + + return self.rf + except Exception: + return self.rf + + def get_swr(self): + try: + data = self.send_data_command(b"l SWR", True) + data = data.split(b"\n") + swr = data[0].decode("utf-8") + if 'RPRT' not in swr: + try: + swr = int(swr) + except ValueError: + self.swr = str(swr) + + return self.swr + except Exception: + return self.swr + + def get_alc(self): + try: + data = self.send_data_command(b"l ALC", True) + data = data.split(b"\n") + print(data) + alc = data[0].decode("utf-8") + if 'RPRT' not in alc: + try: + alc = int(alc) + except ValueError: + self.alc = str(alc) + + return self.alc + except Exception: + return self.alc + def get_mode(self): """ """ try: diff --git a/tnc/rigdummy.py b/tnc/rigdummy.py index f8859033..c6534a0f 100644 --- a/tnc/rigdummy.py +++ b/tnc/rigdummy.py @@ -26,6 +26,18 @@ class radio: """ """ return None + def get_level(self): + """ """ + return None + + def get_alc(self): + """ """ + return None + + def get_swr(self): + """ """ + return None + def get_bandwidth(self): """ """ return None diff --git a/tnc/sock.py b/tnc/sock.py index 677a4f61..0992db48 100644 --- a/tnc/sock.py +++ b/tnc/sock.py @@ -653,6 +653,9 @@ def send_tnc_state(): "audio_dbfs": str(static.AUDIO_DBFS), "snr": str(static.SNR), "frequency": str(static.HAMLIB_FREQUENCY), + "rf_level": str(static.HAMLIB_RF), + "swr": str(static.HAMLIB_SWR), + "alc": str(static.HAMLIB_ALC), "speed_level": str(static.ARQ_SPEED_LEVEL), "mode": str(static.HAMLIB_MODE), "bandwidth": str(static.HAMLIB_BANDWIDTH), diff --git a/tnc/static.py b/tnc/static.py index f00e5e14..ec9e9d0d 100644 --- a/tnc/static.py +++ b/tnc/static.py @@ -64,6 +64,9 @@ HAMLIB_STATUS: str = "unknown/disconnected" HAMLIB_FREQUENCY: int = 0 HAMLIB_MODE: str = "" HAMLIB_BANDWIDTH: int = 0 +HAMLIB_RF: int = 0 +HAMLIB_ALC: int = 0 +HAMLIB_SWR: int = 0 # ------------------------- # FreeDV Defaults