From 685dc787544ccb4872a289681cf65522e77041f3 Mon Sep 17 00:00:00 2001 From: Adam Wisher <37659188+mrwish7@users.noreply.github.com> Date: Mon, 22 Jul 2024 20:50:32 +0100 Subject: [PATCH 1/2] Don't check Es mode for low latitudes Don't worry about checking for sp.E mode if the server location is at a latitude below EU/NA, as no data is available --- server/tx_search.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/tx_search.js b/server/tx_search.js index 998db7d..d3f00c0 100644 --- a/server/tx_search.js +++ b/server/tx_search.js @@ -97,7 +97,7 @@ function checkEs() { if (now - esSwitchCache.lastCheck < esFetchInterval) { esSwitch = esSwitchCache.esSwitch; - } else { + } else if (serverConfig.identification.lat > 20) { esSwitchCache.lastCheck = now; fetch(url) .then(response => response.json()) From 3035013744ea5044493e027493e74de976d55c70 Mon Sep 17 00:00:00 2001 From: Sjef Verhoeven PE5PVB Date: Thu, 1 Aug 2024 20:05:13 +0200 Subject: [PATCH 2/2] Update RDS Spy message --- server/datahandler.js | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/server/datahandler.js b/server/datahandler.js index 337bc9f..11c6a69 100644 --- a/server/datahandler.js +++ b/server/datahandler.js @@ -352,9 +352,31 @@ function handleData(wss, receivedData, rdsWss) { modifiedData += errorsNew.toString(16).padStart(2, '0'); } - rdsWss.clients.forEach((client) => { // Send to /rds endpoint via WebSocket - client.send(modifiedData); - }); + rdsWss.clients.forEach((client) => { + let dataString = modifiedData.toString(); + let lastTwoChars = dataString.slice(-2); + let lastByteValue = parseInt(lastTwoChars, 16); + + let truncatedString = dataString.slice(0, -2); + + if ((lastByteValue & 0x03) !== 0) { + truncatedString = truncatedString.slice(0, 4) + '----' + truncatedString.slice(8); + } + + if ((lastByteValue & 0x30) !== 0) { + truncatedString = truncatedString.slice(0, 8) + '----' + truncatedString.slice(12); + } + + if ((lastByteValue & 0x0C) !== 0) { + truncatedString = truncatedString.slice(0, 12) + '----'; + } + + let newDataString = "G:\r\n" + truncatedString + "\r\n\r\n"; + + let finalBuffer = Buffer.from(newDataString, 'utf-8'); + + client.send(finalBuffer); + }); rdsparser.parse_string(rds, modifiedData); legacyRdsPiBuffer = null;