2023-10-03 13:15:17 +00:00
|
|
|
import { defineStore } from "pinia";
|
|
|
|
import { ref, computed } from "vue";
|
|
|
|
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);
|
2023-10-06 02:32:34 +00:00
|
|
|
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);
|
|
|
|
var modem_running_state = 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("");
|
|
|
|
var audio_level = ref("");
|
|
|
|
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-17 13:32:28 +00:00
|
|
|
|
|
|
|
function getChannelBusySlotState(slot){
|
|
|
|
const slot_state = channel_busy_slot.value;
|
|
|
|
|
|
|
|
if (typeof slot_state !== 'undefined') {
|
|
|
|
// Replace 'False' with 'false' to match JavaScript's boolean representation
|
|
|
|
const string = slot_state.replace(/False/g, 'false').replace(/True/g, 'true');
|
|
|
|
|
|
|
|
// Parse the string to get an array
|
|
|
|
const arr = JSON.parse(string);
|
|
|
|
|
|
|
|
return arr[slot]
|
|
|
|
} else {
|
|
|
|
// Handle the undefined case
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2023-10-03 13:15:17 +00:00
|
|
|
function updateTncState(state) {
|
2023-10-20 11:47:42 +00:00
|
|
|
modem_connection.value = state;
|
2023-09-05 18:20:24 +00:00
|
|
|
|
2023-10-20 11:47:42 +00:00
|
|
|
if (modem_connection.value == "open") {
|
2023-10-03 13:15:17 +00:00
|
|
|
// collapse settings screen
|
|
|
|
var collapseFirstRow = new bootstrap.Collapse(
|
|
|
|
document.getElementById("collapseFirstRow"),
|
|
|
|
{ toggle: false },
|
|
|
|
);
|
|
|
|
collapseFirstRow.hide();
|
|
|
|
var collapseSecondRow = new bootstrap.Collapse(
|
|
|
|
document.getElementById("collapseSecondRow"),
|
|
|
|
{ toggle: false },
|
|
|
|
);
|
|
|
|
collapseSecondRow.hide();
|
|
|
|
var collapseThirdRow = new bootstrap.Collapse(
|
|
|
|
document.getElementById("collapseThirdRow"),
|
|
|
|
{ toggle: false },
|
|
|
|
);
|
|
|
|
collapseThirdRow.show();
|
|
|
|
var collapseFourthRow = new bootstrap.Collapse(
|
|
|
|
document.getElementById("collapseFourthRow"),
|
|
|
|
{ toggle: false },
|
|
|
|
);
|
|
|
|
collapseFourthRow.show();
|
|
|
|
|
|
|
|
//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
|
|
|
} else {
|
|
|
|
// collapse settings screen
|
|
|
|
var collapseFirstRow = new bootstrap.Collapse(
|
|
|
|
document.getElementById("collapseFirstRow"),
|
|
|
|
{ toggle: false },
|
|
|
|
);
|
|
|
|
collapseFirstRow.show();
|
|
|
|
var collapseSecondRow = new bootstrap.Collapse(
|
|
|
|
document.getElementById("collapseSecondRow"),
|
|
|
|
{ toggle: false },
|
|
|
|
);
|
|
|
|
collapseSecondRow.show();
|
|
|
|
var collapseThirdRow = new bootstrap.Collapse(
|
|
|
|
document.getElementById("collapseThirdRow"),
|
|
|
|
{ toggle: false },
|
|
|
|
);
|
|
|
|
collapseThirdRow.hide();
|
|
|
|
var collapseFourthRow = new bootstrap.Collapse(
|
|
|
|
document.getElementById("collapseFourthRow"),
|
|
|
|
{ toggle: false },
|
|
|
|
);
|
|
|
|
collapseFourthRow.hide();
|
|
|
|
}
|
2023-09-05 18:20:24 +00:00
|
|
|
}
|
|
|
|
|
2023-10-03 13:15:17 +00:00
|
|
|
return {
|
|
|
|
dxcallsign,
|
|
|
|
busy_state,
|
|
|
|
arq_state,
|
|
|
|
new_frequency,
|
|
|
|
frequency,
|
|
|
|
mode,
|
|
|
|
bandwidth,
|
2023-10-06 02:32:34 +00:00
|
|
|
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,
|
|
|
|
audio_level,
|
|
|
|
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,
|
2023-10-20 11:47:42 +00:00
|
|
|
modem_running_state,
|
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-20 11:47:42 +00:00
|
|
|
modem_version
|
2023-10-03 13:15:17 +00:00
|
|
|
};
|
2023-09-05 18:20:24 +00:00
|
|
|
});
|