mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
Some rig control work
This commit is contained in:
parent
2f1132cec5
commit
7c73e131a5
10 changed files with 22 additions and 28 deletions
|
@ -110,8 +110,8 @@ const state = useStateStore(pinia);
|
||||||
data-bs-trigger="hover"
|
data-bs-trigger="hover"
|
||||||
data-bs-html="true"
|
data-bs-html="true"
|
||||||
v-bind:class="{
|
v-bind:class="{
|
||||||
'btn-warning': state.channel_busy === 'True',
|
'btn-warning': state.channel_busy === true,
|
||||||
'btn-secondary': state.channel_busy === 'False',
|
'btn-secondary': state.channel_busy === false,
|
||||||
}"
|
}"
|
||||||
style="pointer-events: auto"
|
style="pointer-events: auto"
|
||||||
data-bs-title="Channel busy"
|
data-bs-title="Channel busy"
|
||||||
|
|
|
@ -3,8 +3,6 @@ import { setActivePinia } from "pinia";
|
||||||
import pinia from "../store/index";
|
import pinia from "../store/index";
|
||||||
setActivePinia(pinia);
|
setActivePinia(pinia);
|
||||||
|
|
||||||
import { settingsStore as settings } from "../store/settingsStore.js";
|
|
||||||
|
|
||||||
import { useStateStore } from "../store/stateStore.js";
|
import { useStateStore } from "../store/stateStore.js";
|
||||||
const state = useStateStore(pinia);
|
const state = useStateStore(pinia);
|
||||||
|
|
||||||
|
@ -13,11 +11,7 @@ function getOverallHealth() {
|
||||||
let health = 0;
|
let health = 0;
|
||||||
if (state.modem_connection !== "connected") health += 5;
|
if (state.modem_connection !== "connected") health += 5;
|
||||||
if (!state.is_modem_running) health += 3;
|
if (!state.is_modem_running) health += 3;
|
||||||
if (
|
if ( state.radio_status === false) health += 2;
|
||||||
settings.remote.RADIO.control === "rigctld" &&
|
|
||||||
(state.rigctld_started === undefined || state.rigctld_started === "false")
|
|
||||||
)
|
|
||||||
health += 2;
|
|
||||||
if (process.env.FDUpdateAvail === "1") health += 1;
|
if (process.env.FDUpdateAvail === "1") health += 1;
|
||||||
return health;
|
return health;
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,18 +48,13 @@ function getRigControlStuff() {
|
||||||
case "disabled":
|
case "disabled":
|
||||||
return true;
|
return true;
|
||||||
case "rigctld":
|
case "rigctld":
|
||||||
if (state.rigctld_started === true) {
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
case "tci":
|
case "tci":
|
||||||
return true;
|
return state.radio_status
|
||||||
default:
|
default:
|
||||||
console.error(
|
console.error(
|
||||||
"Unknown radio control mode " + settings.remote.RADIO.control,
|
"Unknown radio control mode " + settings.remote.RADIO.control,
|
||||||
);
|
);
|
||||||
return "Unknown control type";
|
return "Unknown control type" + settings.remote.RADIO.control;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,8 @@ export function stateDispatcher(data) {
|
||||||
stateStore.dbfs_level = data["audio_dbfs"];
|
stateStore.dbfs_level = data["audio_dbfs"];
|
||||||
stateStore.channel_busy_slot = data["channel_busy_slot"];
|
stateStore.channel_busy_slot = data["channel_busy_slot"];
|
||||||
stateStore.beacon_state = data["is_beacon_running"];
|
stateStore.beacon_state = data["is_beacon_running"];
|
||||||
|
stateStore.radio_status = data["radio_status"];
|
||||||
|
stateStore.frequency = data["radio_frequency"];
|
||||||
/*
|
/*
|
||||||
self.is_arq_state = False
|
self.is_arq_state = False
|
||||||
self.is_arq_session = False
|
self.is_arq_session = False
|
||||||
|
|
|
@ -12,12 +12,13 @@ export const useStateStore = defineStore("stateStore", () => {
|
||||||
var bandwidth = ref("-");
|
var bandwidth = ref("-");
|
||||||
var dbfs_level_percent = ref(0);
|
var dbfs_level_percent = ref(0);
|
||||||
var dbfs_level = ref(0);
|
var dbfs_level = ref(0);
|
||||||
|
var radio_status = ref(false);
|
||||||
|
|
||||||
var ptt_state = ref("False");
|
var ptt_state = ref("False");
|
||||||
|
|
||||||
var speed_level = ref(0);
|
var speed_level = ref(0);
|
||||||
var fft = ref();
|
var fft = ref();
|
||||||
var channel_busy = ref("");
|
var channel_busy = ref(false);
|
||||||
var channel_busy_slot = ref();
|
var channel_busy_slot = ref();
|
||||||
var scatter = ref();
|
var scatter = ref();
|
||||||
var s_meter_strength_percent = ref(0);
|
var s_meter_strength_percent = ref(0);
|
||||||
|
@ -139,5 +140,6 @@ export const useStateStore = defineStore("stateStore", () => {
|
||||||
python_version,
|
python_version,
|
||||||
modem_version,
|
modem_version,
|
||||||
rx_buffer_length,
|
rx_buffer_length,
|
||||||
|
radio_status,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -1291,20 +1291,20 @@ class RF:
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
# this looks weird, but is necessary for avoiding rigctld packet colission sock
|
# this looks weird, but is necessary for avoiding rigctld packet colission sock
|
||||||
threading.Event().wait(0.25)
|
#threading.Event().wait(0.1)
|
||||||
|
self.states.set("radio_status", self.radio.get_status())
|
||||||
|
#threading.Event().wait(0.25)
|
||||||
self.states.set("radio_frequency", self.radio.get_frequency())
|
self.states.set("radio_frequency", self.radio.get_frequency())
|
||||||
threading.Event().wait(0.1)
|
threading.Event().wait(0.1)
|
||||||
self.states.set("radio_mode", self.radio.get_mode())
|
self.states.set("radio_mode", self.radio.get_mode())
|
||||||
threading.Event().wait(0.1)
|
threading.Event().wait(0.1)
|
||||||
self.states.set("radio_bandwidth", self.radio.get_bandwidth())
|
self.states.set("radio_bandwidth", self.radio.get_bandwidth())
|
||||||
threading.Event().wait(0.1)
|
threading.Event().wait(0.1)
|
||||||
self.states.set("radio_status", self.radio.get_status())
|
|
||||||
threading.Event().wait(0.1)
|
|
||||||
if self.states.is_transmitting:
|
if self.states.is_transmitting:
|
||||||
self.radio_alc = self.radio.get_alc()
|
self.radio_alc = self.radio.get_alc()
|
||||||
threading.Event().wait(0.1)
|
threading.Event().wait(0.1)
|
||||||
self.states.set("radio_rf_power", self.radio.get_level())
|
self.states.set("radio_rf_power", self.radio.get_level())
|
||||||
# threading.Event().wait(0.1)
|
threading.Event().wait(0.1)
|
||||||
self.states.set("radio_strength", self.radio.get_strength())
|
self.states.set("radio_strength", self.radio.get_strength())
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
@ -197,7 +197,7 @@ class radio:
|
||||||
|
|
||||||
def get_status(self):
|
def get_status(self):
|
||||||
""" """
|
""" """
|
||||||
return "connected" if self.data_connected and self.ptt_connected else "unknown/disconnected"
|
return True if self.data_connected and self.ptt_connected else False
|
||||||
|
|
||||||
def get_level(self):
|
def get_level(self):
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -79,7 +79,7 @@ class radio:
|
||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return "connected"
|
return True
|
||||||
def get_ptt(self):
|
def get_ptt(self):
|
||||||
""" """
|
""" """
|
||||||
return None
|
return None
|
||||||
|
|
|
@ -44,6 +44,8 @@ class STATES:
|
||||||
self.radio_bandwidth = 0
|
self.radio_bandwidth = 0
|
||||||
self.radio_rf_power = 0
|
self.radio_rf_power = 0
|
||||||
self.radio_strength = 0
|
self.radio_strength = 0
|
||||||
|
# Set rig control status regardless or rig control method
|
||||||
|
self.radio_status = False
|
||||||
|
|
||||||
def sendState (self):
|
def sendState (self):
|
||||||
currentState = self.getAsJSON(False)
|
currentState = self.getAsJSON(False)
|
||||||
|
@ -56,9 +58,8 @@ class STATES:
|
||||||
|
|
||||||
def set(self, key, value):
|
def set(self, key, value):
|
||||||
setattr(self, key, value)
|
setattr(self, key, value)
|
||||||
|
#print(f"State ==> Setting {key} to value {value}")
|
||||||
# only process data if changed
|
# only process data if changed
|
||||||
# but also send an update if more than a 'updateCadence' second(s) has lapsed
|
|
||||||
# Otherwise GUI can't tell if modem is active due to lack of state messages on startup
|
|
||||||
new_state = self.getAsJSON(True)
|
new_state = self.getAsJSON(True)
|
||||||
if new_state != self.newstate:
|
if new_state != self.newstate:
|
||||||
self.newstate = new_state
|
self.newstate = new_state
|
||||||
|
@ -77,5 +78,6 @@ class STATES:
|
||||||
"is_codec2_traffic": self.is_codec2_traffic,
|
"is_codec2_traffic": self.is_codec2_traffic,
|
||||||
"is_modem_running": self.is_modem_running,
|
"is_modem_running": self.is_modem_running,
|
||||||
"is_beacon_running": self.is_beacon_running,
|
"is_beacon_running": self.is_beacon_running,
|
||||||
|
"radio_status": self.radio_status,
|
||||||
|
"radio_frequency": self.radio_frequency,
|
||||||
})
|
})
|
|
@ -307,7 +307,7 @@ class TCICtrl:
|
||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return "connected"
|
return True
|
||||||
|
|
||||||
def get_ptt(self):
|
def get_ptt(self):
|
||||||
""" """
|
""" """
|
||||||
|
|
Loading…
Reference in a new issue