diff --git a/main/accessors/settingsaccessors.h b/main/accessors/settingsaccessors.h index 7351226..dae686e 100644 --- a/main/accessors/settingsaccessors.h +++ b/main/accessors/settingsaccessors.h @@ -171,7 +171,6 @@ struct MotortestModeMultiplikatorAccessor : public RefAccessorSaveSettings { uint16_t &getRef() const override { return profileSettings.motortestMode.maxPwm; } }; // Ledstrip -#ifdef FEATURE_LEDSTRIP struct EnableLedAnimationAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.ledstrip.enableLedAnimation; } }; struct EnableBrakeLightsAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.ledstrip.enableBrakeLights; } }; struct LedsCountAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.ledstrip.ledsCount; } }; @@ -204,7 +203,6 @@ struct LedstripEnableBlinkAnimationAccessor : public NewSettingsAccessor { struct LedstripOtaAnimationAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.ledstrip.otaMode; } }; #endif struct LedstripEnableVisualizeBlinkAnimationAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.ledstrip.enableVisualizeBlink; } }; -#endif // Battery struct BatterySeriesCellsAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.battery.cellsSeries; } }; diff --git a/main/actions/ledstripanimationactions.h b/main/actions/ledstripanimationactions.h index 8360721..6b7bd8e 100644 --- a/main/actions/ledstripanimationactions.h +++ b/main/actions/ledstripanimationactions.h @@ -9,7 +9,6 @@ #include "newsettings.h" #include "bobbyerrorhandler.h" -#ifdef FEATURE_LEDSTRIP template class LedStripSetAnimationActionStatic : public virtual espgui::ActionInterface { @@ -29,5 +28,3 @@ public: private: const LedstripAnimation m_animation; }; - -#endif diff --git a/main/actions/ledstripblinkactions.cpp b/main/actions/ledstripblinkactions.cpp index 8d903b8..f8c4b06 100644 --- a/main/actions/ledstripblinkactions.cpp +++ b/main/actions/ledstripblinkactions.cpp @@ -1,6 +1,5 @@ #include "ledstripblinkactions.h" -#ifdef FEATURE_LEDSTRIP #include "ledstrip.h" #include "ledstripdefines.h" @@ -39,4 +38,3 @@ void LedstripAnimationBlinkBothAction::triggered() { blinkAnimation = LEDSTRIP_OVERWRITE_BLINKBOTH; } -#endif diff --git a/main/actions/ledstripblinkactions.h b/main/actions/ledstripblinkactions.h index 4ea7541..81770cd 100644 --- a/main/actions/ledstripblinkactions.h +++ b/main/actions/ledstripblinkactions.h @@ -1,6 +1,5 @@ #pragma once -#ifdef FEATURE_LEDSTRIP #include "actioninterface.h" class LedstripAnimationBlinkNoneAction : public virtual espgui::ActionInterface @@ -34,4 +33,3 @@ class LedstripAnimationBlinkBothAction : public virtual espgui::ActionInterface public: void triggered() override; }; -#endif diff --git a/main/ble_bobby.cpp b/main/ble_bobby.cpp index 1defdbe..9810f0a 100644 --- a/main/ble_bobby.cpp +++ b/main/ble_bobby.cpp @@ -9,9 +9,7 @@ #include // local includes -#ifdef FEATURE_LEDSTRIP #include "ledstrip.h" -#endif #include "globals.h" #include "modes/remotecontrolmode.h" #include "utils.h" @@ -246,10 +244,11 @@ void RemoteControlCallbacks::onWrite(NimBLECharacteristic* pCharacteristic) return; } -#ifdef FEATURE_LEDSTRIP - auto newBlinkAnimation = doc["anim"].as(); - if (blinkAnimation != newBlinkAnimation) blinkAnimation = newBlinkAnimation; -#endif // FEATURE_LEDSTRIP + if (configs.feature.ledstrip.value) + { + const auto newBlinkAnimation = doc["anim"].as(); + if (blinkAnimation != newBlinkAnimation) blinkAnimation = newBlinkAnimation; + } const bool isInverted = (profileSettings.controllerHardware.invertFrontLeft && !profileSettings.controllerHardware.invertFrontRight); diff --git a/main/bobbybuttons.cpp b/main/bobbybuttons.cpp index f792164..dc345fb 100644 --- a/main/bobbybuttons.cpp +++ b/main/bobbybuttons.cpp @@ -6,10 +6,9 @@ // local includes #include "newsettings.h" #include "settingsutils.h" -#ifdef FEATURE_LEDSTRIP +#include "modes/defaultmode.h" #include "ledstripdefines.h" #include "ledstrip.h" -#endif #include "bobbyquickactions.h" diff --git a/main/bobbyquickactions.cpp b/main/bobbyquickactions.cpp index 2a643fc..cfa7e94 100644 --- a/main/bobbyquickactions.cpp +++ b/main/bobbyquickactions.cpp @@ -82,7 +82,8 @@ void action_wifi_scan() void blink_left() { -#ifdef FEATURE_LEDSTRIP + if (configs.feature.ledstrip.value) + { if (blinkAnimation == LEDSTRIP_OVERWRITE_NONE) //transition from off to left { blinkAnimation = LEDSTRIP_OVERWRITE_BLINKLEFT; @@ -95,12 +96,13 @@ void blink_left() { blinkAnimation = LEDSTRIP_OVERWRITE_NONE; } -#endif + } } void blink_right() { -#ifdef FEATURE_LEDSTRIP + if(configs.feature.ledstrip.value) + { if (blinkAnimation == LEDSTRIP_OVERWRITE_NONE) //transition from off to right { blinkAnimation = LEDSTRIP_OVERWRITE_BLINKRIGHT; @@ -113,7 +115,7 @@ void blink_right() { blinkAnimation = LEDSTRIP_OVERWRITE_NONE; } -#endif + } } void handle_handbremse() diff --git a/main/displays/ledstripcolorsdisplay.cpp b/main/displays/ledstripcolorsdisplay.cpp index f341df4..37f3cd7 100644 --- a/main/displays/ledstripcolorsdisplay.cpp +++ b/main/displays/ledstripcolorsdisplay.cpp @@ -21,7 +21,6 @@ #include "globals.h" #include "displays/menus/ledstripmenu.h" -#ifdef FEATURE_LEDSTRIP namespace { constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip"; @@ -258,4 +257,3 @@ void LedstripColorsDisplay::drawSide(Bobbycar_Side side, unsigned int color) } // espgui::tft.fillCircle(espgui::tft.width() / 2, 140, 100, TFT_BLACK); } -#endif diff --git a/main/displays/ledstripcolorsdisplay.h b/main/displays/ledstripcolorsdisplay.h index 46ff229..2823d14 100644 --- a/main/displays/ledstripcolorsdisplay.h +++ b/main/displays/ledstripcolorsdisplay.h @@ -10,16 +10,6 @@ #include "bobbydisplaywithtitle.h" #include "ledstrip.h" -#ifdef FEATURE_LEDSTRIP -//extern int8_t selected_side; -//extern int8_t selected_color; -//extern bool state_select_color; -//extern bool last_state; - -//extern const std::array Colors; - -//extern const std::array tft_colors; - class LedstripColorsDisplay : public BobbyDisplayWithTitle { using Base = BobbyDisplayWithTitle; @@ -38,4 +28,3 @@ public: private: bool already_drew_circle{false}; }; -#endif diff --git a/main/displays/menus/ledstripmenu.cpp b/main/displays/menus/ledstripmenu.cpp index 908f1a5..994aa11 100644 --- a/main/displays/menus/ledstripmenu.cpp +++ b/main/displays/menus/ledstripmenu.cpp @@ -1,6 +1,5 @@ #include "ledstripmenu.h" -#ifdef FEATURE_LEDSTRIP // 3rdparty lib includes #include #include @@ -185,4 +184,3 @@ void LedstripMenu::back() { espgui::switchScreen(); } -#endif diff --git a/main/displays/menus/ledstripmenu.h b/main/displays/menus/ledstripmenu.h index 8ea46ee..2b8dce0 100644 --- a/main/displays/menus/ledstripmenu.h +++ b/main/displays/menus/ledstripmenu.h @@ -3,7 +3,6 @@ // local includes #include "displays/menudisplaywithtime.h" -#ifdef FEATURE_LEDSTRIP class LedstripMenu : public bobbygui::MenuDisplayWithTime { public: @@ -13,4 +12,3 @@ public: void back() override; }; -#endif diff --git a/main/displays/menus/ledstripselectblinkmenu.cpp b/main/displays/menus/ledstripselectblinkmenu.cpp index 04bed23..fe0f1a4 100644 --- a/main/displays/menus/ledstripselectblinkmenu.cpp +++ b/main/displays/menus/ledstripselectblinkmenu.cpp @@ -1,7 +1,5 @@ #include "ledstripselectblinkmenu.h" -#ifdef FEATURE_LEDSTRIP - // 3rdparty lib includes #include "actions/dummyaction.h" #include "actions/switchscreenaction.h" @@ -83,4 +81,3 @@ std::string CurrentSelectedBlinkAnimationText::text() const } } // namespace -#endif diff --git a/main/displays/menus/ledstripselectblinkmenu.h b/main/displays/menus/ledstripselectblinkmenu.h index 577fc29..77cdcb6 100644 --- a/main/displays/menus/ledstripselectblinkmenu.h +++ b/main/displays/menus/ledstripselectblinkmenu.h @@ -3,7 +3,6 @@ // Local includes #include "displays/bobbymenudisplay.h" -#ifdef FEATURE_LEDSTRIP class LedstripSelectBlinkMenu : public BobbyMenuDisplay { public: @@ -12,4 +11,3 @@ public: std::string text() const override; void back() override; }; -#endif diff --git a/main/displays/menus/ledstripselectotamode.cpp b/main/displays/menus/ledstripselectotamode.cpp index 3c8e71f..c84bf25 100644 --- a/main/displays/menus/ledstripselectotamode.cpp +++ b/main/displays/menus/ledstripselectotamode.cpp @@ -10,7 +10,7 @@ #include "utils.h" #include "ledstripmenu.h" -#if defined(FEATURE_LEDSTRIP) && defined(FEATURE_OTA) +#ifdef FEATURE_OTA namespace { constexpr char TEXT_BLINKANIMATION[] = "Blink animation"; constexpr char TEXT_OTAANIM_NONE[] = "None"; diff --git a/main/displays/menus/ledstripselectotamode.h b/main/displays/menus/ledstripselectotamode.h index 3bf4132..b104d12 100644 --- a/main/displays/menus/ledstripselectotamode.h +++ b/main/displays/menus/ledstripselectotamode.h @@ -3,7 +3,7 @@ // local includes #include "displays/bobbymenudisplay.h" -#if defined(FEATURE_LEDSTRIP) && defined(FEATURE_OTA) +#ifdef FEATURE_OTA class LedstripOtaAnimationChangeMenu : public BobbyMenuDisplay { public: diff --git a/main/displays/menus/mainmenu.cpp b/main/displays/menus/mainmenu.cpp index dc99b3e..917599b 100644 --- a/main/displays/menus/mainmenu.cpp +++ b/main/displays/menus/mainmenu.cpp @@ -42,9 +42,7 @@ #ifdef FEATURE_OTA #include "icons/update.h" #endif -#ifdef FEATURE_LEDSTRIP #include "icons/neopixel.h" -#endif #include "icons/poweroff.h" #include "icons/reboot.h" #include "icons/statistics.h" @@ -89,9 +87,10 @@ MainMenu::MainMenu() // constructMenuItem>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); -#ifdef FEATURE_LEDSTRIP - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::neopixel>>>(); -#endif + if (configs.feature.ledstrip.value) + { + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::neopixel>>>(); + } constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::statistics>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::modes>>>(); if (SHOWITEM) { constructMenuItem, ModeSettingsAction>>(); } diff --git a/main/displays/statusdisplay.cpp b/main/displays/statusdisplay.cpp index 7886131..56f21b8 100644 --- a/main/displays/statusdisplay.cpp +++ b/main/displays/statusdisplay.cpp @@ -103,7 +103,8 @@ void StatusDisplay::redraw() tft.fillRect(0, tft.height()-6, tft.width(), 6, TFT_BLACK); } } -#ifdef FEATURE_LEDSTRIP + + if(configs.feature.ledstrip.value) { static bool blink_fill_with_black; if (configs.ledstrip.enableVisualizeBlink.value && (espchrono::utc_clock::now().time_since_epoch() % 750ms < 375ms) && (blinkAnimation > 0)) @@ -126,7 +127,6 @@ void StatusDisplay::redraw() m_progressBarGas.start(); } } -#endif tft.setTextFont(2); m_labelRawGas.redraw(raw_gas ? std::to_string(*raw_gas) : "?"); diff --git a/main/ledstrip.cpp b/main/ledstrip.cpp index 600784c..f530205 100644 --- a/main/ledstrip.cpp +++ b/main/ledstrip.cpp @@ -13,7 +13,6 @@ using namespace std::chrono_literals; -#ifdef FEATURE_LEDSTRIP std::vector leds; uint8_t gHue = 0; @@ -22,13 +21,19 @@ uint16_t blinkAnimation = LEDSTRIP_OVERWRITE_NONE; void initLedStrip() { - leds.resize(configs.ledstrip.ledsCount.value); - FastLED.addLeds(&*std::begin(leds), leds.size()) - .setCorrection(TypicalSMD5050); + if (configs.feature.ledstrip.value) + { + leds.resize(configs.ledstrip.ledsCount.value); + FastLED.addLeds(&*std::begin(leds), leds.size()) + .setCorrection(TypicalSMD5050); + } } void updateLedStrip() { + if(!configs.feature.ledstrip.value) + return; + EVERY_N_MILLISECONDS( 20 ) { gHue++; } static bool have_disabled_beeper = false; const bool enAnim = configs.ledstrip.enableAnimBlink.value; @@ -347,5 +352,3 @@ void showCustomColor() std::fill(center - (eighth_length / 2) - eighth_length - eighth_length - eighth_length, center - (eighth_length / 2) - eighth_length - eighth_length, ledstrip_custom_colors[int(Bobbycar_Side::FRONT_LEFT)]); // Front Left #endif } - -#endif diff --git a/main/ledstrip.h b/main/ledstrip.h index c1214ca..bef628f 100644 --- a/main/ledstrip.h +++ b/main/ledstrip.h @@ -23,7 +23,6 @@ DECLARE_BOBBYTYPESAFE_ENUM(OtaAnimationModes, : uint8_t, OtaAnimationModesValues x(CustomColor) DECLARE_BOBBYTYPESAFE_ENUM(LedstripAnimation, : uint8_t, LedstripAnimationValues) -#ifdef FEATURE_LEDSTRIP enum Bobbycar_Side { FRONT_RIGHT, @@ -52,4 +51,3 @@ void showOtaAnimation(); void initLedStrip(); void updateLedStrip(); -#endif diff --git a/main/webserver_dumpnvs.cpp b/main/webserver_dumpnvs.cpp index 46ccc7b..f716ac8 100644 --- a/main/webserver_dumpnvs.cpp +++ b/main/webserver_dumpnvs.cpp @@ -38,7 +38,7 @@ typename std::enable_if< !std::is_same::value && !std::is_same::value && !std::is_same::value -#if defined(FEATURE_LEDSTRIP) && defined(FEATURE_OTA) +#ifdef FEATURE_OTA && !std::is_same::value #endif , bool>::type @@ -120,7 +120,7 @@ showInputForSetting(std::string_view key, T value, JsonObject &body) return true; } -#if defined(FEATURE_LEDSTRIP) && defined(FEATURE_OTA) +#ifdef FEATURE_OTA template typename std::enable_if<