From 168baeac832c477402d2097f9175b96360c76f64 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Fri, 18 Feb 2022 01:21:54 +0100 Subject: [PATCH] Changed some files --- main/ble_bobby.cpp | 4 +- main/bobbyquickactions.cpp | 6 +- main/cloud.cpp | 2 +- main/displays/menus/debugmenu.cpp | 2 +- main/displays/menus/featureflagsmenu.cpp | 42 +++++++-- main/displays/menus/ledstripmenu.cpp | 2 +- main/displays/menus/mainmenu.cpp | 6 +- main/displays/menus/settingsmenu.cpp | 10 +- main/displays/menus/timesettingsmenu.cpp | 2 +- main/displays/statusdisplay.cpp | 4 +- main/dnsannounce.cpp | 2 +- main/dpad6wire.cpp | 2 +- main/ledstrip.cpp | 8 +- main/main.cpp | 6 +- main/newsettings.h | 112 ++++++++++++++--------- main/ota.cpp | 2 +- main/taskmanager.cpp | 22 ++++- main/taskmanager.h | 8 ++ main/time_bobbycar.cpp | 2 +- main/udpcloud.cpp | 2 +- main/webserver.cpp | 6 +- 21 files changed, 163 insertions(+), 89 deletions(-) diff --git a/main/ble_bobby.cpp b/main/ble_bobby.cpp index 4ef81d3..636e1d9 100644 --- a/main/ble_bobby.cpp +++ b/main/ble_bobby.cpp @@ -104,7 +104,7 @@ void initBle() void handleBle() { - if (!configs.feature.ble.value) + if (!configs.feature.ble.isEnabled.value) return; if (configs.bleSettings.bleEnabled.value) @@ -237,7 +237,7 @@ void RemoteControlCallbacks::onWrite(NimBLECharacteristic* pCharacteristic) return; } - if (configs.feature.ledstrip.value) + if (configs.feature.ledstrip.isEnabled.value) { const auto newBlinkAnimation = doc["anim"].as(); if (blinkAnimation != newBlinkAnimation) blinkAnimation = newBlinkAnimation; diff --git a/main/bobbyquickactions.cpp b/main/bobbyquickactions.cpp index 2a3a7dd..5cfdfa3 100644 --- a/main/bobbyquickactions.cpp +++ b/main/bobbyquickactions.cpp @@ -56,7 +56,7 @@ void handle_bobby_quickaction(espgui::Button button) void open_garage() { - if (!configs.feature.esp_now.value) + if (!configs.feature.esp_now.isEnabled.value) return; if (!espnow::espnow_init_allowed()) @@ -82,7 +82,7 @@ void action_wifi_scan() void blink_left() { - if (configs.feature.ledstrip.value) + if (configs.feature.ledstrip.isEnabled.value) { if (blinkAnimation == LEDSTRIP_OVERWRITE_NONE) //transition from off to left { @@ -101,7 +101,7 @@ void blink_left() void blink_right() { - if(configs.feature.ledstrip.value) + if(configs.feature.ledstrip.isEnabled.value) { if (blinkAnimation == LEDSTRIP_OVERWRITE_NONE) //transition from off to right { diff --git a/main/cloud.cpp b/main/cloud.cpp index f70a0f5..5c5d962 100644 --- a/main/cloud.cpp +++ b/main/cloud.cpp @@ -52,7 +52,7 @@ void initCloud() void updateCloud() { - if (!configs.feature.cloud.value) + if (!configs.feature.cloud.isEnabled.value) return; const auto now = espchrono::millis_clock::now(); diff --git a/main/displays/menus/debugmenu.cpp b/main/displays/menus/debugmenu.cpp index 1ffc389..560c45b 100644 --- a/main/displays/menus/debugmenu.cpp +++ b/main/displays/menus/debugmenu.cpp @@ -68,7 +68,7 @@ DebugMenu::DebugMenu() #endif constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::battery>>>(); - if (configs.feature.udpcloud.value) + if (configs.feature.udpcloud.isEnabled.value) { constructMenuItem, BobbyCheckbox, CloudDebugEnableAccessor>>(); } diff --git a/main/displays/menus/featureflagsmenu.cpp b/main/displays/menus/featureflagsmenu.cpp index 279ce6b..c1a6cf1 100644 --- a/main/displays/menus/featureflagsmenu.cpp +++ b/main/displays/menus/featureflagsmenu.cpp @@ -1,16 +1,18 @@ #include "featureflagsmenu.h" // 3rdparty lib includes -#include +#include #include +#include #include #include // local includes +#include "bobbycheckbox.h" #include "displays/bobbypopupdisplay.h" #include "displays/menus/settingsmenu.h" -#include "bobbycheckbox.h" #include "newsettings.h" +#include "taskmanager.h" using namespace espgui; @@ -22,29 +24,44 @@ constexpr char TEXT_BACK[] = "Back"; class FeatureFlagMenuItem : public MenuItem, public virtual BobbyErrorHandler { public: - explicit FeatureFlagMenuItem(ConfigWrapper &config) : m_config{config} {} + explicit FeatureFlagMenuItem(ConfiguredFeatureFlag &flag, bool isInitialized) : m_flag{flag}, m_isInitialized{isInitialized} {} std::string text() const override { - std::string_view name = m_config.nvsName(); + std::string_view name = m_flag.isEnabled.nvsName(); constexpr const std::string_view prefix = "f_"; if (cpputils::stringStartsWith(name, prefix)) { name.remove_prefix(prefix.size()); } - return std::string{name}; + std::string return_name = std::string{name}; + return_name += m_flag.isBeta() ? " (beta)" : ""; + return return_name; + } + + int color() const override + { + if (m_isInitialized) + { + return m_flag.isBeta() ? TFT_YELLOW : TFT_GREEN; + } + else + { + return m_flag.isBeta() ? TFT_ORANGE : TFT_GREY; + } } void triggered() override { - if (auto result = m_config.write(configs.nvs_handle_user, !m_config.value); !result) + if (auto result = m_flag.isEnabled.write(configs.nvs_handle_user, !m_flag.isEnabled.value); !result) errorOccured(std::move(result).error()); } const MenuItemIcon *icon() const override { - return m_config.value ? &icons::checked : &icons::unchecked; + return m_flag.isEnabled.value ? &icons::checked : &icons::unchecked; } private: - ConfigWrapper &m_config; + ConfiguredFeatureFlag &m_flag; + const bool m_isInitialized; }; // TODO: Replace SwitchScreenAction / switchScreen with this action. Needs: BobbyPopupDisplayWithCustomExitAction => pass SwitchScreenAction into it @@ -62,8 +79,13 @@ public: FeatureFlagsMenu::FeatureFlagsMenu() { - configs.callForEveryFeature([&](ConfigWrapper &feature){ - constructMenuItem(feature); + configs.callForEveryFeature([&](ConfiguredFeatureFlag &feature){ + + if (const auto err = checkInitializedByName(feature.getTaskName()); !err) { + constructMenuItem(feature, *err); + } + else + constructMenuItem(feature, true); }); constructMenuItem, SwitchScreenAction>>(); } diff --git a/main/displays/menus/ledstripmenu.cpp b/main/displays/menus/ledstripmenu.cpp index 1c68458..d08f7a8 100644 --- a/main/displays/menus/ledstripmenu.cpp +++ b/main/displays/menus/ledstripmenu.cpp @@ -166,7 +166,7 @@ LedstripMenu::LedstripMenu() if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } constructMenuItem, espgui::SwitchScreenAction>>(); - if (configs.feature.ota.value) + if (configs.feature.ota.isEnabled.value) if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } constructMenuItem, espgui::SwitchScreenAction>>(); if (!simplified) { constructMenuItem, espgui::SwitchScreenAction>>(); } diff --git a/main/displays/menus/mainmenu.cpp b/main/displays/menus/mainmenu.cpp index 4b8e520..5ce8eff 100644 --- a/main/displays/menus/mainmenu.cpp +++ b/main/displays/menus/mainmenu.cpp @@ -83,7 +83,7 @@ MainMenu::MainMenu() // constructMenuItem>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); - if (configs.feature.ledstrip.value) + if (configs.feature.ledstrip.isEnabled.value) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::neopixel>>>(); } @@ -94,11 +94,11 @@ MainMenu::MainMenu() if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::settings>>>(); } constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::greenpass>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::lock>>>(); - if (configs.feature.garage.value && configs.feature.esp_now.value) + if (configs.feature.garage.isEnabled.value && configs.feature.esp_now.isEnabled.value) { if (SHOWITEM) { constructMenuItem, SwitchScreenAction>>(); } } - if (configs.feature.ota.value) + if (configs.feature.ota.isEnabled.value) if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); } if (SHOWITEM) { constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::graph>>>(); } #if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY) diff --git a/main/displays/menus/settingsmenu.cpp b/main/displays/menus/settingsmenu.cpp index a6fb9d2..775a441 100644 --- a/main/displays/menus/settingsmenu.cpp +++ b/main/displays/menus/settingsmenu.cpp @@ -84,18 +84,18 @@ SettingsMenu::SettingsMenu() constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::wifi>>>(); - if (configs.feature.esp_now.value) + if (configs.feature.esp_now.isEnabled.value) constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::wifi>>>(); #ifdef FEATURE_BLUETOOTH constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::bluetooth>>>(); #endif - if (configs.feature.ble.value) + if (configs.feature.ble.isEnabled.value) constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::bluetooth>>>(); - if (configs.feature.cloud.value) + if (configs.feature.cloud.isEnabled.value) constructMenuItem, SwitchScreenAction>>(); - if (configs.feature.udpcloud.value) + if (configs.feature.udpcloud.isEnabled.value) constructMenuItem, SwitchScreenAction>>(); - if (configs.feature.ota.value) + if (configs.feature.ota.isEnabled.value) constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::update>>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::time>>>(); constructMenuItem, SwitchScreenAction>>(); diff --git a/main/displays/menus/timesettingsmenu.cpp b/main/displays/menus/timesettingsmenu.cpp index 1a5951f..a94a26f 100644 --- a/main/displays/menus/timesettingsmenu.cpp +++ b/main/displays/menus/timesettingsmenu.cpp @@ -110,7 +110,7 @@ TimeSettingsMenu::TimeSettingsMenu() constructMenuItem, DummyAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); - if (configs.feature.ntp.value) + if (configs.feature.ntp.isEnabled.value) { constructMenuItem, BobbyCheckbox, TimeServerEnabledAccessor>>(); constructMenuItem, SwitchScreenAction>>(); diff --git a/main/displays/statusdisplay.cpp b/main/displays/statusdisplay.cpp index 4776696..daa882e 100644 --- a/main/displays/statusdisplay.cpp +++ b/main/displays/statusdisplay.cpp @@ -104,7 +104,7 @@ void StatusDisplay::redraw() } } - if(configs.feature.ledstrip.value) + if(configs.feature.ledstrip.isEnabled.value) { static bool blink_fill_with_black; if (configs.ledstrip.enableVisualizeBlink.value && (espchrono::utc_clock::now().time_since_epoch() % 750ms < 375ms) && (blinkAnimation > 0)) @@ -151,7 +151,7 @@ void StatusDisplay::redraw() tft.setTextFont(2); - if (configs.feature.udpcloud.value) + if (configs.feature.udpcloud.isEnabled.value) { if(configs.udpCloudSettings.udpCloudEnabled.value && configs.udpCloudSettings.enableCloudDebug.value) { diff --git a/main/dnsannounce.cpp b/main/dnsannounce.cpp index 017471e..7cc6e50 100644 --- a/main/dnsannounce.cpp +++ b/main/dnsannounce.cpp @@ -24,7 +24,7 @@ void init_dns_announce() void handle_dns_announce() { - if (!configs.feature.dnsannounce.value || !configs.dns_announce_enabled.value) + if (!configs.feature.dnsannounce.isEnabled.value || !configs.dns_announce_enabled.value) return; if (wifi_stack::get_sta_status() != wifi_stack::WiFiStaStatus::CONNECTED) diff --git a/main/dpad6wire.cpp b/main/dpad6wire.cpp index 285cbd9..366f018 100644 --- a/main/dpad6wire.cpp +++ b/main/dpad6wire.cpp @@ -85,7 +85,7 @@ std::array Helper::read() result[7] = digitalRead(IN4); result[9] = digitalRead(IN5); - if (configs.feature.gschissene_diode.value && (result[8] && result[9])) + if (configs.feature.gschissene_diode.isEnabled.value && (result[8] && result[9])) { result[9] = 0; } diff --git a/main/ledstrip.cpp b/main/ledstrip.cpp index 3136859..276932a 100644 --- a/main/ledstrip.cpp +++ b/main/ledstrip.cpp @@ -24,7 +24,7 @@ namespace { void initLedStrip() { - if (configs.feature.ledstrip.value) + if (configs.feature.ledstrip.isEnabled.value) { leds.resize(configs.ledstrip.ledsCount.value); FastLED.addLeds(&*std::begin(leds), leds.size()) @@ -35,16 +35,16 @@ void initLedStrip() void updateLedStrip() { - if (configs.feature.ledstrip.value && !initialized) + if (configs.feature.ledstrip.isEnabled.value && !initialized) initLedStrip(); - else if (!configs.feature.ledstrip.value && initialized) + else if (!configs.feature.ledstrip.isEnabled.value && initialized) { std::fill(std::begin(leds), std::end(leds), CRGB::Black); FastLED.show(); initialized = false; return; } - else if (!configs.feature.ledstrip.value) + else if (!configs.feature.ledstrip.isEnabled.value) return; EVERY_N_MILLISECONDS( 20 ) { gHue++; } diff --git a/main/main.cpp b/main/main.cpp index b394d47..6861af5 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -65,8 +65,10 @@ extern "C" void app_main() for (const auto &task : schedulerTasks) { - bootLabel.redraw(task.name()); - task.setup(); + if (checkEnabledByName(task.name())) { + bootLabel.redraw(task.name()); + task.setup(); + } } #ifdef FEATURE_JOYSTICK diff --git a/main/newsettings.h b/main/newsettings.h index 7a3c4c7..9c73718 100644 --- a/main/newsettings.h +++ b/main/newsettings.h @@ -3,30 +3,30 @@ #include "sdkconfig.h" // system includes -#include #include #include +#include // esp-idf includes #include // 3rdparty lib includes -#include -#include #include #include +#include #include -#include #include +#include +#include #include // local includes #include "battery.h" -#include "ledstrip.h" -#include "unifiedmodelmode.h" +#include "bobbyquickactions.h" #include "displays/lockscreen.h" #include "handbremse.h" -#include "bobbyquickactions.h" +#include "ledstrip.h" +#include "unifiedmodelmode.h" using namespace espconfig; @@ -34,6 +34,11 @@ std::string defaultHostname(); constexpr const auto INPUT_MAPPING_NONE = std::numeric_limits::max(); +template +std::optional optional_ptr(T* ptr) { + return ptr ? std::optional(ptr) : std::optional(); +} + class WiFiConfig { public: @@ -103,6 +108,23 @@ public: ConfigWrapper url; }; +class ConfiguredFeatureFlag +{ +public: + ConfiguredFeatureFlag(const char *enabledKey, const bool default_enabled = false, const bool default_is_beta = false, const char* taskName = "") : + isEnabled{default_enabled, DoReset, {}, enabledKey }, + m_isBeta{default_is_beta}, + m_taskName{taskName} + {} + + ConfigWrapper isEnabled; + bool isBeta() const { return m_isBeta; } + std::string getTaskName() const { return m_taskName; } +private: + const bool m_isBeta; + const std::string m_taskName; +}; + class ConfigContainer { using mac_t = wifi_stack::mac_t; @@ -321,18 +343,18 @@ public: } espnow; struct { - 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 dnsannounce {false, DoReset, {}, "f_dnsannounce" }; - ConfigWrapper ntp {false, DoReset, {}, "f_ntp" }; - ConfigWrapper ble {false, DoReset, {}, "f_ble" }; - ConfigWrapper ota {false, DoReset, {}, "f_ota" }; - ConfigWrapper webserver {true, DoReset, {}, "featureWebserv" }; - ConfigWrapper gschissene_diode {false, DoReset, {}, "featurDiodeHin" }; - ConfigWrapper esp_now {false, DoReset, {}, "featureEspNow" }; + ConfiguredFeatureFlag ledstrip {"f_ledstrip", false, false, "ledstrip"}; + ConfiguredFeatureFlag webserver_disable_lock{"f_no_web_lock", false, true}; + ConfiguredFeatureFlag garage {"f_garage" }; + ConfiguredFeatureFlag cloud {"f_cloud", false, false, "cloud"}; + ConfiguredFeatureFlag udpcloud {"f_udpcloud", false, false, "udpcloud"}; + ConfiguredFeatureFlag dnsannounce {"f_dnsannounce"}; + ConfiguredFeatureFlag ntp {"f_ntp", false, false, "time"}; + ConfiguredFeatureFlag ble {"f_ble", false, false, "ble"}; + ConfiguredFeatureFlag ota {"f_ota", false, false, "ota"}; + ConfiguredFeatureFlag webserver {"featureWebserv", true}; + ConfiguredFeatureFlag gschissene_diode {"featurDiodeHin"}; + ConfiguredFeatureFlag esp_now {"featureEspNow", false, false, "espnow"}; } feature; struct { @@ -624,33 +646,33 @@ public: x(espnow.syncTimeWithOthers) \ x(espnow.syncBlink) \ \ - x(feature.ledstrip) \ - x(feature.webserver_disable_lock) \ - x(feature.garage) \ - x(feature.udpcloud) \ - x(feature.cloud) \ - x(feature.dnsannounce) \ - x(feature.ntp) \ - x(feature.ble) \ - x(feature.ota) \ - x(feature.webserver) \ - x(feature.gschissene_diode) \ - x(feature.esp_now) + x(feature.ble.isEnabled) \ + x(feature.cloud.isEnabled) \ + x(feature.dnsannounce.isEnabled)\ + x(feature.esp_now.isEnabled) \ + x(feature.garage.isEnabled) \ + x(feature.gschissene_diode.isEnabled) \ + x(feature.ledstrip.isEnabled) \ + x(feature.ntp.isEnabled) \ + x(feature.ota.isEnabled) \ + x(feature.udpcloud.isEnabled) \ + x(feature.webserver.isEnabled) \ + x(feature.webserver_disable_lock.isEnabled) //x(bleSettings.bleEnabled) #define FEATURES(x) \ - x(feature.ledstrip) \ - x(feature.webserver_disable_lock) \ - x(feature.garage) \ - x(feature.udpcloud) \ - x(feature.cloud) \ - x(feature.dnsannounce) \ - x(feature.ntp) \ x(feature.ble) \ - x(feature.ota) \ - x(feature.esp_now) \ - x(feature.webserver) - //x(feature.gschisseneDiode) + x(feature.cloud) \ + x(feature.dnsannounce)\ + x(feature.esp_now) \ + x(feature.garage) \ + x(feature.gschissene_diode) \ + x(feature.ledstrip) \ + x(feature.ntp) \ + x(feature.ota) \ + x(feature.udpcloud) \ + x(feature.webserver) \ +// x(feature.webserver_disable_lock) template void callForEveryConfig(T &&callback) @@ -677,16 +699,16 @@ public: #define HELPER(x) callback(x); FEATURES(HELPER) #undef HELPER - callback(feature.gschissene_diode); + callback(feature.webserver_disable_lock); } auto getAllFeatureParams() { return cpputils::make_array( -#define HELPER(x) std::ref(x), +#define HELPER(x) std::ref(x), FEATURES(HELPER) #undef HELPER - std::ref(feature.gschissene_diode) + std::ref(feature.webserver_disable_lock) ); } }; diff --git a/main/ota.cpp b/main/ota.cpp index 264aa01..9bae255 100644 --- a/main/ota.cpp +++ b/main/ota.cpp @@ -28,7 +28,7 @@ void handleOta() tl::expected triggerOta(std::string_view url) { - if (!configs.feature.ota.value) + if (!configs.feature.ota.isEnabled.value) return tl::make_unexpected("OTA is not enabled!"); ESP_LOGI(TAG, "%.*s", url.size(), url.data()); diff --git a/main/taskmanager.cpp b/main/taskmanager.cpp index 4063d49..1075e31 100644 --- a/main/taskmanager.cpp +++ b/main/taskmanager.cpp @@ -3,7 +3,6 @@ #include "sdkconfig.h" // system includes -#include #include // esp-idf includes @@ -137,3 +136,24 @@ void sched_pushStats(bool printTasks) if (printTasks) ESP_LOGI(TAG, "end listing tasks"); } + +tl::expected checkInitializedByName(std::string name) +{ + for (auto &schedulerTask : schedulerTasks) + { + if (schedulerTask.name() == name) + return schedulerTask.isInitialized(); + } + return tl::make_unexpected("Task not found: " + std::string{name}); +} + +bool checkEnabledByName(std::string name) { + bool enabled = false; + // iterate over all feature flags (runForEveryFeature()) + configs.callForEveryFeature([&](ConfiguredFeatureFlag &feature) { + ESP_LOGE(TAG, "checkEnabledByName: %s == %s", feature.getTaskName().c_str(), name.c_str()); + if (feature.getTaskName() == name && !enabled) + enabled = feature.isEnabled.value; + }); + return enabled; +} diff --git a/main/taskmanager.h b/main/taskmanager.h index 27a2308..c3bc2ee 100644 --- a/main/taskmanager.h +++ b/main/taskmanager.h @@ -1,7 +1,11 @@ #pragma once +// system includes +#include + // 3rdparty lib includes #include +#include // local includes #include "bobbyschedulertask.h" @@ -11,3 +15,7 @@ extern cpputils::ArrayView schedulerTasks; extern const BobbySchedulerTask &drivingModeTask; void sched_pushStats(bool printTasks); + +tl::expected checkInitializedByName(std::string name); + +bool checkEnabledByName(std::string name); diff --git a/main/time_bobbycar.cpp b/main/time_bobbycar.cpp index 4abf988..21871c6 100644 --- a/main/time_bobbycar.cpp +++ b/main/time_bobbycar.cpp @@ -51,7 +51,7 @@ void initTime() void updateTime() { - if (!configs.feature.ntp.value) + if (!configs.feature.ntp.isEnabled.value) return; if (bool(sntp_enabled()) != configs.timeServerEnabled.value) diff --git a/main/udpcloud.cpp b/main/udpcloud.cpp index 1062b70..a201d53 100644 --- a/main/udpcloud.cpp +++ b/main/udpcloud.cpp @@ -39,7 +39,7 @@ void udpCloudInit() void udpCloudUpdate() { - if (!configs.feature.udpcloud.value) + if (!configs.feature.udpcloud.isEnabled.value) return; if (configs.udpCloudSettings.udpCloudEnabled.value && configs.udpCloudSettings.udpUid.touched()) diff --git a/main/webserver.cpp b/main/webserver.cpp index 59db95c..98fe270 100644 --- a/main/webserver.cpp +++ b/main/webserver.cpp @@ -44,7 +44,7 @@ esp_err_t webserver_status_handler(httpd_req_t *req); esp_err_t webserver_middleware_handler(httpd_req_t *req) { const auto handler = reinterpret_cast(req->user_ctx); - if (configs.feature.webserver_disable_lock.value) + if (configs.feature.webserver_disable_lock.isEnabled.value) { return handler(req); } @@ -71,7 +71,7 @@ httpd_handle_t httpdHandle; void initWebserver() { - if(!configs.feature.webserver_disable_lock.value) + if(!configs.feature.webserver_disable_lock.isEnabled.value) { webserver_lock.construct(); webserver_lock->take(portMAX_DELAY); @@ -117,7 +117,7 @@ void initWebserver() void handleWebserver() { - if (!configs.feature.webserver_disable_lock.value) + if (!configs.feature.webserver_disable_lock.isEnabled.value) { webserver_lock->give(); vTaskDelay(1);