RADIO MANAGER - WIP fixed set mode and power

This commit is contained in:
DJ2LS 2024-01-12 20:21:22 +01:00
parent f85e032e2f
commit 87002745a5
6 changed files with 15 additions and 9 deletions

View file

@ -47,7 +47,7 @@ function set_radio_parameters() {
<select
class="form-control"
v-model="state.mode"
@click="set_hamlib_mode()"
@click="set_radio_parameters()"
v-bind:class="{
disabled: state.hamlib_status === 'disconnected',
}"
@ -69,7 +69,7 @@ function set_radio_parameters() {
<select
class="form-control"
v-model="state.rf_level"
@click="set_hamlib_rf_level()"
@click="set_radio_parameters()"
v-bind:class="{
disabled: state.hamlib_status === 'disconnected',
}"

View file

@ -121,6 +121,7 @@ export function setRadioParameters(frequency, mode, rf_level) {
return apiPost("/radio", {
radio_frequency: frequency,
radio_mode: mode,
radio_rf_level: rf_level,
});
}
export function getRadioStatus() {

View file

@ -39,13 +39,16 @@ class RadioManager:
def set_mode(self, mode):
self.radio.set_mode(mode)
def set_rf_level(self, level):
self.radio.set_rf_level(level)
def update_parameters(self):
while not self.stop_event.is_set():
parameters = self.radio.get_parameters()
self.state_manager.set("radio_frequency", parameters['frequency'])
self.state_manager.set("radio_mode", parameters['mode'])
self.state_manager.set("radio_bandwidth", parameters['bandwidth'])
self.state_manager.set("radio_rf_power", parameters['rf'])
self.state_manager.set("radio_rf_level", parameters['rf'])
if self.state_manager.isTransmitting():
self.radio_alc = parameters['alc']

View file

@ -110,7 +110,7 @@ class radio:
"""
if self.connected:
try:
command = f"M {mode}"
command = f"M {mode} 0"
self.send_command(command)
self.parameters['mode'] = mode
return True
@ -159,7 +159,7 @@ class radio:
self.connected = False
return False
def set_rf(self, rf):
def set_rf_level(self, rf):
"""Set the RF.
Args:
@ -170,7 +170,7 @@ class radio:
"""
if self.connected:
try:
command = f"l RF {rf}"
command = f"L RFPOWER {rf/100}" #RF RFPOWER --> RFPOWER == IC705
self.send_command(command)
self.parameters['rf'] = rf
return True
@ -199,7 +199,7 @@ class radio:
self.parameters['alc'] = self.send_command('l ALC')
self.parameters['strength'] = self.send_command('l STRENGTH')
self.parameters['rf'] = self.send_command('l RF')
self.parameters['rf'] = self.send_command('l RFPOWER') # RF, RFPOWER
"""Return the latest fetched parameters."""
return self.parameters

View file

@ -246,7 +246,8 @@ def post_modem_send_raw_stop():
def get_post_radio():
if request.method in ['POST']:
app.radio_manager.set_frequency(request.json['radio_frequency'])
#app.radio_manager.set_mode(request.json['radio_mode'])
app.radio_manager.set_mode(request.json['radio_mode'])
app.radio_manager.set_rf_level(int(request.json['radio_rf_level']))
return api_response(request.json)
elif request.method == 'GET':

View file

@ -43,7 +43,7 @@ class StateManager:
self.radio_frequency = 0
self.radio_mode = None
self.radio_bandwidth = 0
self.radio_rf_power = 0
self.radio_rf_level = 0
self.radio_strength = 0
# Set rig control status regardless or rig control method
self.radio_status = False
@ -183,4 +183,5 @@ class StateManager:
"radio_status": self.radio_status,
"radio_frequency": self.radio_frequency,
"radio_mode": self.radio_mode,
"radio_rf_level": self.radio_rf_level
}