From 9890c9fb24ad2c7109d00690bf02debb5a5e0d19 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Mon, 17 Jan 2022 22:10:07 +0100 Subject: [PATCH] Moved FEATURE_CLOUD and FEATURE_UDPCLOUD into config-system --- config_allfeatures.cmake | 2 -- config_comred.cmake | 2 -- config_feedc0de.cmake | 2 -- config_mick.cmake | 2 -- config_nofeatures.cmake | 4 +--- config_peter.cmake | 2 -- main/accessors/settingsaccessors.h | 6 ------ main/cloud.cpp | 6 +++--- main/cloud.h | 2 -- main/cloudtexthelpers.cpp | 2 -- main/cloudtexthelpers.h | 2 -- main/displays/menus/cloudsettingsmenu.cpp | 2 -- main/displays/menus/cloudsettingsmenu.h | 2 -- main/displays/menus/debugmenu.cpp | 7 ++++--- main/displays/menus/settingsmenu.cpp | 18 ++++++++---------- main/displays/menus/udpcloudsettingsmenu.cpp | 2 -- main/displays/menus/udpcloudsettingsmenu.h | 2 -- main/displays/statusdisplay.cpp | 18 ++++++++++-------- main/newsettings.h | 11 +++++++++-- main/taskmanager.cpp | 8 -------- main/udpcloud.cpp | 5 +++-- main/udpcloud.h | 2 -- 22 files changed, 38 insertions(+), 71 deletions(-) diff --git a/config_allfeatures.cmake b/config_allfeatures.cmake index 4ade2bd..0ac5f00 100644 --- a/config_allfeatures.cmake +++ b/config_allfeatures.cmake @@ -65,8 +65,6 @@ set(BOBBYCAR_BUILDFLAGS # -DPINS_GAMETRAKY=39 # -DPINS_GAMETRAKDIST=36 -DFEATURE_POWERSUPPLY - -DFEATURE_CLOUD - -DFEATURE_UDPCLOUD -DFEATURE_LEDBACKLIGHT -DPINS_LEDBACKLIGHT=23 -DLEDBACKLIGHT_INVERTED diff --git a/config_comred.cmake b/config_comred.cmake index b5c8d3c..d382bcd 100644 --- a/config_comred.cmake +++ b/config_comred.cmake @@ -58,8 +58,6 @@ set(BOBBYCAR_BUILDFLAGS # -DPINS_GAMETRAKY=39 # -DPINS_GAMETRAKDIST=36 # -DFEATURE_POWERSUPPLY -# -DFEATURE_CLOUD - -DFEATURE_UDPCLOUD -DFEATURE_LEDBACKLIGHT -DPINS_LEDBACKLIGHT=23 -DLEDBACKLIGHT_INVERTED diff --git a/config_feedc0de.cmake b/config_feedc0de.cmake index bc51916..b687be1 100644 --- a/config_feedc0de.cmake +++ b/config_feedc0de.cmake @@ -56,8 +56,6 @@ set(BOBBYCAR_BUILDFLAGS # -DPINS_GAMETRAKY=39 # -DPINS_GAMETRAKDIST=36 -DFEATURE_POWERSUPPLY - -DFEATURE_CLOUD - -DFEATURE_UDPCLOUD -DFEATURE_LEDBACKLIGHT -DPINS_LEDBACKLIGHT=23 -DLEDBACKLIGHT_INVERTED diff --git a/config_mick.cmake b/config_mick.cmake index 6d47f97..1406960 100644 --- a/config_mick.cmake +++ b/config_mick.cmake @@ -56,8 +56,6 @@ set(BOBBYCAR_BUILDFLAGS # -DPINS_GAMETRAKY=39 # -DPINS_GAMETRAKDIST=36 # -DFEATURE_POWERSUPPLY -# -DFEATURE_CLOUD - -DFEATURE_UDPCLOUD -DFEATURE_LEDBACKLIGHT -DPINS_LEDBACKLIGHT=23 -DLEDBACKLIGHT_INVERTED diff --git a/config_nofeatures.cmake b/config_nofeatures.cmake index 3b76089..d99ec75 100644 --- a/config_nofeatures.cmake +++ b/config_nofeatures.cmake @@ -56,7 +56,7 @@ set(BOBBYCAR_BUILDFLAGS -DPINS_DPAD_6WIRESW_IN3=18 -DPINS_DPAD_6WIRESW_IN4=19 -DPINS_DPAD_6WIRESW_IN5=26 -# -DFEATURE_GSCHISSENE_DIODE +# -DFEATURE_GSCHISSENE_DIODE # -DFEATURE_BLE # -DFEATURE_BLUETOOTH # -DFEATURE_BMS @@ -65,8 +65,6 @@ set(BOBBYCAR_BUILDFLAGS # -DPINS_GAMETRAKY=39 # -DPINS_GAMETRAKDIST=36 # -DFEATURE_POWERSUPPLY -# -DFEATURE_CLOUD -# -DFEATURE_UDPCLOUD # -DFEATURE_LEDBACKLIGHT # -DPINS_LEDBACKLIGHT=23 # -DLEDBACKLIGHT_INVERTED diff --git a/config_peter.cmake b/config_peter.cmake index 86ddd65..12a3ff3 100644 --- a/config_peter.cmake +++ b/config_peter.cmake @@ -56,8 +56,6 @@ set(BOBBYCAR_BUILDFLAGS # -DPINS_GAMETRAKY=39 # -DPINS_GAMETRAKDIST=36 # -DFEATURE_POWERSUPPLY -# -DFEATURE_CLOUD - -DFEATURE_UDPCLOUD -DFEATURE_LEDBACKLIGHT -DPINS_LEDBACKLIGHT=23 -DLEDBACKLIGHT_INVERTED diff --git a/main/accessors/settingsaccessors.h b/main/accessors/settingsaccessors.h index dae686e..1aee2b5 100644 --- a/main/accessors/settingsaccessors.h +++ b/main/accessors/settingsaccessors.h @@ -43,10 +43,8 @@ struct BleEnabledAccessor : public NewSettingsAccessor { ConfigWrapper { ConfigWrapper &getConfig() const override { return configs.cloudSettings.cloudEnabled; } }; struct CloudTransmitTimeoutAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.cloudSettings.cloudTransmitTimeout; } }; -#endif // Time //struct TimezoneOffsetAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.timezoneOffset; } }; @@ -126,17 +124,13 @@ struct GametrakDistMaxAccessor : public NewSettingsAccessor { ConfigWra struct StatsUpdateRateAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.boardcomputerHardware.timersSettings.statsUpdateRate; } }; // Cloud -#ifdef FEATURE_CLOUD struct CloudCollectRateAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.boardcomputerHardware.timersSettings.cloudCollectRate; } }; struct CloudSendRateAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.boardcomputerHardware.timersSettings.cloudSendRate; } }; -#endif -#ifdef FEATURE_UDPCLOUD struct UdpCloudSendIntervalAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.boardcomputerHardware.timersSettings.udpSendRateMs; } }; struct UdpCloudEnabledAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.udpCloudSettings.udpCloudEnabled; } }; struct CloudDebugEnableAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.udpCloudSettings.enableCloudDebug; } }; struct UdpUseStdStringAccessor : public NewSettingsAccessor { ConfigWrapper &getConfig() const override { return configs.udpCloudSettings.udpUseStdString; } }; -#endif // DefaultMode struct DefaultModeModelModeAccessor : public RefAccessorSaveSettings { UnifiedModelMode &getRef() const override { return profileSettings.defaultMode.modelMode; } }; diff --git a/main/cloud.cpp b/main/cloud.cpp index 26ed792..f70a0f5 100644 --- a/main/cloud.cpp +++ b/main/cloud.cpp @@ -24,7 +24,6 @@ namespace { constexpr const char * const TAG = "BOBBYCLOUD"; } // namespace -#ifdef FEATURE_CLOUD espcpputils::websocket_client cloudClient; bool cloudStarted{}; @@ -53,6 +52,9 @@ void initCloud() void updateCloud() { + if (!configs.feature.cloud.value) + return; + const auto now = espchrono::millis_clock::now(); if (!lastCloudCollect || now - *lastCloudCollect >= std::chrono::milliseconds{configs.boardcomputerHardware.timersSettings.cloudCollectRate.value}) @@ -284,5 +286,3 @@ void destroyCloud() cloudClient = {}; cloudStarted = false; } - -#endif diff --git a/main/cloud.h b/main/cloud.h index a8f55ef..7ffb4c3 100644 --- a/main/cloud.h +++ b/main/cloud.h @@ -7,7 +7,6 @@ #include #include -#ifdef FEATURE_CLOUD extern espcpputils::websocket_client cloudClient; extern bool cloudStarted; extern espchrono::millis_clock::time_point lastCreateTry; @@ -22,4 +21,3 @@ void initCloud(); void updateCloud(); void cloudCollect(); void cloudSend(); -#endif diff --git a/main/cloudtexthelpers.cpp b/main/cloudtexthelpers.cpp index a103caa..f2ee868 100644 --- a/main/cloudtexthelpers.cpp +++ b/main/cloudtexthelpers.cpp @@ -6,7 +6,6 @@ // local includes #include "cloud.h" -#ifdef FEATURE_CLOUD std::string CloudCreatedText::text() const { return fmt::format("created: {}", cloudClient ? "true" : "false"); @@ -27,4 +26,3 @@ std::string CloudConnectedText::text() const text += cloudClient.is_connected() ? "true" : "false"; return text; } -#endif diff --git a/main/cloudtexthelpers.h b/main/cloudtexthelpers.h index ceeb687..2dce1ed 100644 --- a/main/cloudtexthelpers.h +++ b/main/cloudtexthelpers.h @@ -3,7 +3,6 @@ // local includes #include "textinterface.h" -#ifdef FEATURE_CLOUD struct CloudCreatedText : public virtual espgui::TextInterface { public: @@ -21,4 +20,3 @@ struct CloudConnectedText : public virtual espgui::TextInterface public: std::string text() const override; }; -#endif diff --git a/main/displays/menus/cloudsettingsmenu.cpp b/main/displays/menus/cloudsettingsmenu.cpp index d425baf..e937788 100644 --- a/main/displays/menus/cloudsettingsmenu.cpp +++ b/main/displays/menus/cloudsettingsmenu.cpp @@ -16,7 +16,6 @@ #include "displays/menus/settingsmenu.h" #include "bobbycheckbox.h" -#ifdef FEATURE_CLOUD namespace { constexpr char TEXT_CLOUDSETTINGS[] = "Cloud settings"; constexpr char TEXT_CLOUDENABLED[] = "Cloud enabled"; @@ -83,4 +82,3 @@ void CloudSettingsMenu::back() { switchScreen(); } -#endif diff --git a/main/displays/menus/cloudsettingsmenu.h b/main/displays/menus/cloudsettingsmenu.h index 5cb6118..99aedb1 100644 --- a/main/displays/menus/cloudsettingsmenu.h +++ b/main/displays/menus/cloudsettingsmenu.h @@ -3,7 +3,6 @@ // local includes #include "displays/bobbymenudisplay.h" -#ifdef FEATURE_CLOUD class CloudSettingsMenu : public BobbyMenuDisplay { public: @@ -13,4 +12,3 @@ public: void back() override; }; -#endif diff --git a/main/displays/menus/debugmenu.cpp b/main/displays/menus/debugmenu.cpp index b08cfca..1f5794f 100644 --- a/main/displays/menus/debugmenu.cpp +++ b/main/displays/menus/debugmenu.cpp @@ -66,9 +66,10 @@ DebugMenu::DebugMenu() constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::battery>>>(); -#ifdef FEATURE_UDPCLOUD - constructMenuItem, BobbyCheckbox, CloudDebugEnableAccessor>>(); -#endif + if (configs.feature.udpcloud.value) + { + constructMenuItem, BobbyCheckbox, CloudDebugEnableAccessor>>(); + } constructMenuItem, DisabledColor, DummyAction>>(); constructMenuItem, DisabledColor, DummyAction>>(); constructMenuItem>(); diff --git a/main/displays/menus/settingsmenu.cpp b/main/displays/menus/settingsmenu.cpp index e786b05..f30ae66 100644 --- a/main/displays/menus/settingsmenu.cpp +++ b/main/displays/menus/settingsmenu.cpp @@ -25,12 +25,8 @@ #include "displays/menus/networksettingsmenu.h" #include "displays/menus/bluetoothsettingsmenu.h" #include "displays/menus/blesettingsmenu.h" -#ifdef FEATURE_CLOUD #include "displays/menus/cloudsettingsmenu.h" -#endif -#ifdef FEATURE_UDPCLOUD #include "displays/menus/udpcloudsettingsmenu.h" -#endif #include "displays/menus/espnowmenu.h" #include "displays/menus/selectbuildservermenu.h" #include "displays/menus/timesettingsmenu.h" @@ -99,12 +95,14 @@ SettingsMenu::SettingsMenu() #ifdef FEATURE_BLE constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::bluetooth>>>(); #endif -#ifdef FEATURE_CLOUD - constructMenuItem, SwitchScreenAction>>(); -#endif -#ifdef FEATURE_UDPCLOUD - constructMenuItem, SwitchScreenAction>>(); -#endif + if (configs.feature.cloud.value) + { + constructMenuItem, SwitchScreenAction>>(); + } + if (configs.feature.udpcloud.value) + { + constructMenuItem, SwitchScreenAction>>(); + } #ifdef FEATURE_OTA constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); #endif diff --git a/main/displays/menus/udpcloudsettingsmenu.cpp b/main/displays/menus/udpcloudsettingsmenu.cpp index 1e8a32b..ed5f801 100644 --- a/main/displays/menus/udpcloudsettingsmenu.cpp +++ b/main/displays/menus/udpcloudsettingsmenu.cpp @@ -14,7 +14,6 @@ #include "displays/menus/settingsmenu.h" #include "bobbycheckbox.h" -#ifdef FEATURE_UDPCLOUD namespace { constexpr char TEXT_UDPCLOUDSETTINGS[] = "UDP Cloud settings"; constexpr char TEXT_UDPCLOUDENABLED[] = "Udp Cloud enabled"; @@ -50,4 +49,3 @@ void UdpCloudSettingsMenu::back() { switchScreen(); } -#endif diff --git a/main/displays/menus/udpcloudsettingsmenu.h b/main/displays/menus/udpcloudsettingsmenu.h index b5698a6..9719e0a 100644 --- a/main/displays/menus/udpcloudsettingsmenu.h +++ b/main/displays/menus/udpcloudsettingsmenu.h @@ -3,7 +3,6 @@ // local includes #include "displays/bobbymenudisplay.h" -#ifdef FEATURE_UDPCLOUD class UdpCloudSettingsMenu : public BobbyMenuDisplay { public: @@ -13,4 +12,3 @@ public: void back() override; }; -#endif diff --git a/main/displays/statusdisplay.cpp b/main/displays/statusdisplay.cpp index 56f21b8..4776696 100644 --- a/main/displays/statusdisplay.cpp +++ b/main/displays/statusdisplay.cpp @@ -150,16 +150,18 @@ void StatusDisplay::redraw() m_backStatus.redraw(controllers.back); tft.setTextFont(2); -#ifdef FEATURE_UDPCLOUD - if(configs.udpCloudSettings.udpCloudEnabled.value && configs.udpCloudSettings.enableCloudDebug.value) + + if (configs.feature.udpcloud.value) { - tft.fillRect(125, 258, 8, 8, (visualSendUdpPacket) ? TFT_DARKGREY : TFT_BLACK); + if(configs.udpCloudSettings.udpCloudEnabled.value && configs.udpCloudSettings.enableCloudDebug.value) + { + tft.fillRect(125, 258, 8, 8, (visualSendUdpPacket) ? TFT_DARKGREY : TFT_BLACK); + } +// else // is not needed because of redraw +// { +// tft.fillRect(125, 258, 8, 8, TFT_BLACK); +// } } -// else // is not needed because of redraw -// { -// tft.fillRect(125, 258, 8, 8, TFT_BLACK); -// } -#endif const auto staStatus = wifi_stack::get_sta_status(); if (staStatus == wifi_stack::WiFiStaStatus::CONNECTED) diff --git a/main/newsettings.h b/main/newsettings.h index 9a17cf3..b1e3f57 100644 --- a/main/newsettings.h +++ b/main/newsettings.h @@ -308,6 +308,8 @@ public: ConfigWrapper ledstrip {false, DoReset, {}, "f_ledstrip" }; ConfigWrapper webserver_disable_lock{false, DoReset, {}, "f_no_web_lock" }; ConfigWrapper garage {false, DoReset, {}, "f_garage" }; + ConfigWrapper cloud {false, DoReset, {}, "f_cloud" }; + ConfigWrapper udpcloud {false, DoReset, {}, "f_udpcloud" }; ConfigWrapper gschissene_diode {false, DoReset, {}, "f_gschissDiode" }; } feature; @@ -592,13 +594,18 @@ public: x(feature.gschissene_diode) \ x(feature.ledstrip) \ x(feature.webserver_disable_lock) \ - x(feature.garage) + x(feature.garage) \ + x(feature.udpcloud) \ + x(feature.cloud) //x(bleSettings.bleEnabled) #define FEATURES(x) \ x(feature.ledstrip) \ x(feature.webserver_disable_lock) \ - x(feature.garage) + x(feature.garage) \ + x(feature.udpcloud) \ + x(feature.cloud) + //x(feature.gschisseneDiode) template void callForEveryConfig(T &&callback) diff --git a/main/taskmanager.cpp b/main/taskmanager.cpp index e1ee741..c75d4cc 100644 --- a/main/taskmanager.cpp +++ b/main/taskmanager.cpp @@ -60,12 +60,8 @@ #ifdef FEATURE_ESPNOW #include "espnowfunctions.h" #endif -#ifdef FEATURE_CLOUD #include "cloud.h" -#endif -#ifdef FEATURE_UDPCLOUD #include "udpcloud.h" -#endif #include "modes.h" #include "drivingstatistics.h" #ifdef FEATURE_DNS_NS @@ -133,12 +129,8 @@ BobbySchedulerTask schedulerTasksArr[] { #ifdef FEATURE_ESPNOW BobbySchedulerTask { "espnow", espnow::initESPNow, espnow::handle, 100ms }, #endif -#ifdef FEATURE_CLOUD BobbySchedulerTask { "cloud", initCloud, updateCloud, 50ms }, -#endif -#ifdef FEATURE_UDPCLOUD BobbySchedulerTask { "udpcloud", udpCloudInit, udpCloudUpdate, 50ms }, -#endif BobbySchedulerTask { "drivingmode", initDrivingMode, updateDrivingMode, 20ms }, BobbySchedulerTask { "drivingstatistics", initStatistics, calculateStatistics, 100ms }, #ifdef FEATURE_DNS_NS diff --git a/main/udpcloud.cpp b/main/udpcloud.cpp index 27bee48..1062b70 100644 --- a/main/udpcloud.cpp +++ b/main/udpcloud.cpp @@ -21,7 +21,6 @@ #include "drivingstatistics.h" #include "newsettings.h" -#ifdef FEATURE_UDPCLOUD using namespace std::chrono_literals; namespace { @@ -40,6 +39,9 @@ void udpCloudInit() void udpCloudUpdate() { + if (!configs.feature.udpcloud.value) + return; + if (configs.udpCloudSettings.udpCloudEnabled.value && configs.udpCloudSettings.udpUid.touched()) sendUdpCloudPacket(); } @@ -372,4 +374,3 @@ void sendUdpCloudPacket() visualSendUdpPacket = !visualSendUdpPacket; } } -#endif diff --git a/main/udpcloud.h b/main/udpcloud.h index 15ec9ff..71976ee 100644 --- a/main/udpcloud.h +++ b/main/udpcloud.h @@ -3,7 +3,6 @@ // system includes #include -#ifdef FEATURE_UDPCLOUD // Little "flash" on statusdisplay when udp stuff is happening extern bool visualSendUdpPacket; @@ -14,4 +13,3 @@ void spamUdpBroadcast(); std::string buildUdpCloudJson(); std::string buildUdpCloudString(); void sendUdpCloudPacket(); -#endif