set ptt via serial rts / dtr - first run

pull/735/head
DJ2LS 2024-05-31 09:41:50 +02:00
parent fbcd490d5e
commit a0bd95bed1
2 changed files with 8 additions and 2 deletions

View File

@ -23,7 +23,7 @@ class RadioManager:
if self.radiocontrol in ["rigctld", "rigctld_bundle"]:
self.radio = rigctld.radio(self.config, self.state_manager, hostname=self.rigctld_ip,port=self.rigctld_port)
elif self.radiocontrol == "serial_ptt":
self.radio = serial_ptt.radio(self.config)
self.radio = serial_ptt.radio(self.config, self.state_manager)
elif self.radiocontrol == "tci":
raise NotImplementedError

View File

@ -5,7 +5,7 @@ class radio:
log = structlog.get_logger("radio (rigctld)")
def __init__(self, config):
def __init__(self, config, state_manager):
self.parameters = {
'frequency': '---',
'mode': '---',
@ -18,19 +18,25 @@ class radio:
'swr': '---'
}
self.config = config
self.state_manager = state_manager
self.serial_rts = self.config["RADIO"]["serial_rts"]
self.serial_dtr = self.config["RADIO"]["serial_dtr"]
self.serial_comport = self.config["RADIO"]["ptt_port"]
try:
if self.serial_comport in ["ignore"]:
self.state_manager.set_radio("radio_status", False)
raise serial.SerialException
self.serial_connection = serial.Serial(self.serial_comport)
# Set initial states for RTS and DTR based on config
self.set_rts_state(self.serial_rts)
self.set_dtr_state(self.serial_dtr)
self.set_ptt(False)
self.state_manager.set_radio("radio_status", True)
except serial.SerialException as e:
self.log.warning(f"Error: could not open PTT port {self.serial_comport}: {e}")
self.state_manager.set_radio("radio_status", False)
self.serial_connection = None
def connect(self, **kwargs):