diff --git a/html/saraR4.html b/html/saraR4.html
index 5954459..b241061 100755
--- a/html/saraR4.html
+++ b/html/saraR4.html
@@ -818,7 +818,7 @@ function getSignalInfo(port, timeout) {
const signalPower = parseInt(csqMatch[1]);
const qual = parseInt(csqMatch[2]);
- // Determine signal quality and color
+ // Determine signal quality and color (matching Python thresholds)
let signalDesc, signalColor, signalIcon, alertClass;
if (signalPower === 99) {
@@ -831,22 +831,17 @@ function getSignalInfo(port, timeout) {
signalColor = '#dc3545';
signalIcon = '🔴';
alertClass = 'alert-danger';
- } else if (signalPower <= 9) {
+ } else if (signalPower <= 24) {
signalDesc = 'Poor';
signalColor = '#fd7e14';
signalIcon = '🟠';
alertClass = 'alert-warning';
- } else if (signalPower <= 14) {
- signalDesc = 'Fair';
+ } else if (signalPower <= 26) {
+ signalDesc = 'Good';
signalColor = '#ffc107';
signalIcon = '🟡';
alertClass = 'alert-warning';
- } else if (signalPower <= 19) {
- signalDesc = 'Good';
- signalColor = '#20c997';
- signalIcon = '🟢';
- alertClass = 'alert-success';
- } else if (signalPower <= 25) {
+ } else if (signalPower <= 28) {
signalDesc = 'Very good';
signalColor = '#198754';
signalIcon = '🟢';
@@ -866,14 +861,14 @@ function getSignalInfo(port, timeout) {
// Calculate approximate dBm (for RSSI: -113 + 2*signalPower)
let rssiDbm = signalPower !== 99 ? (-113 + 2 * signalPower) + ' dBm' : 'N/A';
- // Signal bars visualization (1-5 bars based on signal power)
+ // Signal bars visualization (1-5 bars based on signal power, matching thresholds)
let bars = 0;
if (signalPower !== 99) {
- if (signalPower >= 25) bars = 5;
- else if (signalPower >= 19) bars = 4;
- else if (signalPower >= 14) bars = 3;
- else if (signalPower >= 9) bars = 2;
- else if (signalPower >= 1) bars = 1;
+ if (signalPower >= 29) bars = 5; // Excellent / Very Strong
+ else if (signalPower >= 27) bars = 4; // Very good
+ else if (signalPower >= 25) bars = 3; // Good
+ else if (signalPower >= 10) bars = 2; // Poor (mid)
+ else if (signalPower >= 1) bars = 1; // Poor (low)
}
const barsHtml = `