start/stop tnc

This commit is contained in:
DJ2LS 2023-09-06 23:04:24 +02:00
parent 3283717a59
commit 98bcfacdbc
8 changed files with 92 additions and 78 deletions

View file

@ -1,23 +1,45 @@
<script setup lang="ts">
import {saveSettingsToFile} from '../js/settingsHandler'
import { setActivePinia } from 'pinia';
import pinia from '../store/index';
setActivePinia(pinia);
import { useStateStore } from '../store/stateStore.js';
const state = useStateStore(pinia);
import { useSettingsStore } from '../store/settingsStore.js';
const settings = useSettingsStore(pinia);
import main_audio from './main_audio.vue'
import main_rig_control from './main_rig_control.vue'
import main_my_station from './main_my_station.vue'
import main_updater from './main_updater.vue'
import settings from './settings.vue'
import settings_view from './settings.vue'
function testfunction(){
import {startTNC, stopTNC} from '../js/daemon.js'
function startStopTNC(){
var theme = document.getElementById("theme_selector").value;
changeGuiDesign(theme);
config.theme = theme;
//fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
FD.saveConfig(config, configPath);
switch (state.tnc_running_state) {
case 'stopped':
startTNC()
break;
case 'running':
stopTNC()
break;
default:
}
}
@ -97,6 +119,9 @@ function changeGuiDesign(design) {
<template>
{{state.tnc_running_state}}
<html lang="en" data-bs-theme="light">
@ -169,6 +194,7 @@ function changeGuiDesign(design) {
data-bs-trigger="hover"
data-bs-html="false"
title="Start the TNC. Please set your audio and radio settings first!"
@click="startStopTNC()"
>
<i class="bi bi-play-fill"></i>
<span class="ms-2">Start tnc</span>
@ -181,6 +207,7 @@ function changeGuiDesign(design) {
data-bs-trigger="hover"
data-bs-html="false"
title="Stop the TNC."
@click="startStopTNC()"
>
<i class="bi bi-stop-fill"></i>
<span class="ms-2">Stop tnc</span>
@ -1882,7 +1909,7 @@ function changeGuiDesign(design) {
<settings/>
<settings_view/>

View file

@ -1,3 +1,16 @@
<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="card mb-0">
<div class="card-header p-1 d-flex">
@ -51,8 +64,9 @@
id="updater_channel"
type="button"
disabled
>
...
{{settings.update_channel}}
</button>
<button
class="btn btn-secondary btn-sm"

View file

@ -13,6 +13,8 @@ const audioStore = useAudioStore(pinia);
import { useSettingsStore } from '../store/settingsStore.js';
const settings = useSettingsStore(pinia);
import { useStateStore } from '../store/stateStore.js';
const state = useStateStore(pinia);
var daemon = new net.Socket();
var socketchunk = ""; // Current message, per connection.
@ -168,6 +170,7 @@ daemon.on("data", function (socketdata) {
// update audio devices by putting them to audio store
audioStore.inputDevices = data["input_devices"];
audioStore.outputDevices = data["output_devices"];
state.tnc_running_state = data["daemon_state"][0]["status"];
}
@ -201,89 +204,56 @@ function getDaemonState() {
// START TNC
// ` `== multi line string
function startTNC(
//exports.startTNC = function (
mycall,
mygrid,
rx_audio,
tx_audio,
radiocontrol,
devicename,
deviceport,
pttprotocol,
pttport,
serialspeed,
data_bits,
stop_bits,
handshake,
rigctld_ip,
rigctld_port,
enable_fft,
enable_scatter,
low_bandwidth_mode,
tuning_range_fmin,
tuning_range_fmax,
enable_fsk,
tx_audio_level,
respond_to_cq,
rx_buffer_size,
enable_explorer,
explorer_stats,
auto_tune,
tx_delay,
tci_ip,
tci_port,
enable_mesh,
) {
export function startTNC() {
var json_command = JSON.stringify({
type: "set",
command: "start_tnc",
parameter: [
{
mycall: mycall,
mygrid: mygrid,
rx_audio: rx_audio,
tx_audio: tx_audio,
radiocontrol: radiocontrol,
devicename: devicename,
deviceport: deviceport,
pttprotocol: pttprotocol,
pttport: pttport,
serialspeed: serialspeed,
data_bits: data_bits,
stop_bits: stop_bits,
handshake: handshake,
rigctld_port: rigctld_port,
rigctld_ip: rigctld_ip,
enable_scatter: enable_scatter,
enable_fft: enable_fft,
enable_fsk: enable_fsk,
low_bandwidth_mode: low_bandwidth_mode,
tuning_range_fmin: tuning_range_fmin,
tuning_range_fmax: tuning_range_fmax,
tx_audio_level: tx_audio_level,
respond_to_cq: respond_to_cq,
rx_buffer_size: rx_buffer_size,
enable_explorer: enable_explorer,
enable_stats: explorer_stats,
enable_auto_tune: auto_tune,
tx_delay: tx_delay,
tci_ip: tci_ip,
tci_port: tci_port,
enable_mesh: enable_mesh,
mycall: settings.mycall,
mygrid: settings.mygrid,
rx_audio: settings.rx_audio,
tx_audio: settings.tx_audio,
radiocontrol: settings.radiocontrol,
devicename: settings.devicename,
deviceport: settings.deviceport,
pttprotocol: settings.pttprotocol,
pttport: settings.pttport,
serialspeed: settings.serialspeed,
data_bits: settings.data_bits,
stop_bits: settings.stop_bits,
handshake: settings.handshake,
rigctld_port: settings.rigctld_port,
rigctld_ip: settings.rigctld_ip,
enable_scatter: settings.enable_scatter,
enable_fft: settings.enable_fft,
enable_fsk: settings.enable_fsk,
low_bandwidth_mode: settings.low_bandwidth_mode,
tuning_range_fmin: settings.tuning_range_fmin,
tuning_range_fmax: settings.tuning_range_fmax,
tx_audio_level: settings.tx_audio_level,
respond_to_cq: settings.respond_to_cq,
rx_buffer_size: settings.rx_buffer_size,
enable_explorer: settings.enable_explorer,
enable_stats: settings.explorer_stats,
enable_auto_tune: settings.auto_tune,
tx_delay: settings.tx_delay,
tci_ip: settings.tci_ip,
tci_port: settings.tci_port,
enable_mesh: settings.enable_mesh,
},
],
});
daemonLog.debug(json_command);
console.log(json_command);
writeDaemonCommand(json_command);
};
// STOP TNC
//exports.stopTNC = function () {
function stopTNC() {
export function stopTNC() {
command = '{"type" : "set", "command": "stop_tnc" , "parameter": "---" }';
var command = '{"type" : "set", "command": "stop_tnc" , "parameter": "---" }';
writeDaemonCommand(command);
};
@ -322,7 +292,7 @@ function testHamlib(
},
],
});
daemonLog.debug(json_command);
console.log(json_command);
writeDaemonCommand(json_command);
};

View file

@ -13,6 +13,9 @@ export const useStateStore = defineStore('stateStore', () => {
var tnc_connection = ref("disconnected")
var tncStartCount = ref(0)
var tnc_running_state = ref(0)
function updateTncState(state){
tnc_connection.value = state;