diff --git a/main/accessors/settingsaccessors.h b/main/accessors/settingsaccessors.h index 95267aa..d6b5d20 100644 --- a/main/accessors/settingsaccessors.h +++ b/main/accessors/settingsaccessors.h @@ -125,6 +125,7 @@ struct CloudCollectRateAccessor : public RefAccessorSaveSettings { int1 struct CloudSendRateAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.boardcomputerHardware.timersSettings.cloudSendRate; } }; struct UdpCloudSendIntervalAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.boardcomputerHardware.timersSettings.udpSendRateMs; } }; struct UdpCloudEnabledAccessor : public RefAccessorSaveSettings { bool &getRef() const override { return settings.cloudSettings.udpCloudEnabled; } }; +struct CloudDebugEnableAccessor : public RefAccessorSaveSettings { bool &getRef() const override { return settings.cloudSettings.enableCloudDebug; } }; #endif struct DefaultModeModelModeAccessor : public RefAccessorSaveSettings { UnifiedModelMode &getRef() const override { return settings.defaultMode.modelMode; } }; diff --git a/main/displays/menus/debugmenu.cpp b/main/displays/menus/debugmenu.cpp index 6e3d6ad..42dbeee 100644 --- a/main/displays/menus/debugmenu.cpp +++ b/main/displays/menus/debugmenu.cpp @@ -7,6 +7,7 @@ #include "actions/toggleboolaction.h" #include "checkboxicon.h" #include "icons/back.h" +#include "accessors/settingsaccessors.h" // local includes #include "utils.h" @@ -54,6 +55,7 @@ DebugMenu::DebugMenu() constructMenuItem, SwitchScreenAction>>(); constructMenuItem>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::battery>>>(); + constructMenuItem, ToggleBoolAction, CheckboxIcon, CloudDebugEnableAccessor>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); } diff --git a/main/displays/statusdisplay.cpp b/main/displays/statusdisplay.cpp index 8e1616f..cb3ff53 100644 --- a/main/displays/statusdisplay.cpp +++ b/main/displays/statusdisplay.cpp @@ -93,14 +93,14 @@ void StatusDisplay::redraw() tft.setTextFont(2); #ifdef FEATURE_CLOUD - if(settings.cloudSettings.udpCloudEnabled) + if(settings.cloudSettings.udpCloudEnabled && settings.cloudSettings.enableCloudDebug) { tft.fillRect(125, 258, 8, 8, (visualSendUdpPacket) ? TFT_DARKGREY : TFT_BLACK); } - else - { - 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(); diff --git a/main/presets.h b/main/presets.h index 12d401c..33a61e2 100644 --- a/main/presets.h +++ b/main/presets.h @@ -177,6 +177,7 @@ constexpr Settings::CloudSettings defaultCloudSettings { .cloudTransmitTimeout = 10, .udpUid = 0, .udpCloudEnabled = false, + .enableCloudDebug = false }; #endif diff --git a/main/settings.h b/main/settings.h index 77d0eca..7624229 100644 --- a/main/settings.h +++ b/main/settings.h @@ -124,6 +124,7 @@ struct Settings int16_t cloudTransmitTimeout; // in ms uint32_t udpUid; bool udpCloudEnabled; + bool enableCloudDebug; } cloudSettings; #endif @@ -292,6 +293,7 @@ void Settings::executeForEveryCommonSetting(T &&callable) callable("clodTransmTmout", cloudSettings.cloudTransmitTimeout); callable("cloudUDPUid", cloudSettings.udpUid); callable("enUdpCloud", cloudSettings.udpCloudEnabled); + callable("debugCloud", cloudSettings.enableCloudDebug); #endif #ifdef FEATURE_LEDSTRIP diff --git a/main/texts.h b/main/texts.h index ba3c2f6..af0dc83 100644 --- a/main/texts.h +++ b/main/texts.h @@ -95,6 +95,7 @@ constexpr char TEXT_REBOOT[] = "Reboot"; constexpr char TEXT_DEBUG[] = "Debug"; constexpr char TEXT_BATTERY[] = "Battery"; constexpr char TEXT_BATTERYDEBUG[] = "Bat Debug Menu"; +constexpr char TEXT_TOGGLECLOUDDEBUG[] = "Cloud Debug"; //BatteryMenu constexpr char TEXT_CELL_SERIES[] = "Cells (Series)";