adjusted enable/disable mesh setting

This commit is contained in:
DJ2LS 2023-07-03 09:26:42 +02:00
parent 023221408f
commit 9728f847ec
7 changed files with 74 additions and 77 deletions

View file

@ -28,7 +28,8 @@ var appDataFolder =
var configFolder = path.join(appDataFolder, "FreeDATA");
var configPath = path.join(configFolder, "config.json");
var config = require(configPath);
config.enable_mesh_features = FD.enable_mesh();
//config.enable_mesh_features = FD.enable_mesh();
const contrib = [
"DK5SM",
"DL4IAZ",
@ -397,6 +398,21 @@ window.addEventListener("DOMContentLoaded", () => {
document.getElementById("NotificationSwitch").checked = false;
}
if(config.enable_mesh_features.toLowerCase() == "true"){
document.getElementById("liMeshTable").style.visibility = "visible";
document.getElementById("liMeshTable").style.display = "block";
document.getElementById("enableMeshSwitch").checked = true;
} else {
document.getElementById("liMeshTable").style.visibility = "hidden";
document.getElementById("liMeshTable").style.display = "none";
document.getElementById("enableMeshSwitch").checked = false;
}
// theme selector
changeGuiDesign(config.theme);
@ -1244,6 +1260,22 @@ window.addEventListener("DOMContentLoaded", () => {
FD.saveConfig(config, configPath);
});
// enable MESH Switch clicked
document.getElementById("enableMeshSwitch").addEventListener("click", () => {
if (document.getElementById("enableMeshSwitch").checked == true) {
config.enable_mesh_features = "True";
document.getElementById("liMeshTable").style.visibility = "visible";
document.getElementById("liMeshTable").style.display = "block";
} else {
config.enable_mesh_features = "False";
document.getElementById("liMeshTable").style.visibility = "hidden";
document.getElementById("liMeshTable").style.display = "none";
}
//fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
FD.saveConfig(config, configPath);
});
// enable is writing switch clicked
document.getElementById("enable_is_writing").addEventListener("click", () => {
if (document.getElementById("enable_is_writing").checked == true) {
@ -1430,10 +1462,17 @@ window.addEventListener("DOMContentLoaded", () => {
var stop_bits = document.getElementById("hamlib_stop_bits").value;
var handshake = document.getElementById("hamlib_handshake").value;
var tx_delay = document.getElementById("tx_delay").value;
var enable_mesh = "False"
if (config.enable_mesh_features == true) {
enable_mesh = "True";
}
if (document.getElementById("enableMeshSwitch").checked == true) {
var enable_mesh_features = "True"
document.getElementById("liMeshTable").style.visibility = "visible";
document.getElementById("liMeshTable").style.display = "block";
} else {
var enable_mesh_features = "False"
document.getElementById("liMeshTable").style.visibility = "hidden";
document.getElementById("liMeshTable").style.display = "none";
}
if (document.getElementById("scatterSwitch").checked == true) {
var enable_scatter = "True";
} else {
@ -1548,6 +1587,7 @@ window.addEventListener("DOMContentLoaded", () => {
config.tx_delay = tx_delay;
config.tci_ip = tci_ip;
config.tci_port = tci_port;
config.enable_mesh_features = enable_mesh_features;
//fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
FD.saveConfig(config, configPath);
@ -1598,7 +1638,7 @@ window.addEventListener("DOMContentLoaded", () => {
tx_delay,
tci_ip,
tci_port,
enable_mesh
enable_mesh_features
);
});
@ -1764,12 +1804,13 @@ window.addEventListener("DOMContentLoaded", () => {
resetSortIcon();
});
autostart_rigctld();
if (! config.enable_mesh_features == 1) {
document.getElementById("liMeshTable").style.visibility = "hidden";
document.getElementById("liMeshTable").style.display = "none";
}
autostart_rigctld();
});
//End of domcontentloaded
@ -2954,14 +2995,6 @@ ipcRenderer.on("action-update-unread-messages-main", (event, data) => {
ipcRenderer.on("run-tnc-command", (event, arg) => {
if (arg.command == "enable_mesh") {
sock.enable_mesh();
}
if (arg.command == "disable_mesh") {
sock.disable_mesh();
}
if (arg.command == "save_my_call") {
sock.saveMyCall(arg.callsign);
}

View file

@ -28,30 +28,6 @@ window.addEventListener("DOMContentLoaded", () => {
document
.getElementById("enable_mesh")
.addEventListener("click", () => {
if (document.getElementById("enable_mesh").checked) {
let Data = {
type: "set",
command: "enable_mesh",
};
ipcRenderer.send("run-tnc-command", Data);
} else {
let Data = {
type: "set",
command: "disable_mesh",
};
ipcRenderer.send("run-tnc-command", Data);
}
});
});

View file

@ -862,19 +862,6 @@ exports.sendFecIsWriting = function (mycallsign) {
writeTncCommand(command);
};
// ENABLE MESH
exports.enable_mesh = function () {
command =
'{"type" : "set", "command" : "enable_mesh"}';
writeTncCommand(command);
};
// DISABLE MESH
exports.disable_mesh = function () {
command =
'{"type" : "set", "command" : "disable_mesh"}';
writeTncCommand(command);
};
// SEND FEC TO BROADCASTCHANNEL

View file

@ -3804,6 +3804,21 @@
</div>
</label>
</div>
<div class="input-group input-group-sm mb-1">
<label class="input-group-text w-50">Enable MESH protocol</label>
<label class="input-group-text w-50">
<div class="form-check form-switch form-check-inline ms-2">
<input
class="form-check-input"
type="checkbox"
id="enableMeshSwitch"
/>
<label class="form-check-label" for="enableMeshSwitch"
>experimental! REALLY!</label
>
</div>
</label>
</div>
<div class="input-group input-group-sm mb-1">
<label class="input-group-text w-50"
>Database maintenance</label

View file

@ -19,18 +19,8 @@
<script src="../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<!-- chart.js -->
<nav class="navbar fixed-top bg-light">
<div class="container-fluid">
<input
type="checkbox"
class="btn-check"
id="enable_mesh"
autocomplete="off"
checked="true"
/>
<label class="btn btn-outline-info" for="enable_mesh"
>Enable / Disable Mesh</label
>
<nav class="navbar fixed-top bg-light ms-2 me-2">
<input
type="text"
class="form-control"

View file

@ -404,8 +404,10 @@ if __name__ == "__main__":
# start modem
modem = modem.RF()
# start mesh module
mesh = mesh.MeshRouter()
# start mesh protocol only if enabled
if MeshParam.enable_protocol:
# start mesh module
mesh = mesh.MeshRouter()
# optionally start explorer module
if TNC.enable_explorer:

View file

@ -395,14 +395,8 @@ class ThreadedTCPRequestHandler(socketserver.StreamRequestHandler):
if received_json["type"] == "get" and received_json["command"] == "routing_table":
self.tnc_get_mesh_routing_table(received_json)
# ENABLE MESH
if received_json["type"] == "set" and received_json["command"] == "enable_mesh":
MeshParam.enable_protocol = True
# DISABLE MESH
if received_json["type"] == "set" and received_json["command"] == "disable_mesh":
MeshParam.enable_protocol = False
# -------------- MESH ---------------- #
# -------------- MESH ---------------- #
# MESH PING
if received_json["type"] == "mesh" and received_json["command"] == "ping":
self.tnc_mesh_ping(received_json)