mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
Improve handle of settings
This commit is contained in:
parent
51360b8458
commit
381c0d7813
|
@ -55,7 +55,7 @@ const state = useStateStore(pinia);
|
||||||
type="button"
|
type="button"
|
||||||
disabled
|
disabled
|
||||||
>
|
>
|
||||||
Update channel | {{ settings.update_channel }}
|
Update channel | settings.update_channel
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="btn btn-secondary btn-sm ms-1"
|
class="btn btn-secondary btn-sm ms-1"
|
||||||
|
|
|
@ -9,31 +9,18 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
import { useStateStore } from "../store/stateStore.js";
|
import { useStateStore } from "../store/stateStore.js";
|
||||||
const state = useStateStore(pinia);
|
const state = useStateStore(pinia);
|
||||||
|
|
||||||
import { postToServer } from "../js/rest.js";
|
import { sendModemCQ, sendModemPing, setModemBeacon } from "../js/api.js";
|
||||||
|
|
||||||
|
|
||||||
function transmitCQ() {
|
|
||||||
postToServer(settings.modem_host, settings.modem_port, "modem/cqcqcq", null);
|
|
||||||
}
|
|
||||||
|
|
||||||
function transmitPing() {
|
function transmitPing() {
|
||||||
let command = {"dxcall": (<HTMLInputElement>document.getElementById("dxCall")).value}
|
sendModemPing((<HTMLInputElement>document.getElementById("dxCall")).value);
|
||||||
postToServer(settings.modem_host, settings.modem_port, "modem/ping_ping", command);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function startStopBeacon() {
|
function startStopBeacon() {
|
||||||
switch (state.beacon_state) {
|
if (state.beacon_state === true) {
|
||||||
case "False":
|
setModemBeacon(false);
|
||||||
postToServer(settings.modem_host, settings.modem_port,"modem/beacon", {"enabled": "True"});
|
}
|
||||||
|
else {
|
||||||
|
setModemBeacon(true);
|
||||||
break;
|
|
||||||
case "True":
|
|
||||||
postToServer(settings.modem_host, settings.modem_port, "modem/beacon", {"enabled": "False"});
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -96,7 +83,7 @@ function startStopBeacon() {
|
||||||
id="sendCQ"
|
id="sendCQ"
|
||||||
type="button"
|
type="button"
|
||||||
title="Send a CQ to the world"
|
title="Send a CQ to the world"
|
||||||
@click="transmitCQ()"
|
@click="sendModemCQ()"
|
||||||
>
|
>
|
||||||
Call CQ
|
Call CQ
|
||||||
</button>
|
</button>
|
||||||
|
@ -107,8 +94,8 @@ function startStopBeacon() {
|
||||||
class="btn btn-sm ms-1"
|
class="btn btn-sm ms-1"
|
||||||
@click="startStopBeacon()"
|
@click="startStopBeacon()"
|
||||||
v-bind:class="{
|
v-bind:class="{
|
||||||
'btn-success': state.beacon_state === 'True',
|
'btn-success': state.beacon_state === true,
|
||||||
'btn-outline-secondary': state.beacon_state === 'False',
|
'btn-outline-secondary': state.beacon_state === false,
|
||||||
}"
|
}"
|
||||||
title="Toggle beacon mode. The interval can be set in settings. While sending a beacon, you can receive ping requests and open a datachannel. If a datachannel is opened, the beacon pauses."
|
title="Toggle beacon mode. The interval can be set in settings. While sending a beacon, you can receive ping requests and open a datachannel. If a datachannel is opened, the beacon pauses."
|
||||||
>
|
>
|
||||||
|
|
|
@ -6,7 +6,7 @@ setActivePinia(pinia);
|
||||||
import { useAudioStore } from "../store/audioStore.js";
|
import { useAudioStore } from "../store/audioStore.js";
|
||||||
const audio = useAudioStore(pinia);
|
const audio = useAudioStore(pinia);
|
||||||
|
|
||||||
import { saveModemConfig } from "../js/api";
|
import { setConfig } from "../js/api";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -43,7 +43,7 @@ import { saveModemConfig } from "../js/api";
|
||||||
class="form-select form-select-sm"
|
class="form-select form-select-sm"
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
v-html="audio.getInputDevices()"
|
v-html="audio.getInputDevices()"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
></select>
|
></select>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
|
@ -54,7 +54,7 @@ import { saveModemConfig } from "../js/api";
|
||||||
class="form-select form-select-sm"
|
class="form-select form-select-sm"
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
v-html="audio.getOutputDevices()"
|
v-html="audio.getOutputDevices()"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
></select>
|
></select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,8 +4,6 @@ import { onMounted } from "vue";
|
||||||
|
|
||||||
import infoScreen_updater from "./infoScreen_updater.vue";
|
import infoScreen_updater from "./infoScreen_updater.vue";
|
||||||
|
|
||||||
import { getModemVersion, saveModemConfig } from "../js/api";
|
|
||||||
|
|
||||||
import { setActivePinia } from "pinia";
|
import { setActivePinia } from "pinia";
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
setActivePinia(pinia);
|
setActivePinia(pinia);
|
||||||
|
@ -20,8 +18,7 @@ const state = useStateStore(pinia);
|
||||||
|
|
||||||
import { startModem, stopModem } from "../js/api";
|
import { startModem, stopModem } from "../js/api";
|
||||||
import { getModemConfig, getModemCurrentState } from "../js/api";
|
import { getModemConfig, getModemCurrentState } from "../js/api";
|
||||||
|
import { getVersion, getConfig, setConfig, startModem, stopModem } from "../js/api";
|
||||||
import { startRigctld, stopRigctld } from "../js/deprecated_daemon";
|
|
||||||
|
|
||||||
const version = import.meta.env.PACKAGE_VERSION;
|
const version = import.meta.env.PACKAGE_VERSION;
|
||||||
var updateAvailable = process.env.FDUpdateAvail;
|
var updateAvailable = process.env.FDUpdateAvail;
|
||||||
|
@ -31,6 +28,8 @@ onMounted(() => {
|
||||||
getModemConfig();
|
getModemConfig();
|
||||||
getModemCurrentState();
|
getModemCurrentState();
|
||||||
getModemVersion();
|
getModemVersion();
|
||||||
|
getConfig();
|
||||||
|
getVersion();
|
||||||
new Modal("#modemCheck", {}).show();
|
new Modal("#modemCheck", {}).show();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -212,7 +211,7 @@ 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"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.input_device"
|
v-model="settings.input_device"
|
||||||
v-html="audio.getInputDevices()"
|
v-html="audio.getInputDevices()"
|
||||||
></select>
|
></select>
|
||||||
|
@ -225,7 +224,7 @@ function testHamlib() {
|
||||||
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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.output_device"
|
v-model="settings.output_device"
|
||||||
v-html="audio.getOutputDevices()"
|
v-html="audio.getOutputDevices()"
|
||||||
></select>
|
></select>
|
||||||
|
@ -268,7 +267,7 @@ 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"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.radiocontrol"
|
v-model="settings.radiocontrol"
|
||||||
>
|
>
|
||||||
<option selected value="disabled">
|
<option selected value="disabled">
|
||||||
|
@ -347,7 +346,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
></select>
|
></select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -363,7 +362,7 @@ function testHamlib() {
|
||||||
id="rigcontrol_tci_ip"
|
id="rigcontrol_tci_ip"
|
||||||
aria-label="Device IP"
|
aria-label="Device IP"
|
||||||
v-model="settings.tci_ip"
|
v-model="settings.tci_ip"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -376,7 +375,7 @@ function testHamlib() {
|
||||||
id="rigcontrol_tci_port"
|
id="rigcontrol_tci_port"
|
||||||
aria-label="Device Port"
|
aria-label="Device Port"
|
||||||
v-model="settings.tci_port"
|
v-model="settings.tci_port"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { saveModemConfig } from "../js/api";
|
import { setConfig } from "../js/api";
|
||||||
|
|
||||||
import { setActivePinia } from "pinia";
|
import { setActivePinia } from "pinia";
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
|
@ -17,7 +17,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="enable_is_writing"
|
id="enable_is_writing"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.enable_is_writing"
|
v-model="settings.enable_is_writing"
|
||||||
disabled
|
disabled
|
||||||
/>
|
/>
|
||||||
|
@ -36,7 +36,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="enable_request_profile"
|
id="enable_request_profile"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.enable_request_profile"
|
v-model="settings.enable_request_profile"
|
||||||
disabled
|
disabled
|
||||||
/>
|
/>
|
||||||
|
@ -54,7 +54,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="enable_request_shared_folder"
|
id="enable_request_shared_folder"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.enable_request_shared_folder"
|
v-model="settings.enable_request_shared_folder"
|
||||||
disabled
|
disabled
|
||||||
/>
|
/>
|
||||||
|
@ -68,7 +68,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
type="text"
|
type="text"
|
||||||
class="form-control w-50"
|
class="form-control w-50"
|
||||||
id="shared_folder_path"
|
id="shared_folder_path"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.shared_folder_path"
|
v-model="settings.shared_folder_path"
|
||||||
disabled
|
disabled
|
||||||
/>
|
/>
|
||||||
|
@ -85,7 +85,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="enable_auto_retry"
|
id="enable_auto_retry"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.enable_auto_retry"
|
v-model="settings.enable_auto_retry"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -97,7 +97,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
<select
|
<select
|
||||||
class="form-select form-select-sm w-50"
|
class="form-select form-select-sm w-50"
|
||||||
id="max_retry_attempts"
|
id="max_retry_attempts"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.max_retry_attempts"
|
v-model="settings.max_retry_attempts"
|
||||||
>
|
>
|
||||||
<option value="1">1</option>
|
<option value="1">1</option>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { saveModemConfig } from "../js/api";
|
import { setConfig } from "../js/api";
|
||||||
|
|
||||||
import { setActivePinia } from "pinia";
|
import { setActivePinia } from "pinia";
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
|
@ -17,7 +17,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="autoTuneSwitch"
|
id="autoTuneSwitch"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.auto_tune"
|
v-model="settings.auto_tune"
|
||||||
/>
|
/>
|
||||||
<label class="form-check-label" for="autoTuneSwitch"
|
<label class="form-check-label" for="autoTuneSwitch"
|
||||||
|
@ -34,7 +34,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="fskModeSwitch"
|
id="fskModeSwitch"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.enable_fsk"
|
v-model="settings.enable_fsk"
|
||||||
disabled
|
disabled
|
||||||
/>
|
/>
|
||||||
|
@ -52,7 +52,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="enableMeshSwitch"
|
id="enableMeshSwitch"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.enable_mesh_features"
|
v-model="settings.enable_mesh_features"
|
||||||
/>
|
/>
|
||||||
<label class="form-check-label" for="enableMeshSwitch"
|
<label class="form-check-label" for="enableMeshSwitch"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { saveModemConfig } from "../js/api";
|
import { setConfig } from "../js/api";
|
||||||
|
|
||||||
import { setActivePinia } from "pinia";
|
import { setActivePinia } from "pinia";
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
|
@ -19,7 +19,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
id="hamlib_rigctld_path"
|
id="hamlib_rigctld_path"
|
||||||
aria-label="Device IP"
|
aria-label="Device IP"
|
||||||
aria-describedby="basic-addon1"
|
aria-describedby="basic-addon1"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_rigctld_path"
|
v-model="settings.hamlib_rigctld_path"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -34,7 +34,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
id="hamlib_rigctld_server_port"
|
id="hamlib_rigctld_server_port"
|
||||||
aria-label="Device Port"
|
aria-label="Device Port"
|
||||||
aria-describedby="basic-addon1"
|
aria-describedby="basic-addon1"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_rigctld_server_port"
|
v-model="settings.hamlib_rigctld_server_port"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -72,7 +72,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-select form-select-sm"
|
class="form-select form-select-sm"
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_deviceid"
|
id="hamlib_deviceid"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_deviceid"
|
v-model="settings.hamlib_deviceid"
|
||||||
>
|
>
|
||||||
<option selected value="-- ignore --">-- ignore --</option>
|
<option selected value="-- ignore --">-- ignore --</option>
|
||||||
|
@ -349,7 +349,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_deviceport"
|
id="hamlib_deviceport"
|
||||||
style="width: 7rem"
|
style="width: 7rem"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
></select>
|
></select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -360,7 +360,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-select form-select-sm"
|
class="form-select form-select-sm"
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_serialspeed"
|
id="hamlib_serialspeed"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_serialspeed"
|
v-model="settings.hamlib_serialspeed"
|
||||||
>
|
>
|
||||||
<option selected value="ignore">-- ignore --</option>
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
@ -383,7 +383,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-select form-select-sm"
|
class="form-select form-select-sm"
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_data_bits"
|
id="hamlib_data_bits"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_data_bits"
|
v-model="settings.hamlib_data_bits"
|
||||||
>
|
>
|
||||||
<option selected value="ignore">-- ignore --</option>
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
@ -398,7 +398,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-select form-select-sm"
|
class="form-select form-select-sm"
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_stop_bits"
|
id="hamlib_stop_bits"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_stop_bits"
|
v-model="settings.hamlib_stop_bits"
|
||||||
>
|
>
|
||||||
<option selected value="ignore">-- ignore --</option>
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
@ -413,7 +413,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-select form-select-sm"
|
class="form-select form-select-sm"
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_handshake"
|
id="hamlib_handshake"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_handshake"
|
v-model="settings.hamlib_handshake"
|
||||||
>
|
>
|
||||||
<option selected value="ignore">-- ignore --</option>
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
@ -427,7 +427,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
class="form-select form-select-sm"
|
class="form-select form-select-sm"
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_ptt_port"
|
id="hamlib_ptt_port"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_ptt_port"
|
v-model="settings.hamlib_ptt_port"
|
||||||
>
|
>
|
||||||
<option selected value="ignore">-- ignore --</option>
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
@ -441,7 +441,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_pttprotocol"
|
id="hamlib_pttprotocol"
|
||||||
style="width: 0.5rem"
|
style="width: 0.5rem"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_pttprotocol"
|
v-model="settings.hamlib_pttprotocol"
|
||||||
>
|
>
|
||||||
<option selected value="ignore">-- ignore --</option>
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
@ -462,7 +462,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_dcd"
|
id="hamlib_dcd"
|
||||||
style="width: 0.5rem"
|
style="width: 0.5rem"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_dcd"
|
v-model="settings.hamlib_dcd"
|
||||||
>
|
>
|
||||||
<option selected value="ignore">-- ignore --</option>
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
@ -482,7 +482,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
aria-label=".form-select-sm"
|
aria-label=".form-select-sm"
|
||||||
id="hamlib_dtrstate"
|
id="hamlib_dtrstate"
|
||||||
style="width: 0.5rem"
|
style="width: 0.5rem"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_dtrstate"
|
v-model="settings.hamlib_dtrstate"
|
||||||
>
|
>
|
||||||
<option selected value="ignore">-- ignore --</option>
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
@ -520,7 +520,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
id="hamlib_rigctld_custom_args"
|
id="hamlib_rigctld_custom_args"
|
||||||
aria-label="Custom arguments"
|
aria-label="Custom arguments"
|
||||||
aria-describedby="basic-addon1"
|
aria-describedby="basic-addon1"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.hamlib_rigctld_custom_args"
|
v-model="settings.hamlib_rigctld_custom_args"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
|
|
||||||
import { saveModemConfig } from "../js/api";
|
import { setConfig } from "../js/api";
|
||||||
|
|
||||||
import { settingsStore as settings} from "../store/settingsStore.js";
|
import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
|
|
||||||
|
@ -55,8 +55,8 @@ import { startModem, stopModem } from "../js/api";
|
||||||
maxlength="5"
|
maxlength="5"
|
||||||
max="65534"
|
max="65534"
|
||||||
min="1025"
|
min="1025"
|
||||||
@change="saveModemConfig()"
|
@change="setConfig()"
|
||||||
v-model.number="settings.modem_port"
|
v-model.number="settings.local.port"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -67,8 +67,8 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.modem_host"
|
v-model="settings.local.host"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.input_device"
|
v-model="settings.input_device"
|
||||||
v-html="audio.getInputDevices()"
|
v-html="audio.getInputDevices()"
|
||||||
></select>
|
></select>
|
||||||
|
@ -92,7 +92,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.output_device"
|
v-model="settings.output_device"
|
||||||
v-html="audio.getOutputDevices()"
|
v-html="audio.getOutputDevices()"
|
||||||
></select>
|
></select>
|
||||||
|
@ -103,7 +103,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model.number="settings.tx_delay"
|
v-model.number="settings.tx_delay"
|
||||||
>
|
>
|
||||||
<option value="0">0</option>
|
<option value="0">0</option>
|
||||||
|
@ -136,7 +136,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model.number="settings.tuning_range_fmin"
|
v-model.number="settings.tuning_range_fmin"
|
||||||
>
|
>
|
||||||
<option value="-50">-50</option>
|
<option value="-50">-50</option>
|
||||||
|
@ -149,7 +149,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model.number="settings.tuning_range_fmax"
|
v-model.number="settings.tuning_range_fmax"
|
||||||
>
|
>
|
||||||
<option value="50">50</option>
|
<option value="50">50</option>
|
||||||
|
@ -166,7 +166,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.beacon_interval"
|
v-model="settings.beacon_interval"
|
||||||
>
|
>
|
||||||
<option value="60">60 secs</option>
|
<option value="60">60 secs</option>
|
||||||
|
@ -187,7 +187,7 @@ import { startModem, stopModem } from "../js/api";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="fftSwitch"
|
id="fftSwitch"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.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>
|
||||||
|
@ -202,7 +202,7 @@ import { startModem, stopModem } from "../js/api";
|
||||||
class="form-check-input"
|
class="form-check-input"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="scatterSwitch"
|
id="scatterSwitch"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.enable_scatter"
|
v-model="settings.enable_scatter"
|
||||||
/>
|
/>
|
||||||
<label class="form-check-label" for="scatterSwitch">Scatter</label>
|
<label class="form-check-label" for="scatterSwitch">Scatter</label>
|
||||||
|
@ -218,7 +218,7 @@ import { startModem, stopModem } from "../js/api";
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="250HzModeSwitch"
|
id="250HzModeSwitch"
|
||||||
v-model="settings.low_bandwidth_mode"
|
v-model="settings.low_bandwidth_mode"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
/>
|
/>
|
||||||
<label class="form-check-label" for="250HzModeSwitch">250Hz</label>
|
<label class="form-check-label" for="250HzModeSwitch">250Hz</label>
|
||||||
</div>
|
</div>
|
||||||
|
@ -233,7 +233,7 @@ import { startModem, stopModem } from "../js/api";
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="respondCQSwitch"
|
id="respondCQSwitch"
|
||||||
v-model="settings.respond_to_cq"
|
v-model="settings.respond_to_cq"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
/>
|
/>
|
||||||
<label class="form-check-label" for="respondCQSwitch">QRV</label>
|
<label class="form-check-label" for="respondCQSwitch">QRV</label>
|
||||||
</div>
|
</div>
|
||||||
|
@ -245,7 +245,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model.number="settings.rx_buffer_size"
|
v-model.number="settings.rx_buffer_size"
|
||||||
>
|
>
|
||||||
<option value="1">1</option>
|
<option value="1">1</option>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { saveModemConfig } from "../js/api";
|
import { setConfig } from "../js/api";
|
||||||
|
|
||||||
import { setActivePinia } from "pinia";
|
import { setActivePinia } from "pinia";
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
|
@ -16,7 +16,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
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"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.radiocontrol"
|
v-model="settings.radiocontrol"
|
||||||
>
|
>
|
||||||
<option selected value="disabled">
|
<option selected value="disabled">
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { saveModemConfig } from "../js/api";
|
import { setConfig } from "../js/api";
|
||||||
|
|
||||||
import { setActivePinia } from "pinia";
|
import { setActivePinia } from "pinia";
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
|
@ -21,7 +21,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
id="myCall"
|
id="myCall"
|
||||||
aria-label="Station Callsign"
|
aria-label="Station Callsign"
|
||||||
aria-describedby="basic-addon1"
|
aria-describedby="basic-addon1"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.mycall"
|
v-model="settings.mycall"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -32,7 +32,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
<select
|
<select
|
||||||
class="form-select form-select-sm w-50"
|
class="form-select form-select-sm w-50"
|
||||||
id="myCallSSID"
|
id="myCallSSID"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model.number="settings.myssid"
|
v-model.number="settings.myssid"
|
||||||
>
|
>
|
||||||
<option selected value="0">0</option>
|
<option selected value="0">0</option>
|
||||||
|
@ -65,7 +65,7 @@ import { settingsStore as settings} from "../store/settingsStore.js";
|
||||||
maxlength="6"
|
maxlength="6"
|
||||||
aria-label="Station Grid Locator"
|
aria-label="Station Grid Locator"
|
||||||
aria-describedby="basic-addon1"
|
aria-describedby="basic-addon1"
|
||||||
@change="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.mygrid"
|
v-model="settings.mygrid"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { saveModemConfig } from "../js/api";
|
import { setConfig } from "../js/api";
|
||||||
|
|
||||||
import { setActivePinia } from "pinia";
|
import { setActivePinia } from "pinia";
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
|
@ -18,7 +18,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.enable_explorer"
|
v-model="settings.enable_explorer"
|
||||||
/>
|
/>
|
||||||
<label class="form-check-label" for="ExplorerSwitch">Publish</label>
|
<label class="form-check-label" for="ExplorerSwitch">Publish</label>
|
||||||
|
@ -33,7 +33,7 @@ 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="saveModemConfig"
|
@change="setConfig"
|
||||||
v-model="settings.explorer_stats"
|
v-model="settings.explorer_stats"
|
||||||
/>
|
/>
|
||||||
<label class="form-check-label" for="ExplorerStatsSwitch"
|
<label class="form-check-label" for="ExplorerStatsSwitch"
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import { getFromServer, postToServer } from "./rest.js";
|
|
||||||
import { settingsStore as settings } from "../store/settingsStore.js";
|
import { settingsStore as settings } from "../store/settingsStore.js";
|
||||||
|
|
||||||
function buildURL(endpoint) {
|
function buildURL(endpoint) {
|
||||||
|
@ -37,6 +36,10 @@ export async function apiPost(endpoint, payload = {}) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getVersion() {
|
||||||
|
return apiGet("/version");
|
||||||
|
}
|
||||||
|
|
||||||
export function getConfig() {
|
export function getConfig() {
|
||||||
return apiGet("/config");
|
return apiGet("/config");
|
||||||
}
|
}
|
||||||
|
@ -53,6 +56,18 @@ export function getSerialDevices() {
|
||||||
return apiGet("/devices/serial");
|
return apiGet("/devices/serial");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function setModemBeacon(enabled = false) {
|
||||||
|
return apiPost("/modem/beacon", { enabled: enabled });
|
||||||
|
}
|
||||||
|
|
||||||
|
export function sendModemCQ() {
|
||||||
|
return apiPost("/modem/cqcqcq");
|
||||||
|
}
|
||||||
|
|
||||||
|
export function sendModemPing(dxcall) {
|
||||||
|
return apiPost("/modem/cqcqcq", { dxcall: dxcall });
|
||||||
|
}
|
||||||
|
|
||||||
export function startModem() {
|
export function startModem() {
|
||||||
return apiPost("/modem/start");
|
return apiPost("/modem/start");
|
||||||
}
|
}
|
||||||
|
@ -64,6 +79,7 @@ export function stopModem() {
|
||||||
export function getModemVersion() {
|
export function getModemVersion() {
|
||||||
getFromServer("/version");
|
getFromServer("/version");
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getModemCurrentState() {
|
export function getModemCurrentState() {
|
||||||
getFromServer(settings.modem_host, settings.modem_port, "modem/state", null);
|
getFromServer(settings.modem_host, settings.modem_port, "modem/state", null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,292 +0,0 @@
|
||||||
//var net = require("net");
|
|
||||||
var net = require("node:net");
|
|
||||||
|
|
||||||
// ----------------- init pinia stores -------------
|
|
||||||
import { setActivePinia } from "pinia";
|
|
||||||
import pinia from "../store/index";
|
|
||||||
setActivePinia(pinia);
|
|
||||||
import { useAudioStore } from "../store/audioStore.js";
|
|
||||||
const audioStore = useAudioStore(pinia);
|
|
||||||
|
|
||||||
import { settingsStore as settings} from "../store/settingsStore.js";
|
|
||||||
|
|
||||||
import { useStateStore } from "../store/stateStore.js";
|
|
||||||
const state = useStateStore(pinia);
|
|
||||||
|
|
||||||
var daemon = new net.Socket();
|
|
||||||
var socketchunk = []; // Current message, per connection.
|
|
||||||
|
|
||||||
// global to keep track of daemon connection error emissions
|
|
||||||
var daemonShowConnectStateError = 1;
|
|
||||||
|
|
||||||
setTimeout(connectDAEMON, 500);
|
|
||||||
|
|
||||||
function connectDAEMON() {
|
|
||||||
if (daemonShowConnectStateError == 1) {
|
|
||||||
console.log("connecting to daemon");
|
|
||||||
}
|
|
||||||
|
|
||||||
//clear message buffer after reconnecting or initial connection
|
|
||||||
socketchunk = [];
|
|
||||||
|
|
||||||
daemon.connect(settings.daemon_port, settings.daemon_host);
|
|
||||||
|
|
||||||
//client.setTimeout(5000);
|
|
||||||
}
|
|
||||||
|
|
||||||
daemon.on("connect", function () {
|
|
||||||
console.log("daemon connection established");
|
|
||||||
state.modem_connection = "connected";
|
|
||||||
daemonShowConnectStateError = 1;
|
|
||||||
});
|
|
||||||
|
|
||||||
daemon.on("error", function (err) {
|
|
||||||
if (daemonShowConnectStateError == 1) {
|
|
||||||
console.log("daemon connection error");
|
|
||||||
console.log("Make sure the daemon is started.");
|
|
||||||
console.log('Run "python daemon.py" in the modem directory.');
|
|
||||||
console.log(err);
|
|
||||||
daemonShowConnectStateError = 0;
|
|
||||||
}
|
|
||||||
setTimeout(connectDAEMON, 500);
|
|
||||||
daemon.destroy();
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
client.on('close', function(data) {
|
|
||||||
console.log(' Modem connection closed');
|
|
||||||
setTimeout(connectModem, 2000)
|
|
||||||
let Data = {
|
|
||||||
daemon_connection: daemon.readyState,
|
|
||||||
};
|
|
||||||
ipcRenderer.send('request-update-daemon-connection', Data);
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
daemon.on("end", function (data) {
|
|
||||||
console.log("daemon connection ended");
|
|
||||||
console.log(data);
|
|
||||||
daemon.destroy();
|
|
||||||
setTimeout(connectDAEMON, 500);
|
|
||||||
});
|
|
||||||
|
|
||||||
//exports.writeDaemonCommand = function(command){
|
|
||||||
//writeDaemonCommand = function (command) {
|
|
||||||
function writeDaemonCommand(command) {
|
|
||||||
// we use the writingCommand function to update our TCPIP state because we are calling this function a lot
|
|
||||||
// if socket opened, we are able to run commands
|
|
||||||
if (daemon.readyState == "open") {
|
|
||||||
//uiMain.setDAEMONconnection('open')
|
|
||||||
daemon.write(command + "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (daemon.readyState == "closed") {
|
|
||||||
//uiMain.setDAEMONconnection('closed')
|
|
||||||
}
|
|
||||||
|
|
||||||
if (daemon.readyState == "opening") {
|
|
||||||
//uiMain.setDAEMONconnection('opening')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// "https://stackoverflow.com/questions/9070700/nodejs-net-createserver-large-amount-of-data-coming-in"
|
|
||||||
|
|
||||||
daemon.on("data", function (socketdata) {
|
|
||||||
/*
|
|
||||||
inspired by:
|
|
||||||
stackoverflow.com questions 9070700 nodejs-net-createserver-large-amount-of-data-coming-in
|
|
||||||
*/
|
|
||||||
|
|
||||||
socketdata = socketchunk.join("\n") + socketdata.toString("utf8"); //append incoming data to socketchunk
|
|
||||||
//socketdata = socketdata.toString("utf8"); // convert data to string
|
|
||||||
|
|
||||||
//socketchunk += socketdata; // append data to buffer so we can stick long data together
|
|
||||||
|
|
||||||
// check if we received begin and end of json data
|
|
||||||
if (socketdata.startsWith('{"') && socketdata.endsWith('"}\n')) {
|
|
||||||
var data = "";
|
|
||||||
|
|
||||||
// split data into chunks if we received multiple commands
|
|
||||||
socketchunk = socketdata.split("\n");
|
|
||||||
data = JSON.parse(socketchunk[0]);
|
|
||||||
|
|
||||||
// search for empty entries in socketchunk and remove them
|
|
||||||
for (var i = 0; i < socketchunk.length; i++) {
|
|
||||||
if (socketchunk[i] === "") {
|
|
||||||
socketchunk.splice(i, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//iterate through socketchunks array to execute multiple commands in row
|
|
||||||
for (i = 0; i < socketchunk.length; i++) {
|
|
||||||
//check if data is not empty
|
|
||||||
if (socketchunk[i].length > 0) {
|
|
||||||
//try to parse JSON
|
|
||||||
try {
|
|
||||||
data = JSON.parse(socketchunk[i]);
|
|
||||||
} catch (e) {
|
|
||||||
console.log(e); // "SyntaxError
|
|
||||||
//daemonLog.debug(socketchunk[i]);
|
|
||||||
socketchunk = [];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(data);
|
|
||||||
if (data["command"] == "daemon_state") {
|
|
||||||
// update audio devices by putting them to audio store
|
|
||||||
audioStore.inputDevices = data["input_devices"];
|
|
||||||
audioStore.outputDevices = data["output_devices"];
|
|
||||||
settings.serial_devices = data["serial_devices"];
|
|
||||||
state.python_version = data["python_version"];
|
|
||||||
state.modem_version = data["version"];
|
|
||||||
state.modem_running_state = data["daemon_state"][0]["status"];
|
|
||||||
state.rigctld_started = data["rigctld_state"][0]["status"];
|
|
||||||
//state.rigctld_process = data["daemon_state"][0]["rigctld_process"];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data["command"] == "test_hamlib") {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data["command_response"] == "stop_modem") {
|
|
||||||
switch (data["status"]) {
|
|
||||||
case "OK":
|
|
||||||
state.modem_running_state = "running";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
state.modem_running_state = "stopped";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//finally delete message buffer
|
|
||||||
socketchunk = [];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// START Modem
|
|
||||||
// ` `== multi line string
|
|
||||||
export function startModem() {
|
|
||||||
var json_command = JSON.stringify({
|
|
||||||
type: "set",
|
|
||||||
command: "start_modem",
|
|
||||||
parameter: [
|
|
||||||
{
|
|
||||||
mycall: settings.mycall + "-" + settings.myssid,
|
|
||||||
mygrid: settings.mygrid,
|
|
||||||
rx_audio: settings.rx_audio,
|
|
||||||
tx_audio: settings.tx_audio,
|
|
||||||
radiocontrol: settings.radiocontrol,
|
|
||||||
devicename: settings.hamlib_deviceid,
|
|
||||||
deviceport: settings.hamlib_deviceport,
|
|
||||||
pttprotocol: settings.hamlib_pttprotocol,
|
|
||||||
pttport: settings.hamlib_ptt_port,
|
|
||||||
serialspeed: settings.hamlib_serialspeed,
|
|
||||||
data_bits: settings.hamlib_data_bits,
|
|
||||||
stop_bits: settings.hamlib_stop_bits,
|
|
||||||
handshake: settings.hamlib_handshake,
|
|
||||||
rigctld_port: settings.hamlib_rigctld_port,
|
|
||||||
rigctld_ip: settings.hamlib_rigctld_ip,
|
|
||||||
enable_scatter: settings.enable_scatter,
|
|
||||||
enable_fft: settings.enable_fft,
|
|
||||||
enable_fsk: settings.enable_fsk,
|
|
||||||
low_bandwidth_mode: settings.low_bandwidth_mode,
|
|
||||||
tuning_range_fmin: settings.tuning_range_fmin,
|
|
||||||
tuning_range_fmax: settings.tuning_range_fmax,
|
|
||||||
tx_audio_level: settings.tx_audio_level,
|
|
||||||
rx_audio_level: settings.rx_audio_level,
|
|
||||||
respond_to_cq: settings.respond_to_cq,
|
|
||||||
rx_buffer_size: settings.rx_buffer_size,
|
|
||||||
enable_explorer: settings.enable_explorer,
|
|
||||||
enable_stats: settings.explorer_stats,
|
|
||||||
enable_auto_tune: settings.auto_tune,
|
|
||||||
tx_delay: settings.tx_delay,
|
|
||||||
tci_ip: settings.tci_ip,
|
|
||||||
tci_port: settings.tci_port,
|
|
||||||
enable_mesh: settings.enable_mesh_features,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log(json_command);
|
|
||||||
writeDaemonCommand(json_command);
|
|
||||||
}
|
|
||||||
|
|
||||||
// STOP Modem
|
|
||||||
//exports.stopModem = function () {
|
|
||||||
export function stopModem() {
|
|
||||||
var command =
|
|
||||||
'{"type" : "set", "command": "stop_modem" , "parameter": "---" }';
|
|
||||||
writeDaemonCommand(command);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TEST HAMLIB
|
|
||||||
function testHamlib(
|
|
||||||
//exports.testHamlib = function (
|
|
||||||
radiocontrol,
|
|
||||||
devicename,
|
|
||||||
deviceport,
|
|
||||||
serialspeed,
|
|
||||||
pttprotocol,
|
|
||||||
pttport,
|
|
||||||
data_bits,
|
|
||||||
stop_bits,
|
|
||||||
handshake,
|
|
||||||
rigctld_ip,
|
|
||||||
rigctld_port,
|
|
||||||
) {
|
|
||||||
var json_command = JSON.stringify({
|
|
||||||
type: "get",
|
|
||||||
command: "test_hamlib",
|
|
||||||
parameter: [
|
|
||||||
{
|
|
||||||
radiocontrol: radiocontrol,
|
|
||||||
devicename: devicename,
|
|
||||||
deviceport: deviceport,
|
|
||||||
pttprotocol: pttprotocol,
|
|
||||||
pttport: pttport,
|
|
||||||
serialspeed: serialspeed,
|
|
||||||
data_bits: data_bits,
|
|
||||||
stop_bits: stop_bits,
|
|
||||||
handshake: handshake,
|
|
||||||
rigctld_port: rigctld_port,
|
|
||||||
rigctld_ip: rigctld_ip,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
console.log(json_command);
|
|
||||||
writeDaemonCommand(json_command);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function startRigctld() {
|
|
||||||
var json_command = JSON.stringify({
|
|
||||||
type: "set",
|
|
||||||
command: "start_rigctld",
|
|
||||||
parameter: [
|
|
||||||
{
|
|
||||||
hamlib_deviceid: settings.hamlib_deviceid,
|
|
||||||
hamlib_deviceport: settings.hamlib_deviceport,
|
|
||||||
hamlib_stop_bits: settings.hamlib_stop_bits,
|
|
||||||
hamlib_data_bits: settings.hamlib_data_bits,
|
|
||||||
hamlib_handshake: settings.hamlib_handshake,
|
|
||||||
hamlib_serialspeed: settings.hamlib_serialspeed,
|
|
||||||
hamlib_dtrstate: settings.hamlib_dtrstate,
|
|
||||||
hamlib_pttprotocol: settings.hamlib_pttprotocol,
|
|
||||||
hamlib_ptt_port: settings.hamlib_ptt_port,
|
|
||||||
hamlib_dcd: settings.hamlib_dcd,
|
|
||||||
hamlbib_serialspeed_ptt: settings.hamlib_serialspeed,
|
|
||||||
hamlib_rigctld_port: settings.hamlib_rigctld_port,
|
|
||||||
hamlib_rigctld_ip: settings.hamlib_rigctld_ip,
|
|
||||||
hamlib_rigctld_path: settings.hamlib_rigctld_path,
|
|
||||||
hamlib_rigctld_server_port: settings.hamlib_rigctld_server_port,
|
|
||||||
hamlib_rigctld_custom_args: settings.hamlib_rigctld_custom_args,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
console.log(json_command);
|
|
||||||
writeDaemonCommand(json_command);
|
|
||||||
}
|
|
||||||
export function stopRigctld() {
|
|
||||||
let command = '{"type" : "set", "command": "stop_rigctld"}';
|
|
||||||
writeDaemonCommand(command);
|
|
||||||
}
|
|
Loading…
Reference in a new issue