mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
adjusted settings
This commit is contained in:
parent
8652643f5b
commit
c5262bb165
|
@ -31,7 +31,8 @@
|
||||||
"sass": "^1.66.1",
|
"sass": "^1.66.1",
|
||||||
"socket.io": "^4.7.2",
|
"socket.io": "^4.7.2",
|
||||||
"uuid": "^9.0.0",
|
"uuid": "^9.0.0",
|
||||||
"vue": "^3.2.47"
|
"vue": "^3.2.47",
|
||||||
|
"winston": "^3.10.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vitejs/plugin-vue": "^4.1.0",
|
"@vitejs/plugin-vue": "^4.1.0",
|
||||||
|
|
File diff suppressed because it is too large
Load diff
171
gui_vue/src/components/settings.vue
Normal file
171
gui_vue/src/components/settings.vue
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import settings_gui from './settings_gui.vue'
|
||||||
|
import settings_chat from './settings_chat.vue'
|
||||||
|
import settings_hamlib from './settings_hamlib.vue'
|
||||||
|
import settings_tnc from './settings_tnc.vue'
|
||||||
|
import settings_web from './settings_web.vue'
|
||||||
|
import settings_exp from './settings_exp.vue'
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<div
|
||||||
|
class="tab-pane fade"
|
||||||
|
id="list-settings"
|
||||||
|
role="tabpanel"
|
||||||
|
aria-labelledby="list-settings-list"
|
||||||
|
>
|
||||||
|
<div class="container">
|
||||||
|
<div class="badge text-bg-warning ms-3">
|
||||||
|
<i class="bi bi-exclamation-triangle"></i> Please restart the TNC after
|
||||||
|
changing settings!
|
||||||
|
</div>
|
||||||
|
<!-- SETTINGS Nav tabs -->
|
||||||
|
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button
|
||||||
|
class="nav-link active"
|
||||||
|
id="gui-tab"
|
||||||
|
data-bs-toggle="tab"
|
||||||
|
data-bs-target="#gui"
|
||||||
|
type="button"
|
||||||
|
role="tab"
|
||||||
|
aria-controls="home"
|
||||||
|
aria-selected="true"
|
||||||
|
>
|
||||||
|
GUI
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button
|
||||||
|
class="nav-link"
|
||||||
|
id="chat-tab"
|
||||||
|
data-bs-toggle="tab"
|
||||||
|
data-bs-target="#chat"
|
||||||
|
type="button"
|
||||||
|
role="tab"
|
||||||
|
aria-controls="home"
|
||||||
|
aria-selected="true"
|
||||||
|
>
|
||||||
|
Chat
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button
|
||||||
|
class="nav-link"
|
||||||
|
id="hamlib-tab"
|
||||||
|
data-bs-toggle="tab"
|
||||||
|
data-bs-target="#hamlib"
|
||||||
|
type="button"
|
||||||
|
role="tab"
|
||||||
|
aria-controls="profile"
|
||||||
|
aria-selected="false"
|
||||||
|
>
|
||||||
|
Hamlib
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button
|
||||||
|
class="nav-link"
|
||||||
|
id="tnc-tab"
|
||||||
|
data-bs-toggle="tab"
|
||||||
|
data-bs-target="#tnc"
|
||||||
|
type="button"
|
||||||
|
role="tab"
|
||||||
|
aria-controls="profile"
|
||||||
|
aria-selected="false"
|
||||||
|
>
|
||||||
|
TNC
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button
|
||||||
|
class="nav-link"
|
||||||
|
id="web-tab"
|
||||||
|
data-bs-toggle="tab"
|
||||||
|
data-bs-target="#web"
|
||||||
|
type="button"
|
||||||
|
role="tab"
|
||||||
|
aria-controls="messages"
|
||||||
|
aria-selected="false"
|
||||||
|
>
|
||||||
|
Web
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button
|
||||||
|
class="nav-link"
|
||||||
|
id="experiments-tab"
|
||||||
|
data-bs-toggle="tab"
|
||||||
|
data-bs-target="#experiments"
|
||||||
|
type="button"
|
||||||
|
role="tab"
|
||||||
|
aria-controls="settings"
|
||||||
|
aria-selected="false"
|
||||||
|
>
|
||||||
|
Exp
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!-- SETTINGS Nav Tab panes -->
|
||||||
|
<div class="tab-content mt-1">
|
||||||
|
<!-- GUI tab contents-->
|
||||||
|
<div
|
||||||
|
class="tab-pane active"
|
||||||
|
id="gui"
|
||||||
|
role="tabpanel"
|
||||||
|
aria-labelledby="gui-tab"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
|
<settings_gui />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="tab-pane"
|
||||||
|
id="chat"
|
||||||
|
role="tabpanel"
|
||||||
|
aria-labelledby="chat-tab"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
|
<settings_chat />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="tab-pane"
|
||||||
|
id="hamlib"
|
||||||
|
role="tabpanel"
|
||||||
|
aria-labelledby="hamlib-tab"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
|
<settings_hamlib />
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="tab-pane"
|
||||||
|
id="tnc"
|
||||||
|
role="tabpanel"
|
||||||
|
aria-labelledby="tnc-tab"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
|
<settings_tnc />
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="tab-pane"
|
||||||
|
id="web"
|
||||||
|
role="tabpanel"
|
||||||
|
aria-labelledby="web-tab"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
|
<settings_web />
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="tab-pane"
|
||||||
|
id="experiments"
|
||||||
|
role="tabpanel"
|
||||||
|
aria-labelledby="experiments-tab"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
|
<settings_exp />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
100
gui_vue/src/components/settings_chat.vue
Normal file
100
gui_vue/src/components/settings_chat.vue
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
|
||||||
|
import { setActivePinia } from 'pinia';
|
||||||
|
import pinia from '../store/index';
|
||||||
|
setActivePinia(pinia);
|
||||||
|
|
||||||
|
import { useSettingsStore } from '../store/settingsStore.js';
|
||||||
|
const settings = useSettingsStore(pinia);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Enable "is typing"</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="enable_is_writing"
|
||||||
|
v-model="settings.enable_is_writing" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="GraphicsSwitch"
|
||||||
|
>Additional broadcast burst</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50"
|
||||||
|
>Allow requesting "user profile"</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="enable_request_profile"
|
||||||
|
v-model="settings.enable_request_profile" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50"
|
||||||
|
>Allow requesting "shared folder"</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="enable_request_shared_folder"
|
||||||
|
v-model="settings.enable_request_shared_folder" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Shared folder path</label>
|
||||||
|
<input type="text" class="form-control w-50" id="shared_folder_path" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50"
|
||||||
|
>Enable auto retry on Beacon or Ping
|
||||||
|
</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="enable_auto_retry"
|
||||||
|
v-model="settings.enable_auto_retry" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text w-50">message retry attempts</span>
|
||||||
|
<select class="form-select form-select-sm w-50" id="max_retry_attempts">
|
||||||
|
<option value="1">1</option>
|
||||||
|
<option value="2">2</option>
|
||||||
|
<option value="3">3</option>
|
||||||
|
<option value="4">4</option>
|
||||||
|
<option value="5">5</option>
|
||||||
|
<option value="6">6</option>
|
||||||
|
<option value="7">7</option>
|
||||||
|
<option value="8">8</option>
|
||||||
|
<option value="9">9</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</template>
|
76
gui_vue/src/components/settings_exp.vue
Normal file
76
gui_vue/src/components/settings_exp.vue
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
|
||||||
|
import { setActivePinia } from 'pinia';
|
||||||
|
import pinia from '../store/index';
|
||||||
|
setActivePinia(pinia);
|
||||||
|
|
||||||
|
import { useSettingsStore } from '../store/settingsStore.js';
|
||||||
|
const settings = useSettingsStore(pinia);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Enable autotune</label>
|
||||||
|
<label class="input-group-text w-50">
|
||||||
|
<div class="form-check form-switch form-check-inline ms-2">
|
||||||
|
<input class="form-check-input" type="checkbox" id="autoTuneSwitch" v-model="settings.auto_tune" true-value="True" false-value="False" />
|
||||||
|
<label class="form-check-label" for="autoTuneSwitch"
|
||||||
|
>adjust ALC on TX</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Enable FSK mode</label>
|
||||||
|
<label class="input-group-text w-50">
|
||||||
|
<div class="form-check form-switch form-check-inline ms-2">
|
||||||
|
<input class="form-check-input" type="checkbox" id="fskModeSwitch" v-model="settings.enable_fsk" true-value="True" false-value="False"/>
|
||||||
|
<label class="form-check-label" for="fskModeSwitch"
|
||||||
|
>not available, yet</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Enable MESH protocol</label>
|
||||||
|
<label class="input-group-text w-50">
|
||||||
|
<div class="form-check form-switch form-check-inline ms-2">
|
||||||
|
<input
|
||||||
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
id="enableMeshSwitch"
|
||||||
|
v-model="settings.enable_mesh_features" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="enableMeshSwitch"
|
||||||
|
>experimental! REALLY!</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Database maintenance</label>
|
||||||
|
<label class="input-group-text w-50">
|
||||||
|
<button
|
||||||
|
class="btn btn-outline-secondary btn-sm w-50"
|
||||||
|
id="btnCleanDB"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
Clean</button
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="spinner-border text-warning invisible"
|
||||||
|
role="status"
|
||||||
|
id="divCleanDBSpinner"
|
||||||
|
></div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="center">
|
||||||
|
<div class="badge text-bg-danger">
|
||||||
|
<i class="bi bi-shield-exclamation"></i> These options may not work and
|
||||||
|
are for experienced users only!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
125
gui_vue/src/components/settings_gui.vue
Normal file
125
gui_vue/src/components/settings_gui.vue
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
|
||||||
|
import { setActivePinia } from 'pinia';
|
||||||
|
import pinia from '../store/index';
|
||||||
|
setActivePinia(pinia);
|
||||||
|
|
||||||
|
import { useSettingsStore } from '../store/settingsStore.js';
|
||||||
|
const settings = useSettingsStore(pinia);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text w-50">GUI theme</span>
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm w-50"
|
||||||
|
id="theme_selector"
|
||||||
|
@click="testfunction"
|
||||||
|
>
|
||||||
|
<option value="default_light">Default (light)</option>
|
||||||
|
<option value="default_dark">Default (dark)</option>
|
||||||
|
<option value="default_auto">Default (auto)</option>
|
||||||
|
<option value="cerulean">Cerulean</option>
|
||||||
|
<option value="cosmo">Cosmo</option>
|
||||||
|
<option value="cyborg">Cyborg</option>
|
||||||
|
<option value="darkly">Darkly</option>
|
||||||
|
<option value="flatly">Flatly</option>
|
||||||
|
<option value="journal">Journal</option>
|
||||||
|
<option value="litera">Litera</option>
|
||||||
|
<option value="lumen">Lumen</option>
|
||||||
|
<option value="lux">Lux</option>
|
||||||
|
<option value="materia">Materia</option>
|
||||||
|
<option value="minty">Minty</option>
|
||||||
|
<option value="morph">Morhp</option>
|
||||||
|
<option value="pulse">Pulse</option>
|
||||||
|
<option value="quartz">Quartz</option>
|
||||||
|
<option value="sandstone">Sandstone</option>
|
||||||
|
<option value="simplex">Simplex</option>
|
||||||
|
<option value="sketchy">Sketchy</option>
|
||||||
|
<option value="slate">Slate</option>
|
||||||
|
<option value="solar">Solar</option>
|
||||||
|
<option value="spacelab">Spacelab</option>
|
||||||
|
<option value="superhero">Superhero</option>
|
||||||
|
<option value="united">United</option>
|
||||||
|
<option value="vapor">Vapor</option>
|
||||||
|
<option value="yeti">Yeti</option>
|
||||||
|
<option value="zephyr">Zephyr</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text w-50">Waterfall theme</span>
|
||||||
|
<select class="form-select form-select-sm w-50" id="wftheme_selector">
|
||||||
|
<option value="2">Default</option>
|
||||||
|
<option value="0">Turbo</option>
|
||||||
|
<option value="1">Fosphor</option>
|
||||||
|
<option value="3">Inferno</option>
|
||||||
|
<option value="4">Magma</option>
|
||||||
|
<option value="5">Jet</option>
|
||||||
|
<option value="6">Binary</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Enable fancy GUI</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="GraphicsSwitch" v-model="settings.high_graphics" true-value="True" false-value="False"/>
|
||||||
|
<label class="form-check-label" for="GraphicsSwitch"
|
||||||
|
>Higher CPU Usage</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50" for="inputGroupFile02"
|
||||||
|
>Received files folder</label
|
||||||
|
>
|
||||||
|
<input type="text" class="form-control w-50" id="received_files_folder" />
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text w-50">Update channel</span>
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm w-50"
|
||||||
|
id="update_channel_selector"
|
||||||
|
>
|
||||||
|
<option value="latest">stable</option>
|
||||||
|
<option value="beta">beta</option>
|
||||||
|
<option value="alpha">alpha</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Enable notifications</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="NotificationSwitch"
|
||||||
|
v-model="settings.enable_sys_notification" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="NotificationSwitch"
|
||||||
|
>Show system pop-ups</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Auto-start TNC/rigctld</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="AutoStartSwitch"
|
||||||
|
v-model="settings.auto_start" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="AutoStartSwitch"
|
||||||
|
>Start on app launch</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
487
gui_vue/src/components/settings_hamlib.vue
Normal file
487
gui_vue/src/components/settings_hamlib.vue
Normal file
|
@ -0,0 +1,487 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
|
||||||
|
import { setActivePinia } from 'pinia';
|
||||||
|
import pinia from '../store/index';
|
||||||
|
setActivePinia(pinia);
|
||||||
|
|
||||||
|
import { useSettingsStore } from '../store/settingsStore.js';
|
||||||
|
const settings = useSettingsStore(pinia);
|
||||||
|
|
||||||
|
</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"
|
||||||
|
/>
|
||||||
|
</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"
|
||||||
|
/>
|
||||||
|
</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>
|
||||||
|
<input
|
||||||
|
class="form-control"
|
||||||
|
list="datalistOptions"
|
||||||
|
id="hamlib_deviceid"
|
||||||
|
placeholder="Search radio..."
|
||||||
|
style="width: 7rem"
|
||||||
|
/>
|
||||||
|
<datalist id="datalistOptions">
|
||||||
|
<option selected value="-- ignore --">-- ignore --</option>
|
||||||
|
<option value="2028">Kenwood TS480</option>
|
||||||
|
<option value="1">Hamlib Dummy</option>
|
||||||
|
<option value="2">Hamlib NET rigctl</option>
|
||||||
|
<option value="4">FLRig FLRig</option>
|
||||||
|
<option value="5">TRXManager TRXManager 5.7.630+</option>
|
||||||
|
<option value="6">Hamlib Dummy No VFO</option>
|
||||||
|
<option value="1001">Yaesu FT-847</option>
|
||||||
|
<option value="1003">Yaesu FT-1000D</option>
|
||||||
|
<option value="1004">Yaesu MARK-V FT-1000MP</option>
|
||||||
|
<option value="1005">Yaesu FT-747GX</option>
|
||||||
|
<option value="1006">Yaesu FT-757GX</option>
|
||||||
|
<option value="1007">Yaesu FT-757GXII</option>
|
||||||
|
<option value="1009">Yaesu FT-767GX</option>
|
||||||
|
<option value="1010">Yaesu FT-736R</option>
|
||||||
|
<option value="1011">Yaesu FT-840</option>
|
||||||
|
<option value="1013">Yaesu FT-900</option>
|
||||||
|
<option value="1014">Yaesu FT-920</option>
|
||||||
|
<option value="1015">Yaesu FT-890</option>
|
||||||
|
<option value="1016">Yaesu FT-990</option>
|
||||||
|
<option value="1017">Yaesu FRG-100</option>
|
||||||
|
<option value="1018">Yaesu FRG-9600</option>
|
||||||
|
<option value="1019">Yaesu FRG-8800</option>
|
||||||
|
<option value="1020">Yaesu FT-817</option>
|
||||||
|
<option value="1021">Yaesu FT-100</option>
|
||||||
|
<option value="1022">Yaesu FT-857</option>
|
||||||
|
<option value="1023">Yaesu FT-897</option>
|
||||||
|
<option value="1024">Yaesu FT-1000MP</option>
|
||||||
|
<option value="1025">Yaesu MARK-V Field FT-1000MP</option>
|
||||||
|
<option value="1026">Yaesu VR-5000</option>
|
||||||
|
<option value="1027">Yaesu FT-450</option>
|
||||||
|
<option value="1028">Yaesu FT-950</option>
|
||||||
|
<option value="1029">Yaesu FT-2000</option>
|
||||||
|
<option value="1030">Yaesu FTDX-9000</option>
|
||||||
|
<option value="1031">Yaesu FT-980</option>
|
||||||
|
<option value="1032">Yaesu FTDX-5000</option>
|
||||||
|
<option value="1033">Vertex Standard VX-1700</option>
|
||||||
|
<option value="1034">Yaesu FTDX-1200</option>
|
||||||
|
<option value="1035">Yaesu FT-991</option>
|
||||||
|
<option value="1036">Yaesu FT-891</option>
|
||||||
|
<option value="1037">Yaesu FTDX-3000</option>
|
||||||
|
<option value="1038">Yaesu FT-847UNI</option>
|
||||||
|
<option value="1039">Yaesu FT-600</option>
|
||||||
|
<option value="1040">Yaesu FTDX-101D</option>
|
||||||
|
<option value="1041">Yaesu FT-818</option>
|
||||||
|
<option value="1042">Yaesu FTDX-10</option>
|
||||||
|
<option value="1043">Yaesu FT-897D</option>
|
||||||
|
<option value="1044">Yaesu FTDX-101MP</option>
|
||||||
|
<option value="2001">Kenwood TS-50S</option>
|
||||||
|
<option value="2002">Kenwood TS-440S</option>
|
||||||
|
<option value="2003">Kenwood TS-450S</option>
|
||||||
|
<option value="2004">Kenwood TS-570D</option>
|
||||||
|
<option value="2005">Kenwood TS-690S</option>
|
||||||
|
<option value="2006">Kenwood TS-711</option>
|
||||||
|
<option value="2007">Kenwood TS-790</option>
|
||||||
|
<option value="2008">Kenwood TS-811</option>
|
||||||
|
<option value="2009">Kenwood TS-850</option>
|
||||||
|
<option value="2010">Kenwood TS-870S</option>
|
||||||
|
<option value="2011">Kenwood TS-940S</option>
|
||||||
|
<option value="2012">Kenwood TS-950S</option>
|
||||||
|
<option value="2013">Kenwood TS-950SDX</option>
|
||||||
|
<option value="2014">Kenwood TS-2000</option>
|
||||||
|
<option value="2015">Kenwood R-5000</option>
|
||||||
|
<option value="2016">Kenwood TS-570S</option>
|
||||||
|
<option value="2017">Kenwood TH-D7A</option>
|
||||||
|
<option value="2019">Kenwood TH-F6A</option>
|
||||||
|
<option value="2020">Kenwood TH-F7E</option>
|
||||||
|
<option value="2021">Elecraft K2</option>
|
||||||
|
<option value="2022">Kenwood TS-930</option>
|
||||||
|
<option value="2023">Kenwood TH-G71</option>
|
||||||
|
<option value="2024">Kenwood TS-680S</option>
|
||||||
|
<option value="2025">Kenwood TS-140S</option>
|
||||||
|
<option value="2026">Kenwood TM-D700</option>
|
||||||
|
<option value="2027">Kenwood TM-V7</option>
|
||||||
|
<option value="2028">Kenwood TS-480</option>
|
||||||
|
<option value="2029">Elecraft K3</option>
|
||||||
|
<option value="2030">Kenwood TRC-80</option>
|
||||||
|
<option value="2031">Kenwood TS-590S</option>
|
||||||
|
<option value="2032">SigFox Transfox</option>
|
||||||
|
<option value="2033">Kenwood TH-D72A</option>
|
||||||
|
<option value="2034">Kenwood TM-D710(G)</option>
|
||||||
|
<option value="2036">FlexRadio 6xxx</option>
|
||||||
|
<option value="2037">Kenwood TS-590SG</option>
|
||||||
|
<option value="2038">Elecraft XG3</option>
|
||||||
|
<option value="2039">Kenwood TS-990s</option>
|
||||||
|
<option value="2040">OpenHPSDR PiHPSDR</option>
|
||||||
|
<option value="2041">Kenwood TS-890S</option>
|
||||||
|
<option value="2042">Kenwood TH-D74</option>
|
||||||
|
<option value="2043">Elecraft K3S</option>
|
||||||
|
<option value="2044">Elecraft KX2</option>
|
||||||
|
<option value="2045">Elecraft KX3</option>
|
||||||
|
<option value="2046">Hilberling PT-8000A</option>
|
||||||
|
<option value="2047">Elecraft K4</option>
|
||||||
|
<option value="2048">FlexRadio/ANAN PowerSDR/Thetis</option>
|
||||||
|
<option value="2049">Malachite DSP</option>
|
||||||
|
<option value="3002">Icom IC-1275</option>
|
||||||
|
<option value="3003">Icom IC-271</option>
|
||||||
|
<option value="3004">Icom IC-275</option>
|
||||||
|
<option value="3006">Icom IC-471</option>
|
||||||
|
<option value="3007">Icom IC-475</option>
|
||||||
|
<option value="3009">Icom IC-706</option>
|
||||||
|
<option value="3010">Icom IC-706MkII</option>
|
||||||
|
<option value="3011">Icom IC-706MkIIG</option>
|
||||||
|
<option value="3012">Icom IC-707</option>
|
||||||
|
<option value="3013">Icom IC-718</option>
|
||||||
|
<option value="3014">Icom IC-725</option>
|
||||||
|
<option value="3015">Icom IC-726</option>
|
||||||
|
<option value="3016">Icom IC-728</option>
|
||||||
|
<option value="3017">Icom IC-729</option>
|
||||||
|
<option value="3019">Icom IC-735</option>
|
||||||
|
<option value="3020">Icom IC-736</option>
|
||||||
|
<option value="3021">Icom IC-737</option>
|
||||||
|
<option value="3022">Icom IC-738</option>
|
||||||
|
<option value="3023">Icom IC-746</option>
|
||||||
|
<option value="3024">Icom IC-751</option>
|
||||||
|
<option value="3026">Icom IC-756</option>
|
||||||
|
<option value="3027">Icom IC-756PRO</option>
|
||||||
|
<option value="3028">Icom IC-761</option>
|
||||||
|
<option value="3029">Icom IC-765</option>
|
||||||
|
<option value="3030">Icom IC-775</option>
|
||||||
|
<option value="3031">Icom IC-781</option>
|
||||||
|
<option value="3032">Icom IC-820H</option>
|
||||||
|
<option value="3034">Icom IC-821H</option>
|
||||||
|
<option value="3035">Icom IC-970</option>
|
||||||
|
<option value="3036">Icom IC-R10</option>
|
||||||
|
<option value="3037">Icom IC-R71</option>
|
||||||
|
<option value="3038">Icom IC-R72</option>
|
||||||
|
<option value="3039">Icom IC-R75</option>
|
||||||
|
<option value="3040">Icom IC-R7000</option>
|
||||||
|
<option value="3041">Icom IC-R7100</option>
|
||||||
|
<option value="3042">Icom ICR-8500</option>
|
||||||
|
<option value="3043">Icom IC-R9000</option>
|
||||||
|
<option value="3044">Icom IC-910</option>
|
||||||
|
<option value="3045">Icom IC-78</option>
|
||||||
|
<option value="3046">Icom IC-746PRO</option>
|
||||||
|
<option value="3047">Icom IC-756PROII</option>
|
||||||
|
<option value="3051">Ten-Tec Omni VI Plus</option>
|
||||||
|
<option value="3052">Optoelectronics OptoScan535</option>
|
||||||
|
<option value="3053">Optoelectronics OptoScan456</option>
|
||||||
|
<option value="3054">Icom IC ID-1</option>
|
||||||
|
<option value="3055">Icom IC-703</option>
|
||||||
|
<option value="3056">Icom IC-7800</option>
|
||||||
|
<option value="3057">Icom IC-756PROIII</option>
|
||||||
|
<option value="3058">Icom IC-R20</option>
|
||||||
|
<option value="3060">Icom IC-7000</option>
|
||||||
|
<option value="3061">Icom IC-7200</option>
|
||||||
|
<option value="3062">Icom IC-7700</option>
|
||||||
|
<option value="3063">Icom IC-7600</option>
|
||||||
|
<option value="3064">Ten-Tec Delta II</option>
|
||||||
|
<option value="3065">Icom IC-92D</option>
|
||||||
|
<option value="3066">Icom IC-R9500</option>
|
||||||
|
<option value="3067">Icom IC-7410</option>
|
||||||
|
<option value="3068">Icom IC-9100</option>
|
||||||
|
<option value="3069">Icom IC-RX7</option>
|
||||||
|
<option value="3070">Icom IC-7100</option>
|
||||||
|
<option value="3071">Icom ID-5100</option>
|
||||||
|
<option value="3072">Icom IC-2730</option>
|
||||||
|
<option value="3073">Icom IC-7300</option>
|
||||||
|
<option value="3074">Microtelecom Perseus</option>
|
||||||
|
<option value="3075">Icom IC-785x</option>
|
||||||
|
<option value="3076">Xeigu X108G</option>
|
||||||
|
<option value="3077">Icom IC-R6</option>
|
||||||
|
<option value="3078">Icom IC-7610</option>
|
||||||
|
<option value="3079">Icom IC-R8600</option>
|
||||||
|
<option value="3080">Icom IC-R30</option>
|
||||||
|
<option value="3081">Icom IC-9700</option>
|
||||||
|
<option value="3082">Icom ID-4100</option>
|
||||||
|
<option value="3083">Icom ID-31</option>
|
||||||
|
<option value="3084">Icom ID-51</option>
|
||||||
|
<option value="3085">Icom IC-705</option>
|
||||||
|
<option value="4001">Icom IC-PCR1000</option>
|
||||||
|
<option value="4002">Icom IC-PCR100</option>
|
||||||
|
<option value="4003">Icom IC-PCR1500</option>
|
||||||
|
<option value="4004">Icom IC-PCR2500</option>
|
||||||
|
<option value="5001">AOR AR8200</option>
|
||||||
|
<option value="5002">AOR AR8000</option>
|
||||||
|
<option value="5003">AOR AR7030</option>
|
||||||
|
<option value="5004">AOR AR5000</option>
|
||||||
|
<option value="5005">AOR AR3030</option>
|
||||||
|
<option value="5006">AOR AR3000A</option>
|
||||||
|
<option value="5008">AOR AR2700</option>
|
||||||
|
<option value="5013">AOR AR8600</option>
|
||||||
|
<option value="5014">AOR AR5000A</option>
|
||||||
|
<option value="5015">AOR AR7030 Plus</option>
|
||||||
|
<option value="5016">AOR SR2200</option>
|
||||||
|
<option value="6005">JRC NRD-525</option>
|
||||||
|
<option value="6006">JRC NRD-535D</option>
|
||||||
|
<option value="6007">JRC NRD-545 DSP</option>
|
||||||
|
<option value="8001">Uniden BC780xlt</option>
|
||||||
|
<option value="8002">Uniden BC245xlt</option>
|
||||||
|
<option value="8003">Uniden BC895xlt</option>
|
||||||
|
<option value="8004">Radio Shack PRO-2052</option>
|
||||||
|
<option value="8006">Uniden BC250D</option>
|
||||||
|
<option value="8010">Uniden BCD-396T</option>
|
||||||
|
<option value="8011">Uniden BCD-996T</option>
|
||||||
|
<option value="8012">Uniden BC898T</option>
|
||||||
|
<option value="9002">Drake R-8A</option>
|
||||||
|
<option value="9003">Drake R-8B</option>
|
||||||
|
<option value="10004">Lowe HF-235</option>
|
||||||
|
<option value="11003">Racal RA6790/GM</option>
|
||||||
|
<option value="11005">Racal RA3702</option>
|
||||||
|
<option value="12004">Watkins-Johnson WJ-8888</option>
|
||||||
|
<option value="14002">Skanti TRP8000</option>
|
||||||
|
<option value="14004">Skanti TRP 8255 S R</option>
|
||||||
|
<option value="15001">Winradio WR-1000</option>
|
||||||
|
<option value="15002">Winradio WR-1500</option>
|
||||||
|
<option value="15003">Winradio WR-1550</option>
|
||||||
|
<option value="15004">Winradio WR-3100</option>
|
||||||
|
<option value="15005">Winradio WR-3150</option>
|
||||||
|
<option value="15006">Winradio WR-3500</option>
|
||||||
|
<option value="15007">Winradio WR-3700</option>
|
||||||
|
<option value="15009">Winradio WR-G313</option>
|
||||||
|
<option value="16001">Ten-Tec TT-550</option>
|
||||||
|
<option value="16002">Ten-Tec TT-538 Jupiter</option>
|
||||||
|
<option value="16003">Ten-Tec RX-320</option>
|
||||||
|
<option value="16004">Ten-Tec RX-340</option>
|
||||||
|
<option value="16005">Ten-Tec RX-350</option>
|
||||||
|
<option value="16007">Ten-Tec TT-516 Argonaut V</option>
|
||||||
|
<option value="16008">Ten-Tec TT-565 Orion</option>
|
||||||
|
<option value="16009">Ten-Tec TT-585 Paragon</option>
|
||||||
|
<option value="16011">Ten-Tec TT-588 Omni VII</option>
|
||||||
|
<option value="16012">Ten-Tec RX-331</option>
|
||||||
|
<option value="16013">Ten-Tec TT-599 Eagle</option>
|
||||||
|
<option value="17001">Alinco DX-77</option>
|
||||||
|
<option value="17002">Alinco DX-SR8</option>
|
||||||
|
<option value="18001">Kachina 505DSP</option>
|
||||||
|
<option value="22001">TAPR DSP-10</option>
|
||||||
|
<option value="23001">Flex-radio SDR-1000</option>
|
||||||
|
<option value="23003">DTTS Microwave Society DttSP IPC</option>
|
||||||
|
<option value="23004">DTTS Microwave Society DttSP UDP</option>
|
||||||
|
<option value="24001">RFT EKD-500</option>
|
||||||
|
<option value="25001">Elektor Elektor 3/04</option>
|
||||||
|
<option value="25002">SAT-Schneider DRT1</option>
|
||||||
|
<option value="25003">
|
||||||
|
Coding Technologies Digital World Traveller
|
||||||
|
</option>
|
||||||
|
<option value="25006">AmQRP DDS-60</option>
|
||||||
|
<option value="25007">Elektor Elektor SDR-USB</option>
|
||||||
|
<option value="25008">mRS miniVNA</option>
|
||||||
|
<option value="25009">SoftRock Si570 AVR-USB</option>
|
||||||
|
<option value="25011">KTH-SDR kit Si570 PIC-USB</option>
|
||||||
|
<option value="25012">FiFi FiFi-SDR</option>
|
||||||
|
<option value="25013">AMSAT-UK FUNcube Dongle</option>
|
||||||
|
<option value="25014">N2ADR HiQSDR</option>
|
||||||
|
<option value="25015">Funkamateur FA-SDR</option>
|
||||||
|
<option value="25016">AE9RB Si570 Peaberry V1</option>
|
||||||
|
<option value="25017">AE9RB Si570 Peaberry V2</option>
|
||||||
|
<option value="25018">AMSAT-UK FUNcube Dongle Pro+</option>
|
||||||
|
<option value="25019">HobbyPCB RS-HFIQ</option>
|
||||||
|
<option value="26001">Video4Linux SW/FM radio</option>
|
||||||
|
<option value="26002">Video4Linux2 SW/FM radio</option>
|
||||||
|
<option value="27001">Rohde&Schwarz ESMC</option>
|
||||||
|
<option value="27002">Rohde&Schwarz EB200</option>
|
||||||
|
<option value="27003">Rohde&Schwarz XK2100</option>
|
||||||
|
<option value="28001">Philips/Simoco PRM8060</option>
|
||||||
|
<option value="29001">ADAT www.adat.ch ADT-200A</option>
|
||||||
|
<option value="30001">Icom IC-M700PRO</option>
|
||||||
|
<option value="30002">Icom IC-M802</option>
|
||||||
|
<option value="30003">Icom IC-M710</option>
|
||||||
|
<option value="30004">Icom IC-M803</option>
|
||||||
|
<option value="31001">Dorji DRA818V</option>
|
||||||
|
<option value="31002">Dorji DRA818U</option>
|
||||||
|
<option value="32001">Barrett 2050</option>
|
||||||
|
<option value="32002">Barrett 950</option>
|
||||||
|
<option value="33001">ELAD FDM-DUO</option>
|
||||||
|
</datalist>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px"> Device port </span>
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_deviceport"
|
||||||
|
style="width: 7rem"
|
||||||
|
>
|
||||||
|
<!--<option selected value="/dev/ttyUSB0">/dev/ttyUSB0</option>
|
||||||
|
<option value="/dev/ttyUSB1">/dev/ttyUSB1</option>-->
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px">Serial speed</span>
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_serialspeed"
|
||||||
|
>
|
||||||
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
<option value="1200">1200</option>
|
||||||
|
<option value="2400">2400</option>
|
||||||
|
<option value="4800">4800</option>
|
||||||
|
<option value="9600">9600</option>
|
||||||
|
<option value="14400">14400</option>
|
||||||
|
<option value="19200">19200</option>
|
||||||
|
<option value="28800">28800</option>
|
||||||
|
<option value="38400">38400</option>
|
||||||
|
<option value="57600">57600</option>
|
||||||
|
<option value="115200">115200</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px">Data bits</span>
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_data_bits"
|
||||||
|
>
|
||||||
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
<option value="7">7</option>
|
||||||
|
<option value="8">8</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px">Stop bits</span>
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_stop_bits"
|
||||||
|
>
|
||||||
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
<option value="1">1</option>
|
||||||
|
<option value="2">2</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px"
|
||||||
|
>Serial handshake</span
|
||||||
|
>
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_handshake"
|
||||||
|
>
|
||||||
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
<option value="None">None (Default)</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px">PTT device port</span>
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_ptt_port"
|
||||||
|
>
|
||||||
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px">PTT type</span>
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_pttprotocol"
|
||||||
|
style="width: 0.5rem"
|
||||||
|
>
|
||||||
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
<option value="NONE">NONE</option>
|
||||||
|
<option value="RIG">RIG</option>
|
||||||
|
<option value="USB">USB</option>
|
||||||
|
<option value="RTS">Serial RTS</option>
|
||||||
|
<option value="PARALLEL">Rig PARALLEL</option>
|
||||||
|
<option value="MICDATA">Rig MICDATA</option>
|
||||||
|
<option value="CM108">Rig CM108</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px">DCD</span>
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_dcd"
|
||||||
|
style="width: 0.5rem"
|
||||||
|
>
|
||||||
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
<option value="NONE">NONE</option>
|
||||||
|
<option value="RIG">RIG/CAT</option>
|
||||||
|
<option value="DSR">DSR</option>
|
||||||
|
<option value="CTS">CTS</option>
|
||||||
|
<option value="CD">CD</option>
|
||||||
|
<option value="PARALLEL">PARALLEL</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px">DTR</span>
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="hamlib_dtrstate"
|
||||||
|
style="width: 0.5rem"
|
||||||
|
>
|
||||||
|
<option selected value="ignore">-- ignore --</option>
|
||||||
|
<option value="OFF">OFF</option>
|
||||||
|
<option value="ON">ON</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px">Rigctld command</span>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="hamlib_rigctld_command"
|
||||||
|
aria-label="Device Port"
|
||||||
|
aria-describedby="basic-addon1"
|
||||||
|
disabled
|
||||||
|
placeholder="auto populated from above settings"
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
type="button"
|
||||||
|
id="btnHamlibCopyCommand"
|
||||||
|
>
|
||||||
|
<i id="btnHamlibCopyCommandBi" class="bi bi-clipboard"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text" style="width: 180px"
|
||||||
|
>Rigctld custom arguments</span
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="not typically needed"
|
||||||
|
id="hamlib_rigctld_custom_args"
|
||||||
|
aria-label="Custom arguments"
|
||||||
|
aria-describedby="basic-addon1"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
235
gui_vue/src/components/settings_tnc.vue
Normal file
235
gui_vue/src/components/settings_tnc.vue
Normal file
|
@ -0,0 +1,235 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
|
||||||
|
import { setActivePinia } from 'pinia';
|
||||||
|
import pinia from '../store/index';
|
||||||
|
setActivePinia(pinia);
|
||||||
|
|
||||||
|
import { useSettingsStore } from '../store/settingsStore.js';
|
||||||
|
const settings = useSettingsStore(pinia);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">TNC IP</label>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="btn-group btn-group-sm me-2"
|
||||||
|
role="group"
|
||||||
|
aria-label="local-remote-switch toggle button group"
|
||||||
|
data-bs-placement="bottom"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-trigger="hover"
|
||||||
|
data-bs-html="true"
|
||||||
|
title="Select a local or a remote location of your TNC daemon. Normally local is the preferred option."
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
class="btn-check"
|
||||||
|
name="local-remote-switch"
|
||||||
|
id="local-remote-switch1"
|
||||||
|
autocomplete="off"
|
||||||
|
checked
|
||||||
|
/>
|
||||||
|
<label
|
||||||
|
class="btn btn-sm btn-outline-secondary"
|
||||||
|
for="local-remote-switch1"
|
||||||
|
>
|
||||||
|
<i class="bi bi-pc-display-horizontal"></i>
|
||||||
|
<span class="ms-2 me-2">Local tnc</span>
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
class="btn-check"
|
||||||
|
name="local-remote-switch"
|
||||||
|
id="local-remote-switch2"
|
||||||
|
autocomplete="off"
|
||||||
|
/>
|
||||||
|
<label
|
||||||
|
class="btn btn-sm btn-outline-secondary"
|
||||||
|
for="local-remote-switch2"
|
||||||
|
>
|
||||||
|
<i class="bi bi-ethernet"></i>
|
||||||
|
<span class="ms-2 me-2">Remote tnc</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm me-2" id="remote-tnc-field">
|
||||||
|
<span class="input-group-text">tnc ip</span>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="ip address"
|
||||||
|
id="tnc_adress"
|
||||||
|
value="192.168.178.163"
|
||||||
|
maxlength="17"
|
||||||
|
style="width: 8rem"
|
||||||
|
aria-label="Username"
|
||||||
|
aria-describedby="basic-addon1"
|
||||||
|
/>
|
||||||
|
<span class="input-group-text">:</span>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="port"
|
||||||
|
value="3000"
|
||||||
|
id="tnc_port"
|
||||||
|
maxlength="5"
|
||||||
|
max="65534"
|
||||||
|
min="1025"
|
||||||
|
style="width: 4rem"
|
||||||
|
aria-label="Username"
|
||||||
|
aria-describedby="basic-addon1"
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
class="btn btn-sm btn-danger"
|
||||||
|
id="daemon_connection_state"
|
||||||
|
type="button"
|
||||||
|
disabled
|
||||||
|
>
|
||||||
|
<i class="bi bi-diagram-3" style="font-size: 1rem"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
id="openHelpModalLocalRemote"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#localRemoteHelpModal"
|
||||||
|
class="btn m-0 p-0 border-0"
|
||||||
|
>
|
||||||
|
<i class="bi bi-question-circle" style="font-size: 1rem"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">TX delay in ms</label>
|
||||||
|
<select class="form-select form-select-sm" id="tx_delay">
|
||||||
|
<option value="0">0</option>
|
||||||
|
<option value="50">50</option>
|
||||||
|
<option value="100">100</option>
|
||||||
|
<option value="150">150</option>
|
||||||
|
<option value="200">200</option>
|
||||||
|
<option value="250">250</option>
|
||||||
|
<option value="300">300</option>
|
||||||
|
<option value="350">350</option>
|
||||||
|
<option value="400">400</option>
|
||||||
|
<option value="450">450</option>
|
||||||
|
<option value="500">500</option>
|
||||||
|
<option value="550">550</option>
|
||||||
|
<option value="600">600</option>
|
||||||
|
<option value="650">650</option>
|
||||||
|
<option value="700">700</option>
|
||||||
|
<option value="750">750</option>
|
||||||
|
<option value="800">800</option>
|
||||||
|
<option value="850">850</option>
|
||||||
|
<option value="900">900</option>
|
||||||
|
<option value="950">950</option>
|
||||||
|
<option value="1000">1000</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-25">Tuning range</label>
|
||||||
|
<label class="input-group-text">fmin</label>
|
||||||
|
<select class="form-select form-select-sm" id="tuning_range_fmin">
|
||||||
|
<option value="-50.0">-50.0</option>
|
||||||
|
<option value="-100.0">-100.0</option>
|
||||||
|
<option value="-150.0">-150.0</option>
|
||||||
|
<option value="-200.0">-200.0</option>
|
||||||
|
<option value="-250.0">-250.0</option>
|
||||||
|
</select>
|
||||||
|
<label class="input-group-text">fmax</label>
|
||||||
|
<select class="form-select form-select-sm" id="tuning_range_fmax">
|
||||||
|
<option value="50.0">50.0</option>
|
||||||
|
<option value="100.0">100.0</option>
|
||||||
|
<option value="150.0">150.0</option>
|
||||||
|
<option value="200.0">200.0</option>
|
||||||
|
<option value="250.0">250.0</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<span class="input-group-text w-50">Beacon interval</span>
|
||||||
|
<select
|
||||||
|
class="form-select form-select-sm"
|
||||||
|
aria-label=".form-select-sm"
|
||||||
|
id="beaconInterval"
|
||||||
|
style="width: 6rem"
|
||||||
|
>
|
||||||
|
<option value="60">60 secs</option>
|
||||||
|
<option value="90">90 secs</option>
|
||||||
|
<option value="120">2 mins</option>
|
||||||
|
<option selected value="300">5 mins</option>
|
||||||
|
<option value="600">10 mins</option>
|
||||||
|
<option value="900">15 mins</option>
|
||||||
|
<option value="1800">30 mins</option>
|
||||||
|
<option value="3600">60 mins</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Enable waterfall 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="fftSwitch" v-model="settings.enable_fft" true-value="True" false-value="False"/>
|
||||||
|
<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" v-model="settings.enable_scatter" true-value="True" false-value="False"/>
|
||||||
|
<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 only mode</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="250HzModeSwitch"
|
||||||
|
v-model="settings.low_bandwidth_mode" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="250HzModeSwitch">250Hz</label>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Respond to CQ</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="respondCQSwitch"
|
||||||
|
v-model="settings.respond_to_cq" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="respondCQSwitch">QRV</label>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">RX buffer size</label>
|
||||||
|
<label class="input-group-text w-50">
|
||||||
|
<select class="form-select form-select-sm" id="rx_buffer_size">
|
||||||
|
<option value="1">1</option>
|
||||||
|
<option value="2">2</option>
|
||||||
|
<option value="4">4</option>
|
||||||
|
<option value="8">8</option>
|
||||||
|
<option value="16">16</option>
|
||||||
|
<option value="32">32</option>
|
||||||
|
<option value="64">64</option>
|
||||||
|
<option value="128">128</option>
|
||||||
|
<option value="256">256</option>
|
||||||
|
<option value="512">512</option>
|
||||||
|
<option value="1024">1024</option>
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</template>
|
40
gui_vue/src/components/settings_web.vue
Normal file
40
gui_vue/src/components/settings_web.vue
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
|
||||||
|
import { setActivePinia } from 'pinia';
|
||||||
|
import pinia from '../store/index';
|
||||||
|
setActivePinia(pinia);
|
||||||
|
|
||||||
|
import { useSettingsStore } from '../store/settingsStore.js';
|
||||||
|
const settings = useSettingsStore(pinia);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Explorer publishing</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="ExplorerSwitch" v-model="settings.enable_explorer" true-value="True" false-value="False"/>
|
||||||
|
<label class="form-check-label" for="ExplorerSwitch">Publish</label>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm mb-1">
|
||||||
|
<label class="input-group-text w-50">Explorer stats publishing</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="ExplorerStatsSwitch"
|
||||||
|
v-model="settings.enable_stats" true-value="True" false-value="False"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="ExplorerStatsSwitch"
|
||||||
|
>Publish stats</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</template>
|
118
gui_vue/src/js/settingsHandler.js
Normal file
118
gui_vue/src/js/settingsHandler.js
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
const path = require("path");
|
||||||
|
const fs = require("fs");
|
||||||
|
const os = require("os");
|
||||||
|
const logger = require("winston")
|
||||||
|
|
||||||
|
// pinia store setup
|
||||||
|
import { setActivePinia } from 'pinia';
|
||||||
|
import pinia from '../store/index';
|
||||||
|
setActivePinia(pinia);
|
||||||
|
|
||||||
|
import { useSettingsStore } from '../store/settingsStore.js';
|
||||||
|
const settings = useSettingsStore(pinia);
|
||||||
|
// ---------------------------------
|
||||||
|
|
||||||
|
var appDataFolder =
|
||||||
|
process.env.APPDATA ||
|
||||||
|
(process.platform == "darwin"
|
||||||
|
? process.env.HOME + "/Library/Application Support"
|
||||||
|
: process.env.HOME + "/.config");
|
||||||
|
var configFolder = path.join(appDataFolder, "FreeDATA");
|
||||||
|
var configPath = path.join(configFolder, "config.json");
|
||||||
|
|
||||||
|
// create config folder if not exists
|
||||||
|
if (!fs.existsSync(configFolder)) {
|
||||||
|
fs.mkdirSync(configFolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
// create config file if not exists with defaults
|
||||||
|
const configDefaultSettings =
|
||||||
|
'{\
|
||||||
|
"tnc_host": "127.0.0.1",\
|
||||||
|
"tnc_port": "3000",\
|
||||||
|
"daemon_host": "127.0.0.1",\
|
||||||
|
"daemon_port": "3001",\
|
||||||
|
"mycall": "AA0AA-0",\
|
||||||
|
"mygrid": "JN40aa",\
|
||||||
|
"radiocontrol" : "disabled",\
|
||||||
|
"hamlib_deviceid": "RIG_MODEL_DUMMY_NOVFO",\
|
||||||
|
"hamlib_deviceport": "ignore",\
|
||||||
|
"hamlib_stop_bits": "ignore",\
|
||||||
|
"hamlib_data_bits": "ignore",\
|
||||||
|
"hamlib_handshake": "ignore",\
|
||||||
|
"hamlib_serialspeed": "ignore",\
|
||||||
|
"hamlib_dtrstate": "ignore",\
|
||||||
|
"hamlib_pttprotocol": "ignore",\
|
||||||
|
"hamlib_ptt_port": "ignore",\
|
||||||
|
"hamlib_dcd": "ignore",\
|
||||||
|
"hamlbib_serialspeed_ptt": "9600",\
|
||||||
|
"hamlib_rigctld_port" : "4532",\
|
||||||
|
"hamlib_rigctld_ip" : "127.0.0.1",\
|
||||||
|
"hamlib_rigctld_path" : "",\
|
||||||
|
"hamlib_rigctld_server_port" : "4532",\
|
||||||
|
"hamlib_rigctld_custom_args": "",\
|
||||||
|
"tci_port" : "50001",\
|
||||||
|
"tci_ip" : "127.0.0.1",\
|
||||||
|
"spectrum": "waterfall",\
|
||||||
|
"tnclocation": "localhost",\
|
||||||
|
"enable_scatter" : "False",\
|
||||||
|
"enable_fft" : "False",\
|
||||||
|
"enable_fsk" : "False",\
|
||||||
|
"low_bandwidth_mode" : "False",\
|
||||||
|
"theme" : "default",\
|
||||||
|
"screen_height" : 430,\
|
||||||
|
"screen_width" : 1050,\
|
||||||
|
"update_channel" : "latest",\
|
||||||
|
"beacon_interval" : 300,\
|
||||||
|
"received_files_folder" : "None",\
|
||||||
|
"tuning_range_fmin" : "-50.0",\
|
||||||
|
"tuning_range_fmax" : "50.0",\
|
||||||
|
"respond_to_cq" : "True",\
|
||||||
|
"rx_buffer_size" : "16", \
|
||||||
|
"enable_explorer" : "False", \
|
||||||
|
"wftheme": 2, \
|
||||||
|
"high_graphics" : "True",\
|
||||||
|
"explorer_stats" : "False", \
|
||||||
|
"auto_tune" : "False", \
|
||||||
|
"enable_is_writing" : "True", \
|
||||||
|
"shared_folder_path" : ".", \
|
||||||
|
"enable_request_profile" : "True", \
|
||||||
|
"enable_request_shared_folder" : "False", \
|
||||||
|
"max_retry_attempts" : 5, \
|
||||||
|
"enable_auto_retry" : "False", \
|
||||||
|
"tx_delay" : 0, \
|
||||||
|
"auto_start": 0, \
|
||||||
|
"enable_sys_notification": 1, \
|
||||||
|
"enable_mesh_features": "False" \
|
||||||
|
}';
|
||||||
|
|
||||||
|
if (!fs.existsSync(configPath)) {
|
||||||
|
fs.writeFileSync(configPath, configDefaultSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
// load settings
|
||||||
|
var config = require(configPath);
|
||||||
|
|
||||||
|
//config validation
|
||||||
|
// check running config against default config.
|
||||||
|
// if parameter not exists, add it to running config to prevent errors
|
||||||
|
console.log("CONFIG VALIDATION ----------------------------- ");
|
||||||
|
|
||||||
|
var parsedConfig = JSON.parse(configDefaultSettings);
|
||||||
|
for (var key in parsedConfig) {
|
||||||
|
if (config.hasOwnProperty(key)) {
|
||||||
|
console.log("FOUND SETTTING [" + key + "]: " + config[key]);
|
||||||
|
} else {
|
||||||
|
console.log("MISSING SETTTING [" + key + "] : " + parsedConfig[key]);
|
||||||
|
config[key] = parsedConfig[key];
|
||||||
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
||||||
|
}
|
||||||
|
try{
|
||||||
|
settings[key] = parsedConfig[key];
|
||||||
|
} catch(e){
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -29,5 +29,7 @@ console.log("init...")
|
||||||
app.use(pinia)
|
app.use(pinia)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import './js/settingsHandler.js'
|
||||||
import './js/daemon.js'
|
import './js/daemon.js'
|
||||||
import './js/sock.js'
|
import './js/sock.js'
|
||||||
|
|
|
@ -3,101 +3,138 @@ import { ref, computed } from 'vue';
|
||||||
|
|
||||||
export const useSettingsStore = defineStore('settingsStore', () => {
|
export const useSettingsStore = defineStore('settingsStore', () => {
|
||||||
|
|
||||||
|
// network
|
||||||
|
var tnc_host = ref("127.0.0.1");
|
||||||
|
var tnc_port = ref(3000);
|
||||||
|
var daemon_host = ref("127.0.0.1");
|
||||||
|
var daemon_port = ref(3001);
|
||||||
|
var tnclocation = ref("localhost");
|
||||||
|
|
||||||
|
// app
|
||||||
|
var screen_height = ref(430);
|
||||||
|
var screen_width = ref(1050);
|
||||||
|
var theme = ref("default");
|
||||||
|
var wftheme = ref(2);
|
||||||
|
var high_graphics = ref("False");
|
||||||
|
var auto_start = ref(0);
|
||||||
|
var enable_sys_notification = ref(1);
|
||||||
|
|
||||||
|
// chat
|
||||||
|
var shared_folder_path = ref(".");
|
||||||
|
var enable_request_profile = ref("True");
|
||||||
|
var enable_request_shared_folder = ref("False");
|
||||||
|
var max_retry_attempts = ref(5);
|
||||||
|
var enable_auto_retry = ref("False");
|
||||||
|
|
||||||
// station
|
// station
|
||||||
var mycall = ref("AA0AA-0")
|
var mycall = ref("AA0AA-0");
|
||||||
var mygrid = ref("JN40aa")
|
var mygrid = ref("JN20aa");
|
||||||
|
|
||||||
// rigctld
|
// rigctld
|
||||||
var hamlib_rigctld_port = ref(4532)
|
var hamlib_rigctld_port = ref(4532);
|
||||||
var hamlib_rigctld_ip = ref("127.0.0.1")
|
var hamlib_rigctld_ip = ref("127.0.0.1");
|
||||||
/*
|
var radiocontrol = ref("disabled");
|
||||||
"radiocontrol" : "disabled",\
|
var hamlib_deviceid = ref("RIG_MODEL_DUMMY_NOVFO");
|
||||||
"hamlib_deviceid": "RIG_MODEL_DUMMY_NOVFO",\
|
var hamlib_deviceport = ref("ignore");
|
||||||
"hamlib_deviceport": "ignore",\
|
var hamlib_stop_bits = ref("ignore");
|
||||||
"hamlib_stop_bits": "ignore",\
|
var hamlib_data_bits = ref("ignore");
|
||||||
"hamlib_data_bits": "ignore",\
|
var hamlib_handshake = ref("ignore");
|
||||||
"hamlib_handshake": "ignore",\
|
var hamlib_serialspeed = ref("ignore");
|
||||||
"hamlib_serialspeed": "ignore",\
|
var hamlib_dtrstate = ref("ignore");
|
||||||
"hamlib_dtrstate": "ignore",\
|
var hamlib_pttprotocol = ref("ignore");
|
||||||
"hamlib_pttprotocol": "ignore",\
|
var hamlib_ptt_port = ref("ignore");
|
||||||
"hamlib_ptt_port": "ignore",\
|
var hamlib_dcd = ref("ignore");
|
||||||
"hamlib_dcd": "ignore",\
|
var hamlbib_serialspeed_ptt = ref(9600);
|
||||||
"hamlbib_serialspeed_ptt": "9600",\
|
var hamlib_rigctld_port = ref(4532);
|
||||||
"hamlib_rigctld_port" : "4532",\
|
var hamlib_rigctld_ip = ref("127.0.0.1");
|
||||||
"hamlib_rigctld_ip" : "127.0.0.1",\
|
var hamlib_rigctld_path = ref("");
|
||||||
"hamlib_rigctld_path" : "",\
|
var hamlib_rigctld_server_port = ref(4532);
|
||||||
"hamlib_rigctld_server_port" : "4532",\
|
var hamlib_rigctld_custom_args = ref("");
|
||||||
"hamlib_rigctld_custom_args": "",\
|
|
||||||
*/
|
|
||||||
|
|
||||||
// tci
|
// tci
|
||||||
var tci_ip = ref('127.0.0.1')
|
var tci_ip = ref('127.0.0.1');
|
||||||
var tci_port = ref(50001)
|
var tci_port = ref(50001);
|
||||||
|
|
||||||
|
//tnc
|
||||||
|
var spectrum = ref("waterfall");
|
||||||
|
var enable_scatter = ref("False");
|
||||||
|
var enable_fft = ref("False");
|
||||||
|
var enable_fsk = ref("False");
|
||||||
|
var low_bandwidth_mode = ref("False");
|
||||||
|
var update_channel = ref("latest");
|
||||||
|
var beacon_interval = ref(300);
|
||||||
|
var received_files_folder = ref("None");
|
||||||
|
var tuning_range_fmin = ref(-50.0);
|
||||||
|
var tuning_range_fmax = ref(50.0);
|
||||||
|
var respond_to_cq = ref("True");
|
||||||
|
var rx_buffer_size = ref(16);
|
||||||
|
var enable_explorer = ref("False");
|
||||||
|
var explorer_stats = ref("False");
|
||||||
|
var auto_tune = ref("False");
|
||||||
|
var enable_is_writing = ref("True");
|
||||||
|
var tx_delay = ref(0);
|
||||||
|
var enable_mesh_features = ref("False");
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
"tnc_host": "127.0.0.1",\
|
|
||||||
"tnc_port": "3000",\
|
|
||||||
"daemon_host": "127.0.0.1",\
|
|
||||||
"daemon_port": "3001",\
|
|
||||||
|
|
||||||
"radiocontrol" : "disabled",\
|
|
||||||
"hamlib_deviceid": "RIG_MODEL_DUMMY_NOVFO",\
|
|
||||||
"hamlib_deviceport": "ignore",\
|
|
||||||
"hamlib_stop_bits": "ignore",\
|
|
||||||
"hamlib_data_bits": "ignore",\
|
|
||||||
"hamlib_handshake": "ignore",\
|
|
||||||
"hamlib_serialspeed": "ignore",\
|
|
||||||
"hamlib_dtrstate": "ignore",\
|
|
||||||
"hamlib_pttprotocol": "ignore",\
|
|
||||||
"hamlib_ptt_port": "ignore",\
|
|
||||||
"hamlib_dcd": "ignore",\
|
|
||||||
"hamlbib_serialspeed_ptt": "9600",\
|
|
||||||
"hamlib_rigctld_port" : "4532",\
|
|
||||||
"hamlib_rigctld_ip" : "127.0.0.1",\
|
|
||||||
"hamlib_rigctld_path" : "",\
|
|
||||||
"hamlib_rigctld_server_port" : "4532",\
|
|
||||||
"hamlib_rigctld_custom_args": "",\
|
|
||||||
|
|
||||||
"spectrum": "waterfall",\
|
|
||||||
"tnclocation": "localhost",\
|
|
||||||
"enable_scatter" : "False",\
|
|
||||||
"enable_fft" : "False",\
|
|
||||||
"enable_fsk" : "False",\
|
|
||||||
"low_bandwidth_mode" : "False",\
|
|
||||||
"theme" : "default",\
|
|
||||||
"screen_height" : 430,\
|
|
||||||
"screen_width" : 1050,\
|
|
||||||
"update_channel" : "latest",\
|
|
||||||
"beacon_interval" : 300,\
|
|
||||||
"received_files_folder" : "None",\
|
|
||||||
"tuning_range_fmin" : "-50.0",\
|
|
||||||
"tuning_range_fmax" : "50.0",\
|
|
||||||
"respond_to_cq" : "True",\
|
|
||||||
"rx_buffer_size" : "16", \
|
|
||||||
"enable_explorer" : "False", \
|
|
||||||
"wftheme": 2, \
|
|
||||||
"high_graphics" : "True",\
|
|
||||||
"explorer_stats" : "False", \
|
|
||||||
"auto_tune" : "False", \
|
|
||||||
"enable_is_writing" : "True", \
|
|
||||||
"shared_folder_path" : ".", \
|
|
||||||
"enable_request_profile" : "True", \
|
|
||||||
"enable_request_shared_folder" : "False", \
|
|
||||||
"max_retry_attempts" : 5, \
|
|
||||||
"enable_auto_retry" : "False", \
|
|
||||||
"tx_delay" : 0, \
|
|
||||||
"auto_start": 0, \
|
|
||||||
"enable_sys_notification": 1, \
|
|
||||||
"enable_mesh_features": "False" \
|
|
||||||
*/
|
|
||||||
return {
|
return {
|
||||||
|
tnc_host,
|
||||||
|
tnc_port,
|
||||||
|
daemon_host,
|
||||||
|
daemon_port,
|
||||||
|
tnclocation,
|
||||||
|
screen_height,
|
||||||
|
screen_width,
|
||||||
|
theme,
|
||||||
|
wftheme,
|
||||||
|
high_graphics,
|
||||||
|
auto_start,
|
||||||
|
enable_sys_notification,
|
||||||
|
shared_folder_path,
|
||||||
|
enable_request_profile,
|
||||||
|
enable_request_shared_folder,
|
||||||
|
max_retry_attempts,
|
||||||
|
enable_auto_retry,
|
||||||
mycall,
|
mycall,
|
||||||
mygrid,
|
mygrid,
|
||||||
|
hamlib_rigctld_port,
|
||||||
|
hamlib_rigctld_ip,
|
||||||
|
radiocontrol,
|
||||||
|
hamlib_deviceid,
|
||||||
|
hamlib_deviceport,
|
||||||
|
hamlib_stop_bits,
|
||||||
|
hamlib_data_bits,
|
||||||
|
hamlib_handshake,
|
||||||
|
hamlib_serialspeed,
|
||||||
|
hamlib_dtrstate,
|
||||||
|
hamlib_pttprotocol,
|
||||||
|
hamlib_ptt_port,
|
||||||
|
hamlib_dcd,
|
||||||
|
hamlbib_serialspeed_ptt,
|
||||||
|
hamlib_rigctld_port,
|
||||||
|
hamlib_rigctld_ip,
|
||||||
|
hamlib_rigctld_path,
|
||||||
|
hamlib_rigctld_server_port,
|
||||||
|
hamlib_rigctld_custom_args,
|
||||||
tci_ip,
|
tci_ip,
|
||||||
tci_port,
|
tci_port,
|
||||||
hamlib_rigctld_ip,
|
spectrum,
|
||||||
hamlib_rigctld_port
|
enable_scatter,
|
||||||
|
enable_fft,
|
||||||
|
enable_fsk,
|
||||||
|
low_bandwidth_mode,
|
||||||
|
update_channel,
|
||||||
|
beacon_interval,
|
||||||
|
received_files_folder,
|
||||||
|
tuning_range_fmin,
|
||||||
|
tuning_range_fmax,
|
||||||
|
respond_to_cq,
|
||||||
|
rx_buffer_size,
|
||||||
|
enable_explorer,
|
||||||
|
explorer_stats,
|
||||||
|
auto_tune,
|
||||||
|
enable_is_writing,
|
||||||
|
tx_delay,
|
||||||
|
enable_mesh_features
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue