More progress..

This commit is contained in:
Pedro 2023-11-18 12:57:36 +01:00
parent 312df72f8b
commit c6871dbf52
6 changed files with 123 additions and 90 deletions

View file

@ -8,7 +8,8 @@ import { setActivePinia } from "pinia";
import pinia from "../store/index";
setActivePinia(pinia);
import { settingsStore as settings} from "../store/settingsStore.js";
import { settingsStore as settings } from "../store/settingsStore.js";
import { handleFieldValueChange } from "../js/settingsHandler";
import { useAudioStore } from "../store/audioStore.js";
const audio = useAudioStore(pinia);
@ -124,8 +125,7 @@ function testHamlib() {
maxlength="5"
max="65534"
min="1025"
@change="saveSettingsToFile()"
v-model="settings.modem_port"
v-model="settings.local.port"
/>
</div>
@ -136,8 +136,7 @@ function testHamlib() {
class="form-control"
placeholder="modem host (default 127.0.0.1)"
id="modem_port"
@change="saveSettingsToFile()"
v-model="settings.modem_host"
v-model="settings.local.host"
/>
</div>
</div>
@ -209,8 +208,10 @@ function testHamlib() {
class="form-select form-select-sm"
id="rx_audio"
aria-label=".form-select-sm"
@change="setConfig"
v-model="settings.input_device"
data-section="AUDIO"
data-setting="input_device"
@change="handleFieldValueChange"
v-model="settings.remote.AUDIO.input_device"
v-html="audio.getInputDevices()"
></select>
</div>
@ -265,8 +266,10 @@ function testHamlib() {
class="form-select form-select-sm"
aria-label=".form-select-sm"
id="rigcontrol_radiocontrol"
@change="setConfig"
v-model="settings.radiocontrol"
data-section="RADIO"
data-setting="control"
@change="handleFieldValueChange"
v-model="settings.remote.RADIO.control"
>
<option selected value="disabled">
Disabled (no rig control; use with VOX)
@ -276,7 +279,7 @@ function testHamlib() {
</select>
</div>
<div
:class="settings.radiocontrol == 'rigctld' ? '' : 'd-none'"
:class="settings.remote.RADIO.control == 'rigctld' ? '' : 'd-none'"
>
<!-- Shown when rigctld is selected-->
@ -348,7 +351,7 @@ function testHamlib() {
></select>
</div>
</div>
<div :class="settings.radiocontrol == 'tci' ? '' : 'd-none'">
<div :class="settings.remote.RADIO.control == 'tci' ? '' : 'd-none'">
<!-- Shown when tci is selected-->
<div class="input-group input-group-sm mb-1">
@ -359,8 +362,10 @@ function testHamlib() {
placeholder="TCI IP"
id="rigcontrol_tci_ip"
aria-label="Device IP"
v-model="settings.tci_ip"
@change="setConfig"
data-section="TCI"
data-setting="ip"
v-model="settings.remote.TCI.ip"
@change="handleFieldValueChange"
/>
</div>
@ -372,8 +377,10 @@ function testHamlib() {
placeholder="TCI port"
id="rigcontrol_tci_port"
aria-label="Device Port"
v-model="settings.tci_port"
@change="setConfig"
data-section="TCI"
data-setting="port"
v-model="settings.remote.TCI.port"
@change="handleFieldValueChange"
/>
</div>
</div>

View file

@ -1,79 +1,51 @@
<script setup lang="ts">
import { setConfig } from "../js/api";
import { setActivePinia } from "pinia";
import pinia from "../store/index";
setActivePinia(pinia);
import { settingsStore as settings} from "../store/settingsStore.js";
import { settingsStore as settings } from "../store/settingsStore.js";
import { handleFieldValueChange } from "../js/settingsHandler";
</script>
<template>
<hr class="m-2" />
<div class="input-group input-group-sm mb-1">
<span class="input-group-text" style="width: 180px">Rigctld path</span>
<input
type="text"
class="form-control"
placeholder="rigctld Path"
id="hamlib_rigctld_path"
aria-label="Device IP"
aria-describedby="basic-addon1"
@change="setConfig"
v-model="settings.hamlib_rigctld_path"
/>
</div>
<div class="input-group input-group-sm mb-1">
<span class="input-group-text" style="width: 180px"
>Rigctld server port</span
>
<input
type="text"
class="form-control"
placeholder="rigctld port"
id="hamlib_rigctld_server_port"
aria-label="Device Port"
aria-describedby="basic-addon1"
@change="setConfig"
v-model="settings.hamlib_rigctld_server_port"
/>
</div>
<div class="input-group input-group-sm mb-1">
<span class="input-group-text" style="width: 180px">Rigctld remote ip</span>
<span class="input-group-text" style="width: 180px">Rigctld IP</span>
<input
type="text"
class="form-control"
placeholder="rigctld IP"
id="hamlib_rigctld_ip"
aria-label="Device IP"
v-model="settings.hamlib_rigctld_ip"
@change="handleFieldValueChange"
data-section="RIGCTLD"
data-setting="rip"
v-model="settings.remote.RIGCTLD.ip"
/>
</div>
<div class="input-group input-group-sm mb-1">
<span class="input-group-text" style="width: 180px"
>Rigctld remote port</span
>
<span class="input-group-text" style="width: 180px">Rigctld port</span>
<input
type="text"
class="form-control"
placeholder="rigctld port"
id="hamlib_rigctld_port"
aria-label="Device Port"
v-model="settings.hamlib_rigctld_port"
@change="handleFieldValueChange"
data-section="RIGCTLD"
data-setting="port"
v-model="settings.remote.RIGCTLD.port"
/>
</div>
<hr class="m-2" />
<div class="input-group input-group-sm mb-1">
<span class="input-group-text" style="width: 180px"> Radio model </span>
<span class="input-group-text" style="width: 180px">Radio model</span>
<select
class="form-select form-select-sm"
aria-label=".form-select-sm"
id="hamlib_deviceid"
@change="setConfig"
v-model="settings.hamlib_deviceid"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="model_id"
v-model="settings.remote.RADIO.model_id"
>
<option selected value="-- ignore --">-- ignore --</option>
<option value="2028">Kenwood TS480</option>
@ -349,7 +321,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
aria-label=".form-select-sm"
id="hamlib_deviceport"
style="width: 7rem"
@change="setConfig"
@change="handleFieldValueChange"
data-section="RIGCTLD"
data-setting="port"
v-model="settings.remote.RIGCTLD.port"
></select>
</div>
@ -360,8 +335,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
class="form-select form-select-sm"
aria-label=".form-select-sm"
id="hamlib_serialspeed"
@change="setConfig"
v-model="settings.hamlib_serialspeed"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="serial_speed"
v-model="settings.remote.RADIO.serial_speed"
>
<option selected value="ignore">-- ignore --</option>
<option value="1200">1200</option>
@ -383,8 +360,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
class="form-select form-select-sm"
aria-label=".form-select-sm"
id="hamlib_data_bits"
@change="setConfig"
v-model="settings.hamlib_data_bits"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="data_bits"
v-model="settings.remote.RADIO.data_bits"
>
<option selected value="ignore">-- ignore --</option>
<option value="7">7</option>
@ -398,8 +377,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
class="form-select form-select-sm"
aria-label=".form-select-sm"
id="hamlib_stop_bits"
@change="setConfig"
v-model="settings.hamlib_stop_bits"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="stop_bits"
v-model="settings.remote.RADIO.stop_bits"
>
<option selected value="ignore">-- ignore --</option>
<option value="1">1</option>
@ -413,8 +394,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
class="form-select form-select-sm"
aria-label=".form-select-sm"
id="hamlib_handshake"
@change="setConfig"
v-model="settings.hamlib_handshake"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="serial_handshake"
v-model="settings.remote.RADIO.serial_handshake"
>
<option selected value="ignore">-- ignore --</option>
<option value="None">None (Default)</option>
@ -427,8 +410,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
class="form-select form-select-sm"
aria-label=".form-select-sm"
id="hamlib_ptt_port"
@change="setConfig"
v-model="settings.hamlib_ptt_port"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="ptt_port"
v-model="settings.remote.RADIO.ptt_port"
>
<option selected value="ignore">-- ignore --</option>
</select>
@ -441,8 +426,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
aria-label=".form-select-sm"
id="hamlib_pttprotocol"
style="width: 0.5rem"
@change="setConfig"
v-model="settings.hamlib_pttprotocol"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="ptt_type"
v-model="settings.remote.RADIO.ptt_type"
>
<option selected value="ignore">-- ignore --</option>
<option value="NONE">NONE</option>
@ -462,8 +449,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
aria-label=".form-select-sm"
id="hamlib_dcd"
style="width: 0.5rem"
@change="setConfig"
v-model="settings.hamlib_dcd"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="serial_dcd"
v-model="settings.remote.RADIO.serial_dcd"
>
<option selected value="ignore">-- ignore --</option>
<option value="NONE">NONE</option>
@ -482,8 +471,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
aria-label=".form-select-sm"
id="hamlib_dtrstate"
style="width: 0.5rem"
@change="setConfig"
v-model="settings.hamlib_dtrstate"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="serial_dtr"
v-model="settings.remote.RADIO.serial_dtr"
>
<option selected value="ignore">-- ignore --</option>
<option value="OFF">OFF</option>
@ -520,8 +511,10 @@ import { settingsStore as settings} from "../store/settingsStore.js";
id="hamlib_rigctld_custom_args"
aria-label="Custom arguments"
aria-describedby="basic-addon1"
@change="setConfig"
v-model="settings.hamlib_rigctld_custom_args"
@change="handleFieldValueChange"
data-section="RIGCTLD"
data-setting="arguments"
v-model="settings.remote.RIGCTLD.arguments"
/>
</div>
</template>

View file

@ -13,8 +13,8 @@ import { handleFieldValueChange } from "../js/settingsHandler";
id="rigcontrol_radiocontrol"
@change="handleFieldValueChange"
data-section="RADIO"
data-setting="radiocontrol"
v-model="settings.remote.RADIO.radiocontrol"
data-setting="control"
v-model="settings.remote.RADIO.control"
>
<option selected value="disabled">
Disabled / VOX (no rig control - use with VOX)

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 } from "../store/settingsStore.js";
export const useAudioStore = defineStore("audioStore", () => {
var inputDevices = ref([{ id: 0, name: "no input devices" }]);

View file

@ -33,15 +33,30 @@ export const settingsStore = reactive({
modemport: 0,
},
RADIO: {
radiocontrol: "disabled",
radioport: "None",
rigctld_ip: "127.0.0.1",
rigctld_port: 0,
control: "disabled",
model_id: 0,
serial_port: "",
serial_speed: "",
data_bits: 0,
stop_bits: 0,
serial_handshake: "",
ptt_port: "",
ptt_type: "",
serial_dcd: "",
serial_dtr: "",
},
RIGCTLD: {
ip: "127.0.0.1",
port: 0,
path: "",
command: "",
arguments: "",
},
STATION: {
enable_explorer: false,
enable_stats: false,
mycall: "",
myssid: 0,
mygrid: "",
ssid_list: [],
},
@ -67,3 +82,5 @@ export function getRemote() {
if (settingsStore.remote.STATION.mycall === "") {
getRemote();
}
// TODO add watcher for local config changes

View file

@ -15,6 +15,7 @@ class CONFIG:
'STATION': {
'mycall': str,
'mygrid': str,
'myssid': int,
'ssid_list': list,
'enable_explorer': bool,
'enable_stats': bool,
@ -27,10 +28,25 @@ class CONFIG:
'enable_auto_tune': bool,
},
'RADIO': {
'radiocontrol': str,
'rigctld_ip': str,
'rigctld_port': int,
'radioport': str,
'control': str,
'serial_port': str,
'model_id': int,
'serial_port': str,
'serial_speed': int,
'data_bits': int,
'stop_bits': int,
'serial_handshake': str,
'ptt_port': str,
'ptt_type': str,
'serial_dcd': str,
'serial_dtr': str,
},
'RIGCTLD': {
'ip': str,
'port': int,
'path': str,
'command': str,
'arguments': str,
},
'TCI': {
'tci_ip': str,