mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
fixed audio tuning and recording
This commit is contained in:
parent
d579dcf60a
commit
c7b07411d7
|
@ -12,6 +12,7 @@ const state = useStateStore(pinia);
|
|||
import { useSettingsStore } from '../store/settingsStore.js';
|
||||
const settings = useSettingsStore(pinia);
|
||||
|
||||
import main_modals from './main_modals.vue'
|
||||
import main_top_navbar from './main_top_navbar.vue'
|
||||
import main_audio from './main_audio.vue'
|
||||
import main_rig_control from './main_rig_control.vue'
|
||||
|
@ -1657,895 +1658,8 @@ function changeGuiDesign(design) {
|
|||
|
||||
|
||||
|
||||
<main_modals/>
|
||||
|
||||
<!-- HELP MODALS AUDIO -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="audioHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<div class="input-group input-group-sm mb-1">
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-mic-fill" style="font-size: 1rem"></i>
|
||||
</span>
|
||||
<select
|
||||
class="form-select form-select-sm"
|
||||
aria-label=".form-select-sm"
|
||||
disabled
|
||||
>
|
||||
<!-- <option selected value="3011">USB Interface</option>-->
|
||||
</select>
|
||||
</div>
|
||||
<p class="card-text">
|
||||
Select your audio device for transmitting. It
|
||||
<strong>must</strong> be using a sample rate of
|
||||
<strong>48000Hz</strong>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-volume-up" style="font-size: 1rem"></i>
|
||||
</span>
|
||||
<select
|
||||
class="form-select form-select-sm"
|
||||
aria-label=".form-select-sm"
|
||||
disabled
|
||||
></select>
|
||||
</div>
|
||||
<p class="card-text">
|
||||
Select your audio device for receiving. It
|
||||
<strong>must</strong> be using a sample rate of
|
||||
<strong>48000Hz</strong>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS RIGCONTROL -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="rigcontrolHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Rig Control</h5>
|
||||
<p class="card-text">
|
||||
This section is where you configure rig control method (none
|
||||
(VOX) or hamlib) for both GUI and TNC. For the best experience
|
||||
hamlib control is recommended.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">None/Vox</h5>
|
||||
<p class="card-text">
|
||||
Select "None/Vox" if you want to use Vox for triggering PTT.
|
||||
No connection to rigctld will be established. No frequency
|
||||
information is availble.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Hamlib</h5>
|
||||
<p class="card-text">
|
||||
Select "Hamlib" if you want to have more control over your
|
||||
radio. Define your hamlib settings in settings, and click the
|
||||
start button to start rigctld. You may use the 'PTT test'
|
||||
button to ensure rig control is working.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS STATION -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="stationHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert alert-info" role="alert">
|
||||
These settings will be saved automatically when changing.
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div
|
||||
class="input-group input-group-sm mb-0"
|
||||
data-bs-placement="bottom"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-trigger="hover"
|
||||
data-bs-html="false"
|
||||
title="Enter your callsign and save it"
|
||||
>
|
||||
<span class="input-group-text">
|
||||
<i
|
||||
class="bi bi-person-bounding-box"
|
||||
style="font-size: 1rem"
|
||||
></i>
|
||||
</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
placeholder="callsign"
|
||||
pattern="[A-Z]*"
|
||||
maxlength="8"
|
||||
style="max-width: 8rem"
|
||||
aria-label="Input group"
|
||||
aria-describedby="btnGroupAddon"
|
||||
disabled
|
||||
/>
|
||||
<select
|
||||
class="form-select form-select-sm"
|
||||
aria-label=".form-select-sm"
|
||||
style="max-width: 6rem"
|
||||
disabled
|
||||
>
|
||||
<option selected value="SSID">SSID</option>
|
||||
</select>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Enter your callsign and SSID. Your callsign can have a maximum
|
||||
length of 7 characters
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div
|
||||
class="input-group input-group-sm mb-0"
|
||||
data-bs-placement="bottom"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-trigger="hover"
|
||||
data-bs-html="false"
|
||||
title="Enter your gridsquare and save it"
|
||||
>
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-house-fill" style="font-size: 1rem"></i>
|
||||
</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control mr-1"
|
||||
style="max-width: 6rem"
|
||||
placeholder="locator"
|
||||
maxlength="6"
|
||||
aria-label="Input group"
|
||||
aria-describedby="btnGroupAddon"
|
||||
disabled
|
||||
/>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Enter your position as a 4 or 6 digit grid square, also known
|
||||
as a maidenhead locator. Six digits are recommended.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS UPDATER -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="updaterHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Auto-Updater</h5>
|
||||
<p class="card-text">
|
||||
The auto updater loads the latest version from Github and
|
||||
installs it automatically. You can select the update channel
|
||||
in settings. Once an update has been downlaoded, you need to
|
||||
confirm the auto-installation and restart.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Alpha</h5>
|
||||
<p class="card-text">
|
||||
Alpha releases are more frequent and contain the latest
|
||||
features, but are likely to be unstable and introduce bugs.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Beta</h5>
|
||||
<p class="card-text">
|
||||
Beta releases are more stable than Alpha releases. They are a
|
||||
good tradeoff between latest features and stability. They will
|
||||
be updated less often. A beta release has not been released
|
||||
yet.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Stable</h5>
|
||||
<p class="card-text">
|
||||
Stable releases are the most stable versions with no known
|
||||
major issues. A stable release has not been released yet.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS LOCAL REMOTE -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="localRemoteHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<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"
|
||||
autocomplete="off"
|
||||
checked
|
||||
disabled
|
||||
/>
|
||||
<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"
|
||||
autocomplete="off"
|
||||
disabled
|
||||
/>
|
||||
<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>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Local / Remote switch. If the TNC is running on the same
|
||||
computer as the GUI, select local. Otherwise choose remote and
|
||||
enter the IP/Port of where the TNC is running.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div class="input-group input-group-sm me-2">
|
||||
<span class="input-group-text">tnc ip</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
placeholder="ip address"
|
||||
value="192.168.178.163"
|
||||
maxlength="17"
|
||||
style="width: 8rem"
|
||||
aria-label="Username"
|
||||
aria-describedby="basic-addon1"
|
||||
disabled
|
||||
/>
|
||||
<span class="input-group-text">:</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
placeholder="port"
|
||||
value="3000"
|
||||
maxlength="5"
|
||||
max="65534"
|
||||
min="1025"
|
||||
style="width: 4rem"
|
||||
aria-label="Username"
|
||||
aria-describedby="basic-addon1"
|
||||
disabled
|
||||
/>
|
||||
<button
|
||||
class="btn btn-sm btn-danger"
|
||||
type="button"
|
||||
disabled
|
||||
>
|
||||
<i class="bi bi-diagram-3" style="font-size: 1rem"></i>
|
||||
</button>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Remote IP of TNC. Port is port of daemon. The tnc port will
|
||||
automatically adjusted. ( daemon port - 1 )
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- HELP MODALS START STOP TNC -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="startStopTNCHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div class="btn-group" role="group">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-outline-success"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-trigger="hover"
|
||||
data-bs-html="false"
|
||||
title="Start the TNC. Please set your audio and radio settings first!"
|
||||
disabled
|
||||
>
|
||||
<i class="bi bi-play-fill"></i>
|
||||
<span class="ms-2">Start tnc</span>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-outline-danger"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-trigger="hover"
|
||||
data-bs-html="false"
|
||||
title="Stop the TNC."
|
||||
disabled
|
||||
>
|
||||
<i class="bi bi-stop-fill"></i>
|
||||
<span class="ms-2">Stop tnc</span>
|
||||
</button>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Start or stop the TNC service. The TNC daemon must be running
|
||||
and will work whether the TNC is local or remote.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS AUDIO LEVEL -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="audioLevelHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div class="progress mb-0" style="height: 22px">
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-primary force-gpu"
|
||||
role="progressbar"
|
||||
style="width: 5%"
|
||||
aria-valuenow="5"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<p
|
||||
class="justify-content-center d-flex position-absolute w-100"
|
||||
>
|
||||
-38 dBFS (Audio Level)
|
||||
</p>
|
||||
</div>
|
||||
<div class="progress mb-0" style="height: 8px">
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-warning"
|
||||
role="progressbar"
|
||||
style="width: 1%"
|
||||
aria-valuenow="1"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar bg-success"
|
||||
role="progressbar"
|
||||
style="width: 89%"
|
||||
aria-valuenow="50"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-warning"
|
||||
role="progressbar"
|
||||
style="width: 20%"
|
||||
aria-valuenow="20"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-danger"
|
||||
role="progressbar"
|
||||
style="width: 29%"
|
||||
aria-valuenow="29"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Represents the level of audio from transceiver. Excessively
|
||||
high levels will affect decoding performance negatively.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div class="progress mb-0" style="height: 22px">
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-primary force-gpu"
|
||||
role="progressbar"
|
||||
style="width: 30%"
|
||||
aria-valuenow="0"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<p
|
||||
class="justify-content-center d-flex position-absolute w-100"
|
||||
id="noise_level_value"
|
||||
>
|
||||
-24 S-Meter (dBm)
|
||||
</p>
|
||||
</div>
|
||||
<div class="progress mb-0" style="height: 8px">
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-warning"
|
||||
role="progressbar"
|
||||
style="width: 1%"
|
||||
aria-valuenow="1"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar bg-success"
|
||||
role="progressbar"
|
||||
style="width: 89%"
|
||||
aria-valuenow="50"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-warning"
|
||||
role="progressbar"
|
||||
style="width: 20%"
|
||||
aria-valuenow="20"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-danger"
|
||||
role="progressbar"
|
||||
style="width: 29%"
|
||||
aria-valuenow="29"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Represents noise level of the channel from the transceiver.
|
||||
Requires hamlib rig control.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-outline-secondary"
|
||||
>
|
||||
Tune
|
||||
</button>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Adjust volume level of outgoing audio to transceiver. For best
|
||||
results lower the level so that a minimum amount of ALC is
|
||||
used. Can be used in combination with rig's mic/input gain for
|
||||
furthrer refinement.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<button type="button" class="btn btn-sm btn-outline-danger">
|
||||
Record audio
|
||||
</button>
|
||||
</h5>
|
||||
<p class="card-text">Create a recording of current channel</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS BROADCASTS -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="broadcastsHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<button
|
||||
class="btn btn-sm btn-outline-secondary ms-1"
|
||||
type="button"
|
||||
disabled
|
||||
>
|
||||
Ping
|
||||
</button>
|
||||
<p class="card-text">
|
||||
Send a ping to a remote station by entering a callsign and
|
||||
optional SSID (-0 will be used if not specified.)
|
||||
Alternatively click on a station in the heard station list to
|
||||
populate the call sign field. If the remote station decodes
|
||||
the ping it will transmit a reply. If able to decode the
|
||||
reply, a signal report will be listed in the heard station
|
||||
list.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<button
|
||||
class="btn btn-sm btn-outline-secondary"
|
||||
type="button"
|
||||
disabled
|
||||
>
|
||||
Call CQ
|
||||
</button>
|
||||
<p class="card-text">Sending out a CQ CQ CQ to the world.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-outline-secondary"
|
||||
disabled
|
||||
>
|
||||
<i class="bi bi-soundwave"></i>Toggle beacon
|
||||
</button>
|
||||
<p class="card-text">
|
||||
Sends a periodic broadcast (duration is definable in settings)
|
||||
that announces you are available. Check explorer to see other
|
||||
active stations that may have decoded your beacon.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS WATERFALL -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="waterfallHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Waterfall
|
||||
<input
|
||||
type="radio"
|
||||
class="btn-check"
|
||||
name="waterfall-scatter-switch"
|
||||
autocomplete="off"
|
||||
checked
|
||||
/>
|
||||
<label
|
||||
class="btn btn-sm btn-outline-secondary"
|
||||
for="waterfall-scatter-switch1"
|
||||
><strong><i class="bi bi-water"></i></strong>
|
||||
</label>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Displays a waterfall for activity of current channel.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Busy Indicator
|
||||
|
||||
<button class="btn btn-sm btn-success" type="button">
|
||||
busy
|
||||
</button>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Green when channel is open and changes to red to indicate
|
||||
there is activity on the channel.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Signal Indicator
|
||||
<button class="btn btn-sm btn-success" type="button">
|
||||
signal
|
||||
</button>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Changes to green when Codec2 data is detected on channel.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Constellation Plot
|
||||
<input type="radio" class="btn-check" autocomplete="off" />
|
||||
<label class="btn btn-sm btn-outline-secondary"
|
||||
><strong><i class="bi bi-border-outer"></i></strong>
|
||||
</label>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Displays a plot of last decoded message. A constellation plot
|
||||
is a simple way to represent signal quality.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Speed Chart
|
||||
|
||||
<input type="radio" class="btn-check" autocomplete="off" />
|
||||
<label class="btn btn-sm btn-outline-secondary"
|
||||
><strong><i class="bi bi-graph-up-arrow"></i></strong>
|
||||
</label>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Shows history of SNR and bit rate of messages.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- HELP MODALS HEARD STATIONS -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="heardStationsHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Station List Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<p class="card-text">
|
||||
Stations that you've been able to decode will be listed here.
|
||||
Details such as time, frequency, message type, call sign,
|
||||
location and SNR will be listed. Existing entries are updated
|
||||
if they already exist and more detailed history can be viewed
|
||||
in chat window for each station.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- AUDIO MODAL -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="audioModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Audio tuning</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="input-group input-group-sm mb-1">
|
||||
<span class="input-group-text">Test-Frame</span>
|
||||
<button type="button" id="sendTestFrame" class="btn btn-danger">
|
||||
Transmit
|
||||
</button>
|
||||
</div>
|
||||
<div class="input-group input-group-sm mb-1">
|
||||
<span class="input-group-text">TX Level</span>
|
||||
<span class="input-group-text" id="audioLevelTXvalue">---</span>
|
||||
<span class="input-group-text w-75">
|
||||
<input
|
||||
type="range"
|
||||
class="form-range"
|
||||
min="0"
|
||||
max="250"
|
||||
step="1"
|
||||
id="audioLevelTX"
|
||||
/></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</template>
|
||||
|
|
|
@ -12,6 +12,15 @@ const settings = useSettingsStore(pinia);
|
|||
import { useStateStore } from '../store/stateStore.js';
|
||||
const state = useStateStore(pinia);
|
||||
|
||||
import {record_audio, sendTestFrame} from '../js/sock.js'
|
||||
|
||||
|
||||
|
||||
function startStopRecordAudio(){
|
||||
record_audio()
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
<template>
|
||||
<div class="card mb-1">
|
||||
|
@ -38,9 +47,12 @@ const state = useStateStore(pinia);
|
|||
<button
|
||||
type="button"
|
||||
id="startStopRecording"
|
||||
class="btn btn-sm btn-outline-danger"
|
||||
class="btn btn-sm"
|
||||
@click="startStopRecordAudio()"
|
||||
v-bind:class="{ 'btn-outline-secondary' : state.audio_recording === 'False',
|
||||
'btn-secondary' : state.audio_recording === 'True'}"
|
||||
>
|
||||
Record audio
|
||||
Record
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-1 text-end">
|
||||
|
|
|
@ -84,7 +84,6 @@ function startStopBeacon(){
|
|||
maxlength="11"
|
||||
aria-label="Input group"
|
||||
aria-describedby="btnGroupAddon"
|
||||
v-model="text"
|
||||
/>
|
||||
<button
|
||||
class="btn btn-sm btn-outline-secondary ms-1"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<script setup lang="ts">
|
||||
|
||||
import {saveSettingsToFile} from '../js/settingsHandler'
|
||||
|
||||
import {saveSettingsToFile} from '../js/settingsHandler';
|
||||
|
||||
import { setActivePinia } from 'pinia';
|
||||
import pinia from '../store/index';
|
||||
|
@ -34,7 +35,15 @@ switch (event.target.id) {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<template>
|
||||
<div class="card mb-1">
|
||||
<div class="card-header p-1">
|
||||
|
|
923
gui_vue/src/components/main_modals.vue
Normal file
923
gui_vue/src/components/main_modals.vue
Normal file
|
@ -0,0 +1,923 @@
|
|||
<script setup lang="ts">
|
||||
|
||||
import {saveSettingsToFile} from '../js/settingsHandler'
|
||||
|
||||
import { setActivePinia } from 'pinia';
|
||||
import pinia from '../store/index';
|
||||
setActivePinia(pinia);
|
||||
|
||||
import { useSettingsStore } from '../store/settingsStore.js';
|
||||
const settings = useSettingsStore(pinia);
|
||||
|
||||
import { useStateStore } from '../store/stateStore.js';
|
||||
const state = useStateStore(pinia);
|
||||
|
||||
import {sendTestFrame, setTxAudioLevel} from '../js/sock.js'
|
||||
|
||||
|
||||
function tuneAudio(){
|
||||
sendTestFrame()
|
||||
}
|
||||
|
||||
function set_audio_level(obj){
|
||||
|
||||
setTxAudioLevel(state.audio_level)
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
<!-- HELP MODALS AUDIO -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="audioHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<div class="input-group input-group-sm mb-1">
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-mic-fill" style="font-size: 1rem"></i>
|
||||
</span>
|
||||
<select
|
||||
class="form-select form-select-sm"
|
||||
aria-label=".form-select-sm"
|
||||
disabled
|
||||
>
|
||||
<!-- <option selected value="3011">USB Interface</option>-->
|
||||
</select>
|
||||
</div>
|
||||
<p class="card-text">
|
||||
Select your audio device for transmitting. It
|
||||
<strong>must</strong> be using a sample rate of
|
||||
<strong>48000Hz</strong>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-volume-up" style="font-size: 1rem"></i>
|
||||
</span>
|
||||
<select
|
||||
class="form-select form-select-sm"
|
||||
aria-label=".form-select-sm"
|
||||
disabled
|
||||
></select>
|
||||
</div>
|
||||
<p class="card-text">
|
||||
Select your audio device for receiving. It
|
||||
<strong>must</strong> be using a sample rate of
|
||||
<strong>48000Hz</strong>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS RIGCONTROL -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="rigcontrolHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Rig Control</h5>
|
||||
<p class="card-text">
|
||||
This section is where you configure rig control method (none
|
||||
(VOX) or hamlib) for both GUI and TNC. For the best experience
|
||||
hamlib control is recommended.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">None/Vox</h5>
|
||||
<p class="card-text">
|
||||
Select "None/Vox" if you want to use Vox for triggering PTT.
|
||||
No connection to rigctld will be established. No frequency
|
||||
information is availble.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Hamlib</h5>
|
||||
<p class="card-text">
|
||||
Select "Hamlib" if you want to have more control over your
|
||||
radio. Define your hamlib settings in settings, and click the
|
||||
start button to start rigctld. You may use the 'PTT test'
|
||||
button to ensure rig control is working.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS STATION -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="stationHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert alert-info" role="alert">
|
||||
These settings will be saved automatically when changing.
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div
|
||||
class="input-group input-group-sm mb-0"
|
||||
data-bs-placement="bottom"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-trigger="hover"
|
||||
data-bs-html="false"
|
||||
title="Enter your callsign and save it"
|
||||
>
|
||||
<span class="input-group-text">
|
||||
<i
|
||||
class="bi bi-person-bounding-box"
|
||||
style="font-size: 1rem"
|
||||
></i>
|
||||
</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
placeholder="callsign"
|
||||
pattern="[A-Z]*"
|
||||
maxlength="8"
|
||||
style="max-width: 8rem"
|
||||
aria-label="Input group"
|
||||
aria-describedby="btnGroupAddon"
|
||||
disabled
|
||||
/>
|
||||
<select
|
||||
class="form-select form-select-sm"
|
||||
aria-label=".form-select-sm"
|
||||
style="max-width: 6rem"
|
||||
disabled
|
||||
>
|
||||
<option selected value="SSID">SSID</option>
|
||||
</select>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Enter your callsign and SSID. Your callsign can have a maximum
|
||||
length of 7 characters
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div
|
||||
class="input-group input-group-sm mb-0"
|
||||
data-bs-placement="bottom"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-trigger="hover"
|
||||
data-bs-html="false"
|
||||
title="Enter your gridsquare and save it"
|
||||
>
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-house-fill" style="font-size: 1rem"></i>
|
||||
</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control mr-1"
|
||||
style="max-width: 6rem"
|
||||
placeholder="locator"
|
||||
maxlength="6"
|
||||
aria-label="Input group"
|
||||
aria-describedby="btnGroupAddon"
|
||||
disabled
|
||||
/>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Enter your position as a 4 or 6 digit grid square, also known
|
||||
as a maidenhead locator. Six digits are recommended.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS UPDATER -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="updaterHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Auto-Updater</h5>
|
||||
<p class="card-text">
|
||||
The auto updater loads the latest version from Github and
|
||||
installs it automatically. You can select the update channel
|
||||
in settings. Once an update has been downlaoded, you need to
|
||||
confirm the auto-installation and restart.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Alpha</h5>
|
||||
<p class="card-text">
|
||||
Alpha releases are more frequent and contain the latest
|
||||
features, but are likely to be unstable and introduce bugs.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Beta</h5>
|
||||
<p class="card-text">
|
||||
Beta releases are more stable than Alpha releases. They are a
|
||||
good tradeoff between latest features and stability. They will
|
||||
be updated less often. A beta release has not been released
|
||||
yet.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Stable</h5>
|
||||
<p class="card-text">
|
||||
Stable releases are the most stable versions with no known
|
||||
major issues. A stable release has not been released yet.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS LOCAL REMOTE -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="localRemoteHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<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"
|
||||
autocomplete="off"
|
||||
checked
|
||||
disabled
|
||||
/>
|
||||
<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"
|
||||
autocomplete="off"
|
||||
disabled
|
||||
/>
|
||||
<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>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Local / Remote switch. If the TNC is running on the same
|
||||
computer as the GUI, select local. Otherwise choose remote and
|
||||
enter the IP/Port of where the TNC is running.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div class="input-group input-group-sm me-2">
|
||||
<span class="input-group-text">tnc ip</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
placeholder="ip address"
|
||||
value="192.168.178.163"
|
||||
maxlength="17"
|
||||
style="width: 8rem"
|
||||
aria-label="Username"
|
||||
aria-describedby="basic-addon1"
|
||||
disabled
|
||||
/>
|
||||
<span class="input-group-text">:</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
placeholder="port"
|
||||
value="3000"
|
||||
maxlength="5"
|
||||
max="65534"
|
||||
min="1025"
|
||||
style="width: 4rem"
|
||||
aria-label="Username"
|
||||
aria-describedby="basic-addon1"
|
||||
disabled
|
||||
/>
|
||||
<button
|
||||
class="btn btn-sm btn-danger"
|
||||
type="button"
|
||||
disabled
|
||||
>
|
||||
<i class="bi bi-diagram-3" style="font-size: 1rem"></i>
|
||||
</button>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Remote IP of TNC. Port is port of daemon. The tnc port will
|
||||
automatically adjusted. ( daemon port - 1 )
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- HELP MODALS START STOP TNC -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="startStopTNCHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div class="btn-group" role="group">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-outline-success"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-trigger="hover"
|
||||
data-bs-html="false"
|
||||
title="Start the TNC. Please set your audio and radio settings first!"
|
||||
disabled
|
||||
>
|
||||
<i class="bi bi-play-fill"></i>
|
||||
<span class="ms-2">Start tnc</span>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-outline-danger"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-trigger="hover"
|
||||
data-bs-html="false"
|
||||
title="Stop the TNC."
|
||||
disabled
|
||||
>
|
||||
<i class="bi bi-stop-fill"></i>
|
||||
<span class="ms-2">Stop tnc</span>
|
||||
</button>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Start or stop the TNC service. The TNC daemon must be running
|
||||
and will work whether the TNC is local or remote.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS AUDIO LEVEL -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="audioLevelHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div class="progress mb-0" style="height: 22px">
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-primary force-gpu"
|
||||
role="progressbar"
|
||||
style="width: 5%"
|
||||
aria-valuenow="5"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<p
|
||||
class="justify-content-center d-flex position-absolute w-100"
|
||||
>
|
||||
-38 dBFS (Audio Level)
|
||||
</p>
|
||||
</div>
|
||||
<div class="progress mb-0" style="height: 8px">
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-warning"
|
||||
role="progressbar"
|
||||
style="width: 1%"
|
||||
aria-valuenow="1"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar bg-success"
|
||||
role="progressbar"
|
||||
style="width: 89%"
|
||||
aria-valuenow="50"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-warning"
|
||||
role="progressbar"
|
||||
style="width: 20%"
|
||||
aria-valuenow="20"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-danger"
|
||||
role="progressbar"
|
||||
style="width: 29%"
|
||||
aria-valuenow="29"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Represents the level of audio from transceiver. Excessively
|
||||
high levels will affect decoding performance negatively.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<div class="progress mb-0" style="height: 22px">
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-primary force-gpu"
|
||||
role="progressbar"
|
||||
style="width: 30%"
|
||||
aria-valuenow="0"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<p
|
||||
class="justify-content-center d-flex position-absolute w-100"
|
||||
id="noise_level_value"
|
||||
>
|
||||
-24 S-Meter (dBm)
|
||||
</p>
|
||||
</div>
|
||||
<div class="progress mb-0" style="height: 8px">
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-warning"
|
||||
role="progressbar"
|
||||
style="width: 1%"
|
||||
aria-valuenow="1"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar bg-success"
|
||||
role="progressbar"
|
||||
style="width: 89%"
|
||||
aria-valuenow="50"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-warning"
|
||||
role="progressbar"
|
||||
style="width: 20%"
|
||||
aria-valuenow="20"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
<div
|
||||
class="progress-bar progress-bar-striped bg-danger"
|
||||
role="progressbar"
|
||||
style="width: 29%"
|
||||
aria-valuenow="29"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
></div>
|
||||
</div>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Represents noise level of the channel from the transceiver.
|
||||
Requires hamlib rig control.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-outline-secondary"
|
||||
>
|
||||
Tune
|
||||
</button>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Adjust volume level of outgoing audio to transceiver. For best
|
||||
results lower the level so that a minimum amount of ALC is
|
||||
used. Can be used in combination with rig's mic/input gain for
|
||||
furthrer refinement.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<button type="button" class="btn btn-sm btn-outline-danger">
|
||||
Record audio
|
||||
</button>
|
||||
</h5>
|
||||
<p class="card-text">Create a recording of current channel</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS BROADCASTS -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="broadcastsHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<button
|
||||
class="btn btn-sm btn-outline-secondary ms-1"
|
||||
type="button"
|
||||
disabled
|
||||
>
|
||||
Ping
|
||||
</button>
|
||||
<p class="card-text">
|
||||
Send a ping to a remote station by entering a callsign and
|
||||
optional SSID (-0 will be used if not specified.)
|
||||
Alternatively click on a station in the heard station list to
|
||||
populate the call sign field. If the remote station decodes
|
||||
the ping it will transmit a reply. If able to decode the
|
||||
reply, a signal report will be listed in the heard station
|
||||
list.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<button
|
||||
class="btn btn-sm btn-outline-secondary"
|
||||
type="button"
|
||||
disabled
|
||||
>
|
||||
Call CQ
|
||||
</button>
|
||||
<p class="card-text">Sending out a CQ CQ CQ to the world.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-outline-secondary"
|
||||
disabled
|
||||
>
|
||||
<i class="bi bi-soundwave"></i>Toggle beacon
|
||||
</button>
|
||||
<p class="card-text">
|
||||
Sends a periodic broadcast (duration is definable in settings)
|
||||
that announces you are available. Check explorer to see other
|
||||
active stations that may have decoded your beacon.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- HELP MODALS WATERFALL -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="waterfallHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Waterfall
|
||||
<input
|
||||
type="radio"
|
||||
class="btn-check"
|
||||
name="waterfall-scatter-switch"
|
||||
autocomplete="off"
|
||||
checked
|
||||
/>
|
||||
<label
|
||||
class="btn btn-sm btn-outline-secondary"
|
||||
for="waterfall-scatter-switch1"
|
||||
><strong><i class="bi bi-water"></i></strong>
|
||||
</label>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Displays a waterfall for activity of current channel.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Busy Indicator
|
||||
|
||||
<button class="btn btn-sm btn-success" type="button">
|
||||
busy
|
||||
</button>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Green when channel is open and changes to red to indicate
|
||||
there is activity on the channel.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Signal Indicator
|
||||
<button class="btn btn-sm btn-success" type="button">
|
||||
signal
|
||||
</button>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Changes to green when Codec2 data is detected on channel.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Constellation Plot
|
||||
<input type="radio" class="btn-check" autocomplete="off" />
|
||||
<label class="btn btn-sm btn-outline-secondary"
|
||||
><strong><i class="bi bi-border-outer"></i></strong>
|
||||
</label>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Displays a plot of last decoded message. A constellation plot
|
||||
is a simple way to represent signal quality.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
Speed Chart
|
||||
|
||||
<input type="radio" class="btn-check" autocomplete="off" />
|
||||
<label class="btn btn-sm btn-outline-secondary"
|
||||
><strong><i class="bi bi-graph-up-arrow"></i></strong>
|
||||
</label>
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
Shows history of SNR and bit rate of messages.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- HELP MODALS HEARD STATIONS -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="heardStationsHelpModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Station List Help</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<p class="card-text">
|
||||
Stations that you've been able to decode will be listed here.
|
||||
Details such as time, frequency, message type, call sign,
|
||||
location and SNR will be listed. Existing entries are updated
|
||||
if they already exist and more detailed history can be viewed
|
||||
in chat window for each station.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- AUDIO MODAL -->
|
||||
<div
|
||||
class="modal fade"
|
||||
data-bs-backdrop="static"
|
||||
tabindex="-1"
|
||||
id="audioModal"
|
||||
>
|
||||
<div class="modal-dialog modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Audio tuning</h5>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close"
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="input-group input-group-sm mb-1">
|
||||
<span class="input-group-text">Test-Frame</span>
|
||||
<button type="button" id="sendTestFrame" @click="sendTestFrame()" class="btn btn-danger">
|
||||
Transmit
|
||||
</button>
|
||||
</div>
|
||||
<div class="input-group input-group-sm mb-1">
|
||||
<span class="input-group-text">TX Level</span>
|
||||
<span class="input-group-text" >{{state.audio_level}}</span>
|
||||
<span class="input-group-text w-75">
|
||||
<input
|
||||
type="range"
|
||||
class="form-range"
|
||||
min="0"
|
||||
max="250"
|
||||
step="1"
|
||||
id="audioLevelTX"
|
||||
@click="set_audio_level()"
|
||||
v-model="state.audio_level"
|
||||
/></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
|
@ -198,9 +198,11 @@ client.on("data", function (socketdata) {
|
|||
stateStore.arq_session_state = data["arq_session"]
|
||||
stateStore.arq_state = data["arq_state"]
|
||||
stateStore.beacon_state = data["beacon_state"]
|
||||
stateStore.audio_recording = data["audio_recording"]
|
||||
|
||||
|
||||
|
||||
stateStore.hamlib_status = data["hamlib_status"]
|
||||
stateStore.audio_level = data["audio_level"]
|
||||
stateStore.alc = data["alc"]
|
||||
|
||||
|
||||
|
||||
|
@ -225,16 +227,14 @@ client.on("data", function (socketdata) {
|
|||
arq_rx_frame_n_bursts: data["arq_rx_frame_n_bursts"],
|
||||
arq_rx_n_current_arq_frame: data["arq_rx_n_current_arq_frame"],
|
||||
arq_n_arq_frames_per_data_frame:
|
||||
data["arq_n_arq_frames_per_data_frame"],
|
||||
data["arq_n_arq_frames_per_data_frame"],
|
||||
arq_bytes_per_minute: data["arq_bytes_per_minute"],
|
||||
arq_seconds_until_finish: data["arq_seconds_until_finish"],
|
||||
arq_compression_factor: data["arq_compression_factor"],
|
||||
arq_transmission_percent: data["arq_transmission_percent"],
|
||||
routing_table: data["routing_table"],
|
||||
mesh_signalling_table: data["mesh_signalling_table"],
|
||||
hamlib_status: data["hamlib_status"],
|
||||
listen: data["listen"],
|
||||
audio_recording: data["audio_recording"],
|
||||
speed_list: data["speed_list"],
|
||||
is_codec2_traffic: data["is_codec2_traffic"],
|
||||
//speed_table: [{"bpm" : 5200, "snr": -3, "timestamp":1673555399},{"bpm" : 2315, "snr": 12, "timestamp":1673555500}],
|
||||
|
@ -627,8 +627,7 @@ export function sendCQ(){
|
|||
};
|
||||
|
||||
// Set AUDIO Level
|
||||
//exports.setTxAudioLevel = function (value) {
|
||||
function setTxAudioLevel(value){
|
||||
export function setTxAudioLevel(value){
|
||||
var command =
|
||||
'{"type" : "set", "command" : "tx_audio_level", "value" : "' + value + '"}';
|
||||
writeTncCommand(command);
|
||||
|
@ -824,15 +823,13 @@ function sendResponseSharedFile(
|
|||
};
|
||||
|
||||
//STOP TRANSMISSION
|
||||
//exports.stopTransmission = function () {
|
||||
function stopTransmission(){
|
||||
export function stopTransmission(){
|
||||
var command = '{"type" : "arq", "command": "stop_transmission"}';
|
||||
writeTncCommand(command);
|
||||
};
|
||||
|
||||
// Get RX BUffer
|
||||
//exports.getRxBuffer = function () {
|
||||
function getRxBuffer(){
|
||||
export function getRxBuffer(){
|
||||
var command = '{"type" : "get", "command" : "rx_buffer"}';
|
||||
|
||||
// call command only if new data arrived
|
||||
|
@ -842,7 +839,6 @@ function getRxBuffer(){
|
|||
};
|
||||
|
||||
// START BEACON
|
||||
//exports.startBeacon = function (interval) {
|
||||
export function startBeacon(interval){
|
||||
var command =
|
||||
'{"type" : "broadcast", "command" : "start_beacon", "parameter": "' +
|
||||
|
@ -852,15 +848,13 @@ export function startBeacon(interval){
|
|||
};
|
||||
|
||||
// STOP BEACON
|
||||
//exports.stopBeacon = function () {
|
||||
export function stopBeacon(){
|
||||
var command = '{"type" : "broadcast", "command" : "stop_beacon"}';
|
||||
writeTncCommand(command);
|
||||
};
|
||||
|
||||
// OPEN ARQ SESSION
|
||||
//exports.connectARQ = function (dxcallsign) {
|
||||
function connectARQ(dxcallsign){
|
||||
export function connectARQ(dxcallsign){
|
||||
command =
|
||||
'{"type" : "arq", "command" : "connect", "dxcallsign": "' +
|
||||
dxcallsign +
|
||||
|
@ -869,22 +863,19 @@ function connectARQ(dxcallsign){
|
|||
};
|
||||
|
||||
// CLOSE ARQ SESSION
|
||||
//exports.disconnectARQ = function () {
|
||||
function disconnectARQ(){
|
||||
export function disconnectARQ(){
|
||||
var command = '{"type" : "arq", "command" : "disconnect"}';
|
||||
writeTncCommand(command);
|
||||
};
|
||||
|
||||
// SEND TEST FRAME
|
||||
//exports.sendTestFrame = function () {
|
||||
function sendTestFrame(){
|
||||
export function sendTestFrame(){
|
||||
var command = '{"type" : "set", "command" : "send_test_frame"}';
|
||||
writeTncCommand(command);
|
||||
};
|
||||
|
||||
// SEND FEC
|
||||
//exports.sendFEC = function (mode, payload) {
|
||||
function sendFEC(mode, payload){
|
||||
export function sendFEC(mode, payload){
|
||||
var command =
|
||||
'{"type" : "fec", "command" : "transmit", "mode" : "' +
|
||||
mode +
|
||||
|
@ -895,8 +886,7 @@ function sendFEC(mode, payload){
|
|||
};
|
||||
|
||||
// SEND FEC IS WRITING
|
||||
//exports.sendFecIsWriting = function (mycallsign) {
|
||||
function sendFecIsWriting(mycallsign){
|
||||
export function sendFecIsWriting(mycallsign){
|
||||
var command =
|
||||
'{"type" : "fec", "command" : "transmit_is_writing", "mycallsign" : "' +
|
||||
mycallsign +
|
||||
|
@ -905,8 +895,7 @@ function sendFecIsWriting(mycallsign){
|
|||
};
|
||||
|
||||
// SEND FEC TO BROADCASTCHANNEL
|
||||
//exports.sendBroadcastChannel = function (channel, data_out, uuid) {
|
||||
function sendBroadcastChannel(channel, data_out, uuid){
|
||||
export function sendBroadcastChannel(channel, data_out, uuid){
|
||||
let checksum = "";
|
||||
let command = "";
|
||||
let data = FD.btoa_FD(
|
||||
|
@ -930,48 +919,24 @@ function sendBroadcastChannel(channel, data_out, uuid){
|
|||
};
|
||||
|
||||
// RECORD AUDIO
|
||||
//exports.record_audio = function () {
|
||||
function record_audio(){
|
||||
export function record_audio(){
|
||||
var command = '{"type" : "set", "command" : "record_audio"}';
|
||||
writeTncCommand(command);
|
||||
};
|
||||
|
||||
// SET FREQUENCY
|
||||
//exports.set_frequency = function (frequency) {
|
||||
function set_frequency(frequency){
|
||||
command =
|
||||
export function set_frequency(frequency){
|
||||
var command =
|
||||
'{"type" : "set", "command" : "frequency", "frequency": ' + frequency + "}";
|
||||
writeTncCommand(command);
|
||||
};
|
||||
|
||||
// SET MODE
|
||||
//exports.set_mode = function (mode) {
|
||||
function set_mode(mode){
|
||||
export function set_mode(mode){
|
||||
var command = '{"type" : "set", "command" : "mode", "mode": "' + mode + '"}';
|
||||
console.log(command);
|
||||
writeTncCommand(command);
|
||||
};
|
||||
|
||||
/*
|
||||
//ipcRenderer.on("action-update-tnc-ip", (event, arg) => {
|
||||
client.destroy();
|
||||
let Data = {
|
||||
busy_state: "-",
|
||||
arq_state: "-",
|
||||
//channel_state: "-",
|
||||
frequency: "-",
|
||||
mode: "-",
|
||||
bandwidth: "-",
|
||||
dbfs_level: 0,
|
||||
};
|
||||
//ipcRenderer.send("request-update-tnc-state", Data);
|
||||
//tnc_port = arg.port;
|
||||
//tnc_host = arg.adress;
|
||||
connectTNC();
|
||||
});
|
||||
*/
|
||||
|
||||
|
||||
// https://stackoverflow.com/a/50579690
|
||||
// crc32 calculation
|
||||
//console.log(crc32('abc'));
|
||||
|
|
|
@ -32,6 +32,11 @@ export const useStateStore = defineStore('stateStore', () => {
|
|||
var arq_state = ref("")
|
||||
var beacon_state = ref("False")
|
||||
|
||||
var audio_recording = ref("")
|
||||
|
||||
var hamlib_status = ref("")
|
||||
var audio_level = ref("")
|
||||
var alc = ref("")
|
||||
|
||||
|
||||
|
||||
|
@ -102,5 +107,5 @@ export const useStateStore = defineStore('stateStore', () => {
|
|||
|
||||
|
||||
|
||||
return { dxcallsign, busy_state, arq_state, frequency, mode, bandwidth, dbfs_level, speed_level, fft, channel_busy, channel_busy_slot, scatter, ptt_state, s_meter_strength_percent, s_meter_strength_raw, arq_total_bytes, updateTncState };
|
||||
return { dxcallsign, busy_state, arq_state, frequency, mode, bandwidth, dbfs_level, speed_level, fft, channel_busy, channel_busy_slot, scatter, ptt_state, s_meter_strength_percent, s_meter_strength_raw, arq_total_bytes, audio_recording, hamlib_status, audio_level, alc, updateTncState };
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue