It finally crashes!
This commit is contained in:
@ -102,6 +102,7 @@ set(headers
|
|||||||
displays/menus/cloudsettingsmenu.h
|
displays/menus/cloudsettingsmenu.h
|
||||||
displays/menus/commanddebugmenu.h
|
displays/menus/commanddebugmenu.h
|
||||||
displays/menus/controllerhardwaresettingsmenu.h
|
displays/menus/controllerhardwaresettingsmenu.h
|
||||||
|
displays/menus/crashmenu.h
|
||||||
displays/menus/debugmenu.h
|
displays/menus/debugmenu.h
|
||||||
displays/menus/defaultmodesettingsmenu.h
|
displays/menus/defaultmodesettingsmenu.h
|
||||||
displays/menus/demosmenu.h
|
displays/menus/demosmenu.h
|
||||||
@ -278,6 +279,7 @@ set(sources
|
|||||||
displays/menus/cloudsettingsmenu.cpp
|
displays/menus/cloudsettingsmenu.cpp
|
||||||
displays/menus/commanddebugmenu.cpp
|
displays/menus/commanddebugmenu.cpp
|
||||||
displays/menus/controllerhardwaresettingsmenu.cpp
|
displays/menus/controllerhardwaresettingsmenu.cpp
|
||||||
|
displays/menus/crashmenu.cpp
|
||||||
displays/menus/debugmenu.cpp
|
displays/menus/debugmenu.cpp
|
||||||
displays/menus/defaultmodesettingsmenu.cpp
|
displays/menus/defaultmodesettingsmenu.cpp
|
||||||
displays/menus/demosmenu.cpp
|
displays/menus/demosmenu.cpp
|
||||||
|
0
main/displays/menus/crashmenu.cpp
Normal file
0
main/displays/menus/crashmenu.cpp
Normal file
39
main/displays/menus/crashmenu.h
Normal file
39
main/displays/menus/crashmenu.h
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "menudisplay.h"
|
||||||
|
#include "utils.h"
|
||||||
|
#include "actions/dummyaction.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
#include "texts.h"
|
||||||
|
#include <esp_log.h>
|
||||||
|
|
||||||
|
|
||||||
|
// forward declares
|
||||||
|
namespace {
|
||||||
|
class SettingsMenu;
|
||||||
|
|
||||||
|
class AssertAction : public virtual ActionInterface { public: void triggered() override { assert(0); } };
|
||||||
|
class DivideByZeroAction : public virtual ActionInterface { public: void triggered() override { int goodbye = 42 / 0; ESP_LOGW("divByZero", "%i", goodbye); } };
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
class CrashMenu :
|
||||||
|
public MenuDisplay,
|
||||||
|
public StaticText<TEXT_CRASHMENU>,
|
||||||
|
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CrashMenu()
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASH_ASSERT>, AssertAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASH_DIVZERO>, DivideByZeroAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // namespace
|
@ -14,6 +14,7 @@
|
|||||||
#include "icons/hardware.h"
|
#include "icons/hardware.h"
|
||||||
#include "icons/buzzer.h"
|
#include "icons/buzzer.h"
|
||||||
#include "icons/info.h"
|
#include "icons/info.h"
|
||||||
|
#include "icons/demos.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
@ -33,6 +34,7 @@ class BoardcomputerHardwareSettingsMenu;
|
|||||||
class BuzzerMenu;
|
class BuzzerMenu;
|
||||||
class AboutMenu;
|
class AboutMenu;
|
||||||
class MainMenu;
|
class MainMenu;
|
||||||
|
class CrashMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
@ -83,6 +85,7 @@ public:
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUZZER>, SwitchScreenAction<BuzzerMenu>, StaticMenuItemIcon<&bobbyicons::buzzer>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUZZER>, SwitchScreenAction<BuzzerMenu>, StaticMenuItemIcon<&bobbyicons::buzzer>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLED>, ToggleBoolAction, CheckboxIcon, FrontLedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLED>, ToggleBoolAction, CheckboxIcon, FrontLedAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, ToggleBoolAction, CheckboxIcon, BackLedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, ToggleBoolAction, CheckboxIcon, BackLedAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, SwitchScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, SwitchScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, SwitchScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ using namespace std::chrono_literals;
|
|||||||
#endif
|
#endif
|
||||||
#include "displays/menus/buzzermenu.h"
|
#include "displays/menus/buzzermenu.h"
|
||||||
#include "displays/menus/commanddebugmenu.h"
|
#include "displays/menus/commanddebugmenu.h"
|
||||||
|
#include "displays/menus/crashmenu.h"
|
||||||
#include "displays/menus/debugmenu.h"
|
#include "displays/menus/debugmenu.h"
|
||||||
#include "displays/menus/defaultmodesettingsmenu.h"
|
#include "displays/menus/defaultmodesettingsmenu.h"
|
||||||
#include "displays/menus/demosmenu.h"
|
#include "displays/menus/demosmenu.h"
|
||||||
|
@ -10,9 +10,6 @@
|
|||||||
namespace {
|
namespace {
|
||||||
void switchProfile(uint8_t index)
|
void switchProfile(uint8_t index)
|
||||||
{
|
{
|
||||||
settings = presets::defaultSettings;
|
|
||||||
stringSettings = presets::makeDefaultStringSettings();
|
|
||||||
|
|
||||||
#ifdef SIMPLIFIED_TRIGGER_TRIGGERONPRESET
|
#ifdef SIMPLIFIED_TRIGGER_TRIGGERONPRESET
|
||||||
if (index == SIMPLIFIED_TRIGGER_TRIGGERONPRESET)
|
if (index == SIMPLIFIED_TRIGGER_TRIGGERONPRESET)
|
||||||
{
|
{
|
||||||
@ -24,6 +21,9 @@ void switchProfile(uint8_t index)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
settings = presets::defaultSettings;
|
||||||
|
stringSettings = presets::makeDefaultStringSettings();
|
||||||
|
|
||||||
if (!settingsPersister.openProfile(index))
|
if (!settingsPersister.openProfile(index))
|
||||||
{
|
{
|
||||||
ESP_LOGE("BOBBY", "openProfile() failed");
|
ESP_LOGE("BOBBY", "openProfile() failed");
|
||||||
|
@ -466,6 +466,11 @@ constexpr char TEXT_WIFI_POWER_2dBm[] = "2dBm";
|
|||||||
constexpr char TEXT_WIFI_POWER_MINUS_1dBm[] = "-1dBm";
|
constexpr char TEXT_WIFI_POWER_MINUS_1dBm[] = "-1dBm";
|
||||||
//constexpr char TEXT_BACK[] = "Back";
|
//constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
|
//Crashmenu
|
||||||
|
constexpr char TEXT_CRASHMENU[] = "Crash Menu";
|
||||||
|
constexpr char TEXT_CRASH_ASSERT[] = "assert(0)";
|
||||||
|
constexpr char TEXT_CRASH_DIVZERO[] = "42 / 0";
|
||||||
|
|
||||||
#ifdef FEATURE_CAN
|
#ifdef FEATURE_CAN
|
||||||
constexpr char TEXT_POWERSUPPLY[] = "Powersupply";
|
constexpr char TEXT_POWERSUPPLY[] = "Powersupply";
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user