Simplify and fix broken settings.

This commit is contained in:
Pedro 2023-11-18 16:59:19 +01:00
parent 03be0db844
commit 4f7972b546
8 changed files with 37 additions and 100 deletions

View file

@ -207,8 +207,6 @@ function testHamlib() {
class="form-select form-select-sm" class="form-select form-select-sm"
id="rx_audio" id="rx_audio"
aria-label=".form-select-sm" aria-label=".form-select-sm"
data-section="AUDIO"
data-setting="input_device"
@change="onChange" @change="onChange"
v-model="settings.remote.AUDIO.input_device" v-model="settings.remote.AUDIO.input_device"
v-html="audio.getInputDevices()" v-html="audio.getInputDevices()"
@ -265,8 +263,6 @@ function testHamlib() {
class="form-select form-select-sm" class="form-select form-select-sm"
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="rigcontrol_radiocontrol" id="rigcontrol_radiocontrol"
data-section="RADIO"
data-setting="control"
@change="onChange" @change="onChange"
v-model="settings.remote.RADIO.control" v-model="settings.remote.RADIO.control"
> >
@ -346,7 +342,8 @@ function testHamlib() {
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="hamlib_deviceport" id="hamlib_deviceport"
style="width: 7rem" style="width: 7rem"
@change="setConfig" @change="onChange"
v-model="settings.remote.RADIO.serial_port"
></select> ></select>
</div> </div>
</div> </div>
@ -361,8 +358,6 @@ function testHamlib() {
placeholder="TCI IP" placeholder="TCI IP"
id="rigcontrol_tci_ip" id="rigcontrol_tci_ip"
aria-label="Device IP" aria-label="Device IP"
data-section="TCI"
data-setting="ip"
v-model="settings.remote.TCI.ip" v-model="settings.remote.TCI.ip"
@change="onChange" @change="onChange"
/> />
@ -376,8 +371,6 @@ function testHamlib() {
placeholder="TCI port" placeholder="TCI port"
id="rigcontrol_tci_port" id="rigcontrol_tci_port"
aria-label="Device Port" aria-label="Device Port"
data-section="TCI"
data-setting="port"
v-model="settings.remote.TCI.port" v-model="settings.remote.TCI.port"
@change="onChange" @change="onChange"
/> />

View file

@ -13,8 +13,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
id="hamlib_rigctld_ip" id="hamlib_rigctld_ip"
aria-label="Device IP" aria-label="Device IP"
@change="onChange" @change="onChange"
data-section="RIGCTLD"
data-setting="rip"
v-model="settings.remote.RIGCTLD.ip" v-model="settings.remote.RIGCTLD.ip"
/> />
</div> </div>
@ -28,8 +26,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
id="hamlib_rigctld_port" id="hamlib_rigctld_port"
aria-label="Device Port" aria-label="Device Port"
@change="onChange" @change="onChange"
data-section="RIGCTLD"
data-setting="port"
v-model="settings.remote.RIGCTLD.port" v-model="settings.remote.RIGCTLD.port"
/> />
</div> </div>
@ -42,8 +38,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="hamlib_deviceid" id="hamlib_deviceid"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="model_id"
v-model.number="settings.remote.RADIO.model_id" v-model.number="settings.remote.RADIO.model_id"
> >
<option selected value="-- ignore --">-- ignore --</option> <option selected value="-- ignore --">-- ignore --</option>
@ -321,8 +315,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
id="hamlib_deviceport" id="hamlib_deviceport"
style="width: 7rem" style="width: 7rem"
@change="onChange" @change="onChange"
data-section="RIGCTLD"
data-setting="port"
v-model="settings.remote.RIGCTLD.port" v-model="settings.remote.RIGCTLD.port"
></select> ></select>
</div> </div>
@ -335,8 +327,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="hamlib_serialspeed" id="hamlib_serialspeed"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="serial_speed"
v-model.number="settings.remote.RADIO.serial_speed" v-model.number="settings.remote.RADIO.serial_speed"
> >
<option selected value="ignore">-- ignore --</option> <option selected value="ignore">-- ignore --</option>
@ -360,8 +350,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="hamlib_data_bits" id="hamlib_data_bits"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="data_bits"
v-model.number="settings.remote.RADIO.data_bits" v-model.number="settings.remote.RADIO.data_bits"
> >
<option selected value="ignore">-- ignore --</option> <option selected value="ignore">-- ignore --</option>
@ -377,8 +365,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="hamlib_stop_bits" id="hamlib_stop_bits"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="stop_bits"
v-model.number="settings.remote.RADIO.stop_bits" v-model.number="settings.remote.RADIO.stop_bits"
> >
<option selected value="ignore">-- ignore --</option> <option selected value="ignore">-- ignore --</option>
@ -394,8 +380,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="hamlib_handshake" id="hamlib_handshake"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="serial_handshake"
v-model="settings.remote.RADIO.serial_handshake" v-model="settings.remote.RADIO.serial_handshake"
> >
<option selected value="ignore">-- ignore --</option> <option selected value="ignore">-- ignore --</option>
@ -410,8 +394,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="hamlib_ptt_port" id="hamlib_ptt_port"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="ptt_port"
v-model="settings.remote.RADIO.ptt_port" v-model="settings.remote.RADIO.ptt_port"
> >
<option selected value="ignore">-- ignore --</option> <option selected value="ignore">-- ignore --</option>
@ -426,8 +408,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
id="hamlib_pttprotocol" id="hamlib_pttprotocol"
style="width: 0.5rem" style="width: 0.5rem"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="ptt_type"
v-model="settings.remote.RADIO.ptt_type" v-model="settings.remote.RADIO.ptt_type"
> >
<option selected value="ignore">-- ignore --</option> <option selected value="ignore">-- ignore --</option>
@ -449,8 +429,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
id="hamlib_dcd" id="hamlib_dcd"
style="width: 0.5rem" style="width: 0.5rem"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="serial_dcd"
v-model="settings.remote.RADIO.serial_dcd" v-model="settings.remote.RADIO.serial_dcd"
> >
<option selected value="ignore">-- ignore --</option> <option selected value="ignore">-- ignore --</option>
@ -471,8 +449,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
id="hamlib_dtrstate" id="hamlib_dtrstate"
style="width: 0.5rem" style="width: 0.5rem"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="serial_dtr"
v-model="settings.remote.RADIO.serial_dtr" v-model="settings.remote.RADIO.serial_dtr"
> >
<option selected value="ignore">-- ignore --</option> <option selected value="ignore">-- ignore --</option>
@ -511,8 +487,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label="Custom arguments" aria-label="Custom arguments"
aria-describedby="basic-addon1" aria-describedby="basic-addon1"
@change="onChange" @change="onChange"
data-section="RIGCTLD"
data-setting="arguments"
v-model="settings.remote.RIGCTLD.arguments" v-model="settings.remote.RIGCTLD.arguments"
/> />
</div> </div>

View file

@ -1,10 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { settingsStore as settings, onChange } from "../store/settingsStore.js";
import pinia from "../store/index"; import pinia from "../store/index";
import { setConfig } from "../js/api";
import { settingsStore as settings} from "../store/settingsStore.js";
import { useAudioStore } from "../store/audioStore.js"; import { useAudioStore } from "../store/audioStore.js";
const audio = useAudioStore(pinia); const audio = useAudioStore(pinia);
@ -55,7 +51,6 @@ import { startModem, stopModem } from "../js/api";
maxlength="5" maxlength="5"
max="65534" max="65534"
min="1025" min="1025"
@change="setConfig()"
v-model.number="settings.local.port" v-model.number="settings.local.port"
/> />
</div> </div>
@ -67,7 +62,6 @@ import { startModem, stopModem } from "../js/api";
class="form-control" class="form-control"
placeholder="modem host" placeholder="modem host"
id="modem_port" id="modem_port"
@change="setConfig"
v-model="settings.local.host" v-model="settings.local.host"
/> />
</div> </div>
@ -79,8 +73,8 @@ import { startModem, stopModem } from "../js/api";
class="form-select form-select-sm" class="form-select form-select-sm"
id="rx_audio" id="rx_audio"
aria-label=".form-select-sm" aria-label=".form-select-sm"
@change="setConfig" @change="onChange"
v-model="settings.input_device" v-model="settings.remote.AUDIO.input_device"
v-html="audio.getInputDevices()" v-html="audio.getInputDevices()"
></select> ></select>
</div> </div>
@ -92,8 +86,8 @@ import { startModem, stopModem } from "../js/api";
class="form-select form-select-sm" class="form-select form-select-sm"
id="tx_audio" id="tx_audio"
aria-label=".form-select-sm" aria-label=".form-select-sm"
@change="setConfig" @change="onChange"
v-model="settings.output_device" v-model="settings.remote.AUDIO.output_device"
v-html="audio.getOutputDevices()" v-html="audio.getOutputDevices()"
></select> ></select>
</div> </div>
@ -103,8 +97,8 @@ import { startModem, stopModem } from "../js/api";
<select <select
class="form-select form-select-sm" class="form-select form-select-sm"
id="tx_delay" id="tx_delay"
@change="setConfig" @change="onChange"
v-model.number="settings.tx_delay" v-model.number="settings.remote.MODEM.tx_delay"
> >
<option value="0">0</option> <option value="0">0</option>
<option value="50">50</option> <option value="50">50</option>
@ -136,8 +130,8 @@ import { startModem, stopModem } from "../js/api";
<select <select
class="form-select form-select-sm" class="form-select form-select-sm"
id="tuning_range_fmin" id="tuning_range_fmin"
@change="setConfig" @change="onChange"
v-model.number="settings.tuning_range_fmin" v-model.number="settings.remote.MODEM.tuning_range_fmin"
> >
<option value="-50">-50</option> <option value="-50">-50</option>
<option value="-100">-100</option> <option value="-100">-100</option>
@ -149,8 +143,8 @@ import { startModem, stopModem } from "../js/api";
<select <select
class="form-select form-select-sm" class="form-select form-select-sm"
id="tuning_range_fmax" id="tuning_range_fmax"
@change="setConfig" @change="onChange"
v-model.number="settings.tuning_range_fmax" v-model.number="settings.remote.MODEM.tuning_range_fmax"
> >
<option value="50">50</option> <option value="50">50</option>
<option value="100">100</option> <option value="100">100</option>
@ -166,8 +160,8 @@ import { startModem, stopModem } from "../js/api";
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="beaconInterval" id="beaconInterval"
style="width: 6rem" style="width: 6rem"
@change="setConfig" @change="onChange"
v-model="settings.beacon_interval" v-model.number="settings.remote.MODEM.beacon_interval"
> >
<option value="60">60 secs</option> <option value="60">60 secs</option>
<option value="90">90 secs</option> <option value="90">90 secs</option>
@ -187,28 +181,12 @@ import { startModem, stopModem } from "../js/api";
class="form-check-input" class="form-check-input"
type="checkbox" type="checkbox"
id="fftSwitch" id="fftSwitch"
@change="setConfig" v-model="settings.local.enable_fft"
v-model="settings.enable_fft"
/> />
<label class="form-check-label" for="fftSwitch">Waterfall</label> <label class="form-check-label" for="fftSwitch">Waterfall</label>
</div> </div>
</label> </label>
</div> </div>
<div class="input-group input-group-sm mb-1">
<label class="input-group-text w-50">Enable scatter diagram data</label>
<label class="input-group-text w-50">
<div class="form-check form-switch form-check-inline">
<input
class="form-check-input"
type="checkbox"
id="scatterSwitch"
@change="setConfig"
v-model="settings.enable_scatter"
/>
<label class="form-check-label" for="scatterSwitch">Scatter</label>
</div>
</label>
</div>
<div class="input-group input-group-sm mb-1"> <div class="input-group input-group-sm mb-1">
<label class="input-group-text w-50">Enable 250Hz bandwidth mode</label> <label class="input-group-text w-50">Enable 250Hz bandwidth mode</label>
<label class="input-group-text w-50"> <label class="input-group-text w-50">
@ -217,8 +195,8 @@ import { startModem, stopModem } from "../js/api";
class="form-check-input" class="form-check-input"
type="checkbox" type="checkbox"
id="250HzModeSwitch" id="250HzModeSwitch"
v-model="settings.low_bandwidth_mode" v-model="settings.remote.MODEM.enable_low_bandwidth_mode"
@change="setConfig" @change="onChange"
/> />
<label class="form-check-label" for="250HzModeSwitch">250Hz</label> <label class="form-check-label" for="250HzModeSwitch">250Hz</label>
</div> </div>
@ -232,8 +210,8 @@ import { startModem, stopModem } from "../js/api";
class="form-check-input" class="form-check-input"
type="checkbox" type="checkbox"
id="respondCQSwitch" id="respondCQSwitch"
v-model="settings.respond_to_cq" v-model="settings.remote.MODEM.respond_to_cq"
@change="setConfig" @change="onChange"
/> />
<label class="form-check-label" for="respondCQSwitch">QRV</label> <label class="form-check-label" for="respondCQSwitch">QRV</label>
</div> </div>
@ -245,8 +223,8 @@ import { startModem, stopModem } from "../js/api";
<select <select
class="form-select form-select-sm" class="form-select form-select-sm"
id="rx_buffer_size" id="rx_buffer_size"
@change="setConfig" @change="onChange"
v-model.number="settings.rx_buffer_size" v-model.number="settings.remote.MODEM.rx_buffer_size"
> >
<option value="1">1</option> <option value="1">1</option>
<option value="2">2</option> <option value="2">2</option>

View file

@ -11,8 +11,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label=".form-select-sm" aria-label=".form-select-sm"
id="rigcontrol_radiocontrol" id="rigcontrol_radiocontrol"
@change="onChange" @change="onChange"
data-section="RADIO"
data-setting="control"
v-model="settings.remote.RADIO.control" v-model="settings.remote.RADIO.control"
> >
<option selected value="disabled"> <option selected value="disabled">
@ -34,8 +32,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
id="rigcontrol_tci_ip" id="rigcontrol_tci_ip"
aria-label="Device IP" aria-label="Device IP"
@change="onChange" @change="onChange"
data-section="TCI"
data-setting="tci_ip"
v-model="settings.remote.TCI.tci_ip" v-model="settings.remote.TCI.tci_ip"
/> />
</div> </div>
@ -49,8 +45,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
id="rigcontrol_tci_port" id="rigcontrol_tci_port"
aria-label="Device Port" aria-label="Device Port"
@change="onChange" @change="onChange"
data-section="TCI"
data-setting="tci_port"
v-model="settings.remote.TCI.tci_port" v-model="settings.remote.TCI.tci_port"
/> />
</div> </div>

View file

@ -15,8 +15,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label="Station Callsign" aria-label="Station Callsign"
aria-describedby="basic-addon1" aria-describedby="basic-addon1"
@change="onChange" @change="onChange"
data-section="STATION"
data-setting="mycall"
v-model="settings.remote.STATION.mycall" v-model="settings.remote.STATION.mycall"
/> />
</div> </div>
@ -28,8 +26,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
class="form-select form-select-sm w-50" class="form-select form-select-sm w-50"
id="myCallSSID" id="myCallSSID"
@change="onChange" @change="onChange"
data-section="STATION"
data-setting="myssid"
v-model.number="settings.remote.STATION.myssid" v-model.number="settings.remote.STATION.myssid"
> >
<option selected value="0">0</option> <option selected value="0">0</option>
@ -63,8 +59,6 @@ import { settingsStore as settings, onChange } from "../store/settingsStore.js";
aria-label="Station Grid Locator" aria-label="Station Grid Locator"
aria-describedby="basic-addon1" aria-describedby="basic-addon1"
@change="onChange" @change="onChange"
data-section="STATION"
data-setting="mygrid"
v-model="settings.remote.STATION.mygrid" v-model="settings.remote.STATION.mygrid"
/> />
</div> </div>

View file

@ -5,7 +5,7 @@ import { setActivePinia } from "pinia";
import pinia from "../store/index"; import pinia from "../store/index";
setActivePinia(pinia); setActivePinia(pinia);
import { settingsStore as settings} from "../store/settingsStore.js"; import { settingsStore as settings, onChange } from "../store/settingsStore.js";
</script> </script>
@ -18,8 +18,8 @@ import { settingsStore as settings} from "../store/settingsStore.js";
class="form-check-input" class="form-check-input"
type="checkbox" type="checkbox"
id="ExplorerSwitch" id="ExplorerSwitch"
@change="setConfig" @change="onChange"
v-model="settings.enable_explorer" v-model="settings.remote.STATION.enable_explorer"
/> />
<label class="form-check-label" for="ExplorerSwitch">Publish</label> <label class="form-check-label" for="ExplorerSwitch">Publish</label>
</div> </div>
@ -33,8 +33,8 @@ import { settingsStore as settings} from "../store/settingsStore.js";
class="form-check-input" class="form-check-input"
type="checkbox" type="checkbox"
id="ExplorerStatsSwitch" id="ExplorerStatsSwitch"
@change="setConfig" @change="onChange"
v-model="settings.explorer_stats" v-model="settings.remote.STATION.enable_stats"
/> />
<label class="form-check-label" for="ExplorerStatsSwitch" <label class="form-check-label" for="ExplorerStatsSwitch"
>Publish stats</label >Publish stats</label

View file

@ -1,4 +1,4 @@
import { reactive } from "vue"; import { reactive, watch } from "vue";
import { getConfig, setConfig } from "../js/api"; import { getConfig, setConfig } from "../js/api";
@ -6,6 +6,7 @@ export const settingsStore = reactive({
local: { local: {
host: "127.0.0.1", host: "127.0.0.1",
port: "5000", port: "5000",
enable_fft: false,
}, },
remote: { remote: {
AUDIO: { AUDIO: {
@ -22,12 +23,12 @@ export const settingsStore = reactive({
enable_fft: false, enable_fft: false,
enable_fsk: false, enable_fsk: false,
enable_low_bandwidth_mode: false, enable_low_bandwidth_mode: false,
enable_scatter: false,
respond_to_cq: false, respond_to_cq: false,
rx_buffer_size: 0, rx_buffer_size: 0,
tuning_range_fmax: 0, tuning_range_fmax: 0,
tuning_range_fmin: 0, tuning_range_fmin: 0,
tx_delay: 0, tx_delay: 0,
beacon_interval: 0,
}, },
RADIO: { RADIO: {
control: "disabled", control: "disabled",
@ -80,4 +81,7 @@ if (settingsStore.remote.STATION.mycall === "") {
getRemote(); getRemote();
} }
// TODO add watcher for local config changes watch (settingsStore.local, (oldValue, newValue) => {
// TODO handle local file saving
const cenas = newValue;
})

View file

@ -65,10 +65,10 @@ class CONFIG:
'enable_low_bandwidth_mode': bool, 'enable_low_bandwidth_mode': bool,
'respond_to_cq': bool, 'respond_to_cq': bool,
'rx_buffer_size': int, 'rx_buffer_size': int,
'enable_scatter': bool,
'tx_delay': int, 'tx_delay': int,
'enable_hmac':bool, 'enable_hmac': bool,
'enable_morse_identifier':bool 'enable_morse_identifier': bool,
'beacon_interval': int,
}, },
} }