diff --git a/web/js/main.js b/web/js/main.js index 825d692..3f35f75 100644 --- a/web/js/main.js +++ b/web/js/main.js @@ -342,10 +342,10 @@ function checkKey(e) { socket.send("T" + (currentFreq.toFixed(1) * 1000)); break; case 38: - socket.send("T" + ((currentFreq + 0.01).toFixed(2) * 1000)); + socket.send("T" + (Math.round(currentFreq*1000) + ((currentFreq > 30) ? 10 : 1))); break; case 40: - socket.send("T" + ((currentFreq - 0.01).toFixed(2) * 1000)); + socket.send("T" + (Math.round(currentFreq*1000) - ((currentFreq > 30) ? 10 : 1))); break; case 37: tuneDown(); @@ -365,18 +365,18 @@ function tuneUp() { getCurrentFreq(); let addVal = 0; if (currentFreq < 0.52) { - addVal = 9 - ((currentFreq * 1000) % 9); + addVal = 9 - (Math.round(currentFreq*1000) % 9); } else if (currentFreq < 1.71) { // TODO: Rework to replace 9 with 9 or 10 based on regionalisation setting - addVal = 9 - ((currentFreq * 1000) % 9); + addVal = 9 - (Math.round(currentFreq*1000) % 9); } else if (currentFreq < 29.6) { - addVal = 5 - ((currentFreq * 1000) % 5); + addVal = 5 - (Math.round(currentFreq*1000) % 5); } else if (currentFreq >= 65.9 && currentFreq < 74) { - addVal = ((currentFreq * 1000) % 30 == 20) ? 30 : (20 - ((currentFreq * 1000) % 30)); + addVal = 30 - ((Math.round(currentFreq*1000) - 65900) % 30); } else { - addVal = 100 - ((currentFreq * 1000) % 100); + addVal = 100 - (Math.round(currentFreq*1000) % 100); } - socket.send("T" + ((currentFreq * 1000) + addVal)); + socket.send("T" + (Math.round(currentFreq*1000) + addVal)); } } @@ -385,18 +385,18 @@ function tuneDown() { getCurrentFreq(); let subVal = 0; if (currentFreq < 0.52) { - subVal = ((currentFreq * 1000) % 9 == 0) ? 9 : ((currentFreq * 1000) % 9); + subVal = (Math.round(currentFreq*1000) % 9 == 0) ? 9 : (Math.round(currentFreq*1000) % 9); } else if (currentFreq < 1.71) { // TODO: Rework to replace 9 with 9 or 10 based on regionalisation setting - subVal = ((currentFreq * 1000) % 9 == 0) ? 9 : ((currentFreq * 1000) % 9); + subVal = (Math.round(currentFreq*1000) % 9 == 0) ? 9 : (Math.round(currentFreq*1000) % 9); } else if (currentFreq < 29.6) { - subVal = ((currentFreq * 1000) % 5 == 0) ? 5 : ((currentFreq * 1000) % 5); - } else if (currentFreq >= 65.9 && currentFreq < 74) { - subVal = ((currentFreq * 1000) % 30 == 20) ? 30 : (10 + ((currentFreq * 1000) % 30)); + subVal = (Math.round(currentFreq*1000) % 5 == 0) ? 5 : (Math.round(currentFreq*1000) % 5); + } else if (currentFreq > 65.9 && currentFreq <= 74) { + subVal = ((Math.round(currentFreq*1000) - 65900) % 30 == 0) ? 30 : ((Math.round(currentFreq*1000) - 65900) % 30); } else { - subVal = ((currentFreq * 1000) % 100 == 0) ? 100 : ((currentFreq * 1000) % 100); + subVal = (Math.round(currentFreq*1000) % 100 == 0) ? 100 : (Math.round(currentFreq*1000) % 100); } - socket.send("T" + ((currentFreq * 1000) - subVal)); + socket.send("T" + (Math.round(currentFreq*1000) - subVal)); } } @@ -509,11 +509,11 @@ function updateSignalUnits(parsedData) { break; } - const integerPart = Math.floor(signalValue); - const decimalPart = (signalValue - integerPart).toFixed(1).slice(1); + const formatted = (Math.round(signalValue * 10) / 10).toFixed(1); + const [integerPart, decimalPart] = formatted.split('.'); $('#data-signal').text(integerPart); - $('#data-signal-decimal').text(decimalPart); + $('#data-signal-decimal').text('.' + decimalPart); } function updateDataElements(parsedData) {