From c8a5d8f7aecaa3d18411a95b39af02dcbfb591f0 Mon Sep 17 00:00:00 2001 From: Mark Haslinghuis Date: Sat, 3 May 2025 23:16:39 +0200 Subject: [PATCH] Fix GNSS status when fix is attained without sat info --- src/js/sensor_helpers.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/js/sensor_helpers.js b/src/js/sensor_helpers.js index 099669e7a5..bfaeac4ec5 100644 --- a/src/js/sensor_helpers.js +++ b/src/js/sensor_helpers.js @@ -76,19 +76,17 @@ export function sensor_status(sensors_detected = 0, gps_fix_state = 0) { $(".magicon", eSensorStatus).removeClass("active"); } - if (have_sensor(sensors_detected, "gps")) { + const gnssSensorDetected = have_sensor(sensors_detected, "gps"); + const hasGnssFix = gps_fix_state > 0; + + if (gnssSensorDetected || hasGnssFix) { $(".gps", eSensorStatus).addClass("on"); - if (gps_fix_state) { - $(".gpsicon", eSensorStatus).removeClass("active"); - $(".gpsicon", eSensorStatus).addClass("active_fix"); - } else { - $(".gpsicon", eSensorStatus).removeClass("active_fix"); - $(".gpsicon", eSensorStatus).addClass("active"); - } + $(".gpsicon", eSensorStatus) + .toggleClass("active", gnssSensorDetected && !hasGnssFix) + .toggleClass("active_fix", gnssSensorDetected && hasGnssFix); } else { $(".gps", eSensorStatus).removeClass("on"); - $(".gpsicon", eSensorStatus).removeClass("active"); - $(".gpsicon", eSensorStatus).removeClass("active_fix"); + $(".gpsicon", eSensorStatus).removeClass("active active_fix"); } if (have_sensor(sensors_detected, "sonar")) {