From 5987e95ce909fb2e4a9aba381b4d8e3924eb2f9f Mon Sep 17 00:00:00 2001 From: taco Date: Fri, 23 May 2025 18:58:45 +1000 Subject: [PATCH] refactor: more conditionals for GPS also re-added some missing returns. --- src/helpers/sensors/EnvironmentSensorManager.cpp | 6 ++++-- src/helpers/sensors/EnvironmentSensorManager.h | 6 +++++- variants/promicro/target.cpp | 13 ++++++++++--- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/helpers/sensors/EnvironmentSensorManager.cpp b/src/helpers/sensors/EnvironmentSensorManager.cpp index b5f5cd48..c300cbe4 100644 --- a/src/helpers/sensors/EnvironmentSensorManager.cpp +++ b/src/helpers/sensors/EnvironmentSensorManager.cpp @@ -127,14 +127,16 @@ bool EnvironmentSensorManager::querySensors(uint8_t requester_permissions, Cayen int EnvironmentSensorManager::getNumSettings() const { #if ENV_INCLUDE_GPS - return gps_detected ? 1 : 0; // only show GPS setting if GPS is detected + return gps_detected ? 1 : 0; // only show GPS setting if GPS is detected #endif + return NULL; } const char* EnvironmentSensorManager::getSettingName(int i) const { #if ENV_INCLUDE_GPS - return (gps_detected && i == 0) ? "gps" : NULL; + return (gps_detected && i == 0) ? "gps" : NULL; #endif + return NULL; } const char* EnvironmentSensorManager::getSettingValue(int i) const { diff --git a/src/helpers/sensors/EnvironmentSensorManager.h b/src/helpers/sensors/EnvironmentSensorManager.h index 2a2d6b81..2a72f2d0 100644 --- a/src/helpers/sensors/EnvironmentSensorManager.h +++ b/src/helpers/sensors/EnvironmentSensorManager.h @@ -36,11 +36,11 @@ protected: bool INA3221_initialized = false; bool INA219_initialized = false; - LocationProvider* _location; bool gps_detected = false; bool gps_active = false; #if ENV_INCLUDE_GPS + LocationProvider* _location; void start_gps(); void stop_gps(); void initBasicGPS(); @@ -48,7 +48,11 @@ protected: public: + #if ENV_INCLUDE_GPS EnvironmentSensorManager(LocationProvider &location): _location(&location){}; + #else + EnvironmentSensorManager(){}; + #endif bool begin() override; bool querySensors(uint8_t requester_permissions, CayenneLPP& telemetry) override; #if ENV_INCLUDE_GPS diff --git a/variants/promicro/target.cpp b/variants/promicro/target.cpp index 666f43f5..2369bd7a 100644 --- a/variants/promicro/target.cpp +++ b/variants/promicro/target.cpp @@ -1,7 +1,9 @@ #include #include "target.h" #include -#include + +#if ENV_INCLUDE_GPS +#endif PromicroBoard board; @@ -11,8 +13,13 @@ WRAPPER_CLASS radio_driver(radio, board); VolatileRTCClock fallback_clock; AutoDiscoverRTCClock rtc_clock(fallback_clock); -MicroNMEALocationProvider nmea = MicroNMEALocationProvider(Serial1); -EnvironmentSensorManager sensors = EnvironmentSensorManager(nmea); +#if ENV_INCLUDE_GPS + #include + MicroNMEALocationProvider nmea = MicroNMEALocationProvider(Serial1); + EnvironmentSensorManager sensors = EnvironmentSensorManager(nmea); +#else + EnvironmentSensorManager sensors; +#endif #ifdef DISPLAY_CLASS DISPLAY_CLASS display;