FreeDATA/gui_vue/src/store/stateStore.js

121 lines
3.5 KiB
JavaScript

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)
var dbfs_level_raw = ref(0)
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)
var tnc_connection = ref("disconnected")
var tncStartCount = ref(0)
var tnc_running_state = ref("--------")
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 = ref()
var arq_seconds_until_finish = ref()
var arq_seconds_until_timeout = ref()
var arq_seconds_until_timeout_percent = ref()
function updateTncState(state){
tnc_connection.value = state;
if (tnc_connection.value == "open") {
// 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
if (tncStartCount.value == 0) tncStartCount++;
} 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();
}
};
return { dxcallsign, busy_state, arq_state, new_frequency, frequency, mode, bandwidth, dbfs_level_raw, dbfs_level_percent, 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, arq_transmission_percent, arq_speed_list, arq_seconds_until_finish, arq_seconds_until_timeout, arq_seconds_until_timeout_percent };
});