fixing radio state

pull/961/head^2
DJ2LS 2025-04-23 09:12:32 +02:00
parent f24cb61eb7
commit 46e6c41f5e
2 changed files with 6 additions and 2 deletions

View File

@ -417,6 +417,7 @@ function getRigControlStatus() {
case 'serial_ptt':
case 'rigctld':
case 'rigctld_bundle':
case 'flrig':
return state.radio_status;
default:
console.error('Unknown radio control mode ' + settings.remote.RADIO.control);

View File

@ -5,10 +5,10 @@ import time
import logging
class radio:
def __init__(self, config, states, host='127.0.0.1', port=12345, poll_interval=1.0):
def __init__(self, config, state_manager, host='127.0.0.1', port=12345, poll_interval=1.0):
self.logger = logging.getLogger(__name__)
self.config = config
self.states = states
self.state_manager = state_manager
self.host = self.config["FLRIG"]["ip"]
self.port = self.config["FLRIG"]["port"]
self.poll_interval = poll_interval
@ -37,17 +37,20 @@ class radio:
self.server = xmlrpc.client.ServerProxy(f"http://{self.host}:{self.port}")
self.connected = True
self.logger.info("Connected to FLRig")
self.state_manager.set_radio("radio_status", True)
return True
except Exception as e:
self.logger.error(f"FLRig connection failed: {e}")
self.connected = False
self.server = None
self.state_manager.set_radio("radio_status", False)
return False
def disconnect(self, **kwargs):
self.logger.info("Disconnected from FLRig")
self.connected = False
self.server = None
self.state_manager.set_radio("radio_status", False)
return True
def _poll_loop(self):