diff --git a/config_allfeatures.cmake b/config_allfeatures.cmake index c04f815..a830f2b 100644 --- a/config_allfeatures.cmake +++ b/config_allfeatures.cmake @@ -43,7 +43,6 @@ set(BOBBYCAR_BUILDFLAGS # -DFEATURE_GAMETRAK -DFEATURE_POWERSUPPLY -DFEATURE_LEDBACKLIGHT - -DFEATURE_ESPNOW -DLEDBACKLIGHT_INVERTED -DLEDSTRIP_WRONG_DIRECTION diff --git a/config_comred.cmake b/config_comred.cmake index 1df6b86..a06e50c 100644 --- a/config_comred.cmake +++ b/config_comred.cmake @@ -43,7 +43,6 @@ set(BOBBYCAR_BUILDFLAGS # -DFEATURE_GAMETRAK # -DFEATURE_POWERSUPPLY -DFEATURE_LEDBACKLIGHT - -DFEATURE_ESPNOW -DLEDBACKLIGHT_INVERTED # -DLEDSTRIP_WRONG_DIRECTION diff --git a/config_feedc0de.cmake b/config_feedc0de.cmake index 3178f08..2fe6b8a 100644 --- a/config_feedc0de.cmake +++ b/config_feedc0de.cmake @@ -43,7 +43,6 @@ set(BOBBYCAR_BUILDFLAGS # -DFEATURE_GAMETRAK -DFEATURE_POWERSUPPLY -DFEATURE_LEDBACKLIGHT -# -DFEATURE_ESPNOW -DLEDBACKLIGHT_INVERTED # -DLEDSTRIP_WRONG_DIRECTION diff --git a/config_greyhash.cmake b/config_greyhash.cmake index 2e8e934..d9c8227 100644 --- a/config_greyhash.cmake +++ b/config_greyhash.cmake @@ -43,7 +43,6 @@ set(BOBBYCAR_BUILDFLAGS # -DFEATURE_GAMETRAK # -DFEATURE_POWERSUPPLY -DFEATURE_LEDBACKLIGHT - -DFEATURE_ESPNOW -DLEDBACKLIGHT_INVERTED # -DLEDSTRIP_WRONG_DIRECTION diff --git a/config_mick.cmake b/config_mick.cmake index bd2f009..f28ce5e 100644 --- a/config_mick.cmake +++ b/config_mick.cmake @@ -43,7 +43,6 @@ set(BOBBYCAR_BUILDFLAGS # -DFEATURE_GAMETRAK -DFEATURE_POWERSUPPLY -DFEATURE_LEDBACKLIGHT - -DFEATURE_ESPNOW -DLEDBACKLIGHT_INVERTED # -DLEDSTRIP_WRONG_DIRECTION diff --git a/config_nofeatures.cmake b/config_nofeatures.cmake index afbf3d5..53eae44 100644 --- a/config_nofeatures.cmake +++ b/config_nofeatures.cmake @@ -43,7 +43,6 @@ set(BOBBYCAR_BUILDFLAGS # -DFEATURE_GAMETRAK # -DFEATURE_POWERSUPPLY # -DFEATURE_LEDBACKLIGHT -# -DFEATURE_ESPNOW # -DLEDBACKLIGHT_INVERTED # -DLEDSTRIP_WRONG_DIRECTION diff --git a/config_peter.cmake b/config_peter.cmake index 3c16f78..aef497e 100644 --- a/config_peter.cmake +++ b/config_peter.cmake @@ -43,7 +43,6 @@ set(BOBBYCAR_BUILDFLAGS # -DFEATURE_GAMETRAK -DFEATURE_POWERSUPPLY -DFEATURE_LEDBACKLIGHT - -DFEATURE_ESPNOW -DLEDBACKLIGHT_INVERTED # -DLEDSTRIP_WRONG_DIRECTION diff --git a/config_seatbot.cmake b/config_seatbot.cmake index 4ee4c36..59d4ead 100644 --- a/config_seatbot.cmake +++ b/config_seatbot.cmake @@ -43,7 +43,6 @@ set(BOBBYCAR_BUILDFLAGS # -DFEATURE_GAMETRAK # -DFEATURE_POWERSUPPLY -DFEATURE_LEDBACKLIGHT - -DFEATURE_ESPNOW -DLEDBACKLIGHT_INVERTED # -DLEDSTRIP_WRONG_DIRECTION diff --git a/main/accessors/settingsaccessors.h b/main/accessors/settingsaccessors.h index 8dbcf77..c964b0c 100644 --- a/main/accessors/settingsaccessors.h +++ b/main/accessors/settingsaccessors.h @@ -212,11 +212,9 @@ struct HandbremsAutomaticAccessor : public NewSettingsAccessor { ConfigWra struct HandbremsVisualizeAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.handbremse.visualize; } }; // ESP Now -#ifdef FEATURE_ESPNOW struct ESPNowSyncTimeEnabledAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.espnow.syncTime; } }; struct ESPNowSyncTimeWithOthersEnabledAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.espnow.syncTimeWithOthers; } }; struct ESPNowSyncBlinkEnabledAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.espnow.syncBlink; } }; -#endif // Button Mapping accessors struct ButtonLeftAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.dpadMappingLeft; } }; diff --git a/main/bobbyquickactions.cpp b/main/bobbyquickactions.cpp index cfa7e94..5707f1a 100644 --- a/main/bobbyquickactions.cpp +++ b/main/bobbyquickactions.cpp @@ -1,9 +1,7 @@ #include "bobbyquickactions.h" // local includes -#ifdef FEATURE_ESPNOW #include "espnowfunctions.h" -#endif #include "newsettings.h" #include "wifi_bobbycar.h" @@ -30,10 +28,7 @@ void handle_bobby_quickaction(espgui::Button button) return; } - if (config) - { - switch(config->value) - { + switch (config->value) { case BobbyQuickActions::BLINK_LEFT: blink_left(); break; @@ -51,13 +46,14 @@ void handle_bobby_quickaction(espgui::Button button) break; default: return; - } } } void open_garage() { -#ifdef FEATURE_ESPNOW + if (!configs.feature.esp_now.value) + return; + if (!espnow::espnow_init_allowed()) return; for (const auto &config : configs.wireless_door_configs) @@ -68,7 +64,6 @@ void open_garage() continue; } } -#endif } void action_wifi_scan() diff --git a/main/displays/menus/espnowmenu.cpp b/main/displays/menus/espnowmenu.cpp index 920c295..b886c08 100644 --- a/main/displays/menus/espnowmenu.cpp +++ b/main/displays/menus/espnowmenu.cpp @@ -1,6 +1,5 @@ #include "espnowmenu.h" -#ifdef FEATURE_ESPNOW // 3rdparty lib includes #include "actions/dummyaction.h" #include "actions/switchscreenaction.h" @@ -75,4 +74,3 @@ void EspNowMenu::back() { espgui::switchScreen(); } -#endif diff --git a/main/displays/menus/espnowmenu.h b/main/displays/menus/espnowmenu.h index 7ab2610..cc69737 100644 --- a/main/displays/menus/espnowmenu.h +++ b/main/displays/menus/espnowmenu.h @@ -1,7 +1,5 @@ #pragma once -#ifdef FEATURE_ESPNOW - // local includes #include "displays/bobbymenudisplay.h" @@ -14,5 +12,3 @@ public: void back() override; }; - -#endif diff --git a/main/displays/menus/espnowsettingsmenu.cpp b/main/displays/menus/espnowsettingsmenu.cpp index 2cbc4c3..ea286f9 100644 --- a/main/displays/menus/espnowsettingsmenu.cpp +++ b/main/displays/menus/espnowsettingsmenu.cpp @@ -1,7 +1,5 @@ #include "espnowsettingsmenu.h" -#ifdef FEATURE_ESPNOW - // 3rdparty lib includes #include "actions/dummyaction.h" #include "actions/switchscreenaction.h" @@ -46,4 +44,3 @@ void EspNowSettingsMenu::back() { espgui::switchScreen(); } -#endif diff --git a/main/displays/menus/espnowsettingsmenu.h b/main/displays/menus/espnowsettingsmenu.h index b7fdd16..0e4eaaf 100644 --- a/main/displays/menus/espnowsettingsmenu.h +++ b/main/displays/menus/espnowsettingsmenu.h @@ -1,7 +1,5 @@ #pragma once -#ifdef FEATURE_ESPNOW - // local includes #include "displays/bobbymenudisplay.h" @@ -14,5 +12,3 @@ public: void back() override; }; - -#endif diff --git a/main/displays/menus/garagenmenu.cpp b/main/displays/menus/garagenmenu.cpp index 8ffa502..c9dde7a 100644 --- a/main/displays/menus/garagenmenu.cpp +++ b/main/displays/menus/garagenmenu.cpp @@ -1,4 +1,3 @@ -#ifdef FEATURE_ESPNOW #include "garagenmenu.h" // 3rd party libs @@ -66,4 +65,3 @@ void SendEspNowMessageAction::triggered() } } } // namespace -#endif diff --git a/main/displays/menus/garagenmenu.h b/main/displays/menus/garagenmenu.h index 708d236..495141b 100644 --- a/main/displays/menus/garagenmenu.h +++ b/main/displays/menus/garagenmenu.h @@ -1,6 +1,5 @@ #pragma once -#ifdef FEATURE_ESPNOW // local includes #include "displays/bobbymenudisplay.h" @@ -13,4 +12,3 @@ public: void back() override; }; -#endif diff --git a/main/displays/menus/mainmenu.cpp b/main/displays/menus/mainmenu.cpp index 9837aae..4b8e520 100644 --- a/main/displays/menus/mainmenu.cpp +++ b/main/displays/menus/mainmenu.cpp @@ -21,9 +21,7 @@ #include "displays/menus/demosmenu.h" #include "displays/menus/greenpassmenu.h" #include "displays/lockscreen.h" -#ifdef FEATURE_ESPNOW #include "displays/menus/garagenmenu.h" -#endif #include "displays/menus/otamenu.h" #include "displays/poweroffdisplay.h" #include "displays/menus/statisticsmenu.h" @@ -96,12 +94,10 @@ MainMenu::MainMenu() if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::settings>>>(); } constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::greenpass>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::lock>>>(); -#ifdef FEATURE_ESPNOW - if (configs.feature.garage.value) + if (configs.feature.garage.value && configs.feature.esp_now.value) { if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } } -#endif if (configs.feature.ota.value) if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); } if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::graph>>>(); } diff --git a/main/displays/menus/settingsmenu.cpp b/main/displays/menus/settingsmenu.cpp index 5e2076e..a6fb9d2 100644 --- a/main/displays/menus/settingsmenu.cpp +++ b/main/displays/menus/settingsmenu.cpp @@ -84,20 +84,19 @@ SettingsMenu::SettingsMenu() constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::wifi>>>(); -#ifdef FEATURE_ESPNOW - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::wifi>>>(); -#endif + if (configs.feature.esp_now.value) + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::wifi>>>(); #ifdef FEATURE_BLUETOOTH constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::bluetooth>>>(); #endif if (configs.feature.ble.value) - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::bluetooth>>>(); + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::bluetooth>>>(); if (configs.feature.cloud.value) - constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); if (configs.feature.udpcloud.value) - constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); if (configs.feature.ota.value) - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::time>>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::hardware>>>(); diff --git a/main/espnowfunctions.cpp b/main/espnowfunctions.cpp index 48940f0..fe6b562 100644 --- a/main/espnowfunctions.cpp +++ b/main/espnowfunctions.cpp @@ -1,4 +1,3 @@ -#ifdef FEATURE_ESPNOW #include "espnowfunctions.h" #include @@ -309,4 +308,3 @@ esp_err_t send_espnow_message(std::string_view message) } } // namespace espnow -#endif diff --git a/main/espnowfunctions.h b/main/espnowfunctions.h index fa0f5a8..87749ca 100644 --- a/main/espnowfunctions.h +++ b/main/espnowfunctions.h @@ -1,5 +1,4 @@ #pragma once -#ifdef FEATURE_ESPNOW #include #include #include @@ -29,4 +28,4 @@ void handle(); void onRecvTs(uint64_t millis, bool isFromBobbycar = false); esp_err_t send_espnow_message(std::string_view message); } // namespace espnow -#endif + diff --git a/main/newsettings.h b/main/newsettings.h index 0d2ef3f..9c2981d 100644 --- a/main/newsettings.h +++ b/main/newsettings.h @@ -332,6 +332,7 @@ public: ConfigWrapper ota {false, DoReset, {}, "f_ota" }; ConfigWrapper webserver {true, DoReset, {}, "featureWebserv" }; ConfigWrapper gschissene_diode {false, DoReset, {}, "featurDiodeHin" }; + ConfigWrapper esp_now {false, DoReset, {}, "featureEspNow" }; } feature; struct { diff --git a/main/taskmanager.cpp b/main/taskmanager.cpp index 40eca4c..4063d49 100644 --- a/main/taskmanager.cpp +++ b/main/taskmanager.cpp @@ -49,9 +49,7 @@ #include "ble_bobby.h" #include "webserver.h" #include "ledstrip.h" -#ifdef FEATURE_ESPNOW #include "espnowfunctions.h" -#endif #include "cloud.h" #include "udpcloud.h" #include "modes.h" @@ -108,9 +106,7 @@ BobbySchedulerTask schedulerTasksArr[] { BobbySchedulerTask { "ble", initBle, handleBle, 100ms }, BobbySchedulerTask { "webserver", initWebserver, handleWebserver, 100ms }, BobbySchedulerTask { "ledstrip", initLedStrip, updateLedStrip, 30ms }, -#ifdef FEATURE_ESPNOW BobbySchedulerTask { "espnow", espnow::initESPNow, espnow::handle, 100ms }, -#endif BobbySchedulerTask { "cloud", initCloud, updateCloud, 50ms }, BobbySchedulerTask { "udpcloud", udpCloudInit, udpCloudUpdate, 50ms }, BobbySchedulerTask { "drivingmode", initDrivingMode, updateDrivingMode, 20ms },