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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,4 @@
import { reactive } from "vue";
import { reactive, watch } from "vue";
import { getConfig, setConfig } from "../js/api";
@ -6,6 +6,7 @@ export const settingsStore = reactive({
local: {
host: "127.0.0.1",
port: "5000",
enable_fft: false,
},
remote: {
AUDIO: {
@ -22,12 +23,12 @@ export const settingsStore = reactive({
enable_fft: false,
enable_fsk: false,
enable_low_bandwidth_mode: false,
enable_scatter: false,
respond_to_cq: false,
rx_buffer_size: 0,
tuning_range_fmax: 0,
tuning_range_fmin: 0,
tx_delay: 0,
beacon_interval: 0,
},
RADIO: {
control: "disabled",
@ -80,4 +81,7 @@ if (settingsStore.remote.STATION.mycall === "") {
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,
'respond_to_cq': bool,
'rx_buffer_size': int,
'enable_scatter': bool,
'tx_delay': int,
'enable_hmac':bool,
'enable_morse_identifier':bool
'enable_hmac': bool,
'enable_morse_identifier': bool,
'beacon_interval': int,
},
}