added tuner control

This commit is contained in:
DJ2LS 2024-04-30 10:49:03 +02:00
parent edd50128b8
commit 67e7f1b71a
7 changed files with 38 additions and 4 deletions

View file

@ -5,6 +5,7 @@ import {
setRadioParametersFrequency, setRadioParametersFrequency,
setRadioParametersMode, setRadioParametersMode,
setRadioParametersRFLevel, setRadioParametersRFLevel,
setRadioParametersTuner,
} from "../../js/api"; } from "../../js/api";
setActivePinia(pinia); setActivePinia(pinia);
@ -22,6 +23,11 @@ function set_radio_parameter_mode() {
function set_radio_parameter_rflevel() { function set_radio_parameter_rflevel() {
setRadioParametersRFLevel(state.rf_level); setRadioParametersRFLevel(state.rf_level);
} }
function set_radio_parameter_auto_tuner() {
console.log(state.tuner)
setRadioParametersTuner(state.tuner);
}
</script> </script>
<template> <template>
@ -97,6 +103,21 @@ function set_radio_parameter_rflevel() {
</select> </select>
</div> </div>
</div> </div>
<div class="form-check form-switch">
<input
class="form-check-input"
type="checkbox"
role="switch"
id="flexSwitchTuner"
v-model="state.tuner"
@change="set_radio_parameter_auto_tuner()"
/>
<label class="form-check-label" for="flexSwitchTuner"
>Tuner</label
>
</div>
</div> </div>
</div> </div>
</div> </div>

View file

@ -160,6 +160,13 @@ export async function setRadioParametersRFLevel(rf_level) {
radio_rf_level: rf_level, radio_rf_level: rf_level,
}); });
} }
export async function setRadioParametersTuner(state) {
return await apiPost("/radio", {
radio_tuner: state,
});
}
export async function getRadioStatus() { export async function getRadioStatus() {
return await apiGet("/radio"); return await apiGet("/radio");
} }

View file

@ -84,7 +84,7 @@ export function stateDispatcher(data) {
stateStore.s_meter_strength_percent = Math.round( stateStore.s_meter_strength_percent = Math.round(
Math.pow(10, data["s_meter_strength"] / 20) * 100, Math.pow(10, data["s_meter_strength"] / 20) * 100,
); );
console.log(data)
stateStore.radio_status = data["radio_status"]; stateStore.radio_status = data["radio_status"];
stateStore.frequency = data["radio_frequency"]; stateStore.frequency = data["radio_frequency"];
stateStore.mode = data["radio_mode"]; stateStore.mode = data["radio_mode"];

View file

@ -15,4 +15,5 @@ export async function processRadioStatus() {
stateStore.mode = result.radio_mode; stateStore.mode = result.radio_mode;
stateStore.frequency = result.radio_frequency; stateStore.frequency = result.radio_frequency;
stateStore.rf_level = result.radio_rf_level; stateStore.rf_level = result.radio_rf_level;
stateStore.tuner = result.radio_tuner;
} }

View file

@ -12,7 +12,7 @@ export const useStateStore = defineStore("stateStore", () => {
var bandwidth = ref("-"); var bandwidth = ref("-");
var swr = ref(0); var swr = ref(0);
var tuner = ref("-"); var tuner = ref();
var dbfs_level_percent = ref(0); var dbfs_level_percent = ref(0);
var dbfs_level = ref(0); var dbfs_level = ref(0);
@ -88,6 +88,7 @@ export const useStateStore = defineStore("stateStore", () => {
frequency, frequency,
mode, mode,
bandwidth, bandwidth,
tuner,
swr, swr,
tuner, tuner,
dbfs_level, dbfs_level,

View file

@ -32,17 +32,22 @@ class RadioManager:
def set_ptt(self, state): def set_ptt(self, state):
self.radio.set_ptt(state) self.radio.set_ptt(state)
def set_tuner(self, state): def set_tuner(self, state):
self.radio.set_tuner(state) self.radio.set_tuner(state)
self.state_manager.set_radio("radio_tuner", state)
def set_frequency(self, frequency): def set_frequency(self, frequency):
self.radio.set_frequency(frequency) self.radio.set_frequency(frequency)
self.state_manager.set_radio("radio_frequency", frequency)
def set_mode(self, mode): def set_mode(self, mode):
self.radio.set_mode(mode) self.radio.set_mode(mode)
self.state_manager.set_radio("radio_mode", mode)
def set_rf_level(self, level): def set_rf_level(self, level):
self.radio.set_rf_level(level) self.radio.set_rf_level(level)
self.state_manager.set_radio("radio_rf_level", level)
def update_parameters(self): def update_parameters(self):
while not self.stop_event.is_set(): while not self.stop_event.is_set():

View file

@ -261,8 +261,7 @@ def get_post_radio():
if "radio_rf_level" in request.json: if "radio_rf_level" in request.json:
app.radio_manager.set_rf_level(int(request.json['radio_rf_level'])) app.radio_manager.set_rf_level(int(request.json['radio_rf_level']))
if "radio_tuner" in request.json: if "radio_tuner" in request.json:
app.radio_manager.set_tuner(int(request.json['radio_tuner'])) app.radio_manager.set_tuner(request.json['radio_tuner'])
return api_response(request.json) return api_response(request.json)
elif request.method == 'GET': elif request.method == 'GET':
return api_response(app.state_manager.get_radio_status()) return api_response(app.state_manager.get_radio_status())