First pass handling rx'd feciswriting, clean up sock.js

This commit is contained in:
Mashintime 2023-02-12 19:13:14 -05:00
parent d2c2b71a02
commit ed31503b0b
3 changed files with 236 additions and 195 deletions

View file

@ -534,6 +534,11 @@ ipcMain.on("save-file-to-folder", (event, data) => {
//tnc messages START -------------------------------------- //tnc messages START --------------------------------------
// FEC iswriting received
ipcMain.on("request-show-fec-toast-iswriting", (event, data) => {
win.webContents.send("action-show-fec-toast-iswriting", data);
});
// CQ TRANSMITTING // CQ TRANSMITTING
ipcMain.on("request-show-cq-toast-transmitting", (event, data) => { ipcMain.on("request-show-cq-toast-transmitting", (event, data) => {
win.webContents.send("action-show-cq-toast-transmitting", data); win.webContents.send("action-show-cq-toast-transmitting", data);

View file

@ -2574,7 +2574,17 @@ ipcRenderer.on("action-show-cq-toast-transmitting", (event, data) => {
(duration = 5000) (duration = 5000)
); );
}); });
// fec iswriting received
ipcRenderer.on("action-show-fec-toast-iswriting", (event, data) => {
let dxcallsign = data["data"][0]["dxcallsign"];
let content = `${dxcallsign}</strong> is typing`;
displayToast(
(type = "success"),
(icon = "bi-pencil-fill"),
(content = content),
(duration = 5000)
);
});
// CQ RECEIVED // CQ RECEIVED
ipcRenderer.on("action-show-cq-toast-received", (event, data) => { ipcRenderer.on("action-show-cq-toast-received", (event, data) => {
let dxcallsign = data["data"][0]["dxcallsign"]; let dxcallsign = data["data"][0]["dxcallsign"];

View file

@ -4,7 +4,7 @@ const { ipcRenderer } = require("electron");
const log = require("electron-log"); const log = require("electron-log");
const socketLog = log.scope("tnc"); const socketLog = log.scope("tnc");
const utf8 = require("utf8"); //const utf8 = require("utf8");
// https://stackoverflow.com/a/26227660 // https://stackoverflow.com/a/26227660
var appDataFolder = var appDataFolder =
@ -25,8 +25,8 @@ const split_char = "\0;\1;";
// globals for getting new data only if available so we are saving bandwidth // globals for getting new data only if available so we are saving bandwidth
var rxBufferLengthTnc = 0; var rxBufferLengthTnc = 0;
var rxBufferLengthGui = 0; var rxBufferLengthGui = 0;
var rxMsgBufferLengthTnc = 0; //var rxMsgBufferLengthTnc = 0;
var rxMsgBufferLengthGui = 0; //var rxMsgBufferLengthGui = 0;
// global to keep track of TNC connection error emissions // global to keep track of TNC connection error emissions
var tncShowConnectStateError = 1; var tncShowConnectStateError = 1;
@ -168,7 +168,8 @@ client.on("data", function (socketdata) {
try { try {
data = JSON.parse(socketchunk[i]); data = JSON.parse(socketchunk[i]);
} catch (e) { } catch (e) {
socketLog.info(e); // "SyntaxError socketLog.info("Throwing away data!!!!\n" + e); // "SyntaxError
//socketLog.info(e); // "SyntaxError
socketLog.info(socketchunk[i]); socketLog.info(socketchunk[i]);
socketchunk = ""; socketchunk = "";
//If we're here, I don't think we want to process any data that may be in data variable //If we're here, I don't think we want to process any data that may be in data variable
@ -180,7 +181,7 @@ client.on("data", function (socketdata) {
//socketLog.info(data) //socketLog.info(data)
// set length of RX Buffer to global variable // set length of RX Buffer to global variable
rxBufferLengthTnc = data["rx_buffer_length"]; rxBufferLengthTnc = data["rx_buffer_length"];
rxMsgBufferLengthTnc = data["rx_msg_buffer_length"]; //rxMsgBufferLengthTnc = data["rx_msg_buffer_length"];
let Data = { let Data = {
mycallsign: data["mycallsign"], mycallsign: data["mycallsign"],
@ -232,151 +233,172 @@ client.on("data", function (socketdata) {
// ----------- catch tnc messages START ----------- // ----------- catch tnc messages START -----------
if (data["freedata"] == "tnc-message") { if (data["freedata"] == "tnc-message") {
// update transmission status
/*
if (data['arq'] == 'transmission' && data['status'] == 'transmitting'){
let state = { switch (data["fec"]) {
status: data['status'],
uuid: data['uuid'],
percent: data['percent'],
bytesperminute: data['bytesperminute'],
};
ipcRenderer.send('request-update-transmission-status', state);
}
*/
case "is_writing":
// CQ TRANSMITTING
ipcRenderer.send("request-show-fec-toast-iswriting", {
data: [data],
});
break;
}
switch (data["cq"]) {
case "transmitting":
// CQ TRANSMITTING // CQ TRANSMITTING
if (data["cq"] == "transmitting") {
ipcRenderer.send("request-show-cq-toast-transmitting", { ipcRenderer.send("request-show-cq-toast-transmitting", {
data: [data], data: [data],
}); });
} break;
case "received":
// CQ RECEIVED // CQ RECEIVED
if (data["cq"] == "received") {
ipcRenderer.send("request-show-cq-toast-received", { data: [data] }); ipcRenderer.send("request-show-cq-toast-received", { data: [data] });
break;
} }
switch (data["qrv"]) {
case "transmitting":
// QRV TRANSMITTING // QRV TRANSMITTING
if (data["qrv"] == "transmitting") {
ipcRenderer.send("request-show-qrv-toast-transmitting", { ipcRenderer.send("request-show-qrv-toast-transmitting", {
data: [data], data: [data],
}); });
} break;
case "received":
// QRV RECEIVED // QRV RECEIVED
if (data["qrv"] == "received") {
ipcRenderer.send("request-show-qrv-toast-received", { data: [data] }); ipcRenderer.send("request-show-qrv-toast-received", { data: [data] });
break;
} }
switch (data["beacon"]) {
case "transmitting":
// BEACON TRANSMITTING // BEACON TRANSMITTING
if (data["beacon"] == "transmitting") {
ipcRenderer.send("request-show-beacon-toast-transmitting", { ipcRenderer.send("request-show-beacon-toast-transmitting", {
data: [data], data: [data],
}); });
} break;
case "received":
// BEACON RECEIVED // BEACON RECEIVED
if (data["beacon"] == "received") {
ipcRenderer.send("request-show-beacon-toast-received", { ipcRenderer.send("request-show-beacon-toast-received", {
data: [data], data: [data],
}); });
ipcRenderer.send("request-new-msg-received", { data: [data] }); ipcRenderer.send("request-new-msg-received", { data: [data] });
break;
} }
switch (data["ping"]) {
case "transmitting":
// PING TRANSMITTING // PING TRANSMITTING
if (data["ping"] == "transmitting") {
ipcRenderer.send("request-show-ping-toast-transmitting", { ipcRenderer.send("request-show-ping-toast-transmitting", {
data: [data], data: [data],
}); });
} break;
case "received":
// PING RECEIVED // PING RECEIVED
if (data["ping"] == "received") {
ipcRenderer.send("request-show-ping-toast-received", { ipcRenderer.send("request-show-ping-toast-received", {
data: [data], data: [data],
}); });
ipcRenderer.send("request-new-msg-received", { data: [data] }); ipcRenderer.send("request-new-msg-received", { data: [data] });
} break;
case "acknowledge":
// PING ACKNOWLEDGE // PING ACKNOWLEDGE
if (data["ping"] == "acknowledge") {
ipcRenderer.send("request-show-ping-toast-received-ack", { ipcRenderer.send("request-show-ping-toast-received-ack", {
data: [data], data: [data],
}); });
ipcRenderer.send("request-new-msg-received", { data: [data] }); ipcRenderer.send("request-new-msg-received", { data: [data] });
break;
} }
// ARQ SESSION // ARQ SESSION && freedata == tnc-message
if (data["arq"] == "session") { if (data["arq"] == "session") {
// ARQ OPEN
if (data["status"] == "connecting") { switch (data["status"]){
case "connecting":
// ARQ Open
ipcRenderer.send("request-show-arq-toast-session-connecting", { ipcRenderer.send("request-show-arq-toast-session-connecting", {
data: [data], data: [data],
}); });
break;
// ARQ OPENING case "connected":
} else if (data["status"] == "connected") { // ARQ Opening
ipcRenderer.send("request-show-arq-toast-session-connected", { ipcRenderer.send("request-show-arq-toast-session-connected", {
data: [data], data: [data],
}); });
break;
// ARQ OPENING case "waiting":
} else if (data["status"] == "waiting") { // ARQ Opening
ipcRenderer.send("request-show-arq-toast-session-waiting", { ipcRenderer.send("request-show-arq-toast-session-waiting", {
data: [data], data: [data],
}); });
break;
// ARQ OPENING case "close":
} else if (data["status"] == "close") { // ARQ Closing
ipcRenderer.send("request-show-arq-toast-session-close", { ipcRenderer.send("request-show-arq-toast-session-close", {
data: [data], data: [data],
}); });
break;
// ARQ OPENING case "failed":
} else if (data["status"] == "failed") { // ARQ Failed
ipcRenderer.send("request-show-arq-toast-session-failed", { ipcRenderer.send("request-show-arq-toast-session-failed", {
data: [data], data: [data],
}); });
break;
} }
} }
// ARQ TRANSMISSION // ARQ TRANSMISSION && freedata == tnc-message
if (data["arq"] == "transmission") { if (data["arq"] == "transmission") {
// ARQ OPEN
if (data["status"] == "opened") { switch (data["status"]) {
case "opened":
// ARQ Open
ipcRenderer.send("request-show-arq-toast-datachannel-opened", { ipcRenderer.send("request-show-arq-toast-datachannel-opened", {
data: [data], data: [data],
}); });
break;
// ARQ OPENING ISS case "opening":
} else if (data["status"] == "opening" && data["irs"] == "False") { // ARQ Opening IRS/ISS
if (data["irs"] == "False") {
ipcRenderer.send("request-show-arq-toast-datachannel-opening", { ipcRenderer.send("request-show-arq-toast-datachannel-opening", {
data: [data], data: [data],
}); })} else {
// ARQ OPENING IRS
} else if (data["status"] == "opening" && data["irs"] == "True") {
ipcRenderer.send( ipcRenderer.send(
"request-show-arq-toast-datachannel-received-opener", "request-show-arq-toast-datachannel-received-opener",
{ data: [data] } { data: [data] }
); )};
break;
// ARQ WAITING case "waiting":
} else if (data["status"] == "waiting") { // ARQ waiting
ipcRenderer.send("request-show-arq-toast-datachannel-waiting", { ipcRenderer.send("request-show-arq-toast-datachannel-waiting", {
data: [data], data: [data],
}); });
break;
// ARQ RECEIVING case "receiving":
} else if (data["status"] == "receiving") { // ARQ RX
ipcRenderer.send("request-update-reception-status", { ipcRenderer.send("request-update-reception-status", {
data: [data], data: [data],
}); });
break;
// ARQ TRANSMISSION FAILED case "failed":
} else if (data["status"] == "failed") { // ARQ TX Failed
if (data["reason"] == "protocol version missmatch") { if (data["reason"] == "protocol version missmatch") {
ipcRenderer.send( ipcRenderer.send(
"request-show-arq-toast-transmission-failed-ver", "request-show-arq-toast-transmission-failed-ver",
@ -390,9 +412,10 @@ client.on("data", function (socketdata) {
ipcRenderer.send("request-update-transmission-status", { ipcRenderer.send("request-update-transmission-status", {
data: [data], data: [data],
}); });
break;
// ARQ TRANSMISSION RECEIVED case "received":
} else if (data["status"] == "received") { // ARQ Received
ipcRenderer.send("request-show-arq-toast-transmission-received", { ipcRenderer.send("request-show-arq-toast-transmission-received", {
data: [data], data: [data],
}); });
@ -425,14 +448,15 @@ client.on("data", function (socketdata) {
ipcRenderer.send("request-update-rx-buffer", Files); ipcRenderer.send("request-update-rx-buffer", Files);
ipcRenderer.send("request-new-msg-received", Files); ipcRenderer.send("request-new-msg-received", Files);
rxMsgBufferLengthGui = messageArray.length; //rxMsgBufferLengthGui = messageArray.length;
let Messages = { let Messages = {
data: messageArray, data: messageArray,
}; };
ipcRenderer.send("request-new-msg-received", Messages); ipcRenderer.send("request-new-msg-received", Messages);
break;
// ARQ TRANSMISSION TRANSMITTING case "transmitting":
} else if (data["status"] == "transmitting") { // ARQ transmitting
ipcRenderer.send( ipcRenderer.send(
"request-show-arq-toast-transmission-transmitting", "request-show-arq-toast-transmission-transmitting",
{ data: [data] } { data: [data] }
@ -440,9 +464,10 @@ client.on("data", function (socketdata) {
ipcRenderer.send("request-update-transmission-status", { ipcRenderer.send("request-update-transmission-status", {
data: [data], data: [data],
}); });
break;
// ARQ TRANSMISSION TRANSMITTED case "transmitted":
} else if (data["status"] == "transmitted") { // ARQ transmitted
ipcRenderer.send( ipcRenderer.send(
"request-show-arq-toast-transmission-transmitted", "request-show-arq-toast-transmission-transmitted",
{ data: [data] } { data: [data] }
@ -450,6 +475,7 @@ client.on("data", function (socketdata) {
ipcRenderer.send("request-update-transmission-status", { ipcRenderer.send("request-update-transmission-status", {
data: [data], data: [data],
}); });
break;
} }
} }
} }
@ -488,7 +514,7 @@ client.on("data", function (socketdata) {
}; };
ipcRenderer.send("request-update-rx-buffer", Files); ipcRenderer.send("request-update-rx-buffer", Files);
rxMsgBufferLengthGui = messageArray.length; //rxMsgBufferLengthGui = messageArray.length;
let Messages = { let Messages = {
data: messageArray, data: messageArray,
}; };