diff --git a/main/displays/menus/debugmenu.h b/main/displays/menus/debugmenu.h index 6ad6a85..6a079fe 100644 --- a/main/displays/menus/debugmenu.h +++ b/main/displays/menus/debugmenu.h @@ -62,6 +62,8 @@ public: constructMenuItem, SwitchScreenAction, FrontFeedbackColor>>(); constructMenuItem, SwitchScreenAction, BackFeedbackColor>>(); constructMenuItem>(); + constructMenuItem, DisabledColor, DummyAction>>(); + constructMenuItem>(); constructMenuItem, SwitchScreenAction, FrontFeedbackColor>>(); constructMenuItem, SwitchScreenAction, FrontFeedbackColor>>(); constructMenuItem, SwitchScreenAction, BackFeedbackColor>>(); diff --git a/main/esptexthelpers.h b/main/esptexthelpers.h index 9515889..39aaae8 100644 --- a/main/esptexthelpers.h +++ b/main/esptexthelpers.h @@ -37,6 +37,48 @@ class HeapMinFree32Text : public virtual TextInterface { public: std::string tex class HeapLargest32Text : public virtual TextInterface { public: std::string text() const override { return fmt::format("HeapLargest32: {}", heap_caps_get_largest_free_block(MALLOC_CAP_INTERNAL|MALLOC_CAP_32BIT)); }}; +class LastRebootReasonText : public virtual TextInterface { public: std::string text() const override { + std::string reset_reason_string; + switch (esp_reset_reason()) { + case 0: + reset_reason_string = "Unkown"; + break; + case 1: + reset_reason_string = "Power on"; + break; + case 2: + reset_reason_string = "External Pin"; + break; + case 3: + reset_reason_string = "esp_restart"; + break; + case 4: + reset_reason_string = "Exception/panic"; + break; + case 5: + reset_reason_string = "Interrupt wd"; + break; + case 6: + reset_reason_string = "Task wd"; + break; + case 7: + reset_reason_string = "Other wd"; + break; + case 8: + reset_reason_string = "Deepsleep"; + break; + case 9: + reset_reason_string = "Brownout"; + break; + case 10: + reset_reason_string = "SDIO"; + break; + default: + return fmt::format("Last Reboot Reason: {}", esp_reset_reason()); + } + + return fmt::format("Last Reboot Reason: {}", reset_reason_string); }}; + constexpr char TEXT_ESPCHIPREVISION[] = "Chip revision: "; using EspChipRevisionText = StaticText; //EspStatusTextHelper;