diff --git a/gui/preload-main.js b/gui/preload-main.js
index acc876b9..f31f49ce 100644
--- a/gui/preload-main.js
+++ b/gui/preload-main.js
@@ -1459,6 +1459,14 @@ ipcRenderer.on('action-update-tnc-state', (event, arg) => {
}
+ // HAMLIB STATUS
+ if (arg.hamlib_status == 'connected') {
+ document.getElementById("rigctld_state").className = "btn btn-success btn-sm";
+
+ } else {
+ document.getElementById("rigctld_state").className = "btn btn-secondary btn-sm";
+ }
+
// BEACON STATE
diff --git a/gui/sock.js b/gui/sock.js
index bf2076b0..eef6ba10 100644
--- a/gui/sock.js
+++ b/gui/sock.js
@@ -221,6 +221,7 @@ client.on('data', function(socketdata) {
arq_transmission_percent: data['arq_transmission_percent'],
stations: data['stations'],
beacon_state: data['beacon_state'],
+ hamlib_status: data['hamlib_status'],
};
ipcRenderer.send('request-update-tnc-state', Data);
diff --git a/gui/src/index.html b/gui/src/index.html
index 880e7965..d0000a4d 100644
--- a/gui/src/index.html
+++ b/gui/src/index.html
@@ -1074,6 +1074,10 @@
+
+
+
+
diff --git a/tnc/modem.py b/tnc/modem.py
index b3bda5b8..07f11305 100644
--- a/tnc/modem.py
+++ b/tnc/modem.py
@@ -830,10 +830,11 @@ class RF:
- static.HAMLIB_BANDWIDTH
"""
while True:
- threading.Event().wait(0.5)
+ threading.Event().wait(1.0)
static.HAMLIB_FREQUENCY = self.hamlib.get_frequency()
static.HAMLIB_MODE = self.hamlib.get_mode()
static.HAMLIB_BANDWIDTH = self.hamlib.get_bandwidth()
+ static.HAMLIB_STATUS = self.hamlib.get_status()
def calculate_fft(self) -> None:
"""
diff --git a/tnc/rigctld.py b/tnc/rigctld.py
index 076f3a93..8f0e8854 100644
--- a/tnc/rigctld.py
+++ b/tnc/rigctld.py
@@ -6,7 +6,7 @@
import socket
import time
-
+import static
import structlog
# set global hamlib version
@@ -136,6 +136,9 @@ class radio:
return b""
+ def get_status(self):
+ """ """
+ return "connected" if self.connected else "unknown/disconnected"
def get_mode(self):
""" """
try:
diff --git a/tnc/sock.py b/tnc/sock.py
index 7deeaa4e..d1d0acb5 100644
--- a/tnc/sock.py
+++ b/tnc/sock.py
@@ -551,6 +551,7 @@ def send_tnc_state():
"mycallsign": str(static.MYCALLSIGN, encoding),
"dxcallsign": str(static.DXCALLSIGN, encoding),
"dxgrid": str(static.DXGRID, encoding),
+ "hamlib_status": str(static.HAMLIB_STATUS, encoding),
}
# add heard stations to heard stations object
diff --git a/tnc/static.py b/tnc/static.py
index c769cd2d..5a77287c 100644
--- a/tnc/static.py
+++ b/tnc/static.py
@@ -60,6 +60,7 @@ HAMLIB_RADIOCONTROL: str = "direct"
HAMLIB_RIGCTLD_IP: str = "127.0.0.1"
HAMLIB_RIGCTLD_PORT: str = "4532"
+HAMLIB_STATUS: str = "unknown/disconnected"
HAMLIB_FREQUENCY: int = 0
HAMLIB_MODE: str = ""
HAMLIB_BANDWIDTH: int = 0