FreeDATA/gui/src/store/stateStore.js

144 lines
3.3 KiB
JavaScript
Raw Normal View History

2023-10-03 13:15:17 +00:00
import { defineStore } from "pinia";
2023-10-22 13:24:02 +00:00
import { ref } from "vue";
2023-10-03 13:15:17 +00:00
import * as bootstrap from "bootstrap";
export const useStateStore = defineStore("stateStore", () => {
var busy_state = ref("-");
var arq_state = ref("-");
var frequency = ref("-");
var new_frequency = ref(0);
var mode = ref("-");
var rf_level = ref("10");
var bandwidth = ref("-");
var dbfs_level_percent = ref(0);
var dbfs_level = ref(0);
2023-10-03 13:15:17 +00:00
var ptt_state = ref("False");
var speed_level = ref(0);
var fft = ref();
var channel_busy = ref("");
var channel_busy_slot = ref();
var scatter = ref();
var s_meter_strength_percent = ref(0);
var s_meter_strength_raw = ref(0);
2023-10-20 11:47:42 +00:00
var modem_connection = ref("disconnected");
var modemStartCount = ref(0);
2023-11-12 18:56:15 +00:00
var is_modem_running = ref();
2023-10-03 13:15:17 +00:00
var arq_total_bytes = ref(0);
var arq_transmission_percent = ref(0);
var heard_stations = ref("");
var dxcallsign = ref("");
var arq_session_state = ref("");
var arq_state = ref("");
var beacon_state = ref("False");
var audio_recording = ref("");
var hamlib_status = ref("");
2023-10-26 09:19:21 +00:00
var tx_audio_level = ref("");
var rx_audio_level = ref("");
2023-10-03 13:15:17 +00:00
var alc = ref("");
var is_codec2_traffic = ref("");
var arq_speed_list_timestamp = ref([]);
var arq_speed_list_bpm = ref([]);
var arq_speed_list_snr = ref([]);
var arq_seconds_until_finish = ref();
var arq_seconds_until_timeout = ref();
var arq_seconds_until_timeout_percent = ref();
2023-10-08 20:09:09 +00:00
var rigctld_started = ref();
var rigctld_process = ref();
2023-10-17 10:11:27 +00:00
var python_version = ref();
2023-10-20 11:47:42 +00:00
var modem_version = ref();
2023-10-08 20:09:09 +00:00
2023-10-22 10:54:11 +00:00
var rx_buffer_length = ref();
2023-10-22 08:12:00 +00:00
function getChannelBusySlotState(slot) {
2023-10-17 13:32:28 +00:00
const slot_state = channel_busy_slot.value;
2023-10-22 08:12:00 +00:00
if (typeof slot_state !== "undefined") {
2023-10-17 13:32:28 +00:00
// Replace 'False' with 'false' to match JavaScript's boolean representation
2023-10-22 08:12:00 +00:00
const string = slot_state
.replace(/False/g, "false")
.replace(/True/g, "true");
2023-10-17 13:32:28 +00:00
// Parse the string to get an array
const arr = JSON.parse(string);
2023-10-22 08:12:00 +00:00
return arr[slot];
2023-10-17 13:32:28 +00:00
} else {
// Handle the undefined case
return false;
}
2023-10-22 08:12:00 +00:00
}
2023-10-17 13:32:28 +00:00
2023-10-03 13:15:17 +00:00
function updateTncState(state) {
2023-10-20 11:47:42 +00:00
modem_connection.value = state;
2023-10-20 11:47:42 +00:00
if (modem_connection.value == "open") {
2023-10-03 13:15:17 +00:00
//Set tuning for fancy graphics mode (high/low CPU)
//set_CPU_mode();
//GUI will auto connect to TNC if already running, if that is the case increment start count if 0
2023-10-20 11:47:42 +00:00
if (modemStartCount.value == 0) modemStartCount.value++;
2023-10-03 13:15:17 +00:00
}
}
2023-10-03 13:15:17 +00:00
return {
dxcallsign,
busy_state,
arq_state,
new_frequency,
frequency,
mode,
bandwidth,
dbfs_level,
2023-10-03 13:15:17 +00:00
dbfs_level_percent,
speed_level,
fft,
channel_busy,
channel_busy_slot,
2023-10-17 13:32:28 +00:00
getChannelBusySlotState,
2023-10-03 13:15:17 +00:00
scatter,
ptt_state,
s_meter_strength_percent,
s_meter_strength_raw,
arq_total_bytes,
audio_recording,
hamlib_status,
2023-10-26 09:19:21 +00:00
tx_audio_level,
rx_audio_level,
2023-10-03 13:15:17 +00:00
alc,
updateTncState,
arq_transmission_percent,
arq_speed_list_bpm,
arq_speed_list_timestamp,
arq_speed_list_snr,
arq_seconds_until_finish,
arq_seconds_until_timeout,
arq_seconds_until_timeout_percent,
modem_connection,
2023-11-12 18:56:15 +00:00
is_modem_running,
2023-10-03 19:04:37 +00:00
arq_session_state,
is_codec2_traffic,
rf_level,
heard_stations,
2023-10-08 20:09:09 +00:00
beacon_state,
rigctld_started,
2023-10-17 10:11:27 +00:00
rigctld_process,
python_version,
2023-10-22 08:12:00 +00:00
modem_version,
2023-10-22 10:54:11 +00:00
rx_buffer_length,
2023-10-03 13:15:17 +00:00
};
});