Merge pull request #310 from bobbycar-graz/push_pop_menus

This commit is contained in:
CommanderRedYT
2022-04-23 17:03:38 +02:00
committed by GitHub
96 changed files with 960 additions and 642 deletions

Submodule esp-idf updated: 5b7d79a0a1...3ad551898d

View File

@ -103,7 +103,7 @@ set(headers
displays/menus/featureflagsmenu.h displays/menus/featureflagsmenu.h
displays/menus/feedbackdebugmenu.h displays/menus/feedbackdebugmenu.h
displays/menus/gametrakmodesettingsmenu.h displays/menus/gametrakmodesettingsmenu.h
displays/menus/garagenmenu.h displays/menus/garagemenu.h
displays/menus/graphsmenu.h displays/menus/graphsmenu.h
displays/menus/greenpassmenu.h displays/menus/greenpassmenu.h
displays/menus/handbremssettingsmenu.h displays/menus/handbremssettingsmenu.h
@ -340,7 +340,7 @@ set(sources
displays/menus/featureflagsmenu.cpp displays/menus/featureflagsmenu.cpp
displays/menus/feedbackdebugmenu.cpp displays/menus/feedbackdebugmenu.cpp
displays/menus/gametrakmodesettingsmenu.cpp displays/menus/gametrakmodesettingsmenu.cpp
displays/menus/garagenmenu.cpp displays/menus/garagemenu.cpp
displays/menus/graphsmenu.cpp displays/menus/graphsmenu.cpp
displays/menus/greenpassmenu.cpp displays/menus/greenpassmenu.cpp
displays/menus/handbremssettingsmenu.cpp displays/menus/handbremssettingsmenu.cpp

View File

@ -30,24 +30,23 @@ public:
void ModeSettingsAction::triggered() void ModeSettingsAction::triggered()
{ {
if ( if (currentMode == &modes::defaultMode
currentMode == &modes::defaultMode #ifdef FEATURE_JOYSTICK
#ifdef FEATURE_JOYSTICK
|| currentMode == &modes::wheelchairMode || currentMode == &modes::wheelchairMode
#endif #endif
) )
switchScreen<DefaultModeSettingsMenu>(); pushScreen<DefaultModeSettingsMenu>();
else if (currentMode == &modes::tempomatMode) else if (currentMode == &modes::tempomatMode)
switchScreen<TempomatModeSettingsMenu>(); pushScreen<TempomatModeSettingsMenu>();
else if (currentMode == &modes::larsmMode) else if (currentMode == &modes::larsmMode)
switchScreen<LarsmModeSettingsMenu>(); pushScreen<LarsmModeSettingsMenu>();
else if (currentMode == &modes::mickMode) else if (currentMode == &modes::mickMode)
switchScreen<MickModeSettingsMenu>(); pushScreen<MickModeSettingsMenu>();
else if (currentMode == &modes::motortestMode) else if (currentMode == &modes::motortestMode)
switchScreen<MotortestModeSettingsMenu>(); pushScreen<MotortestModeSettingsMenu>();
#ifdef FEATURE_GAMETRAK #ifdef FEATURE_GAMETRAK
else if (currentMode == &modes::gametrakMode) else if (currentMode == &modes::gametrakMode)
switchScreen<GametrakModeSettingsMenu>(); pushScreen<GametrakModeSettingsMenu>();
#endif #endif
else else
{ {

View File

@ -27,7 +27,7 @@ public:
void triggered() override void triggered() override
{ {
espgui::switchScreen<QrDisplay<TMenu>>(m_msg); espgui::pushScreen<QrDisplay<TMenu>>(m_msg);
} }
private: private:
std::string m_msg; std::string m_msg;
@ -42,7 +42,7 @@ public:
void triggered() override void triggered() override
{ {
espgui::switchScreen<QrImportDisplay<TMenu>>(std::move(m_nvskey)); espgui::pushScreen<QrImportDisplay<TMenu>>(std::move(m_nvskey));
} }
private: private:
std::string m_nvskey; std::string m_nvskey;

View File

@ -67,7 +67,7 @@ void BatteryGraphDisplay::buttonPressed(espgui::Button button)
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left:
case Button::Right: case Button::Right:
espgui::switchScreen<BatteryMenu>(); espgui::popScreen();
break; break;
default:; default:;
} }

View File

@ -100,9 +100,11 @@ void BmsDisplay::buttonPressed(espgui::Button button)
switch (button) switch (button)
{ {
case Button::Right: switchScreen<MainMenu>(); break; using espgui::Button;
case Button::Right: pushScreen<MainMenu>(); break;
case Button::Up: switchScreen<MetersDisplay>(); break; case Button::Up: switchScreen<MetersDisplay>(); break;
case Button::Down: switchScreen<StatusDisplay>(); case Button::Down: switchScreen<StatusDisplay>(); break;
default:;
} }
} }
#endif #endif

View File

@ -3,7 +3,6 @@
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS) #if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
// 3rdparty lib includes // 3rdparty lib includes
#include <fmt/core.h> #include <fmt/core.h>
#include <actions/switchscreenaction.h>
#include <widgets/label.h> #include <widgets/label.h>
#include <screenmanager.h> #include <screenmanager.h>

View File

@ -1,11 +1,11 @@
#pragma once #pragma once
// 3rdparty lib includes // 3rdparty lib includes
#include <popupdisplay.h> #include <messagepopupdisplay.h>
class BobbyPopupDisplay : public espgui::PopupDisplay class BobbyPopupDisplay : public espgui::MessagePopupDisplay
{ {
using Base = espgui::PopupDisplay; using Base = espgui::MessagePopupDisplay;
public: public:
using Base::Base; using Base::Base;

View File

@ -75,7 +75,7 @@ void ButtonCalibrateDisplay::update()
return; return;
} }
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>(); espgui::popScreen();
} }
} }

View File

@ -4,7 +4,7 @@
#include <menuitem.h> #include <menuitem.h>
#include <icons/back.h> #include <icons/back.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/popscreenaction.h>
#include <widgets/label.h> #include <widgets/label.h>
#include <fmt/core.h> #include <fmt/core.h>
@ -122,7 +122,7 @@ CalibrateVoltageDisplay::CalibrateVoltageDisplay()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGECALIBRATION_30V>, Save30VCalibrationAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGECALIBRATION_30V>, Save30VCalibrationAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGECALIBRATION_50V>, Save50VCalibrationAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGECALIBRATION_50V>, Save50VCalibrationAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_APPLYCALIB>, BobbyCheckbox, BatteryApplyCalibrationAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_APPLYCALIB>, BobbyCheckbox, BatteryApplyCalibrationAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BatteryMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
@ -141,5 +141,5 @@ std::string CalibrateVoltageDisplay::text() const
void CalibrateVoltageDisplay::back() void CalibrateVoltageDisplay::back()
{ {
espgui::switchScreen<BatteryMenu>(); espgui::popScreen();
} }

View File

@ -3,13 +3,11 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <tftinstance.h> #include <tftinstance.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <actions/switchscreenaction.h>
#include <esprandom.h> #include <esprandom.h>
#include <randomutils.h> #include <randomutils.h>
// local includes // local includes
#include "globals.h" #include "globals.h"
#include "displays/menus/mainmenu.h"
#include "icons/shortcircuit.h" #include "icons/shortcircuit.h"
using namespace std::chrono_literals; using namespace std::chrono_literals;
@ -106,10 +104,8 @@ void ConfiscationDisplay::buttonPressed(espgui::Button button)
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left: espgui::popScreen(); break;
espgui::switchScreen<MainMenu>();
break;
default:; default:;
} }
} }

View File

@ -6,9 +6,6 @@
#include <tftinstance.h> #include <tftinstance.h>
#include <screenmanager.h> #include <screenmanager.h>
// local includes
#include "displays/menus/demosmenu.h"
void GameOfLifeDisplay::start() void GameOfLifeDisplay::start()
{ {
Base::start(); Base::start();
@ -61,8 +58,7 @@ void GameOfLifeDisplay::buttonPressed(espgui::Button button)
{ {
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left:
case Button::Right: espgui::popScreen();
espgui::switchScreen<DemosMenu>();
break; break;
default:; default:;
} }

View File

@ -17,7 +17,7 @@ public:
void redraw() override; void redraw() override;
void stop() override; void stop() override;
void buttonPressed(espgui::Button button); void buttonPressed(espgui::Button button) override;
private: private:

View File

@ -83,7 +83,7 @@ void JoystickDebugDisplay::buttonPressed(espgui::Button button)
tft.fillScreen(TFT_BLACK); tft.fillScreen(TFT_BLACK);
break; break;
case Button::Left: case Button::Left:
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>(); espgui::popScreen();
break; break;
default:; default:;
} }

View File

@ -3,9 +3,6 @@
// system libs // system libs
#include <optional> #include <optional>
// 3rdparty lib includes
#include <actions/switchscreenaction.h>
// local includes // local includes
#include "bobbydisplaywithtitle.h" #include "bobbydisplaywithtitle.h"
#include "modeinterface.h" #include "modeinterface.h"

View File

@ -7,19 +7,16 @@
#include <TFT_eSPI.h> #include <TFT_eSPI.h>
#include <cpputils.h> #include <cpputils.h>
#include <menuitem.h> #include <menuitem.h>
#include <actions/switchscreenaction.h>
#include <actioninterface.h> #include <actioninterface.h>
#include <tftinstance.h> #include <tftinstance.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <actions/dummyaction.h>
// local includes // local includes
#include "menudisplay.h"
#include "utils.h" #include "utils.h"
#include "icons/back.h" #include "icons/back.h"
#include "icons/bobbycar.h" #include "icons/bobbycar.h"
#include "actions/dummyaction.h"
#include "globals.h" #include "globals.h"
#include "displays/menus/ledstripmenu.h"
namespace { namespace {
constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip"; constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip";
@ -101,7 +98,7 @@ void LedstripColorsDisplay::buttonPressed(espgui::Button button)
case Button::Left: case Button::Left:
if(!state_select_color) if(!state_select_color)
{ {
espgui::switchScreen<LedstripMenu>(); espgui::popScreen();
} }
else else
{ {

View File

@ -10,9 +10,9 @@
// local includes // local includes
#include "globals.h" #include "globals.h"
#include "utils.h" #include "utils.h"
#include "displays/menus/mainmenu.h"
#include "displays/potiscalibratedisplay.h" #include "displays/potiscalibratedisplay.h"
#include "bobbybuttons.h" #include "bobbybuttons.h"
#include "displays/menus/mainmenu.h"
namespace { namespace {
bool isValid1stPin(std::array<int8_t, 4> enteredPin) bool isValid1stPin(std::array<int8_t, 4> enteredPin)
@ -109,7 +109,7 @@ void Lockscreen::redraw()
if (!gas || !brems || *gas > 200.f || *brems > 200.f) if (!gas || !brems || *gas > 200.f || *brems > 200.f)
espgui::switchScreen<PotisCalibrateDisplay>(true); espgui::switchScreen<PotisCalibrateDisplay>(true);
else else
espgui::switchScreen<MainMenu>(); espgui::popScreen();
#ifdef LOCKSCREEN_PLUGIN #ifdef LOCKSCREEN_PLUGIN
#include LOCKSCREEN_PLUGIN #include LOCKSCREEN_PLUGIN
LOCKSCREEN_PLUGIN_FIXES_1 LOCKSCREEN_PLUGIN_FIXES_1

View File

@ -3,7 +3,7 @@
// local includes // local includes
#include "utils.h" #include "utils.h"
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
#include "esptexthelpers.h" #include "esptexthelpers.h"
#include "displays/menus/settingsmenu.h" #include "displays/menus/settingsmenu.h"
@ -56,7 +56,7 @@ AboutMenu::AboutMenu()
constructMenuItem<makeComponent<MenuItem, EspSketchSizeText, StaticFont<2>, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EspSketchSizeText, StaticFont<2>, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, EspSketchMd5Text, StaticFont<2>, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EspSketchMd5Text, StaticFont<2>, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, EspFreeSketchSpaceText, StaticFont<2>, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EspFreeSketchSpaceText, StaticFont<2>, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string AboutMenu::text() const std::string AboutMenu::text() const
@ -66,5 +66,5 @@ std::string AboutMenu::text() const
void AboutMenu::back() void AboutMenu::back()
{ {
espgui::switchScreen<SettingsMenu>(); espgui::popScreen();
} }

View File

@ -4,11 +4,10 @@
#include <menuitem.h> #include <menuitem.h>
#include <icons/back.h> #include <icons/back.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/popscreenaction.h>
#include <fmt/core.h> #include <fmt/core.h>
// local includes // local includes
#include "debugmenu.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "utils.h" #include "utils.h"
#include "icons/settings.h" #include "icons/settings.h"
@ -82,7 +81,7 @@ BatteryDebugMenu::BatteryDebugMenu()
constructMenuItem<makeComponent<MenuItem, BatteryDebug2Text, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, BatteryDebug2Text, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, BatteryDebug3Text, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, BatteryDebug3Text, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, CurrentAdvancedBatteryPercentageText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, CurrentAdvancedBatteryPercentageText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DebugMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string BatteryDebugMenu::text() const std::string BatteryDebugMenu::text() const
@ -92,5 +91,5 @@ std::string BatteryDebugMenu::text() const
void BatteryDebugMenu::back() void BatteryDebugMenu::back()
{ {
espgui::switchScreen<DebugMenu>(); espgui::popScreen();
} }

View File

@ -4,7 +4,8 @@
#include <menuitem.h> #include <menuitem.h>
#include <icons/back.h> #include <icons/back.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
#include <textwithvaluehelper.h> #include <textwithvaluehelper.h>
#include <fmt/core.h> #include <fmt/core.h>
@ -12,6 +13,11 @@
#include <tftinstance.h> #include <tftinstance.h>
// Local includes // Local includes
#include "utils.h"
#include "icons/settings.h"
#include "battery.h"
#include "displays/bobbychangevaluedisplay.h"
#include "displays/calibratevoltagedisplay.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "battery.h" #include "battery.h"
#include "displays/batterygraphdisplay.h" #include "displays/batterygraphdisplay.h"
@ -50,24 +56,24 @@ using BatteryCellSeriesChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_CELL_SERIES>, espgui::StaticText<TEXT_CELL_SERIES>,
BatterySeriesCellsAccessor, BatterySeriesCellsAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BatteryMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BatteryCellParallelChangeScreen = espgui::makeComponent< using BatteryCellParallelChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_CELL_PARALLEL>, espgui::StaticText<TEXT_CELL_PARALLEL>,
BatteryParallelCellsAccessor, BatteryParallelCellsAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BatteryMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BatteryWHperKMChangeScreen = espgui::makeComponent< using BatteryWHperKMChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint16_t>, BobbyChangeValueDisplay<uint16_t>,
espgui::StaticText<TEXT_BATTERY_WHKM>, espgui::StaticText<TEXT_BATTERY_WHKM>,
BatteryWHperKMAccessor, BatteryWHperKMAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BatteryMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -77,15 +83,15 @@ BatteryMenu::BatteryMenu()
{ {
constructMenuItem<makeComponent<MenuItem, CurrentBatteryStatusText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, CurrentBatteryStatusText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_SERIES, BatterySeriesCellsAccessor>, SwitchScreenAction<BatteryCellSeriesChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_SERIES, BatterySeriesCellsAccessor>, PushScreenAction<BatteryCellSeriesChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_PARALLEL, BatteryParallelCellsAccessor>, SwitchScreenAction<BatteryCellParallelChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_PARALLEL, BatteryParallelCellsAccessor>, PushScreenAction<BatteryCellParallelChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BATTERY_WHKM, BatteryWHperKMAccessor>, SwitchScreenAction<BatteryWHperKMChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BATTERY_WHKM, BatteryWHperKMAccessor>, PushScreenAction<BatteryWHperKMChangeScreen>>>();
constructMenuItem<SwitchScreenTypeSafeChangeMenuItem<BatteryCellType, BatteryMenu, TEXT_SELECT_CELL_TYPE>>(&configs.battery.cellType); constructMenuItem<PushScreenTypeSafeChangeMenuItem<BatteryCellType, TEXT_SELECT_CELL_TYPE>>(&configs.battery.cellType);
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SHOW_BATTERY_GRAPH>, SwitchScreenAction<BatteryGraphDisplay>, StaticMenuItemIcon<&bobbyicons::graph>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SHOW_BATTERY_GRAPH>, PushScreenAction<BatteryGraphDisplay>, StaticMenuItemIcon<&bobbyicons::graph>>>();
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WhStatisticsText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WhStatisticsText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_CALIBRATE>, SwitchScreenAction<CalibrateVoltageDisplay>, StaticMenuItemIcon<&bobbyicons::settings>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_CALIBRATE>, PushScreenAction<CalibrateVoltageDisplay>, StaticMenuItemIcon<&bobbyicons::settings>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string BatteryMenu::text() const std::string BatteryMenu::text() const
@ -129,5 +135,5 @@ void BatteryMenu::redraw()
void BatteryMenu::back() void BatteryMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }

View File

@ -2,7 +2,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
#include <changevaluedisplay_string.h> #include <changevaluedisplay_string.h>
@ -26,8 +27,8 @@ using ApSsidChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<std::string>, BobbyChangeValueDisplay<std::string>,
espgui::StaticText<TEXT_NAME>, espgui::StaticText<TEXT_NAME>,
BluetoothNameAccessor, BluetoothNameAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BleSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BleSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -37,8 +38,8 @@ BleSettingsMenu::BleSettingsMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLED>, BobbyCheckbox, BleEnabledAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLED>, BobbyCheckbox, BleEnabledAccessor>>();
constructMenuItem<makeComponent<MenuItem, BleServerPeerDevicesText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, BleServerPeerDevicesText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, BleCharacSubscribedText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, BleCharacSubscribedText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NAME_FORMATTED, BluetoothNameAccessor>, SwitchScreenAction<ApSsidChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NAME_FORMATTED, BluetoothNameAccessor>, PushScreenAction<ApSsidChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string BleSettingsMenu::text() const std::string BleSettingsMenu::text() const
@ -48,5 +49,5 @@ std::string BleSettingsMenu::text() const
void BleSettingsMenu::back() void BleSettingsMenu::back()
{ {
espgui::switchScreen<SettingsMenu>(); espgui::popScreen();
} }

View File

@ -10,10 +10,9 @@
#include "actions/bmsturnoffchargeaction.h" #include "actions/bmsturnoffchargeaction.h"
#include "actions/bmsturnondischargeaction.h" #include "actions/bmsturnondischargeaction.h"
#include "actions/bmsturnoffdischargeaction.h" #include "actions/bmsturnoffdischargeaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "bluetoothtexthelpers.h" #include "bluetoothtexthelpers.h"
#include "icons/back.h" #include "icons/back.h"
#include "displays/menus/mainmenu.h"
using namespace espgui; using namespace espgui;
using namespace bluetoothtexthelpers; using namespace bluetoothtexthelpers;
@ -27,11 +26,11 @@ BmsMenu::BmsMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TURNOFFCHARGE>, BmsTurnOffChargeAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TURNOFFCHARGE>, BmsTurnOffChargeAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TURNONDISCHARGE>, BmsTurnOnDischargeAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TURNONDISCHARGE>, BmsTurnOnDischargeAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TURNOFFDISCHARGE>, BmsTurnOffDischargeAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TURNOFFDISCHARGE>, BmsTurnOffDischargeAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
void BmsMenu::back() void BmsMenu::back()
{ {
switchSreen<MainMenu>(); popSreen();
} }
#endif #endif

View File

@ -4,7 +4,8 @@
#include <fmt/core.h> #include <fmt/core.h>
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <textwithvaluehelper.h> #include <textwithvaluehelper.h>
@ -76,36 +77,36 @@ using SampleCountChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SAMPLECOUNT>, espgui::StaticText<TEXT_SAMPLECOUNT>,
SampleCountAccessor, SampleCountAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using GasMinChangeScreen = espgui::makeComponent< using GasMinChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_GASMIN>, espgui::StaticText<TEXT_GASMIN>,
GasMinAccessor, GasMinAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using GasMaxChangeScreen = espgui::makeComponent< using GasMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_GASMAX>, espgui::StaticText<TEXT_GASMAX>,
GasMaxAccessor, GasMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BremsMinChangeScreen = espgui::makeComponent< using BremsMinChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_BREMSMIN>, espgui::StaticText<TEXT_BREMSMIN>,
BremsMinAccessor, BremsMinAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BremsMaxChangeScreen = espgui::makeComponent< using BremsMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_BREMSMAX>, espgui::StaticText<TEXT_BREMSMAX>,
BremsMaxAccessor, BremsMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
@ -114,15 +115,15 @@ using DPadDebounceChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_DPADDEBOUNCE>, espgui::StaticText<TEXT_DPADDEBOUNCE>,
DPadDebounceAccessor, DPadDebounceAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ButtonDelayChangeScreen = espgui::makeComponent< using ButtonDelayChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint16_t>, BobbyChangeValueDisplay<uint16_t>,
espgui::StaticText<TEXT_BUTTONDELAY>, espgui::StaticText<TEXT_BUTTONDELAY>,
ButtonDelayAccessor, ButtonDelayAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
#endif #endif
@ -144,43 +145,43 @@ using GametrakXMinChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKXMIN>, espgui::StaticText<TEXT_SETGAMETRAKXMIN>,
GametrakXMinAccessor, GametrakXMinAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using GametrakXMaxChangeScreen = espgui::makeComponent< using GametrakXMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKXMAX>, espgui::StaticText<TEXT_SETGAMETRAKXMAX>,
GametrakXMaxAccessor, GametrakXMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using GametrakYMinChangeScreen = espgui::makeComponent< using GametrakYMinChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKYMIN>, espgui::StaticText<TEXT_SETGAMETRAKYMIN>,
GametrakYMinAccessor, GametrakYMinAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using GametrakYMaxChangeScreen = espgui::makeComponent< using GametrakYMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKYMAX>, espgui::StaticText<TEXT_SETGAMETRAKYMAX>,
GametrakYMaxAccessor, GametrakYMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using GametrakDistMinChangeScreen = espgui::makeComponent< using GametrakDistMinChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKDISTMIN>, espgui::StaticText<TEXT_SETGAMETRAKDISTMIN>,
GametrakDistMinAccessor, GametrakDistMinAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using GametrakDistMaxChangeScreen = espgui::makeComponent< using GametrakDistMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SETGAMETRAKDISTMAX>, espgui::StaticText<TEXT_SETGAMETRAKDISTMAX>,
GametrakDistMaxAccessor, GametrakDistMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
#endif #endif
} // namespace } // namespace
@ -189,41 +190,41 @@ using namespace espgui;
BoardcomputerHardwareSettingsMenu::BoardcomputerHardwareSettingsMenu() BoardcomputerHardwareSettingsMenu::BoardcomputerHardwareSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKSCREENSETTINGS>, SwitchScreenAction<LockscreenSettingsMenu>, StaticMenuItemIcon<&bobbyicons::lock>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKSCREENSETTINGS>, PushScreenAction<LockscreenSettingsMenu>, StaticMenuItemIcon<&bobbyicons::lock>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUTTONCALIBRATE>, SwitchScreenAction<ButtonCalibrateDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUTTONCALIBRATE>, PushScreenAction<ButtonCalibrateDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_EXTRABUTTONCALIBRATE>, SwitchScreenAction<ExtraButtonCalibrateMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_EXTRABUTTONCALIBRATE>, PushScreenAction<ExtraButtonCalibrateMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_QUICKACTIONS>, SwitchScreenAction<SetupQuickActionsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_QUICKACTIONS>, PushScreenAction<SetupQuickActionsMenu>>>();
constructMenuItem<makeComponent<MenuItem, GasText, DisabledColor, StaticFont<2>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, GasText, DisabledColor, StaticFont<2>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, BremsText, DisabledColor, StaticFont<2>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, BremsText, DisabledColor, StaticFont<2>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POTISCALIBRATE>, SwitchScreenAction<PotisCalibrateDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POTISCALIBRATE>, PushScreenAction<PotisCalibrateDisplay>>>();
#ifdef FEATURE_JOYSTICK #ifdef FEATURE_JOYSTICK
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_JOYSTICK>, SwitchScreenAction<JoystickDebugDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_JOYSTICK>, PushScreenAction<JoystickDebugDisplay>>>();
#endif #endif
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SAMPLECOUNT, SampleCountAccessor>, SwitchScreenAction<SampleCountChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SAMPLECOUNT, SampleCountAccessor>, PushScreenAction<SampleCountChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_GASMIN, GasMinAccessor>, SwitchScreenAction<GasMinChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_GASMIN, GasMinAccessor>, PushScreenAction<GasMinChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_GASMAX, GasMaxAccessor>, SwitchScreenAction<GasMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_GASMAX, GasMaxAccessor>, PushScreenAction<GasMaxChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BREMSMIN, BremsMinAccessor>, SwitchScreenAction<BremsMinChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BREMSMIN, BremsMinAccessor>, PushScreenAction<BremsMinChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BREMSMAX, BremsMaxAccessor>, SwitchScreenAction<BremsMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BREMSMAX, BremsMaxAccessor>, PushScreenAction<BremsMaxChangeScreen>>>();
#if defined(FEATURE_DPAD) || defined(FEATURE_DPAD_3WIRESW) || defined(FEATURE_DPAD_5WIRESW) || defined(FEATURE_DPAD_5WIRESW_2OUT) || defined (FEATURE_DPAD_6WIRESW) #if defined(FEATURE_DPAD) || defined(FEATURE_DPAD_3WIRESW) || defined(FEATURE_DPAD_5WIRESW) || defined(FEATURE_DPAD_5WIRESW_2OUT) || defined (FEATURE_DPAD_6WIRESW)
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_DPADDEBOUNCE, DPadDebounceAccessor>, SwitchScreenAction<DPadDebounceChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_DPADDEBOUNCE, DPadDebounceAccessor>, PushScreenAction<DPadDebounceChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BUTTONDELAY, ButtonDelayAccessor>, SwitchScreenAction<ButtonDelayChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BUTTONDELAY, ButtonDelayAccessor>, PushScreenAction<ButtonDelayChangeScreen>>>();
#endif #endif
#ifdef FEATURE_GAMETRAK #ifdef FEATURE_GAMETRAK
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>, constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>,
constructMenuItem<makeComponent<MenuItem, GametrakXText, DisabledColor, StaticFont<2>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, GametrakXText, DisabledColor, StaticFont<2>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, GametrakYText, DisabledColor, StaticFont<2>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, GametrakYText, DisabledColor, StaticFont<2>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, GametrakDistText, DisabledColor, StaticFont<2>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, GametrakDistText, DisabledColor, StaticFont<2>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAKCALIBRATE>, SwitchScreenAction<GametrakCalibrateDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAKCALIBRATE>, PushScreenAction<GametrakCalibrateDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKXMIN>, SwitchScreenAction<GametrakXMinChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKXMIN>, PushScreenAction<GametrakXMinChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKXMAX>, SwitchScreenAction<GametrakXMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKXMAX>, PushScreenAction<GametrakXMaxChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKYMIN>, SwitchScreenAction<GametrakYMinChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKYMIN>, PushScreenAction<GametrakYMinChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKYMAX>, SwitchScreenAction<GametrakYMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKYMAX>, PushScreenAction<GametrakYMaxChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKDISTMIN>, SwitchScreenAction<GametrakDistMinChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKDISTMIN>, PushScreenAction<GametrakDistMinChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKDISTMAX>, SwitchScreenAction<GametrakDistMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETGAMETRAKDISTMAX>, PushScreenAction<GametrakDistMaxChangeScreen>>>();
#endif #endif
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TIMERS>, SwitchScreenAction<TimersMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TIMERS>, PushScreenAction<TimersMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
std::string BoardcomputerHardwareSettingsMenu::text() const std::string BoardcomputerHardwareSettingsMenu::text() const

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include "changevaluedisplay.h" #include "changevaluedisplay.h"
#include "menuitem.h" #include "menuitem.h"
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
@ -32,8 +33,8 @@ using FrontFreqChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_FRONTFREQ>, espgui::StaticText<TEXT_FRONTFREQ>,
FrontFreqAccessor, FrontFreqAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
struct FrontPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.front.command.buzzer.pattern; } }; struct FrontPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.front.command.buzzer.pattern; } };
@ -41,8 +42,8 @@ using FrontPatternChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_FRONTPATTERN>, espgui::StaticText<TEXT_FRONTPATTERN>,
FrontPatternAccessor, FrontPatternAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
struct BackFreqAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.freq; } }; struct BackFreqAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.freq; } };
@ -50,8 +51,8 @@ using BackFreqChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_BACKFREQ>, espgui::StaticText<TEXT_BACKFREQ>,
BackFreqAccessor, BackFreqAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
struct BackPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.pattern; } }; struct BackPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.pattern; } };
@ -59,37 +60,37 @@ using BackPatternChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_BACKPATTERN>, espgui::StaticText<TEXT_BACKPATTERN>,
BackPatternAccessor, BackPatternAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ReverseBeepFreq0ChangeScreen = espgui::makeComponent< using ReverseBeepFreq0ChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_REVERSEBEEPFREQ0>, espgui::StaticText<TEXT_REVERSEBEEPFREQ0>,
ReverseBeepFreq0Accessor, ReverseBeepFreq0Accessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ReverseBeepFreq1ChangeScreen = espgui::makeComponent< using ReverseBeepFreq1ChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_REVERSEBEEPFREQ1>, espgui::StaticText<TEXT_REVERSEBEEPFREQ1>,
ReverseBeepFreq1Accessor, ReverseBeepFreq1Accessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ReverseBeepDuration0ChangeScreen = espgui::makeComponent< using ReverseBeepDuration0ChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_REVERSEBEEPDURATION0>, espgui::StaticText<TEXT_REVERSEBEEPDURATION0>,
ReverseBeepDuration0Accessor, ReverseBeepDuration0Accessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ReverseBeepDuration1ChangeScreen = espgui::makeComponent< using ReverseBeepDuration1ChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_REVERSEBEEPDURATION1>, espgui::StaticText<TEXT_REVERSEBEEPDURATION1>,
ReverseBeepDuration1Accessor, ReverseBeepDuration1Accessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -97,16 +98,16 @@ using namespace espgui;
BuzzerMenu::BuzzerMenu() BuzzerMenu::BuzzerMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTFREQ>, SwitchScreenAction<FrontFreqChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTFREQ>, PushScreenAction<FrontFreqChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTPATTERN>, SwitchScreenAction<FrontPatternChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTPATTERN>, PushScreenAction<FrontPatternChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKFREQ>, SwitchScreenAction<BackFreqChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKFREQ>, PushScreenAction<BackFreqChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKPATTERN>, SwitchScreenAction<BackPatternChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKPATTERN>, PushScreenAction<BackPatternChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEP>, BobbyCheckbox, ReverseBeepAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEP>, BobbyCheckbox, ReverseBeepAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEPFREQ0>, SwitchScreenAction<ReverseBeepFreq0ChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEPFREQ0>, PushScreenAction<ReverseBeepFreq0ChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEPFREQ1>, SwitchScreenAction<ReverseBeepFreq1ChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEPFREQ1>, PushScreenAction<ReverseBeepFreq1ChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEPDURATION0>, SwitchScreenAction<ReverseBeepDuration0ChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEPDURATION0>, PushScreenAction<ReverseBeepDuration0ChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEPDURATION1>, SwitchScreenAction<ReverseBeepDuration1ChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REVERSEBEEPDURATION1>, PushScreenAction<ReverseBeepDuration1ChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string BuzzerMenu::text() const std::string BuzzerMenu::text() const
@ -116,5 +117,5 @@ std::string BuzzerMenu::text() const
void BuzzerMenu::back() void BuzzerMenu::back()
{ {
switchScreen<SettingsMenu>(); popScreen();
} }

View File

@ -10,14 +10,13 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/switchscreenaction.h> #include <actions/popscreenaction.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <futurecpp.h> #include <futurecpp.h>
// local includes // local includes
#include "displays/menus/debugmenu.h"
#include "bobbyerrorhandler.h" #include "bobbyerrorhandler.h"
namespace { namespace {
@ -256,7 +255,7 @@ CanDebugMenu::CanDebugMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TWAI_START>, CanStartAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TWAI_START>, CanStartAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TWAI_UNINSTALL>, CanUninstallAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TWAI_UNINSTALL>, CanUninstallAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TWAI_INSTALL>, CanInstallAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TWAI_INSTALL>, CanInstallAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DebugMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string CanDebugMenu::text() const std::string CanDebugMenu::text() const
@ -285,7 +284,7 @@ void CanDebugMenu::update()
void CanDebugMenu::back() void CanDebugMenu::back()
{ {
espgui::switchScreen<DebugMenu>(); espgui::popScreen();
} }
#endif #endif

View File

@ -2,11 +2,10 @@
// local includes // local includes
#include "displays/bobbymenudisplay.h" #include "displays/bobbymenudisplay.h"
#include "debugmenu.h"
#include "utils.h" #include "utils.h"
#include "menuitem.h" #include "menuitem.h"
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
#include "debugtexthelpers.h" #include "debugtexthelpers.h"
@ -14,7 +13,7 @@ template<const char *Ttext, typename Ttexts>
class CommandDebugMenu : class CommandDebugMenu :
public BobbyMenuDisplay, public BobbyMenuDisplay,
public espgui::StaticText<Ttext>, public espgui::StaticText<Ttext>,
public espgui::BackActionInterface<espgui::SwitchScreenAction<DebugMenu>> public espgui::BackActionInterface<espgui::PopScreenAction>
{ {
public: public:
CommandDebugMenu() CommandDebugMenu()
@ -24,7 +23,7 @@ public:
constructMenuItem<makeComponent<MenuItem, typename Ttexts::BuzzerPatternText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::BuzzerPatternText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, typename Ttexts::PoweroffText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::PoweroffText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, typename Ttexts::LedText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::LedText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DebugMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
private: private:

View File

@ -1,13 +1,12 @@
#include "crashmenu.h" #include "crashmenu.h"
// 3rdparty lib includes // 3rdparty lib includes
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "actions/assertaction.h" #include "actions/assertaction.h"
#include "actions/dividebyzeroaction.h" #include "actions/dividebyzeroaction.h"
#include "displays/menus/settingsmenu.h"
namespace { namespace {
constexpr char TEXT_CRASHMENU[] = "Crash Menu"; constexpr char TEXT_CRASHMENU[] = "Crash Menu";
@ -21,7 +20,7 @@ CrashMenu::CrashMenu()
using namespace espgui; using namespace espgui;
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASH_ASSERT>, AssertAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASH_ASSERT>, AssertAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASH_DIVZERO>, DivideByZeroAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASH_DIVZERO>, DivideByZeroAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string CrashMenu::text() const std::string CrashMenu::text() const
@ -31,5 +30,5 @@ std::string CrashMenu::text() const
void CrashMenu::back() void CrashMenu::back()
{ {
espgui::switchScreen<SettingsMenu>(); espgui::popScreen();
} }

View File

@ -2,7 +2,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
@ -27,7 +28,6 @@
#include "displays/menus/feedbackdebugmenu.h" #include "displays/menus/feedbackdebugmenu.h"
#include "displays/menus/motorfeedbackdebugmenu.h" #include "displays/menus/motorfeedbackdebugmenu.h"
#include "displays/menus/dynamicdebugmenu.h" #include "displays/menus/dynamicdebugmenu.h"
#include "displays/menus/mainmenu.h"
#include "displays/menus/batterydebugmenu.h" #include "displays/menus/batterydebugmenu.h"
#include "bobbycheckbox.h" #include "bobbycheckbox.h"
@ -62,42 +62,42 @@ constexpr char TEXT_BACK[] = "Back";
DebugMenu::DebugMenu() DebugMenu::DebugMenu()
{ {
using namespace espgui; using namespace espgui;
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TASKMANAGER>, SwitchScreenAction<TaskmanagerMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TASKMANAGER>, PushScreenAction<TaskmanagerMenu>>>();
#ifdef FEATURE_CAN #ifdef FEATURE_CAN
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANDEBUG>, SwitchScreenAction<CanDebugMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANDEBUG>, PushScreenAction<CanDebugMenu>>>();
#endif #endif
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_QRCODE_DEBUG>, SwitchScreenAction<QrCodeDebugDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_QRCODE_DEBUG>, PushScreenAction<QrCodeDebugDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERYDEBUG>, SwitchScreenAction<BatteryDebugMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERYDEBUG>, PushScreenAction<BatteryDebugMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>();
if (configs.feature.udpcloud.isEnabled.value) if (configs.feature.udpcloud.isEnabled.value)
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TOGGLECLOUDDEBUG>, BobbyCheckbox, CloudDebugEnableAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TOGGLECLOUDDEBUG>, BobbyCheckbox, CloudDebugEnableAccessor>>();
} }
constructMenuItem<makeComponent<MenuItem, LastRebootReasonText, StaticFont<2>, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, LastRebootReasonText, StaticFont<2>, DisabledColor, DummyAction>>();
#ifdef FEATURE_CAN #ifdef FEATURE_CAN
constructMenuItem<makeComponent<MenuItem, CanIcCrashText, StaticFont<2>, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, CanIcCrashText, StaticFont<2>, DisabledColor, DummyAction>>();
#endif #endif
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTCOMMAND>, SwitchScreenAction<FrontCommandDebugMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTCOMMAND>, PushScreenAction<FrontCommandDebugMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKCOMMAND>, SwitchScreenAction<BackCommandDebugMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKCOMMAND>, PushScreenAction<BackCommandDebugMenu>>>();
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLEFTCOMMAND>, SwitchScreenAction<FrontLeftMotorStateDebugMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLEFTCOMMAND>, PushScreenAction<FrontLeftMotorStateDebugMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTRIGHTCOMMAND>, SwitchScreenAction<FrontRightMotorStateDebugMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTRIGHTCOMMAND>, PushScreenAction<FrontRightMotorStateDebugMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLEFTCOMMAND>, SwitchScreenAction<BackLeftMotorStateDebugMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLEFTCOMMAND>, PushScreenAction<BackLeftMotorStateDebugMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKRIGHTCOMMAND>, SwitchScreenAction<BackRightMotorStateDebugMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKRIGHTCOMMAND>, PushScreenAction<BackRightMotorStateDebugMenu>>>();
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTFEEDBACK>, SwitchScreenAction<FrontFeedbackDebugMenu>, FrontFeedbackColor<TFT_WHITE>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTFEEDBACK>, PushScreenAction<FrontFeedbackDebugMenu>, FrontFeedbackColor<TFT_WHITE>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKFEEDBACK>, SwitchScreenAction<BackFeedbackDebugMenu>, BackFeedbackColor<TFT_WHITE>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKFEEDBACK>, PushScreenAction<BackFeedbackDebugMenu>, BackFeedbackColor<TFT_WHITE>>>();
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLEFTFEEDBACK>, SwitchScreenAction<FrontLeftMotorFeedbackDebugMenu>, FrontFeedbackColor<TFT_WHITE>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLEFTFEEDBACK>, PushScreenAction<FrontLeftMotorFeedbackDebugMenu>, FrontFeedbackColor<TFT_WHITE>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTRIGHTFEEDBACK>, SwitchScreenAction<FrontRightMotorFeedbackDebugMenu>, FrontFeedbackColor<TFT_WHITE>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTRIGHTFEEDBACK>, PushScreenAction<FrontRightMotorFeedbackDebugMenu>, FrontFeedbackColor<TFT_WHITE>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLEFTFEEDBACK>, SwitchScreenAction<BackLeftMotorFeedbackDebugMenu>, BackFeedbackColor<TFT_WHITE>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLEFTFEEDBACK>, PushScreenAction<BackLeftMotorFeedbackDebugMenu>, BackFeedbackColor<TFT_WHITE>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKRIGHTFEEDBACK>, SwitchScreenAction<BackRightMotorFeedbackDebugMenu>, BackFeedbackColor<TFT_WHITE>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKRIGHTFEEDBACK>, PushScreenAction<BackRightMotorFeedbackDebugMenu>, BackFeedbackColor<TFT_WHITE>>>();
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOADSETTINGS>, LoadSettingsAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOADSETTINGS>, LoadSettingsAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SAVESETTINGS>, SaveSettingsAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SAVESETTINGS>, SaveSettingsAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ERASENVS>, EraseNvsAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ERASENVS>, EraseNvsAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DYNAMICMENU>, SwitchScreenAction<DynamicDebugMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DYNAMICMENU>, PushScreenAction<DynamicDebugMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string DebugMenu::text() const std::string DebugMenu::text() const
@ -107,5 +107,5 @@ std::string DebugMenu::text() const
void DebugMenu::back() void DebugMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
#include <menuitem.h> #include <menuitem.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <textwithvaluehelper.h> #include <textwithvaluehelper.h>
@ -14,7 +15,6 @@
#include "changevaluedisplay_unifiedmodelmode.h" #include "changevaluedisplay_unifiedmodelmode.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/menus/handbremssettingsmenu.h" #include "displays/menus/handbremssettingsmenu.h"
#include "displays/menus/modessettingsmenu.h"
#include "bobbycheckbox.h" #include "bobbycheckbox.h"
namespace { namespace {
@ -49,71 +49,71 @@ using DefaultModeModelModeChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<UnifiedModelMode>, BobbyChangeValueDisplay<UnifiedModelMode>,
espgui::StaticText<TEXT_MODELMODE>, espgui::StaticText<TEXT_MODELMODE>,
DefaultModeModelModeAccessor, DefaultModeModelModeAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeSmoothingChangeDisplay = espgui::makeComponent< using DefaultModeSmoothingChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SMOOTHINGVAL>, espgui::StaticText<TEXT_SMOOTHINGVAL>,
DefaultModeSmoothingAccessor, DefaultModeSmoothingAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent< using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>, espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>,
DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor, DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent< using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_FRONTPERCENTAGE>, espgui::StaticText<TEXT_FRONTPERCENTAGE>,
DefaultModeFrontPercentageAccessor, DefaultModeFrontPercentageAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent< using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_BACKPERCENTAGE>, espgui::StaticText<TEXT_BACKPERCENTAGE>,
DefaultModeBackPercentageAccessor, DefaultModeBackPercentageAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent< using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_ADDSCHWELLE>, espgui::StaticText<TEXT_ADDSCHWELLE>,
DefaultModeAddSchwelleAccessor, DefaultModeAddSchwelleAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeGas1WertChangeDisplay = espgui::makeComponent< using DefaultModeGas1WertChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_ADDGASVAL>, espgui::StaticText<TEXT_ADDGASVAL>,
DefaultModeGas1WertAccessor, DefaultModeGas1WertAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeGas2WertChangeDisplay = espgui::makeComponent< using DefaultModeGas2WertChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SUBGASVAL>, espgui::StaticText<TEXT_SUBGASVAL>,
DefaultModeGas2WertAccessor, DefaultModeGas2WertAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent< using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_ADDBRAKEVAL>, espgui::StaticText<TEXT_ADDBRAKEVAL>,
DefaultModeBrems1WertAccessor, DefaultModeBrems1WertAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent< using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SUBBRAKEVAL>, espgui::StaticText<TEXT_SUBBRAKEVAL>,
DefaultModeBrems2WertAccessor, DefaultModeBrems2WertAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -121,24 +121,24 @@ using namespace espgui;
DefaultModeSettingsMenu::DefaultModeSettingsMenu() DefaultModeSettingsMenu::DefaultModeSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<DefaultModeModelModeChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<DefaultModeModelModeChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREGAS>, BobbyCheckbox, DefaultModeSquareGasAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREGAS>, BobbyCheckbox, DefaultModeSquareGasAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREBREMS>, BobbyCheckbox, DefaultModeSquareBremsAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREBREMS>, BobbyCheckbox, DefaultModeSquareBremsAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableSmoothingUpAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableSmoothingUpAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGDOWN>, BobbyCheckbox, DefaultModeEnableSmoothingDownAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGDOWN>, BobbyCheckbox, DefaultModeEnableSmoothingDownAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableFieldWeakSmoothingUpAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableFieldWeakSmoothingUpAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGDOWN>, BobbyCheckbox, DefaultModeEnableFieldWeakSmoothingDownAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGDOWN>, BobbyCheckbox, DefaultModeEnableFieldWeakSmoothingDownAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE>, SwitchScreenAction<HandbremsSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE>, PushScreenAction<HandbremsSettingsMenu>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FWSMOOTHING_LIMIT, DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor>, SwitchScreenAction<DefaultModeFwSmoothingLowerLimitChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FWSMOOTHING_LIMIT, DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor>, PushScreenAction<DefaultModeFwSmoothingLowerLimitChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMOOTHINGVAL, DefaultModeSmoothingAccessor>, SwitchScreenAction<DefaultModeSmoothingChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMOOTHINGVAL, DefaultModeSmoothingAccessor>, PushScreenAction<DefaultModeSmoothingChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FRONTPERCENTAGE, DefaultModeFrontPercentageAccessor>, SwitchScreenAction<DefaultModeFrontPercentageChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FRONTPERCENTAGE, DefaultModeFrontPercentageAccessor>, PushScreenAction<DefaultModeFrontPercentageChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BACKPERCENTAGE, DefaultModeBackPercentageAccessor>, SwitchScreenAction<DefaultModeBackPercentageChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BACKPERCENTAGE, DefaultModeBackPercentageAccessor>, PushScreenAction<DefaultModeBackPercentageChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDSCHWELLE, DefaultModeAddSchwelleAccessor>, SwitchScreenAction<DefaultModeAddSchwelleChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDSCHWELLE, DefaultModeAddSchwelleAccessor>, PushScreenAction<DefaultModeAddSchwelleChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBGASVAL, DefaultModeGas2WertAccessor>, SwitchScreenAction<DefaultModeGas2WertChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBGASVAL, DefaultModeGas2WertAccessor>, PushScreenAction<DefaultModeGas2WertChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBBRAKEVAL, DefaultModeBrems2WertAccessor>, SwitchScreenAction<DefaultModeBrems2WertChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBBRAKEVAL, DefaultModeBrems2WertAccessor>, PushScreenAction<DefaultModeBrems2WertChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDGASVAL, DefaultModeGas1WertAccessor>, SwitchScreenAction<DefaultModeGas1WertChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDGASVAL, DefaultModeGas1WertAccessor>, PushScreenAction<DefaultModeGas1WertChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDBRAKEVAL, DefaultModeBrems1WertAccessor>, SwitchScreenAction<DefaultModeBrems1WertChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDBRAKEVAL, DefaultModeBrems1WertAccessor>, PushScreenAction<DefaultModeBrems1WertChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string DefaultModeSettingsMenu::text() const std::string DefaultModeSettingsMenu::text() const
@ -148,5 +148,5 @@ std::string DefaultModeSettingsMenu::text() const
void DefaultModeSettingsMenu::back() void DefaultModeSettingsMenu::back()
{ {
switchScreen<ModesSettingsMenu>(); popScreen();
} }

View File

@ -2,13 +2,13 @@
// 3rdparty lib includes // 3rdparty lib includes
#include "menuitem.h" #include "menuitem.h"
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
#include "displays/starfielddisplay.h" #include "displays/starfielddisplay.h"
#include "displays/pingpongdisplay.h" #include "displays/pingpongdisplay.h"
#include "displays/spirodisplay.h" #include "displays/spirodisplay.h"
#include "displays/gameoflifedisplay.h" #include "displays/gameoflifedisplay.h"
#include "displays/menus/mainmenu.h"
// local includes // local includes
#include "utils.h" #include "utils.h"
@ -25,11 +25,11 @@ constexpr char TEXT_BACK[] = "Back";
DemosMenu::DemosMenu() DemosMenu::DemosMenu()
{ {
using namespace espgui; using namespace espgui;
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STARFIELD>, SwitchScreenAction<StarfieldDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STARFIELD>, PushScreenAction<StarfieldDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PINGPONG>, SwitchScreenAction<PingPongDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PINGPONG>, PushScreenAction<PingPongDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SPIRO>, SwitchScreenAction<SpiroDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SPIRO>, PushScreenAction<SpiroDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMEOFLIFE>, SwitchScreenAction<GameOfLifeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMEOFLIFE>, PushScreenAction<GameOfLifeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string DemosMenu::text() const std::string DemosMenu::text() const
@ -39,5 +39,5 @@ std::string DemosMenu::text() const
void DemosMenu::back() void DemosMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }

View File

@ -14,6 +14,8 @@
#include <icons/back.h> #include <icons/back.h>
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
#include <changevaluedisplay_bool.h> #include <changevaluedisplay_bool.h>
#include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h" #include "displays/bobbychangevaluedisplay.h"
@ -90,8 +92,8 @@ using ToggleChangeValueDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<bool>, BobbyChangeValueDisplay<bool>,
espgui::StaticText<TEXT_DEBUGTOGGLEMENU>, espgui::StaticText<TEXT_DEBUGTOGGLEMENU>,
ToggleAccessor, ToggleAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DynamicDebugMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<DynamicDebugMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
class OpenPopupAction : public virtual espgui::ActionInterface class OpenPopupAction : public virtual espgui::ActionInterface
@ -135,7 +137,7 @@ DynamicDebugMenu::DynamicDebugMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATICICON>, StaticMenuItemIcon<&bobbyicons::lock>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATICICON>, StaticMenuItemIcon<&bobbyicons::lock>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKTOGGLE>, BobbyCheckbox, ToggleLockedAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKTOGGLE>, BobbyCheckbox, ToggleLockedAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUGTOGGLE>, BobbyCheckbox, ToggleAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUGTOGGLE>, BobbyCheckbox, ToggleAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUGTOGGLEMENU>, SwitchScreenAction<ToggleChangeValueDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUGTOGGLEMENU>, PushScreenAction<ToggleChangeValueDisplay>>>();
constructMenuItem<makeComponent<MenuItem, RandomText, RandomColor, RandomFont, RandomIcon, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, RandomText, RandomColor, RandomFont, RandomIcon, DummyAction>>();
// more scrolling // more scrolling
@ -146,7 +148,12 @@ DynamicDebugMenu::DynamicDebugMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DUMMYITEM>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DUMMYITEM>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DUMMYITEM>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DUMMYITEM>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DebugMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
}
void DynamicDebugMenu::back()
{
espgui::popScreen();
} }
namespace { namespace {

View File

@ -3,11 +3,9 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <textinterface.h> #include <textinterface.h>
#include <espchrono.h> #include <espchrono.h>
#include <actions/switchscreenaction.h>
// local includes // local includes
#include "displays/bobbymenudisplay.h" #include "displays/bobbymenudisplay.h"
#include "debugmenu.h"
class RandomText : public virtual espgui::TextInterface class RandomText : public virtual espgui::TextInterface
{ {
@ -21,9 +19,10 @@ private:
class DynamicDebugMenu : class DynamicDebugMenu :
public BobbyMenuDisplay, public BobbyMenuDisplay,
public RandomText, public RandomText
public espgui::BackActionInterface<espgui::SwitchScreenAction<DebugMenu>>
{ {
public: public:
DynamicDebugMenu(); DynamicDebugMenu();
void back() override;
}; };

View File

@ -2,11 +2,10 @@
// local includes // local includes
#include "displays/bobbymenudisplay.h" #include "displays/bobbymenudisplay.h"
#include "debugmenu.h"
#include "utils.h" #include "utils.h"
#include "menuitem.h" #include "menuitem.h"
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
#include "debugtexthelpers.h" #include "debugtexthelpers.h"
#include "debugcolorhelpers.h" #include "debugcolorhelpers.h"
@ -16,7 +15,7 @@ template<const char *Ttext, typename Ttexts, template<int> class ColorInterface>
class FeedbackDebugMenu : class FeedbackDebugMenu :
public BobbyMenuDisplay, public BobbyMenuDisplay,
public espgui::StaticText<Ttext>, public espgui::StaticText<Ttext>,
public espgui::BackActionInterface<espgui::SwitchScreenAction<DebugMenu>> public espgui::BackActionInterface<espgui::PopScreenAction>
{ {
public: public:
FeedbackDebugMenu() FeedbackDebugMenu()
@ -27,7 +26,7 @@ public:
//constructMenuItem<makeComponent<MenuItem, typename Ttexts::BoardTempText, ColorInterface<TFT_DARKGREY>, DummyAction>>(); //constructMenuItem<makeComponent<MenuItem, typename Ttexts::BoardTempText, ColorInterface<TFT_DARKGREY>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, typename Ttexts::BoardTempFixedText, ColorInterface<TFT_DARKGREY>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::BoardTempFixedText, ColorInterface<TFT_DARKGREY>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, typename Ttexts::TimeoutCntSerialText, StaticFont<2>, ColorInterface<TFT_DARKGREY>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::TimeoutCntSerialText, StaticFont<2>, ColorInterface<TFT_DARKGREY>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DebugMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
private: private:

View File

@ -4,7 +4,7 @@
#include "displays/bobbymenudisplay.h" #include "displays/bobbymenudisplay.h"
#include "utils.h" #include "utils.h"
#include "menuitem.h" #include "menuitem.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
namespace { namespace {
@ -16,7 +16,7 @@ class ContainerModeSettingsMenu :
public: public:
ContainerModeSettingsMenu() ContainerModeSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string text() const override std::string text() const override

View File

@ -1,4 +1,4 @@
#include "garagenmenu.h" #include "garagemenu.h"
// 3rd party libs // 3rd party libs
#include <icons/back.h> #include <icons/back.h>
@ -8,8 +8,7 @@
#include <menuitem.h> #include <menuitem.h>
// local includes // local includes
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "displays/menus/mainmenu.h"
#include "espnowfunctions.h" #include "espnowfunctions.h"
#include "globals.h" #include "globals.h"
#include "newsettings.h" #include "newsettings.h"
@ -42,7 +41,7 @@ GarageMenu::GarageMenu()
menuitem.setTitle(wirelessDoor.doorId.value); menuitem.setTitle(wirelessDoor.doorId.value);
} }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string GarageMenu::text() const std::string GarageMenu::text() const
@ -52,7 +51,7 @@ std::string GarageMenu::text() const
void GarageMenu::back() void GarageMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }
namespace { namespace {

View File

@ -1,7 +1,8 @@
#include "graphsmenu.h" #include "graphsmenu.h"
// 3rdparty lib includes // 3rdparty lib includes
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
#include "graphdisplay.h" #include "graphdisplay.h"
#include "splitgraphdisplay.h" #include "splitgraphdisplay.h"
@ -11,7 +12,6 @@
#include "displays/bobbysplitgraphdisplay.h" #include "displays/bobbysplitgraphdisplay.h"
#include "utils.h" #include "utils.h"
#include "statistics.h" #include "statistics.h"
#include "displays/menus/mainmenu.h"
namespace { namespace {
constexpr char TEXT_GRAPHS[] = "Graphs"; constexpr char TEXT_GRAPHS[] = "Graphs";
@ -36,83 +36,83 @@ using GasGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_GAS>, espgui::StaticText<TEXT_GAS>,
espgui::SingleGraphAccessor<GasStatistics>, espgui::SingleGraphAccessor<GasStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BremsGraphDisplay = espgui::makeComponent< using BremsGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BREMS>, espgui::StaticText<TEXT_BREMS>,
espgui::SingleGraphAccessor<BremsStatistics>, espgui::SingleGraphAccessor<BremsStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using PotisGraphDisplay = espgui::makeComponent< using PotisGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<2>, BobbyGraphDisplay<2>,
espgui::StaticText<TEXT_POTIS>, espgui::StaticText<TEXT_POTIS>,
espgui::DualGraphAccessor<GasStatistics, BremsStatistics>, espgui::DualGraphAccessor<GasStatistics, BremsStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using PotisSplitGraphDisplay = espgui::makeComponent< using PotisSplitGraphDisplay = espgui::makeComponent<
BobbySplitGraphDisplay<1, 1>, BobbySplitGraphDisplay<1, 1>,
espgui::StaticText<TEXT_POTIS>, espgui::StaticText<TEXT_POTIS>,
espgui::SingleTopGraphAccessor<GasStatistics>, espgui::SingleTopGraphAccessor<GasStatistics>,
espgui::SingleBottomGraphAccessor<BremsStatistics>, espgui::SingleBottomGraphAccessor<BremsStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using AvgSpeedGraphDisplay = espgui::makeComponent< using AvgSpeedGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_AVGSPEED>, espgui::StaticText<TEXT_AVGSPEED>,
espgui::SingleGraphAccessor<AvgSpeedStatistics>, espgui::SingleGraphAccessor<AvgSpeedStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using AvgSpeedKmhGraphDisplay = espgui::makeComponent< using AvgSpeedKmhGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_AVGSPEEDKMH>, espgui::StaticText<TEXT_AVGSPEEDKMH>,
espgui::SingleGraphAccessor<AvgSpeedKmhStatistics>, espgui::SingleGraphAccessor<AvgSpeedKmhStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using SumCurrentGraphDisplay = espgui::makeComponent< using SumCurrentGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_SUMCURRENT>, espgui::StaticText<TEXT_SUMCURRENT>,
espgui::SingleGraphAccessor<SumCurrentStatistics>, espgui::SingleGraphAccessor<SumCurrentStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using FrontVoltageGraphDisplay = espgui::makeComponent< using FrontVoltageGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_FRONTVOLTAGE>, espgui::StaticText<TEXT_FRONTVOLTAGE>,
espgui::SingleGraphAccessor<FrontVoltageStatistics>, espgui::SingleGraphAccessor<FrontVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BackVoltageGraphDisplay = espgui::makeComponent< using BackVoltageGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BACKVOLTAGE>, espgui::StaticText<TEXT_BACKVOLTAGE>,
espgui::SingleGraphAccessor<BackVoltageStatistics>, espgui::SingleGraphAccessor<BackVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using VoltagesGraphDisplay = espgui::makeComponent< using VoltagesGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<2>, BobbyGraphDisplay<2>,
espgui::StaticText<TEXT_VOLTAGES>, espgui::StaticText<TEXT_VOLTAGES>,
espgui::DualGraphAccessor<FrontVoltageStatistics, BackVoltageStatistics>, espgui::DualGraphAccessor<FrontVoltageStatistics, BackVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using VoltagesSplitGraphDisplay = espgui::makeComponent< using VoltagesSplitGraphDisplay = espgui::makeComponent<
BobbySplitGraphDisplay<1, 1>, BobbySplitGraphDisplay<1, 1>,
espgui::StaticText<TEXT_VOLTAGES>, espgui::StaticText<TEXT_VOLTAGES>,
espgui::SingleTopGraphAccessor<FrontVoltageStatistics>, espgui::SingleTopGraphAccessor<FrontVoltageStatistics>,
espgui::SingleBottomGraphAccessor<BackVoltageStatistics>, espgui::SingleBottomGraphAccessor<BackVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
#ifdef FEATURE_BMS #ifdef FEATURE_BMS
@ -120,29 +120,29 @@ using BmsVoltageGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BMSVOLTAGE>, espgui::StaticText<TEXT_BMSVOLTAGE>,
espgui::SingleGraphAccessor<BmsVoltageStatistics>, espgui::SingleGraphAccessor<BmsVoltageStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BmsCurrentGraphDisplay = espgui::makeComponent< using BmsCurrentGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BMSCURRENT>, espgui::StaticText<TEXT_BMSCURRENT>,
espgui::SingleGraphAccessor<BmsCurrentStatistics>, espgui::SingleGraphAccessor<BmsCurrentStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BmsPowerGraphDisplay = espgui::makeComponent< using BmsPowerGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_BMSPOWER>, espgui::StaticText<TEXT_BMSPOWER>,
espgui::SingleGraphAccessor<BmsPowerStatistics>, espgui::SingleGraphAccessor<BmsPowerStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using SumCurrentsComparisonGraphDisplay = espgui::makeComponent< using SumCurrentsComparisonGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<2>, BobbyGraphDisplay<2>,
espgui::StaticText<TEXT_SUMCURRENTSCOMPARISON>, espgui::StaticText<TEXT_SUMCURRENTSCOMPARISON>,
DualGraphAccessor<SumCurrentStatistics, BmsCurrentStatistics>, DualGraphAccessor<SumCurrentStatistics, BmsCurrentStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
#endif #endif
@ -157,42 +157,42 @@ using MotorCurrentsGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<4>, BobbyGraphDisplay<4>,
espgui::StaticText<TEXT_MOTORCURRENTS>, espgui::StaticText<TEXT_MOTORCURRENTS>,
MotorCurrentsStatistics, MotorCurrentsStatistics,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using RssiGraphDisplay = espgui::makeComponent< using RssiGraphDisplay = espgui::makeComponent<
BobbyGraphDisplay<1>, BobbyGraphDisplay<1>,
espgui::StaticText<TEXT_RSSI>, espgui::StaticText<TEXT_RSSI>,
espgui::SingleGraphAccessor<RssiStatistics>, espgui::SingleGraphAccessor<RssiStatistics>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<GraphsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<GraphsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
GraphsMenu::GraphsMenu() GraphsMenu::GraphsMenu()
{ {
using namespace espgui; using namespace espgui;
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAS>, SwitchScreenAction<GasGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAS>, PushScreenAction<GasGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BREMS>, SwitchScreenAction<BremsGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BREMS>, PushScreenAction<BremsGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POTIS>, SwitchScreenAction<PotisGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POTIS>, PushScreenAction<PotisGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POTIS>, SwitchScreenAction<PotisSplitGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POTIS>, PushScreenAction<PotisSplitGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_AVGSPEED>, SwitchScreenAction<AvgSpeedGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_AVGSPEED>, PushScreenAction<AvgSpeedGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_AVGSPEEDKMH>, SwitchScreenAction<AvgSpeedKmhGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_AVGSPEEDKMH>, PushScreenAction<AvgSpeedKmhGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SUMCURRENT>, SwitchScreenAction<SumCurrentGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SUMCURRENT>, PushScreenAction<SumCurrentGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTVOLTAGE>, SwitchScreenAction<FrontVoltageGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTVOLTAGE>, PushScreenAction<FrontVoltageGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKVOLTAGE>, SwitchScreenAction<BackVoltageGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKVOLTAGE>, PushScreenAction<BackVoltageGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGES>, SwitchScreenAction<VoltagesGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGES>, PushScreenAction<VoltagesGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGES>, SwitchScreenAction<VoltagesSplitGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGES>, PushScreenAction<VoltagesSplitGraphDisplay>>>();
#ifdef FEATURE_BMS #ifdef FEATURE_BMS
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMSVOLTAGE>, SwitchScreenAction<BmsVoltageGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMSVOLTAGE>, PushScreenAction<BmsVoltageGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMSCURRENT>, SwitchScreenAction<BmsCurrentGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMSCURRENT>, PushScreenAction<BmsCurrentGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMSPOWER>, SwitchScreenAction<BmsPowerGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMSPOWER>, PushScreenAction<BmsPowerGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SUMCURRENTSCOMPARISON>, SwitchScreenAction<SumCurrentsComparisonGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SUMCURRENTSCOMPARISON>, PushScreenAction<SumCurrentsComparisonGraphDisplay>>>();
#endif #endif
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORCURRENTS>, SwitchScreenAction<MotorCurrentsGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORCURRENTS>, PushScreenAction<MotorCurrentsGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_RSSI>, SwitchScreenAction<RssiGraphDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_RSSI>, PushScreenAction<RssiGraphDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string GraphsMenu::text() const std::string GraphsMenu::text() const
@ -202,5 +202,5 @@ std::string GraphsMenu::text() const
void GraphsMenu::back() void GraphsMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }

View File

@ -6,13 +6,13 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <fmt/core.h> #include <fmt/core.h>
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "actions/qraction.h" #include "actions/qraction.h"
#include "displays/menus/mainmenu.h"
#include "displays/qrdisplay.h" #include "displays/qrdisplay.h"
#include "displays/qrimportdisplay.h" #include "displays/qrimportdisplay.h"
#include "qrimport.h" #include "qrimport.h"
@ -49,11 +49,11 @@ public:
if (deleteMode) if (deleteMode)
{ {
qrimport::delete_qr_code(m_qrmenu.text); qrimport::delete_qr_code(m_qrmenu.text);
espgui::switchScreen<GreenPassMenu>(); espgui::popScreen();
} }
else else
{ {
espgui::switchScreen<QrDisplay<GreenPassMenu>>(m_qrmenu.message); espgui::pushScreen<QrDisplay<GreenPassMenu>>(m_qrmenu.message);
} }
} }
private: private:
@ -87,8 +87,9 @@ GreenPassMenu::GreenPassMenu()
constructMenuItem<makeComponentArgs<MenuItem, SwitchQrImportDisplayAction<GreenPassMenu>, StaticText<TEXT_ADDCERT>>>(std::move(nvs_key)); constructMenuItem<makeComponentArgs<MenuItem, SwitchQrImportDisplayAction<GreenPassMenu>, StaticText<TEXT_ADDCERT>>>(std::move(nvs_key));
} }
} }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DELCERT>, BobbyCheckbox, DeleteModeAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DELCERT>, BobbyCheckbox, DeleteModeAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string GreenPassMenu::text() const std::string GreenPassMenu::text() const
@ -98,5 +99,5 @@ std::string GreenPassMenu::text() const
void GreenPassMenu::back() void GreenPassMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }

View File

@ -39,7 +39,7 @@ HandbremsSettingsMenu::HandbremsSettingsMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_ENABLE>, BobbyCheckbox, HandbremsEnabledAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_ENABLE>, BobbyCheckbox, HandbremsEnabledAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_AUTOMATIC>, BobbyCheckbox, HandbremsAutomaticAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_AUTOMATIC>, BobbyCheckbox, HandbremsAutomaticAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_VISUALIZE>, BobbyCheckbox, HandbremsVisualizeAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_VISUALIZE>, BobbyCheckbox, HandbremsVisualizeAccessor>>();
constructMenuItem<SwitchScreenTypeSafeChangeMenuItem<HandbremseMode, HandbremsSettingsMenu, TEXT_HANDBREMSE_MODE>>(&configs.handbremse.mode); constructMenuItem<PushScreenTypeSafeChangeMenuItem<HandbremseMode, TEXT_HANDBREMSE_MODE>>(&configs.handbremse.mode);
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HANDBREMSE_TRIGGERTIMEOUT, HandbremsTimeoutAccessor>, SwitchScreenAction<HandBremsTriggerTimeoutChangeValueDisplay>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HANDBREMSE_TRIGGERTIMEOUT, HandbremsTimeoutAccessor>, SwitchScreenAction<HandBremsTriggerTimeoutChangeValueDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DefaultModeSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DefaultModeSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
} }

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include "changevaluedisplay.h" #include "changevaluedisplay.h"
#include "menuitem.h" #include "menuitem.h"
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
@ -12,7 +13,6 @@
#include "changevaluedisplay_larsmmode_mode.h" #include "changevaluedisplay_larsmmode_mode.h"
#include "changevaluedisplay_unifiedmodelmode.h" #include "changevaluedisplay_unifiedmodelmode.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/menus/modessettingsmenu.h"
namespace { namespace {
constexpr char TEXT_LARSMMODESETTINGS[] = "Larsm mode settings"; constexpr char TEXT_LARSMMODESETTINGS[] = "Larsm mode settings";
@ -25,22 +25,22 @@ using LarsmModeModelModeChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<UnifiedModelMode>, BobbyChangeValueDisplay<UnifiedModelMode>,
espgui::StaticText<TEXT_MODELMODE>, espgui::StaticText<TEXT_MODELMODE>,
LarsmModeModelModeAccessor, LarsmModeModelModeAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using LarsmModeModeChangeDisplay = espgui::makeComponent< using LarsmModeModeChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<LarsmModeMode>, BobbyChangeValueDisplay<LarsmModeMode>,
espgui::StaticText<TEXT_SETMODE>, espgui::StaticText<TEXT_SETMODE>,
LarsmModeModeAccessor, LarsmModeModeAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using LarsmModeIterationsChangeDisplay = espgui::makeComponent< using LarsmModeIterationsChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_SETITERATIONS>, espgui::StaticText<TEXT_SETITERATIONS>,
LarsmModeIterationsAccessor, LarsmModeIterationsAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -48,10 +48,10 @@ using namespace espgui;
LarsmModeSettingsMenu::LarsmModeSettingsMenu() LarsmModeSettingsMenu::LarsmModeSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<LarsmModeModelModeChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<LarsmModeModelModeChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETMODE>, SwitchScreenAction<LarsmModeModeChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETMODE>, PushScreenAction<LarsmModeModeChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETITERATIONS>, SwitchScreenAction<LarsmModeIterationsChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETITERATIONS>, PushScreenAction<LarsmModeIterationsChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string LarsmModeSettingsMenu::text() const std::string LarsmModeSettingsMenu::text() const
@ -61,5 +61,5 @@ std::string LarsmModeSettingsMenu::text() const
void LarsmModeSettingsMenu::back() void LarsmModeSettingsMenu::back()
{ {
switchScreen<ModesSettingsMenu>(); popScreen();
} }

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <FastLED.h> #include <FastLED.h>
#include <actioninterface.h> #include <actioninterface.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
#include <icons/back.h> #include <icons/back.h>
#include <menuitem.h> #include <menuitem.h>
@ -53,32 +54,32 @@ using LedsCountChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_LEDSCOUNT>, espgui::StaticText<TEXT_LEDSCOUNT>,
LedsCountAccessor, LedsCountAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using CenterOffsetChangeScreen = espgui::makeComponent< using CenterOffsetChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_CENTEROFFSET>, espgui::StaticText<TEXT_CENTEROFFSET>,
CenterOffsetAccessor, CenterOffsetAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using SmallOffsetChangeScreen = espgui::makeComponent< using SmallOffsetChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_SMALLOFFSET>, espgui::StaticText<TEXT_SMALLOFFSET>,
SmallOffsetAccessor, SmallOffsetAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using BigOffsetChangeScreen = espgui::makeComponent< using BigOffsetChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_BIGOFFSET>, espgui::StaticText<TEXT_BIGOFFSET>,
BigOffsetAccessor, BigOffsetAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using LedStripMaxAmpereChangeScreen = espgui::makeComponent< using LedStripMaxAmpereChangeScreen = espgui::makeComponent<
@ -86,40 +87,40 @@ using LedStripMaxAmpereChangeScreen = espgui::makeComponent<
espgui::StaticText<TEXT_LEDSTRIPCURRENTLIMIT>, espgui::StaticText<TEXT_LEDSTRIPCURRENTLIMIT>,
LedStripMaxAmpereAccessor, LedStripMaxAmpereAccessor,
espgui::RatioNumberStep<float, std::ratio<1,10>>, espgui::RatioNumberStep<float, std::ratio<1,10>>,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using StVOOffsetChangeScreen = espgui::makeComponent< using StVOOffsetChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_STVO_FRONTOFFSET>, espgui::StaticText<TEXT_STVO_FRONTOFFSET>,
LedsStVOFrontOffsetAccessor, LedsStVOFrontOffsetAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using StVOLengthChangeScreen = espgui::makeComponent< using StVOLengthChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_STVO_FRONTLENGTH>, espgui::StaticText<TEXT_STVO_FRONTLENGTH>,
LedsStVOFrontLengthAccessor, LedsStVOFrontLengthAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using AnimationMultiplierChangeScreen = espgui::makeComponent< using AnimationMultiplierChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>, espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>,
AnimationMultiplierAccessor, AnimationMultiplierAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using LedStripBrightnessChangeScreen = espgui::makeComponent< using LedStripBrightnessChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>, espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>,
LedstripBrightnessAccessor, LedstripBrightnessAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
class AllCustomLedsOffAction : public virtual espgui::ActionInterface class AllCustomLedsOffAction : public virtual espgui::ActionInterface
@ -154,30 +155,31 @@ LedstripMenu::LedstripMenu()
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_AUTOMATIC_LIGHTS>, BobbyCheckbox, LedstripAutomaticLightAccessor>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_AUTOMATIC_LIGHTS>, BobbyCheckbox, LedstripAutomaticLightAccessor>>();
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDANIMATION>, BobbyCheckbox, EnableLedAnimationAccessor>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDANIMATION>, BobbyCheckbox, EnableLedAnimationAccessor>>();
constructMenuItem<SwitchScreenTypeSafeChangeMenuItem<LedstripAnimation, LedstripMenu, TEXT_SELECTANIMATION>>(&configs.ledstrip.animationType);
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BRAKELIGHTS>, BobbyCheckbox, EnableBrakeLightsAccessor>>(); constructMenuItem<PushScreenTypeSafeChangeMenuItem<LedstripAnimation, TEXT_SELECTANIMATION>>(&configs.ledstrip.animationType);
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIPCOLORMENU>, espgui::SwitchScreenAction<LedstripColorsDisplay>>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BRAKELIGHTS>, BobbyCheckbox, EnableBrakeLightsAccessor>>();
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIPCOLORMENU>, espgui::PushScreenAction<LedstripColorsDisplay>>>();
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_ALLCUSTOMOFF>, AllCustomLedsOffAction>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_ALLCUSTOMOFF>, AllCustomLedsOffAction>>();
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKBEEP>, BobbyCheckbox, EnableBeepWhenBlinkAccessor>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKBEEP>, BobbyCheckbox, EnableBeepWhenBlinkAccessor>>();
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_FULLBLINK>, BobbyCheckbox, EnableFullBlinkAccessor>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_FULLBLINK>, BobbyCheckbox, EnableFullBlinkAccessor>>();
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTOFFSET, LedsStVOFrontOffsetAccessor>, espgui::SwitchScreenAction<StVOOffsetChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTOFFSET, LedsStVOFrontOffsetAccessor>, espgui::PushScreenAction<StVOOffsetChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTLENGTH, LedsStVOFrontLengthAccessor>, espgui::SwitchScreenAction<StVOLengthChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTLENGTH, LedsStVOFrontLengthAccessor>, espgui::PushScreenAction<StVOLengthChangeScreen>>>(); }
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKANIMATION>, espgui::SwitchScreenAction<LedstripSelectBlinkMenu>>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKANIMATION>, espgui::PushScreenAction<LedstripSelectBlinkMenu>>>();
if (configs.feature.ota.isEnabled.value) if (configs.feature.ota.isEnabled.value)
if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_CHANGE_OTA_ANIM>, espgui::SwitchScreenAction<LedstripOtaAnimationChangeMenu>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_CHANGE_OTA_ANIM>, espgui::PushScreenAction<LedstripOtaAnimationChangeMenu>>>(); }
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>, espgui::SwitchScreenAction<AnimationMultiplierChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>, espgui::PushScreenAction<AnimationMultiplierChangeScreen>>>();
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_LEDSCOUNT, LedsCountAccessor>, espgui::SwitchScreenAction<LedsCountChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_LEDSCOUNT, LedsCountAccessor>, espgui::PushScreenAction<LedsCountChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CENTEROFFSET, CenterOffsetAccessor>, espgui::SwitchScreenAction<CenterOffsetChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CENTEROFFSET, CenterOffsetAccessor>, espgui::PushScreenAction<CenterOffsetChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMALLOFFSET, SmallOffsetAccessor>, espgui::SwitchScreenAction<SmallOffsetChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMALLOFFSET, SmallOffsetAccessor>, espgui::PushScreenAction<SmallOffsetChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BIGOFFSET, BigOffsetAccessor>, espgui::SwitchScreenAction<BigOffsetChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BIGOFFSET, BigOffsetAccessor>, espgui::PushScreenAction<BigOffsetChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>, espgui::SwitchScreenAction<LedStripBrightnessChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>, espgui::PushScreenAction<LedStripBrightnessChangeScreen>>>(); }
if (!simplified) { constructMenuItem<makeComponent<MenuItem, LedStripMaxCurrentText, espgui::SwitchScreenAction<LedStripMaxAmpereChangeScreen>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, LedStripMaxCurrentText, espgui::PushScreenAction<LedStripMaxAmpereChangeScreen>>>(); }
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BACK>, espgui::SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BACK>, espgui::PushScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string LedstripMenu::text() const std::string LedstripMenu::text() const
@ -187,5 +189,5 @@ std::string LedstripMenu::text() const
void LedstripMenu::back() void LedstripMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }

View File

@ -0,0 +1,72 @@
#include "ledstripselectanimationmenu.h"
// Local includes
#include "actions/dummyaction.h"
#include "actions/ledstripanimationactions.h"
#include "actions/popscreenaction.h"
#include "icons/back.h"
#include "ledstripdefines.h"
#include "ledstripmenu.h"
#include "newsettings.h"
#ifdef FEATURE_LEDSTRIP
namespace {
constexpr char TEXT_SELECTANIMATION[] = "Select Animation";
constexpr char TEXT_ANIMATION_DEFAULTRAINBOW[] = "Default Rainbow";
constexpr char TEXT_ANIMATION_BETTERRAINBOW[] = "Better Rainbow";
constexpr char TEXT_ANIMATION_SPEEDSYNCANIMATION[] = "Speed Sync";
constexpr char TEXT_ANIMATION_CUSTOMCOLOR[] = "Custom Color";
constexpr char TEXT_BACK[] = "Back";
class CurrentSelectedAnimationText : public virtual espgui::TextInterface
{
public:
std::string text() const override;
};
} // namespace
LedstripSelectAnimationMenu::LedstripSelectAnimationMenu()
{
using namespace espgui;
constructMenuItem<makeComponent<MenuItem, CurrentSelectedAnimationText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_DEFAULTRAINBOW>, LedStripSetAnimationAction<LedstripAnimation::DefaultRainbow>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_BETTERRAINBOW>, LedStripSetAnimationAction<LedstripAnimation::BetterRainbow>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_SPEEDSYNCANIMATION>, LedStripSetAnimationAction<LedstripAnimation::SpeedSync>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_CUSTOMCOLOR>, LedStripSetAnimationAction<LedstripAnimation::CustomColor>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
}
std::string LedstripSelectAnimationMenu::text() const
{
return TEXT_SELECTANIMATION;
}
void LedstripSelectAnimationMenu::back()
{
espgui::popScreen();
}
namespace {
std::string CurrentSelectedAnimationText::text() const
{
switch (configs.ledstrip.animationType.value)
{
case LedstripAnimation::DefaultRainbow:
return TEXT_ANIMATION_DEFAULTRAINBOW;
case LedstripAnimation::BetterRainbow:
return TEXT_ANIMATION_BETTERRAINBOW;
case LedstripAnimation::SpeedSync:
return TEXT_ANIMATION_SPEEDSYNCANIMATION;
case LedstripAnimation::CustomColor:
return TEXT_ANIMATION_CUSTOMCOLOR;
default:
return "Animation Unkown";
}
}
} // namespace
#endif

View File

@ -2,13 +2,12 @@
// 3rdparty lib includes // 3rdparty lib includes
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "actions/ledstripblinkactions.h" #include "actions/ledstripblinkactions.h"
#include "displays/menus/ledstripmenu.h"
#include "ledstrip.h" #include "ledstrip.h"
#include "ledstripdefines.h" #include "ledstripdefines.h"
#include "bobbycheckbox.h" #include "bobbycheckbox.h"
@ -42,7 +41,7 @@ LedstripSelectBlinkMenu::LedstripSelectBlinkMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_BLINKBOTH>, LedstripAnimationBlinkBothAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_BLINKBOTH>, LedstripAnimationBlinkBothAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_EN_BLINK_ANIM>, BobbyCheckbox, LedstripEnableBlinkAnimationAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_EN_BLINK_ANIM>, BobbyCheckbox, LedstripEnableBlinkAnimationAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_VISUALIZE_BLINK>, BobbyCheckbox, LedstripEnableVisualizeBlinkAnimationAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_VISUALIZE_BLINK>, BobbyCheckbox, LedstripEnableVisualizeBlinkAnimationAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string LedstripSelectBlinkMenu::text() const std::string LedstripSelectBlinkMenu::text() const
@ -52,7 +51,7 @@ std::string LedstripSelectBlinkMenu::text() const
void LedstripSelectBlinkMenu::back() void LedstripSelectBlinkMenu::back()
{ {
espgui::switchScreen<LedstripMenu>(); espgui::popScreen();
} }
namespace { namespace {

View File

@ -1,14 +1,14 @@
#include "ledstripselectotamode.h" #include "ledstripselectotamode.h"
// 3rdparty lib includes // 3rdparty lib includes
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "ledstrip.h" #include "ledstrip.h"
#include "newsettings.h" #include "newsettings.h"
#include "utils.h" #include "utils.h"
#include "ledstripmenu.h"
namespace { namespace {
constexpr char TEXT_BLINKANIMATION[] = "Blink animation"; constexpr char TEXT_BLINKANIMATION[] = "Blink animation";
@ -34,7 +34,7 @@ LedstripOtaAnimationChangeMenu::LedstripOtaAnimationChangeMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_NONE>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::None>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_NONE>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::None>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_PROGRESS>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::GreenProgressBar>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_PROGRESS>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::GreenProgressBar>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_COLOR>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::ColorChangeAll>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_COLOR>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::ColorChangeAll>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string LedstripOtaAnimationChangeMenu::text() const std::string LedstripOtaAnimationChangeMenu::text() const
@ -44,5 +44,5 @@ std::string LedstripOtaAnimationChangeMenu::text() const
void LedstripOtaAnimationChangeMenu::back() void LedstripOtaAnimationChangeMenu::back()
{ {
espgui::switchScreen<LedstripMenu>(); espgui::popScreen();
} }

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
#include <menuitem.h> #include <menuitem.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <textwithvaluehelper.h> #include <textwithvaluehelper.h>
@ -11,7 +12,6 @@
#include "displays/bobbychangevaluedisplay.h" #include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/menus/settingsmenu.h"
namespace { namespace {
constexpr char TEXT_LIMITSSETTINGS[] = "Limit settings"; constexpr char TEXT_LIMITSSETTINGS[] = "Limit settings";
@ -27,43 +27,43 @@ using IMotMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_IMOTMAX>, espgui::StaticText<TEXT_IMOTMAX>,
IMotMaxAccessor, IMotMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using IDcMaxChangeScreen = espgui::makeComponent< using IDcMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_IDCMAX>, espgui::StaticText<TEXT_IDCMAX>,
IDcMaxAccessor, IDcMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using NMotMaxKmhChangeScreen = espgui::makeComponent< using NMotMaxKmhChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_NMOTMAXKMH>, espgui::StaticText<TEXT_NMOTMAXKMH>,
NMotMaxKmhAccessor, NMotMaxKmhAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using NMotMaxRpmChangeScreen = espgui::makeComponent< using NMotMaxRpmChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_NMOTMAX>, espgui::StaticText<TEXT_NMOTMAX>,
NMotMaxRpmAccessor, NMotMaxRpmAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using FieldWeakMaxChangeScreen = espgui::makeComponent< using FieldWeakMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_FIELDWEAKMAX>, espgui::StaticText<TEXT_FIELDWEAKMAX>,
FieldWeakMaxAccessor, FieldWeakMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using PhaseAdvMaxChangeScreen = espgui::makeComponent< using PhaseAdvMaxChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_PHASEADVMAX>, espgui::StaticText<TEXT_PHASEADVMAX>,
PhaseAdvMaxAccessor, PhaseAdvMaxAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -71,13 +71,13 @@ using namespace espgui;
LimitsSettingsMenu::LimitsSettingsMenu() LimitsSettingsMenu::LimitsSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_IMOTMAX, IMotMaxAccessor>, SwitchScreenAction<IMotMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_IMOTMAX, IMotMaxAccessor>, PushScreenAction<IMotMaxChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_IDCMAX, IDcMaxAccessor>, SwitchScreenAction<IDcMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_IDCMAX, IDcMaxAccessor>, PushScreenAction<IDcMaxChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NMOTMAXKMH, NMotMaxKmhAccessor>, SwitchScreenAction<NMotMaxKmhChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NMOTMAXKMH, NMotMaxKmhAccessor>, PushScreenAction<NMotMaxKmhChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NMOTMAX, NMotMaxRpmAccessor>, SwitchScreenAction<NMotMaxRpmChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NMOTMAX, NMotMaxRpmAccessor>, PushScreenAction<NMotMaxRpmChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FIELDWEAKMAX, FieldWeakMaxAccessor>, SwitchScreenAction<FieldWeakMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FIELDWEAKMAX, FieldWeakMaxAccessor>, PushScreenAction<FieldWeakMaxChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PHASEADVMAX, PhaseAdvMaxAccessor>, SwitchScreenAction<PhaseAdvMaxChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PHASEADVMAX, PhaseAdvMaxAccessor>, PushScreenAction<PhaseAdvMaxChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string LimitsSettingsMenu::text() const std::string LimitsSettingsMenu::text() const
@ -87,5 +87,5 @@ std::string LimitsSettingsMenu::text() const
void LimitsSettingsMenu::back() void LimitsSettingsMenu::back()
{ {
switchScreen<SettingsMenu>(); popScreen();
} }

View File

@ -1,11 +1,12 @@
#include "mainmenu.h" #include "mainmenu.h"
// 3rdparty lib includes // 3rdparty lib includes
#include "actions/switchscreenaction.h" #include <actions/pushscreenaction.h>
#include "icons/back.h" #include <actions/popscreenaction.h>
#include <icons/back.h>
#include <tftinstance.h>
// local includes // local includes
#include "displays/statusdisplay.h"
#include "displays/menus/selectmodemenu.h" #include "displays/menus/selectmodemenu.h"
#include "displays/menus/selectmodemenu.h" #include "displays/menus/selectmodemenu.h"
#include "displays/menus/ledstripmenu.h" #include "displays/menus/ledstripmenu.h"
@ -21,7 +22,7 @@
#include "displays/menus/demosmenu.h" #include "displays/menus/demosmenu.h"
#include "displays/menus/greenpassmenu.h" #include "displays/menus/greenpassmenu.h"
#include "displays/lockscreen.h" #include "displays/lockscreen.h"
#include "displays/menus/garagenmenu.h" #include "displays/menus/garagemenu.h"
#include "displays/menus/otamenu.h" #include "displays/menus/otamenu.h"
#include "displays/poweroffdisplay.h" #include "displays/poweroffdisplay.h"
#include "displays/menus/statisticsmenu.h" #include "displays/menus/statisticsmenu.h"
@ -45,7 +46,7 @@
#include "icons/statistics.h" #include "icons/statistics.h"
#include "icons/greenpass.h" #include "icons/greenpass.h"
#include "icons/time.h" #include "icons/time.h"
#include "tftinstance.h" #include "displays/statusdisplay.h"
namespace { namespace {
constexpr char TAG[] = "BOBBY"; constexpr char TAG[] = "BOBBY";
@ -84,40 +85,40 @@ MainMenu::MainMenu()
using namespace espgui; using namespace espgui;
// constructMenuItem<makeComponent<MenuItem, mainmenu::CurrentTimeText, DummyAction, StaticMenuItemIcon<&bobbyicons::time>>>(); // constructMenuItem<makeComponent<MenuItem, mainmenu::CurrentTimeText, DummyAction, StaticMenuItemIcon<&bobbyicons::time>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATUS>, SwitchScreenAction<StatusDisplay>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATUS>, PushScreenAction<StatusDisplay>, StaticMenuItemIcon<&espgui::icons::back>>>();
if (configs.feature.ledstrip.isEnabled.value) if (configs.feature.ledstrip.isEnabled.value)
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&bobbyicons::neopixel>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP>, PushScreenAction<LedstripMenu>, StaticMenuItemIcon<&bobbyicons::neopixel>>>();
} }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATISTICSMENU>, SwitchScreenAction<StatisticsMenu>, StaticMenuItemIcon<&bobbyicons::statistics>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATISTICSMENU>, PushScreenAction<StatisticsMenu>, StaticMenuItemIcon<&bobbyicons::statistics>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTMODE>, SwitchScreenAction<SelectModeMenu>, StaticMenuItemIcon<&bobbyicons::modes>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTMODE>, PushScreenAction<SelectModeMenu>, StaticMenuItemIcon<&bobbyicons::modes>>>();
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESETTINGS>, ModeSettingsAction>>(); } if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESETTINGS>, ModeSettingsAction>>(); }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY>, SwitchScreenAction<BatteryMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY>, PushScreenAction<BatteryMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETTINGS>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETTINGS>, PushScreenAction<SettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GREENPASS>, SwitchScreenAction<GreenPassMenu>, StaticMenuItemIcon<&bobbyicons::greenpass>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GREENPASS>, PushScreenAction<GreenPassMenu>, StaticMenuItemIcon<&bobbyicons::greenpass>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKVEHICLE>, SwitchScreenAction<Lockscreen>, StaticMenuItemIcon<&bobbyicons::lock>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKVEHICLE>, PushScreenAction<Lockscreen>, StaticMenuItemIcon<&bobbyicons::lock>>>();
if (configs.feature.garage.isEnabled.value && configs.feature.esp_now.isEnabled.value) if (configs.feature.garage.isEnabled.value && configs.feature.esp_now.isEnabled.value)
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GARAGE>, SwitchScreenAction<GarageMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GARAGE>, PushScreenAction<GarageMenu>>>();
} }
if (configs.feature.ota.isEnabled.value) if (configs.feature.ota.isEnabled.value)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATE>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&bobbyicons::update>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATE>, PushScreenAction<OtaMenu>, StaticMenuItemIcon<&bobbyicons::update>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GRAPHS>, SwitchScreenAction<GraphsMenu>, StaticMenuItemIcon<&bobbyicons::graph>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GRAPHS>, PushScreenAction<GraphsMenu>, StaticMenuItemIcon<&bobbyicons::graph>>>();
#if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY) #if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWERSUPPLY>, SwitchScreenAction<PowerSupplyDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWERSUPPLY>, PushScreenAction<PowerSupplyDisplay>>>();
#endif #endif
#ifdef FEATURE_MOSFETS #ifdef FEATURE_MOSFETS
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFETS>, SwitchScreenAction<MosfetsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFETS>, PushScreenAction<MosfetsMenu>>>();
#endif #endif
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS) #if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMS>, SwitchScreenAction<BmsMenu>, StaticMenuItemIcon<&bobbyicons::bms>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMS>, PushScreenAction<BmsMenu>, StaticMenuItemIcon<&bobbyicons::bms>>>();
#endif #endif
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEMOS>, SwitchScreenAction<DemosMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEMOS>, PushScreenAction<DemosMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILES>, SwitchScreenAction<ProfilesMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); } if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILES>, PushScreenAction<ProfilesMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); }
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MANAGEPROFILESMENU>,SwitchScreenAction<ManageProfilesMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); } if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MANAGEPROFILESMENU>,PushScreenAction<ManageProfilesMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); }
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUG>, SwitchScreenAction<DebugMenu>>>(); } if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUG>, PushScreenAction<DebugMenu>>>(); }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWEROFF>, SwitchScreenAction<PoweroffDisplay>, StaticMenuItemIcon<&bobbyicons::poweroff>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWEROFF>, PushScreenAction<PoweroffDisplay>, StaticMenuItemIcon<&bobbyicons::poweroff>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONFISCATIONMODE>, SwitchScreenAction<ConfiscationDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONFISCATIONMODE>, PushScreenAction<ConfiscationDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REBOOT>, RebootAction, StaticMenuItemIcon<&bobbyicons::reboot>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REBOOT>, RebootAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
//#ifdef MAINMENU_PLUGIN //#ifdef MAINMENU_PLUGIN
// GMEN1 // GMEN1
@ -131,5 +132,5 @@ std::string MainMenu::text() const
void MainMenu::back() void MainMenu::back()
{ {
espgui::switchScreen<StatusDisplay>(); espgui::popScreen();
} }

View File

@ -3,11 +3,10 @@
#ifdef FEATURE_MOSFETS #ifdef FEATURE_MOSFETS
// 3rdparty lib includes // 3rdparty lib includes
#include "accessorinterface.h" #include "accessorinterface.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/menus/mainmenu.h"
#include "bobbycheckbox.h" #include "bobbycheckbox.h"
#include "types.h" #include "types.h"
@ -37,7 +36,7 @@ MosfetsMenu::MosfetsMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFET0>, BobbyCheckbox, Mosfet0Accessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFET0>, BobbyCheckbox, Mosfet0Accessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFET1>, BobbyCheckbox, Mosfet1Accessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFET1>, BobbyCheckbox, Mosfet1Accessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFET2>, BobbyCheckbox, Mosfet2Accessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFET2>, BobbyCheckbox, Mosfet2Accessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string MosfetsMenu::text() const std::string MosfetsMenu::text() const
@ -47,7 +46,7 @@ std::string MosfetsMenu::text() const
void MosfetsMenu::back() void MosfetsMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }
#endif #endif

View File

@ -2,11 +2,10 @@
// local includes // local includes
#include "displays/bobbymenudisplay.h" #include "displays/bobbymenudisplay.h"
#include "debugmenu.h"
#include "utils.h" #include "utils.h"
#include "menuitem.h" #include "menuitem.h"
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
#include "debugtexthelpers.h" #include "debugtexthelpers.h"
#include "debugcolorhelpers.h" #include "debugcolorhelpers.h"
@ -15,7 +14,7 @@ template<const char *Ttext, typename Ttexts, template<int> class ColorInterface>
class MotorFeedbackDebugMenu : class MotorFeedbackDebugMenu :
public BobbyMenuDisplay, public BobbyMenuDisplay,
public espgui::StaticText<Ttext>, public espgui::StaticText<Ttext>,
public espgui::BackActionInterface<espgui::SwitchScreenAction<DebugMenu>> public espgui::BackActionInterface<espgui::PopScreenAction>
{ {
public: public:
MotorFeedbackDebugMenu() MotorFeedbackDebugMenu()
@ -36,7 +35,7 @@ public:
constructMenuItem<makeComponent<MenuItem, typename Ttexts::DcPhaCFixedText, ColorInterface<TFT_DARKGREY>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::DcPhaCFixedText, ColorInterface<TFT_DARKGREY>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, typename Ttexts::ChopsText, ColorInterface<TFT_DARKGREY>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::ChopsText, ColorInterface<TFT_DARKGREY>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, typename Ttexts::HallText, ColorInterface<TFT_DARKGREY>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::HallText, ColorInterface<TFT_DARKGREY>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DebugMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
private: private:

View File

@ -3,12 +3,11 @@
// 3rdparty lib includes // 3rdparty lib includes
#include "menuitem.h" #include "menuitem.h"
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbymenudisplay.h" #include "displays/bobbymenudisplay.h"
#include "debugmenu.h"
#include "utils.h" #include "utils.h"
#include "debugtexthelpers.h" #include "debugtexthelpers.h"
@ -16,7 +15,7 @@ template<const char *Ttext, typename Ttexts>
class MotorStateDebugMenu : class MotorStateDebugMenu :
public BobbyMenuDisplay, public BobbyMenuDisplay,
public espgui::StaticText<Ttext>, public espgui::StaticText<Ttext>,
public espgui::BackActionInterface<espgui::SwitchScreenAction<DebugMenu>> public espgui::BackActionInterface<espgui::PopScreenAction>
{ {
public: public:
MotorStateDebugMenu() MotorStateDebugMenu()
@ -33,7 +32,7 @@ public:
constructMenuItem<makeComponent<MenuItem, typename Ttexts::PhaseAdvMaxText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::PhaseAdvMaxText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, typename Ttexts::CruiseCtrlEnaText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::CruiseCtrlEnaText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, typename Ttexts::NCruiseMotTgtText, DisabledColor, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, typename Ttexts::NCruiseMotTgtText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DebugMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
private: private:

View File

@ -3,14 +3,14 @@
// 3rdparty lib includes // 3rdparty lib includes
#include "changevaluedisplay.h" #include "changevaluedisplay.h"
#include "menuitem.h" #include "menuitem.h"
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "displays/bobbychangevaluedisplay.h" #include "displays/bobbychangevaluedisplay.h"
#include "utils.h" #include "utils.h"
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "displays/menus/modessettingsmenu.h"
namespace { namespace {
constexpr char TEXT_MOTORTESTMODESETTINGS[] = "Motortest mode seetings"; constexpr char TEXT_MOTORTESTMODESETTINGS[] = "Motortest mode seetings";
@ -22,16 +22,16 @@ using MotortestMultiplikatorChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_MOTORTESTMULTIPLIKATOR>, espgui::StaticText<TEXT_MOTORTESTMULTIPLIKATOR>,
MotortestModeMultiplikatorAccessor, MotortestModeMultiplikatorAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using MotortestMaxPwmChangeDisplay = espgui::makeComponent< using MotortestMaxPwmChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<uint16_t>, BobbyChangeValueDisplay<uint16_t>,
espgui::StaticText<TEXT_MOTORTESTMAXPWM>, espgui::StaticText<TEXT_MOTORTESTMAXPWM>,
MotortestMaxPwmAccessor, MotortestMaxPwmAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -39,9 +39,9 @@ using namespace espgui;
MotortestModeSettingsMenu::MotortestModeSettingsMenu() MotortestModeSettingsMenu::MotortestModeSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTESTMULTIPLIKATOR>, SwitchScreenAction<MotortestMultiplikatorChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTESTMULTIPLIKATOR>, PushScreenAction<MotortestMultiplikatorChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTESTMAXPWM>, SwitchScreenAction<MotortestMaxPwmChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTESTMAXPWM>, PushScreenAction<MotortestMaxPwmChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string MotortestModeSettingsMenu::text() const std::string MotortestModeSettingsMenu::text() const
@ -51,5 +51,5 @@ std::string MotortestModeSettingsMenu::text() const
void MotortestModeSettingsMenu::back() void MotortestModeSettingsMenu::back()
{ {
switchScreen<ModesSettingsMenu>(); popScreen();
} }

View File

@ -2,7 +2,10 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h>
#include <screenmanager.h>
#include <fmt/format.h> #include <fmt/format.h>
#include <icons/back.h> #include <icons/back.h>
#include <menuitem.h> #include <menuitem.h>
@ -13,6 +16,8 @@
#include "globals.h" #include "globals.h"
#include "utils.h" #include "utils.h"
#include "settingsmenu.h" #include "settingsmenu.h"
#include "wifistasettingsmenu.h"
#include "wifiapsettingsmenu.h"
#include "texthelpers/networktexthelpers.h" #include "texthelpers/networktexthelpers.h"
#include "wifiapsettingsmenu.h" #include "wifiapsettingsmenu.h"
#include "wifistasettingsmenu.h" #include "wifistasettingsmenu.h"
@ -28,17 +33,16 @@ constexpr char TEXT_BACK[] = "Back";
NetworkSettingsMenu::NetworkSettingsMenu() NetworkSettingsMenu::NetworkSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STASETTINGS>, SwitchScreenAction<WifiStaSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STASETTINGS>, PushScreenAction<WifiStaSettingsMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_APSETTINGS>, SwitchScreenAction<WifiApSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_APSETTINGS>, PushScreenAction<WifiApSettingsMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_APQRCODE>, NetworkAccessPointQRAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_APQRCODE>, NetworkAccessPointQRAction>>();
constructMenuItem<makeComponent<MenuItem, WifiDefaultMacText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiDefaultMacText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiBaseMacText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiBaseMacText, DummyAction>>();
constructMenuItem<makeComponentArgs<MenuItem, DnsText, DummyAction>>(uint8_t{0}); constructMenuItem<makeComponentArgs<MenuItem, DnsText, DummyAction>>(uint8_t{0});
constructMenuItem<makeComponentArgs<MenuItem, DnsText, DummyAction>>(uint8_t{1}); constructMenuItem<makeComponentArgs<MenuItem, DnsText, DummyAction>>(uint8_t{1});
constructMenuItem<makeComponentArgs<MenuItem, DnsText, DummyAction>>(uint8_t{2}); constructMenuItem<makeComponentArgs<MenuItem, DnsText, DummyAction>>(uint8_t{2});
constructMenuItem<makeComponent<MenuItem, WifiTxPowerText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiTxPowerText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
std::string NetworkSettingsMenu::text() const std::string NetworkSettingsMenu::text() const
@ -48,7 +52,7 @@ std::string NetworkSettingsMenu::text() const
void NetworkSettingsMenu::back() void NetworkSettingsMenu::back()
{ {
switchScreen<SettingsMenu>(); popScreen();
} }
void NetworkAccessPointQRAction::triggered() void NetworkAccessPointQRAction::triggered()

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include "actioninterface.h" #include "actioninterface.h"
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
// local includes // local includes
#include "icons/back.h" #include "icons/back.h"
@ -12,7 +13,6 @@
#include "displays/menus/selectotabuildmenu.h" #include "displays/menus/selectotabuildmenu.h"
#include "displays/menus/selectbuildserverbranch.h" #include "displays/menus/selectbuildserverbranch.h"
#include "displays/menus/selectbuildservermenu.h" #include "displays/menus/selectbuildservermenu.h"
#include "displays/menus/mainmenu.h"
#include "displays/updatedisplay.h" #include "displays/updatedisplay.h"
namespace { namespace {
@ -27,11 +27,11 @@ constexpr char TEXT_BACK[] = "Back";
OtaMenu::OtaMenu() OtaMenu::OtaMenu()
{ {
using namespace espgui; using namespace espgui;
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILD>, SwitchScreenAction<SelectBuildMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILD>, PushScreenAction<SelectBuildMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECT_BRANCH>, SwitchScreenAction<SelectBuildserverBranchMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECT_BRANCH>, PushScreenAction<SelectBuildserverBranchMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATENOW>, SwitchScreenAction<UpdateDisplay>, StaticMenuItemIcon<&bobbyicons::update>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATENOW>, PushScreenAction<UpdateDisplay>, StaticMenuItemIcon<&bobbyicons::update>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, SwitchScreenAction<SelectBuildServerMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, PushScreenAction<SelectBuildServerMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string OtaMenu::text() const std::string OtaMenu::text() const
@ -41,5 +41,5 @@ std::string OtaMenu::text() const
void OtaMenu::back() void OtaMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }

View File

@ -2,8 +2,7 @@
// local includes // local includes
#include "actions/switchprofileaction.h" #include "actions/switchprofileaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "displays/menus/mainmenu.h"
#include "icons/back.h" #include "icons/back.h"
#include "menudisplay.h" #include "menudisplay.h"
@ -22,7 +21,7 @@ ProfilesMenu::ProfilesMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILE1>, SwitchProfileAction<1>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILE1>, SwitchProfileAction<1>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILE2>, SwitchProfileAction<2>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILE2>, SwitchProfileAction<2>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILE3>, SwitchProfileAction<3>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILE3>, SwitchProfileAction<3>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string ProfilesMenu::text() const std::string ProfilesMenu::text() const
@ -32,5 +31,5 @@ std::string ProfilesMenu::text() const
void ProfilesMenu::back() void ProfilesMenu::back()
{ {
switchScreen<MainMenu>(); popScreen();
} }

View File

@ -0,0 +1,71 @@
#include "selectbatterytypemenu.h"
// 3rdparty lib includes
#include <menuitem.h>
#include <icons/back.h>
#include <actions/popscreenaction.h>
#include <actioninterface.h>
#include <actions/dummyaction.h>
// local includes
#include "battery.h"
#include "newsettings.h"
#include "utils.h"
#include "displays/menus/batterymenu.h"
#include "batterymenu.h"
#include "displays/menus/mainmenu.h"
namespace {
constexpr char TEXT_CELL_SERIES[] = "Cells (Series)";
constexpr char TEXT_CELL_PARALLEL[] = "Cells (Parallel)";
constexpr char TEXT_SELECT_CELL_TYPE[] = "Select Cell Type";
constexpr char TEXT_CELL_TYPE[] = "Cell Type";
constexpr char TEXT_BATTERY_CALIBRATE[] = "Calibrate Voltages";
constexpr char TEXT_BATTERY_TYPE_22P[] = "22P cells";
constexpr char TEXT_BATTERY_TYPE_HG2[] = "HG2 cells";
constexpr char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells";
constexpr char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells";
constexpr char TEXT_BATTERY_TYPE_BAK_25R[] = "BAK / 25R cells";
constexpr char TEXT_BATTERY_WHKM[] = "Wh per km";
constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration";
constexpr char TEXT_VOLTAGECALIBRATION_RESET[] = "Reset calibration";
constexpr char TEXT_BACK[] = "Back";
class CurrentBatteryTypeText : public virtual espgui::TextInterface
{
public:
std::string text() const override
{
return getBatteryCellTypeString();
}
};
template<BatteryCellType T>
class BatterySelectTypeAction : public virtual espgui::ActionInterface
{
public:
void triggered() override { configs.write_config(configs.battery.cellType, uint8_t(T)); }
};
} // namespace
BatteryTypeMenu::BatteryTypeMenu()
{
using namespace espgui;
constructMenuItem<makeComponent<MenuItem, CurrentBatteryTypeText, DisabledColor, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_TYPE_22P>, BatterySelectTypeAction<BatteryCellType::_22P>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_TYPE_HG2>, BatterySelectTypeAction<BatteryCellType::HG2>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_TYPE_MH1>, BatterySelectTypeAction<BatteryCellType::MH1>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_TYPE_VTC5>, BatterySelectTypeAction<BatteryCellType::VTC5>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_TYPE_BAK_25R>, BatterySelectTypeAction<BatteryCellType::BAK_25R>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
}
std::string BatteryTypeMenu::text() const
{
return TEXT_SELECT_CELL_TYPE;
}
void BatteryTypeMenu::back()
{
espgui::popScreen();
}

View File

@ -2,6 +2,9 @@
// 3rd party includes // 3rd party includes
#include <espwifistack.h> #include <espwifistack.h>
#include "actions/dummyaction.h"
#include "actions/popscreenaction.h"
#include "icons/back.h"
// local includes // local includes
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
@ -10,6 +13,8 @@
#include "buildserver.h" #include "buildserver.h"
#include "displays/menus/otamenu.h" #include "displays/menus/otamenu.h"
#include "icons/back.h" #include "icons/back.h"
#include "buildserver.h"
#include "globals.h"
#include "icons/reboot.h" #include "icons/reboot.h"
#include "newsettings.h" #include "newsettings.h"
@ -85,7 +90,7 @@ SelectBuildserverBranchMenu::SelectBuildserverBranchMenu()
#define ERR_MESSAGE(text) \ #define ERR_MESSAGE(text) \
constructMenuItem<makeComponent<MenuItem, StaticText<text>, DefaultFont, StaticColor<TFT_RED>, DummyAction>>(); \ constructMenuItem<makeComponent<MenuItem, StaticText<text>, DefaultFont, StaticColor<TFT_RED>, DummyAction>>(); \
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); \ constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); \
return; return;
if (count_available_buildserver() < 1) if (count_available_buildserver() < 1)
@ -144,12 +149,12 @@ void SelectBuildserverBranchMenu::update()
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECT_BRANCH_CLEAR>, ClearBranchAction, StaticMenuItemIcon<&bobbyicons::reboot>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECT_BRANCH_CLEAR>, ClearBranchAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
Base::update(); Base::update();
} }
void SelectBuildserverBranchMenu::back() void SelectBuildserverBranchMenu::back()
{ {
espgui::switchScreen<OtaMenu>(); espgui::popScreen();
} }

View File

@ -4,14 +4,13 @@
#include <esp_log.h> #include <esp_log.h>
// 3rdparty lib includes // 3rdparty lib includes
#include <actions/switchscreenaction.h> #include <actions/popscreenaction.h>
#include <fmt/core.h> #include <fmt/core.h>
#include <icons/back.h> #include <icons/back.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
// local includes // local includes
#include "buildserver.h" #include "buildserver.h"
#include "displays/menus/otamenu.h"
#include "utils.h" #include "utils.h"
#include "newsettings.h" #include "newsettings.h"
@ -69,7 +68,7 @@ SelectBuildServerMenu::SelectBuildServerMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NOBUILDSERVERCONFIGURED>, DefaultFont, StaticColor<TFT_RED>, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NOBUILDSERVERCONFIGURED>, DefaultFont, StaticColor<TFT_RED>, DummyAction>>();
} }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string SelectBuildServerMenu::text() const std::string SelectBuildServerMenu::text() const
@ -79,5 +78,5 @@ std::string SelectBuildServerMenu::text() const
void SelectBuildServerMenu::back() void SelectBuildServerMenu::back()
{ {
espgui::switchScreen<OtaMenu>(); espgui::popScreen();
} }

View File

@ -2,9 +2,10 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <actions/multiaction.h> #include <actions/multiaction.h>
#include <actions/switchscreenaction.h> #include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <textwithvaluehelper.h> #include <textwithvaluehelper.h>
#include <actions/pushscreenaction.h>
// local includes // local includes
#include "utils.h" #include "utils.h"
@ -20,7 +21,7 @@
#include "modes/wheelchairmode.h" #include "modes/wheelchairmode.h"
#endif #endif
#include "accessors/globalaccessors.h" #include "accessors/globalaccessors.h"
#include "displays/menus/mainmenu.h" #include "mainmenu.h"
namespace { namespace {
constexpr char TEXT_SELECTMODE[] = "Select mode"; constexpr char TEXT_SELECTMODE[] = "Select mode";
@ -60,19 +61,19 @@ using namespace espgui;
SelectModeMenu::SelectModeMenu() SelectModeMenu::SelectModeMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULT>, MultiAction<SetDefaultModeAction, SwitchScreenAction<MainMenu>>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULT>, MultiAction<SetDefaultModeAction, PushScreenAction<MainMenu>>>>();
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_TEMPOMAT, AvgSpeedAccessor>, MultiAction<SetTempomatModeAction, SwitchScreenAction<MainMenu>>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_TEMPOMAT, AvgSpeedAccessor>, MultiAction<SetTempomatModeAction, PushScreenAction<MainMenu>>>>(); }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSM>, MultiAction<SetLarsmModeAction, SwitchScreenAction<MainMenu>>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSM>, MultiAction<SetLarsmModeAction, PushScreenAction<MainMenu>>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICK>, MultiAction<SetMickModeAction, SwitchScreenAction<MainMenu>>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICK>, MultiAction<SetMickModeAction, PushScreenAction<MainMenu>>>>();
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REMOTECONTROL>, MultiAction<SetRemoteControlModeAction, SwitchScreenAction<MainMenu>>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REMOTECONTROL>, MultiAction<SetRemoteControlModeAction, PushScreenAction<MainMenu>>>>(); }
#ifdef FEATURE_GAMETRAK #ifdef FEATURE_GAMETRAK
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAK>, MultiAction<SetGametrakModeAction, SwitchScreenAction<MainMenu>>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAK>, MultiAction<SetGametrakModeAction, PopScreenAction>>>();
#endif #endif
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTEST>, MultiAction<SetMotorTestModeAction, SwitchScreenAction<MainMenu>>>>(); } if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTEST>, MultiAction<SetMotorTestModeAction, PushScreenAction<MainMenu>>>>(); }
#ifdef FEATURE_JOYSTICK #ifdef FEATURE_JOYSTICK
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELCHAIR>, MultiAction<SetWheelchairModeAction, SwitchScreenAction<MainMenu>>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELCHAIR>, MultiAction<SetWheelchairModeAction, PushScreenAction<MainMenu>>>>();
#endif #endif
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PushScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string SelectModeMenu::text() const std::string SelectModeMenu::text() const
@ -113,5 +114,5 @@ void SelectModeMenu::start()
void SelectModeMenu::back() void SelectModeMenu::back()
{ {
switchScreen<MainMenu>(); popScreen();
} }

View File

@ -4,6 +4,9 @@
#include <TFT_eSPI.h> #include <TFT_eSPI.h>
#include "esp_log.h" #include "esp_log.h"
#include "fmt/core.h" #include "fmt/core.h"
#include "actions/popscreenaction.h"
#include "actions/dummyaction.h"
#include "icons/back.h"
// local includes // local includes
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
@ -12,6 +15,9 @@
#include "buildserver.h" #include "buildserver.h"
#include "displays/menus/otamenu.h" #include "displays/menus/otamenu.h"
#include "icons/back.h" #include "icons/back.h"
#include "buildserver.h"
#include "utils.h"
#include "globals.h"
#include "newsettings.h" #include "newsettings.h"
#define MESSAGE(text) constructMenuItem<makeComponent<MenuItem, StaticText<text>, DefaultFont, StaticColor<TFT_RED>, DummyAction>>() #define MESSAGE(text) constructMenuItem<makeComponent<MenuItem, StaticText<text>, DefaultFont, StaticColor<TFT_RED>, DummyAction>>()
@ -58,12 +64,12 @@ SelectBuildMenu::SelectBuildMenu()
if (buildserver::count_available_buildserver() < 1) if (buildserver::count_available_buildserver() < 1)
{ {
MESSAGE(TEXT_OTA_NOBUILDSERVERAVAILABLE); MESSAGE(TEXT_OTA_NOBUILDSERVERAVAILABLE);
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
else if (configs.otaServerUrl.value.empty()) else if (configs.otaServerUrl.value.empty())
{ {
MESSAGE(TEXT_OTA_NOBUILDSERVERSELECTED); MESSAGE(TEXT_OTA_NOBUILDSERVERSELECTED);
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
else else
{ {
@ -71,7 +77,7 @@ SelectBuildMenu::SelectBuildMenu()
if (staStatus != wifi_stack::WiFiStaStatus::CONNECTED) if (staStatus != wifi_stack::WiFiStaStatus::CONNECTED)
{ {
MESSAGE(TEXT_OTA_NOCONNECTION); MESSAGE(TEXT_OTA_NOCONNECTION);
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
else else
{ {
@ -84,7 +90,7 @@ SelectBuildMenu::SelectBuildMenu()
auto hash = filename.substr(0, filename.length() - 4); auto hash = filename.substr(0, filename.length() - 4);
menuitem.setHash(hash); menuitem.setHash(hash);
menuitem.setUrl(serverUrl); menuitem.setUrl(serverUrl);
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
else else
{ {
@ -135,10 +141,10 @@ void SelectBuildMenu::buildMenuFromJson()
menuitem.setHash(hash); menuitem.setHash(hash);
menuitem.setUrl(fmt::format(url_for_hashes, hash)); menuitem.setUrl(fmt::format(url_for_hashes, hash));
} }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
void SelectBuildMenu::back() void SelectBuildMenu::back()
{ {
switchScreen<OtaMenu>(); popScreen();
} }

View File

@ -4,7 +4,8 @@
#include <Arduino.h> #include <Arduino.h>
// 3rdparty lib includes // 3rdparty lib includes
#include "actions/switchscreenaction.h" #include "actions/pushscreenaction.h"
#include "actions/popscreenaction.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
@ -81,39 +82,39 @@ SettingsMenu::SettingsMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLIGHT>, BobbyCheckbox, BacklightAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLIGHT>, BobbyCheckbox, BacklightAccessor>>();
#endif #endif
if (!simplified) if (!simplified)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LIMITSSETTINGS>, SwitchScreenAction<LimitsSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LIMITSSETTINGS>, PushScreenAction<LimitsSettingsMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NETWORKSETTINGS>, SwitchScreenAction<NetworkSettingsMenu>, StaticMenuItemIcon<&bobbyicons::wifi>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NETWORKSETTINGS>, PushScreenAction<NetworkSettingsMenu>, StaticMenuItemIcon<&bobbyicons::wifi>>>();
if (configs.feature.esp_now.isEnabled.value) if (configs.feature.esp_now.isEnabled.value)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW>, SwitchScreenAction<EspNowMenu>, StaticMenuItemIcon<&bobbyicons::wifi>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW>, PushScreenAction<EspNowMenu>, StaticMenuItemIcon<&bobbyicons::wifi>>>();
#ifdef FEATURE_BLUETOOTH #ifdef FEATURE_BLUETOOTH
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLUETOOTHSETTINGS>, SwitchScreenAction<BluetoothSettingsMenu>, StaticMenuItemIcon<&bobbyicons::bluetooth>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLUETOOTHSETTINGS>, PushScreenAction<BluetoothSettingsMenu>, StaticMenuItemIcon<&bobbyicons::bluetooth>>>();
#endif #endif
if (configs.feature.ble.isEnabled.value) if (configs.feature.ble.isEnabled.value)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLESETTINGS>, SwitchScreenAction<BleSettingsMenu>, StaticMenuItemIcon<&bobbyicons::bluetooth>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BLESETTINGS>, PushScreenAction<BleSettingsMenu>, StaticMenuItemIcon<&bobbyicons::bluetooth>>>();
if (configs.feature.cloud.isEnabled.value) if (configs.feature.cloud.isEnabled.value)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSETTINGS>, SwitchScreenAction<CloudSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSETTINGS>, PushScreenAction<CloudSettingsMenu>>>();
if (configs.feature.udpcloud.isEnabled.value) if (configs.feature.udpcloud.isEnabled.value)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPCLOUDSETTINGS>, SwitchScreenAction<UdpCloudSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPCLOUDSETTINGS>, PushScreenAction<UdpCloudSettingsMenu>>>();
if (configs.feature.ota.isEnabled.value) if (configs.feature.ota.isEnabled.value)
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, SwitchScreenAction<SelectBuildServerMenu>, StaticMenuItemIcon<&bobbyicons::update>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTBUILDSERVERMENU>, PushScreenAction<SelectBuildServerMenu>, StaticMenuItemIcon<&bobbyicons::update>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TIME>, SwitchScreenAction<TimeSettingsMenu>, StaticMenuItemIcon<&bobbyicons::time>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TIME>, PushScreenAction<TimeSettingsMenu>, StaticMenuItemIcon<&bobbyicons::time>>>();
if (!simplified) if (!simplified)
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESSETTINGS>, SwitchScreenAction<ModesSettingsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESSETTINGS>, PushScreenAction<ModesSettingsMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONTROLLERHARDWARESETTINGS>, SwitchScreenAction<ControllerHardwareSettingsMenu>, StaticMenuItemIcon<&bobbyicons::hardware>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONTROLLERHARDWARESETTINGS>, PushScreenAction<ControllerHardwareSettingsMenu>, StaticMenuItemIcon<&bobbyicons::hardware>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BOARDCOMPUTERHARDWARESETTINGS>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&bobbyicons::hardware>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BOARDCOMPUTERHARDWARESETTINGS>, PushScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&bobbyicons::hardware>>>();
} }
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FEATUREFLAGS>, SwitchScreenAction<FeatureFlagsMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FEATUREFLAGS>, PushScreenAction<FeatureFlagsMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
//#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS) //#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
// constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_AUTOCONNECTBMS>, BobbyCheckbox, AutoConnectBmsAccessor>>(); // constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_AUTOCONNECTBMS>, BobbyCheckbox, AutoConnectBmsAccessor>>();
//#endif //#endif
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUZZER>, SwitchScreenAction<BuzzerMenu>, StaticMenuItemIcon<&bobbyicons::buzzer>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUZZER>, PushScreenAction<BuzzerMenu>, StaticMenuItemIcon<&bobbyicons::buzzer>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLED>, BobbyCheckbox, FrontLedAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTLED>, BobbyCheckbox, FrontLedAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, BobbyCheckbox, BackLedAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, BobbyCheckbox, BackLedAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, SwitchScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, PushScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, SwitchScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, PushScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string SettingsMenu::text() const std::string SettingsMenu::text() const
@ -123,5 +124,5 @@ std::string SettingsMenu::text() const
void SettingsMenu::back() void SettingsMenu::back()
{ {
switchScreen<MainMenu>(); popScreen();
} }

View File

@ -3,13 +3,12 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include "actions/dummyaction.h" #include "actions/dummyaction.h"
#include "actions/switchscreenaction.h" #include "actions/popscreenaction.h"
#include "actioninterface.h" #include "actioninterface.h"
#include "fmt/core.h" #include "fmt/core.h"
#include "icons/back.h" #include "icons/back.h"
// local includes // local includes
#include "mainmenu.h"
#include "utils.h" #include "utils.h"
#include "icons/time.h" #include "icons/time.h"
#include "icons/reboot.h" #include "icons/reboot.h"
@ -187,7 +186,7 @@ StatisticsMenu::StatisticsMenu()
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSSAVE>, SaveKilometersAction, StaticMenuItemIcon<&bobbyicons::update>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSSAVE>, SaveKilometersAction, StaticMenuItemIcon<&bobbyicons::update>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSCLEAR>, ClearCurrentStatsAction, StaticMenuItemIcon<&bobbyicons::reboot>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSCLEAR>, ClearCurrentStatsAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string StatisticsMenu::text() const std::string StatisticsMenu::text() const
@ -197,5 +196,5 @@ std::string StatisticsMenu::text() const
void StatisticsMenu::back() void StatisticsMenu::back()
{ {
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }

View File

@ -2,13 +2,12 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <icons/back.h> #include <icons/back.h>
#include <actions/switchscreenaction.h> #include <actions/popscreenaction.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <schedulertask.h> #include <schedulertask.h>
#include <fmt/core.h> #include <fmt/core.h>
// local includes // local includes
#include "displays/menus/debugmenu.h"
#include "taskmanager.h" #include "taskmanager.h"
using namespace espgui; using namespace espgui;
@ -38,7 +37,7 @@ TaskmanagerMenu::TaskmanagerMenu()
{ {
for (const auto &task : schedulerTasks) for (const auto &task : schedulerTasks)
constructMenuItem<makeComponentArgs<MenuItem, TaskText, DummyAction>>(task); constructMenuItem<makeComponentArgs<MenuItem, TaskText, DummyAction>>(task);
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DebugMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string TaskmanagerMenu::text() const std::string TaskmanagerMenu::text() const
@ -48,5 +47,5 @@ std::string TaskmanagerMenu::text() const
void TaskmanagerMenu::back() void TaskmanagerMenu::back()
{ {
switchScreen<DebugMenu>(); popScreen();
} }

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
#include <menuitem.h> #include <menuitem.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <textwithvaluehelper.h> #include <textwithvaluehelper.h>
@ -14,7 +15,6 @@
#include "accessors/settingsaccessors.h" #include "accessors/settingsaccessors.h"
#include "accessors/globalaccessors.h" #include "accessors/globalaccessors.h"
#include "actions/tempomatmodeapplycurrentpeedaction.h" #include "actions/tempomatmodeapplycurrentpeedaction.h"
#include "displays/menus/modessettingsmenu.h"
namespace { namespace {
constexpr char TEXT_TEMPOMATMODESETTINGS[] = "Tempomat mode settings"; constexpr char TEXT_TEMPOMATMODESETTINGS[] = "Tempomat mode settings";
@ -27,16 +27,16 @@ using TempomatModeCruiseMotTgtChangeDisplay = espgui::makeComponent<
BobbyChangeValueDisplay<int16_t>, BobbyChangeValueDisplay<int16_t>,
espgui::StaticText<TEXT_NCRUISEMOTTGT>, espgui::StaticText<TEXT_NCRUISEMOTTGT>,
TempomatModeCruiseMotTgtAccessor, TempomatModeCruiseMotTgtAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using TempomatModeModelModeChangeScreen = espgui::makeComponent< using TempomatModeModelModeChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<UnifiedModelMode>, BobbyChangeValueDisplay<UnifiedModelMode>,
espgui::StaticText<TEXT_MODELMODE>, espgui::StaticText<TEXT_MODELMODE>,
TempomatModeModelModeAccessor, TempomatModeModelModeAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -45,9 +45,9 @@ using namespace espgui;
TempomatModeSettingsMenu::TempomatModeSettingsMenu() TempomatModeSettingsMenu::TempomatModeSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_APPLY, AvgSpeedAccessor>, TempomatModeApplyCurrentSpeedAction>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_APPLY, AvgSpeedAccessor>, TempomatModeApplyCurrentSpeedAction>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NCRUISEMOTTGT, TempomatModeCruiseMotTgtAccessor>, SwitchScreenAction<TempomatModeModelModeChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NCRUISEMOTTGT, TempomatModeCruiseMotTgtAccessor>, PushScreenAction<TempomatModeModelModeChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<TempomatModeModelModeChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<TempomatModeModelModeChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string TempomatModeSettingsMenu::text() const std::string TempomatModeSettingsMenu::text() const
@ -57,5 +57,5 @@ std::string TempomatModeSettingsMenu::text() const
void TempomatModeSettingsMenu::back() void TempomatModeSettingsMenu::back()
{ {
switchScreen<ModesSettingsMenu>(); popScreen();
} }

View File

@ -4,11 +4,12 @@
#include <configwrapper.h> #include <configwrapper.h>
#include <fmt/core.h> #include <fmt/core.h>
#include <icons/back.h> #include <icons/back.h>
#include <actions/dummyaction.h>
#include <actions/switchscreenaction.h>
#include <actions/popscreenaction.h>
// local includes // local includes
#include "globals.h" #include "globals.h"
#include "actions/dummyaction.h"
#include "actions/switchscreenaction.h"
#include "displays/bobbymenudisplay.h" #include "displays/bobbymenudisplay.h"
#include "bobbyerrorhandler.h" #include "bobbyerrorhandler.h"
@ -57,7 +58,7 @@ private:
ConfigWrapper<TEnum>* m_config; ConfigWrapper<TEnum>* m_config;
}; };
template<typename TEnum, typename TMenu> template<typename TEnum>
class TypeSafeChangeMenu : class TypeSafeChangeMenu :
public BobbyMenuDisplay public BobbyMenuDisplay
{ {
@ -71,7 +72,7 @@ public:
iterateEnum<TEnum>::iterate([&](TEnum enum_value, const auto &string_value){ iterateEnum<TEnum>::iterate([&](TEnum enum_value, const auto &string_value){
constructMenuItem<TypesafeEnumSetterMenuItem<TEnum>>(enum_value, m_config); constructMenuItem<TypesafeEnumSetterMenuItem<TEnum>>(enum_value, m_config);
}); });
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<TMenu>, StaticMenuItemIcon<&espgui::icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
} }
std::string text() const override std::string text() const override
@ -81,7 +82,7 @@ public:
void back() override void back() override
{ {
espgui::switchScreen<TMenu>(); espgui::popScreen();
} }
private: private:
ConfigWrapper<TEnum>* m_config; ConfigWrapper<TEnum>* m_config;
@ -102,7 +103,47 @@ public:
void triggered() override void triggered() override
{ {
espgui::switchScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum, TMenu>>(m_config); espgui::switchScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum>>(m_config);
}
private:
ConfigWrapper<TEnum>* m_config;
};
template<typename TEnum, const char *Ttext>
class PopScreenTypeSafeChangeMenuItem : public espgui::MenuItem
{
public:
PopScreenTypeSafeChangeMenuItem(ConfigWrapper<TEnum>* config) : m_config{config} {}
static constexpr const char *STATIC_TEXT = Ttext;
std::string text() const override
{
return Ttext;
}
void triggered() override
{
espgui::popScreen();
}
private:
ConfigWrapper<TEnum>* m_config;
};
template<typename TEnum, const char *Ttext>
class PushScreenTypeSafeChangeMenuItem : public espgui::MenuItem
{
public:
PushScreenTypeSafeChangeMenuItem(ConfigWrapper<TEnum>* config) : m_config{config} {}
static constexpr const char *STATIC_TEXT = Ttext;
std::string text() const override
{
return Ttext;
}
void triggered() override
{
espgui::pushScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum>>(m_config);
} }
private: private:
ConfigWrapper<TEnum>* m_config; ConfigWrapper<TEnum>* m_config;

View File

@ -9,7 +9,7 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <fmt/format.h> #include <fmt/format.h>
@ -51,12 +51,12 @@ private:
WifiApClientsMenu::WifiApClientsMenu() : WifiApClientsMenu::WifiApClientsMenu() :
espgui::ChangeableText{"AP Clients"s} espgui::ChangeableText{"AP Clients"s}
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<WifiApSettingsMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
void WifiApClientsMenu::back() void WifiApClientsMenu::back()
{ {
switchScreen<WifiApSettingsMenu>(); popScreen();
} }
void WifiApClientsMenu::start() void WifiApClientsMenu::start()

View File

@ -6,7 +6,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <espwifistack.h> #include <espwifistack.h>
@ -56,48 +57,48 @@ using ApSsidChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<std::string>, BobbyChangeValueDisplay<std::string>,
espgui::StaticText<TEXT_SSID>, espgui::StaticText<TEXT_SSID>,
WifiApSsidAccessor, WifiApSsidAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ApKeyChangeScreen = espgui::makeComponent< using ApKeyChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<std::string>, BobbyChangeValueDisplay<std::string>,
espgui::StaticText<TEXT_KEY>, espgui::StaticText<TEXT_KEY>,
WifiApKeyAccessor, WifiApKeyAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ApIpChangeScreen = espgui::makeComponent< using ApIpChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<wifi_stack::ip_address_t>, BobbyChangeValueDisplay<wifi_stack::ip_address_t>,
espgui::StaticText<TEXT_IP>, espgui::StaticText<TEXT_IP>,
WifiApIpAccessor, WifiApIpAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ApMaskChangeScreen = espgui::makeComponent< using ApMaskChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<wifi_stack::ip_address_t>, BobbyChangeValueDisplay<wifi_stack::ip_address_t>,
espgui::StaticText<TEXT_MASK>, espgui::StaticText<TEXT_MASK>,
WifiApMaskAccessor, WifiApMaskAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ApChannelChangeScreen = espgui::makeComponent< using ApChannelChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<uint8_t>, BobbyChangeValueDisplay<uint8_t>,
espgui::StaticText<TEXT_CHANNEL>, espgui::StaticText<TEXT_CHANNEL>,
WifiApChannelAccessor, WifiApChannelAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
using ApAuthmodeChangeScreen = espgui::makeComponent< using ApAuthmodeChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<wifi_auth_mode_t>, BobbyChangeValueDisplay<wifi_auth_mode_t>,
espgui::StaticText<TEXT_AUTHMODE>, espgui::StaticText<TEXT_AUTHMODE>,
WifiApAuthmodeAccessor, WifiApAuthmodeAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -105,16 +106,16 @@ WifiApSettingsMenu::WifiApSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLED>, BobbyCheckbox, WifiApEnabledAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLED>, BobbyCheckbox, WifiApEnabledAccessor>>();
//constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DISABLEWHENONLINE>, BobbyCheckbox, WifiApDisableWhenOnlineAccessor>>(); //constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DISABLEWHENONLINE>, BobbyCheckbox, WifiApDisableWhenOnlineAccessor>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SSID_FORMATTED, WifiApSsidAccessor>, SwitchScreenAction<ApSsidChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SSID_FORMATTED, WifiApSsidAccessor>, PushScreenAction<ApSsidChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_KEY_FORMATTED, WifiApKeyAccessor>, SwitchScreenAction<ApKeyChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_KEY_FORMATTED, WifiApKeyAccessor>, PushScreenAction<ApKeyChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, WifiApMacText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiApMacText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_IP_FORMATTED, WifiApIpAccessor>, SwitchScreenAction<ApIpChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_IP_FORMATTED, WifiApIpAccessor>, PushScreenAction<ApIpChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_MASK_FORMATTED, WifiApMaskAccessor>, SwitchScreenAction<ApMaskChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_MASK_FORMATTED, WifiApMaskAccessor>, PushScreenAction<ApMaskChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CHANNEL_FORMATTED, WifiApChannelAccessor>, SwitchScreenAction<ApChannelChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CHANNEL_FORMATTED, WifiApChannelAccessor>, PushScreenAction<ApChannelChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_AUTHMODE_FORMATTED, WifiApAuthmodeAccessor>, SwitchScreenAction<ApAuthmodeChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_AUTHMODE_FORMATTED, WifiApAuthmodeAccessor>, PushScreenAction<ApAuthmodeChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, WifiApHostnameText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiApHostnameText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiApClientsText, WifiApClientsAction>>(); constructMenuItem<makeComponent<MenuItem, WifiApClientsText, WifiApClientsAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<NetworkSettingsMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
std::string WifiApSettingsMenu::text() const std::string WifiApSettingsMenu::text() const
@ -124,7 +125,7 @@ std::string WifiApSettingsMenu::text() const
void WifiApSettingsMenu::back() void WifiApSettingsMenu::back()
{ {
switchScreen<NetworkSettingsMenu>(); popScreen();
} }
namespace { namespace {
@ -132,7 +133,7 @@ void WifiApClientsAction::triggered()
{ {
wifi_sta_list_t clients; wifi_sta_list_t clients;
if (const auto result = esp_wifi_ap_get_sta_list(&clients); result == ESP_OK) if (const auto result = esp_wifi_ap_get_sta_list(&clients); result == ESP_OK)
switchScreen<WifiApClientsMenu>(); pushScreen<WifiApClientsMenu>();
else else
ESP_LOGW(TAG, "esp_wifi_ap_get_sta_list() failed with %s", esp_err_to_name(result)); ESP_LOGW(TAG, "esp_wifi_ap_get_sta_list() failed with %s", esp_err_to_name(result));
} }

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
@ -48,8 +49,8 @@ class StaChangeScreen :
public: public:
explicit StaChangeScreen(int index) : Taccessor{index}, m_index{index} {} explicit StaChangeScreen(int index) : Taccessor{index}, m_index{index} {}
std::string text() const override { return fmt::format(Ttitle, m_index + 1); } std::string text() const override { return fmt::format(Ttitle, m_index + 1); }
void confirm() override { espgui::switchScreen<WifiStaConfigEntryMenu>(m_index); } void confirm() override { espgui::popScreen(); }
void back() override { espgui::switchScreen<WifiStaConfigEntryMenu>(m_index); } void back() override { espgui::popScreen(); }
private: private:
const int m_index; const int m_index;
@ -66,7 +67,7 @@ public:
m_index{index} m_index{index}
{} {}
void triggered() override { espgui::switchScreen<TchangeScreen>(m_index); } void triggered() override { espgui::pushScreen<TchangeScreen>(m_index); }
private: private:
const int m_index; const int m_index;
@ -123,7 +124,7 @@ WifiStaConfigEntryMenu::WifiStaConfigEntryMenu(int index) :
constructMenuItem<StaStaticDns1MenuItem>(index); constructMenuItem<StaStaticDns1MenuItem>(index);
constructMenuItem<StaStaticDns2MenuItem>(index); constructMenuItem<StaStaticDns2MenuItem>(index);
constructMenuItem<makeComponentArgs<MenuItem, ClearConfigAction, StaticText<TEXT_DELETECONFIG>>>(index); constructMenuItem<makeComponentArgs<MenuItem, ClearConfigAction, StaticText<TEXT_DELETECONFIG>>>(index);
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<WifiStaConfigsMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
std::string WifiStaConfigEntryMenu::text() const std::string WifiStaConfigEntryMenu::text() const
@ -133,7 +134,7 @@ std::string WifiStaConfigEntryMenu::text() const
void WifiStaConfigEntryMenu::back() void WifiStaConfigEntryMenu::back()
{ {
espgui::switchScreen<WifiStaConfigsMenu>(); espgui::popScreen();
} }
namespace { namespace {

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <fmt/core.h> #include <fmt/core.h>
@ -37,7 +38,7 @@ WifiStaConfigsMenu::WifiStaConfigsMenu()
{ {
for (int i = 0; i < configs.wifi_configs.size(); i++) for (int i = 0; i < configs.wifi_configs.size(); i++)
constructMenuItem<WifiStaConfigurationMenuItem>(i); constructMenuItem<WifiStaConfigurationMenuItem>(i);
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<WifiStaSettingsMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
std::string WifiStaConfigsMenu::text() const std::string WifiStaConfigsMenu::text() const
@ -47,14 +48,14 @@ std::string WifiStaConfigsMenu::text() const
void WifiStaConfigsMenu::back() void WifiStaConfigsMenu::back()
{ {
switchScreen<WifiStaSettingsMenu>(); popScreen();
} }
namespace { namespace {
void WifiStaConfigurationMenuItem::triggered() void WifiStaConfigurationMenuItem::triggered()
{ {
switchScreen<WifiStaConfigEntryMenu>(m_index); pushScreen<WifiStaConfigEntryMenu>(m_index);
} }
std::string WifiStaConfigurationMenuItem::text() const std::string WifiStaConfigurationMenuItem::text() const

View File

@ -9,7 +9,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <fmt/format.h> #include <fmt/format.h>
@ -97,7 +98,7 @@ WifiStaScanEntryMenu::WifiStaScanEntryMenu(const wifi_ap_record_t &info) :
default: return std::to_string(m_info.country.policy); default: return std::to_string(m_info.country.policy);
} }
}())); }()));
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<WifiStaScanMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
std::string WifiStaScanEntryMenu::text() const std::string WifiStaScanEntryMenu::text() const
@ -107,7 +108,7 @@ std::string WifiStaScanEntryMenu::text() const
void WifiStaScanEntryMenu::back() void WifiStaScanEntryMenu::back()
{ {
switchScreen<WifiStaScanMenu>(); popScreen();
} }
namespace { namespace {
@ -128,7 +129,7 @@ void SaveNewWifiConfigAction::triggered()
return; return;
} }
switchScreen<WifiStaConfigEntryMenu>(std::distance(std::begin(configs.wifi_configs), iter)); pushScreen<WifiStaConfigEntryMenu>(std::distance(std::begin(configs.wifi_configs), iter));
} }
} // namespace } // namespace

View File

@ -5,7 +5,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <fmt/format.h> #include <fmt/format.h>
@ -17,7 +18,6 @@
// local includes // local includes
#include "actions/wifistascanaction.h" #include "actions/wifistascanaction.h"
#include "actions/wifistascanclearaction.h" #include "actions/wifistascanclearaction.h"
#include "wifistasettingsmenu.h"
#include "wifiguiutils.h" #include "wifiguiutils.h"
#include "wifistascanentrymenu.h" #include "wifistascanentrymenu.h"
#include "newsettings.h" #include "newsettings.h"
@ -50,7 +50,7 @@ WifiStaScanMenu::WifiStaScanMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STARTSCAN>, WifiStaScanAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STARTSCAN>, WifiStaScanAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLEARRESULTS>, WifiStaScanClearAction>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLEARRESULTS>, WifiStaScanClearAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<WifiStaSettingsMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
std::string WifiStaScanMenu::text() const std::string WifiStaScanMenu::text() const
@ -77,7 +77,7 @@ std::string WifiStaScanMenu::text() const
void WifiStaScanMenu::back() void WifiStaScanMenu::back()
{ {
switchScreen<WifiStaSettingsMenu>(); popScreen();
} }
void WifiStaScanMenu::start() void WifiStaScanMenu::start()
@ -124,7 +124,7 @@ namespace {
void WifiStaScanMenuItem::triggered() void WifiStaScanMenuItem::triggered()
{ {
switchScreen<WifiStaScanEntryMenu>(m_info); pushScreen<WifiStaScanEntryMenu>(m_info);
} }
std::string WifiStaScanMenuItem::text() const std::string WifiStaScanMenuItem::text() const

View File

@ -3,7 +3,8 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <menuitem.h> #include <menuitem.h>
#include <actions/dummyaction.h> #include <actions/dummyaction.h>
#include <actions/switchscreenaction.h> #include <actions/pushscreenaction.h>
#include <actions/popscreenaction.h>
#include <icons/back.h> #include <icons/back.h>
#include <screenmanager.h> #include <screenmanager.h>
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
@ -14,7 +15,6 @@
#include "wifistascanmenu.h" #include "wifistascanmenu.h"
#include "wifistaconfigsmenu.h" #include "wifistaconfigsmenu.h"
#include "accessors/wifistaconfigaccessors.h" #include "accessors/wifistaconfigaccessors.h"
#include "networksettingsmenu.h"
#include "texthelpers/wifistatexthelpers.h" #include "texthelpers/wifistatexthelpers.h"
#include "bobbycheckbox.h" #include "bobbycheckbox.h"
@ -31,8 +31,8 @@ using StaMinRssiChangeScreen = espgui::makeComponent<
BobbyChangeValueDisplay<int8_t>, BobbyChangeValueDisplay<int8_t>,
espgui::StaticText<TEXT_MIN_RSSI>, espgui::StaticText<TEXT_MIN_RSSI>,
WifiStaMinRssiAccessor, WifiStaMinRssiAccessor,
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<WifiStaSettingsMenu>>, espgui::ConfirmActionInterface<espgui::PopScreenAction>,
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiStaSettingsMenu>> espgui::BackActionInterface<espgui::PopScreenAction>
>; >;
} // namespace } // namespace
@ -41,8 +41,8 @@ WifiStaSettingsMenu::WifiStaSettingsMenu()
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLED>, BobbyCheckbox, WifiStaEnabledAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLED>, BobbyCheckbox, WifiStaEnabledAccessor>>();
constructMenuItem<makeComponent<MenuItem, WifiStaStatusText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiStaStatusText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiStaMacText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiStaMacText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiStaScanStatusText, SwitchScreenAction<WifiStaScanMenu>>>(); constructMenuItem<makeComponent<MenuItem, WifiStaScanStatusText, PushScreenAction<WifiStaScanMenu>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONFIGURATIONS>, SwitchScreenAction<WifiStaConfigsMenu>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONFIGURATIONS>, PushScreenAction<WifiStaConfigsMenu>>>();
constructMenuItem<makeComponent<MenuItem, WifiSsidText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiSsidText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiBssidText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiBssidText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiRssiText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiRssiText, DummyAction>>();
@ -55,8 +55,8 @@ WifiStaSettingsMenu::WifiStaSettingsMenu()
constructMenuItem<makeComponent<MenuItem, WifiStaHostnameText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiStaHostnameText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiStaIpv6LinklocalText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiStaIpv6LinklocalText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, WifiStaIpv6GlobalText, DummyAction>>(); constructMenuItem<makeComponent<MenuItem, WifiStaIpv6GlobalText, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_MIN_RSSI_FORMATTED, WifiStaMinRssiAccessor>, SwitchScreenAction<StaMinRssiChangeScreen>>>(); constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_MIN_RSSI_FORMATTED, WifiStaMinRssiAccessor>, PushScreenAction<StaMinRssiChangeScreen>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<NetworkSettingsMenu>, StaticMenuItemIcon<&icons::back>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&icons::back>>>();
} }
std::string WifiStaSettingsMenu::text() const std::string WifiStaSettingsMenu::text() const
@ -66,5 +66,5 @@ std::string WifiStaSettingsMenu::text() const
void WifiStaSettingsMenu::back() void WifiStaSettingsMenu::back()
{ {
switchScreen<NetworkSettingsMenu>(); popScreen();
} }

View File

@ -57,14 +57,9 @@ void MetersDisplay::buttonPressed(espgui::Button button)
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Right: pushScreen<MainMenu>(); break;
case Button::Right: case Button::Up: switchScreen<StatusDisplay>(); break;
switchScreen<MainMenu>();
break;
case Button::Up:
switchScreen<StatusDisplay>();
break;
case Button::Down: case Button::Down:
#ifdef FEATURE_BMS #ifdef FEATURE_BMS
switchScreen<BmsDisplay>(); switchScreen<BmsDisplay>();
@ -72,5 +67,6 @@ void MetersDisplay::buttonPressed(espgui::Button button)
switchScreen<StatusDisplay>(); switchScreen<StatusDisplay>();
#endif #endif
break; break;
default:;
} }
} }

View File

@ -6,9 +6,6 @@
#include <tftinstance.h> #include <tftinstance.h>
#include <screenmanager.h> #include <screenmanager.h>
// local includes
#include "displays/menus/demosmenu.h"
PingPongDisplay::PingPongDisplay() : PingPongDisplay::PingPongDisplay() :
lpaddle_y(cpputils::randomNumber<uint8_t>(0, h - paddle_h, espcpputils::esp_random_device{})), lpaddle_y(cpputils::randomNumber<uint8_t>(0, h - paddle_h, espcpputils::esp_random_device{})),
rpaddle_y(cpputils::randomNumber<uint8_t>(0, h - paddle_h, espcpputils::esp_random_device{})), rpaddle_y(cpputils::randomNumber<uint8_t>(0, h - paddle_h, espcpputils::esp_random_device{})),
@ -55,8 +52,7 @@ void PingPongDisplay::buttonPressed(espgui::Button button)
{ {
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left:
case Button::Right: espgui::popScreen();
espgui::switchScreen<DemosMenu>();
break; break;
default:; default:;
} }

View File

@ -7,7 +7,6 @@
// local includes // local includes
#include "utils.h" #include "utils.h"
#include "globals.h" #include "globals.h"
#include "displays/menus/mainmenu.h"
using namespace std::chrono_literals; using namespace std::chrono_literals;
@ -43,7 +42,7 @@ void PoweroffDisplay::update()
Base::update(); Base::update();
if (espchrono::millis_clock::now() - m_startTime >= 1000ms) if (espchrono::millis_clock::now() - m_startTime >= 1000ms)
espgui::switchScreen<MainMenu>(); espgui::popScreen();
} }
void PoweroffDisplay::stop() void PoweroffDisplay::stop()

View File

@ -3,11 +3,9 @@
// 3rdparty lib includes // 3rdparty lib includes
#include <tftinstance.h> #include <tftinstance.h>
#include <screenmanager.h> #include <screenmanager.h>
#include "actions/switchscreenaction.h"
// local includes // local includes
#include "globals.h" #include "globals.h"
#include "displays/menus/mainmenu.h"
#if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY) #if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY)
void PowerSupplyDisplay::initScreen() void PowerSupplyDisplay::initScreen()
@ -42,7 +40,7 @@ void PowerSupplyDisplay::buttonPressed(espgui::Button button)
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left:
case Button::Right: case Button::Right:
espgui::switchScreen<MainMenu>(); espgui::popScreen();
break; break;
default:; default:;
} }

View File

@ -1,9 +1,10 @@
#include "qrcodedebug.h" #include "qrcodedebug.h"
// 3rdparty lib includes
#include <fmt/core.h> #include <fmt/core.h>
#include <tftinstance.h> #include <tftinstance.h>
#include "displays/menus/debugmenu.h" // local includes
#include "globals.h" #include "globals.h"
#include "screenmanager.h" #include "screenmanager.h"
#include "newsettings.h" #include "newsettings.h"
@ -26,9 +27,7 @@ void QrCodeDebugDisplay::buttonPressed(espgui::Button button)
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left: popScreen(); break;
switchScreen<DebugMenu>();
break;
case Button::Right: case Button::Right:
{ {
uint8_t qrcodeBytes[qrcode_getBufferSize(7)]; uint8_t qrcodeBytes[qrcode_getBufferSize(7)];

View File

@ -88,7 +88,7 @@ public:
{ {
tft.setTextColor(TFT_GREEN, TFT_BLACK); tft.setTextColor(TFT_GREEN, TFT_BLACK);
m_statuslabel.redraw("OK"); m_statuslabel.redraw("OK");
switchScreen<TMenu>(); popScreen();
} }
} }
@ -102,7 +102,7 @@ public:
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left:
if (!m_waitingForResult) if (!m_waitingForResult)
switchScreen<TMenu>(); popScreen();
else else
ESP_LOGW(TAG, "tried to leave while waiting for result"); ESP_LOGW(TAG, "tried to leave while waiting for result");
break; break;

View File

@ -6,9 +6,6 @@
#include <tftinstance.h> #include <tftinstance.h>
#include <screenmanager.h> #include <screenmanager.h>
// local includes
#include "displays/menus/demosmenu.h"
void SpiroDisplay::initScreen() void SpiroDisplay::initScreen()
{ {
Base::initScreen(); Base::initScreen();
@ -88,8 +85,7 @@ void SpiroDisplay::buttonPressed(espgui::Button button)
{ {
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left:
case Button::Right: espgui::popScreen();
espgui::switchScreen<DemosMenu>();
break; break;
default:; default:;
} }

View File

@ -87,8 +87,7 @@ void StarfieldDisplay::buttonPressed(espgui::Button button)
{ {
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left:
case Button::Right: espgui::popScreen();
espgui::switchScreen<DemosMenu>();
break; break;
default:; default:;
} }

View File

@ -230,9 +230,7 @@ void StatusDisplay::buttonPressed(espgui::Button button)
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case Button::Right: case Button::Right: pushScreen<MainMenu>(); break;
switchScreen<MainMenu>();
break;
case Button::Up: case Button::Up:
if (simplified) if (simplified)
return; return;

View File

@ -4,7 +4,6 @@
#include <esp_heap_caps.h> #include <esp_heap_caps.h>
// 3rdparty lib includes // 3rdparty lib includes
#include <actions/switchscreenaction.h>
#include <widgets/label.h> #include <widgets/label.h>
#include <widgets/progressbar.h> #include <widgets/progressbar.h>
#include <espchrono.h> #include <espchrono.h>

View File

@ -16,7 +16,6 @@
// local includes // local includes
#include "globals.h" #include "globals.h"
#include "ota.h" #include "ota.h"
#include "displays/menus/otamenu.h"
#include "newsettings.h" #include "newsettings.h"
void UpdateDisplay::initScreen() void UpdateDisplay::initScreen()
@ -106,7 +105,7 @@ void UpdateDisplay::buttonPressed(espgui::Button button)
{ {
using espgui::Button; using espgui::Button;
case Button::Left: case Button::Left:
espgui::switchScreen<OtaMenu>(); espgui::popScreen();
break; break;
case Button::Right: case Button::Right:
if (const auto result = triggerOta(configs.otaUrl.value); !result) if (const auto result = triggerOta(configs.otaUrl.value); !result)

View File

@ -35,7 +35,7 @@ using namespace std::chrono_literals;
namespace { namespace {
espchrono::millis_clock::time_point lastStatsPush; espchrono::millis_clock::time_point lastStatsPush;
std::optional<espchrono::millis_clock::time_point> lastStatsUpdate; std::optional<espchrono::millis_clock::time_point> lastStatsUpdate;
} } // namespace
extern "C" void app_main() extern "C" void app_main()
{ {

View File

@ -20,7 +20,6 @@ CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_ULP_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y
@ -30,6 +29,8 @@ CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y
CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_PERIPH_NUM=2
@ -140,6 +141,8 @@ CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_192=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
@ -210,6 +213,7 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# #
# Security features # Security features
# #
CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
@ -396,6 +400,10 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# #
# CONFIG_APPTRACE_DEST_JTAG is not set # CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing # end of Application Level Tracing
@ -581,6 +589,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# GPIO Configuration # GPIO Configuration
# #
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration # end of GPIO Configuration
# #
@ -618,8 +627,8 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set # CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS # end of ESP-TLS
@ -757,6 +766,12 @@ CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# RTC Clock Config # RTC Clock Config
# #
# end of RTC Clock Config # end of RTC Clock Config
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
# end of Peripheral Control
# end of Hardware Settings # end of Hardware Settings
# #
@ -1255,6 +1270,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# end of Certificate Bundle # end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y CONFIG_MBEDTLS_ECP_RESTARTABLE=y
@ -1547,6 +1563,8 @@ CONFIG_WL_SECTOR_SIZE=4096
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
# CONFIG_WIFI_PROV_BLE_BONDING is not set # CONFIG_WIFI_PROV_BLE_BONDING is not set
CONFIG_WIFI_PROV_BLE_SEC_CONN=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
# end of Wi-Fi Provisioning Manager # end of Wi-Fi Provisioning Manager
# #

View File

@ -20,7 +20,6 @@ CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_ULP_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y
@ -30,6 +29,8 @@ CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y
CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_PERIPH_NUM=2
@ -140,6 +141,8 @@ CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_192=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
@ -210,6 +213,7 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# #
# Security features # Security features
# #
CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
@ -396,6 +400,10 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# #
# CONFIG_APPTRACE_DEST_JTAG is not set # CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing # end of Application Level Tracing
@ -581,6 +589,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# GPIO Configuration # GPIO Configuration
# #
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration # end of GPIO Configuration
# #
@ -618,8 +627,8 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set # CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS # end of ESP-TLS
@ -757,6 +766,12 @@ CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# RTC Clock Config # RTC Clock Config
# #
# end of RTC Clock Config # end of RTC Clock Config
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
# end of Peripheral Control
# end of Hardware Settings # end of Hardware Settings
# #
@ -1253,6 +1268,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# end of Certificate Bundle # end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y CONFIG_MBEDTLS_ECP_RESTARTABLE=y
@ -1545,6 +1561,8 @@ CONFIG_WL_SECTOR_SIZE=4096
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
# CONFIG_WIFI_PROV_BLE_BONDING is not set # CONFIG_WIFI_PROV_BLE_BONDING is not set
CONFIG_WIFI_PROV_BLE_SEC_CONN=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
# end of Wi-Fi Provisioning Manager # end of Wi-Fi Provisioning Manager
# #

View File

@ -20,7 +20,6 @@ CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_ULP_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y
@ -30,6 +29,8 @@ CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y
CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_PERIPH_NUM=2
@ -140,6 +141,8 @@ CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_192=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
@ -210,6 +213,7 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# #
# Security features # Security features
# #
CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
@ -396,6 +400,10 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# #
# CONFIG_APPTRACE_DEST_JTAG is not set # CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing # end of Application Level Tracing
@ -581,6 +589,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# GPIO Configuration # GPIO Configuration
# #
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration # end of GPIO Configuration
# #
@ -618,8 +627,8 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set # CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS # end of ESP-TLS
@ -757,6 +766,12 @@ CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# RTC Clock Config # RTC Clock Config
# #
# end of RTC Clock Config # end of RTC Clock Config
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
# end of Peripheral Control
# end of Hardware Settings # end of Hardware Settings
# #
@ -1255,6 +1270,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# end of Certificate Bundle # end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y CONFIG_MBEDTLS_ECP_RESTARTABLE=y
@ -1547,6 +1563,8 @@ CONFIG_WL_SECTOR_SIZE=4096
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
# CONFIG_WIFI_PROV_BLE_BONDING is not set # CONFIG_WIFI_PROV_BLE_BONDING is not set
CONFIG_WIFI_PROV_BLE_SEC_CONN=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
# end of Wi-Fi Provisioning Manager # end of Wi-Fi Provisioning Manager
# #

View File

@ -20,7 +20,6 @@ CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_ULP_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y
@ -30,6 +29,8 @@ CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y
CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_PERIPH_NUM=2
@ -140,6 +141,8 @@ CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_192=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
@ -210,6 +213,7 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# #
# Security features # Security features
# #
CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
@ -396,6 +400,10 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# #
# CONFIG_APPTRACE_DEST_JTAG is not set # CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing # end of Application Level Tracing
@ -581,6 +589,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# GPIO Configuration # GPIO Configuration
# #
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration # end of GPIO Configuration
# #
@ -618,8 +627,8 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set # CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS # end of ESP-TLS
@ -757,6 +766,12 @@ CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# RTC Clock Config # RTC Clock Config
# #
# end of RTC Clock Config # end of RTC Clock Config
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
# end of Peripheral Control
# end of Hardware Settings # end of Hardware Settings
# #
@ -1253,6 +1268,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# end of Certificate Bundle # end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y CONFIG_MBEDTLS_ECP_RESTARTABLE=y
@ -1545,6 +1561,8 @@ CONFIG_WL_SECTOR_SIZE=4096
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
# CONFIG_WIFI_PROV_BLE_BONDING is not set # CONFIG_WIFI_PROV_BLE_BONDING is not set
CONFIG_WIFI_PROV_BLE_SEC_CONN=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
# end of Wi-Fi Provisioning Manager # end of Wi-Fi Provisioning Manager
# #

View File

@ -20,7 +20,6 @@ CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_ULP_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y
@ -30,6 +29,8 @@ CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y
CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_PERIPH_NUM=2
@ -140,6 +141,8 @@ CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_192=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
@ -210,6 +213,7 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# #
# Security features # Security features
# #
CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
@ -396,6 +400,10 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# #
# CONFIG_APPTRACE_DEST_JTAG is not set # CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing # end of Application Level Tracing
@ -581,6 +589,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# GPIO Configuration # GPIO Configuration
# #
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration # end of GPIO Configuration
# #
@ -618,8 +627,8 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set # CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS # end of ESP-TLS
@ -757,6 +766,12 @@ CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# RTC Clock Config # RTC Clock Config
# #
# end of RTC Clock Config # end of RTC Clock Config
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
# end of Peripheral Control
# end of Hardware Settings # end of Hardware Settings
# #
@ -1253,6 +1268,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# end of Certificate Bundle # end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y CONFIG_MBEDTLS_ECP_RESTARTABLE=y
@ -1545,6 +1561,8 @@ CONFIG_WL_SECTOR_SIZE=4096
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
# CONFIG_WIFI_PROV_BLE_BONDING is not set # CONFIG_WIFI_PROV_BLE_BONDING is not set
CONFIG_WIFI_PROV_BLE_SEC_CONN=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
# end of Wi-Fi Provisioning Manager # end of Wi-Fi Provisioning Manager
# #

View File

@ -20,7 +20,6 @@ CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_ULP_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y
@ -30,6 +29,8 @@ CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y
CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_PERIPH_NUM=2
@ -140,6 +141,8 @@ CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_192=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
@ -210,6 +213,7 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# #
# Security features # Security features
# #
CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
@ -396,6 +400,10 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# #
# CONFIG_APPTRACE_DEST_JTAG is not set # CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing # end of Application Level Tracing
@ -581,6 +589,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# GPIO Configuration # GPIO Configuration
# #
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration # end of GPIO Configuration
# #
@ -618,8 +627,8 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set # CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS # end of ESP-TLS
@ -757,6 +766,12 @@ CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# RTC Clock Config # RTC Clock Config
# #
# end of RTC Clock Config # end of RTC Clock Config
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
# end of Peripheral Control
# end of Hardware Settings # end of Hardware Settings
# #
@ -1255,6 +1270,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# end of Certificate Bundle # end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y CONFIG_MBEDTLS_ECP_RESTARTABLE=y
@ -1547,6 +1563,8 @@ CONFIG_WL_SECTOR_SIZE=4096
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
# CONFIG_WIFI_PROV_BLE_BONDING is not set # CONFIG_WIFI_PROV_BLE_BONDING is not set
CONFIG_WIFI_PROV_BLE_SEC_CONN=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
# end of Wi-Fi Provisioning Manager # end of Wi-Fi Provisioning Manager
# #

View File

@ -20,7 +20,6 @@ CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_ULP_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y
@ -30,6 +29,8 @@ CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y
CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_PERIPH_NUM=2
@ -140,6 +141,8 @@ CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_192=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
@ -210,6 +213,7 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# #
# Security features # Security features
# #
CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
@ -396,6 +400,10 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# #
# CONFIG_APPTRACE_DEST_JTAG is not set # CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing # end of Application Level Tracing
@ -581,6 +589,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# GPIO Configuration # GPIO Configuration
# #
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration # end of GPIO Configuration
# #
@ -618,8 +627,8 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set # CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS # end of ESP-TLS
@ -757,6 +766,12 @@ CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# RTC Clock Config # RTC Clock Config
# #
# end of RTC Clock Config # end of RTC Clock Config
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
# end of Peripheral Control
# end of Hardware Settings # end of Hardware Settings
# #
@ -1253,6 +1268,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# end of Certificate Bundle # end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y CONFIG_MBEDTLS_ECP_RESTARTABLE=y
@ -1545,6 +1561,8 @@ CONFIG_WL_SECTOR_SIZE=4096
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
# CONFIG_WIFI_PROV_BLE_BONDING is not set # CONFIG_WIFI_PROV_BLE_BONDING is not set
CONFIG_WIFI_PROV_BLE_SEC_CONN=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
# end of Wi-Fi Provisioning Manager # end of Wi-Fi Provisioning Manager
# #

View File

@ -20,7 +20,6 @@ CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_ULP_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y
@ -30,6 +29,8 @@ CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y
CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_PERIPH_NUM=2
@ -140,6 +141,8 @@ CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_192=y
CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_AES_SUPPORT_AES_256=y
CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
@ -210,6 +213,7 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# #
# Security features # Security features
# #
CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
@ -396,6 +400,10 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# #
# CONFIG_APPTRACE_DEST_JTAG is not set # CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_DEST_NONE=y
# CONFIG_APPTRACE_DEST_UART1 is not set
# CONFIG_APPTRACE_DEST_UART2 is not set
CONFIG_APPTRACE_DEST_UART_NONE=y
CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing # end of Application Level Tracing
@ -581,6 +589,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
# GPIO Configuration # GPIO Configuration
# #
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration # end of GPIO Configuration
# #
@ -618,8 +627,8 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
# #
CONFIG_ESP_TLS_USING_MBEDTLS=y CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set # CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS # end of ESP-TLS
@ -757,6 +766,12 @@ CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# RTC Clock Config # RTC Clock Config
# #
# end of RTC Clock Config # end of RTC Clock Config
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
# end of Peripheral Control
# end of Hardware Settings # end of Hardware Settings
# #
@ -1253,6 +1268,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# end of Certificate Bundle # end of Certificate Bundle
CONFIG_MBEDTLS_ECP_RESTARTABLE=y CONFIG_MBEDTLS_ECP_RESTARTABLE=y
@ -1545,6 +1561,8 @@ CONFIG_WL_SECTOR_SIZE=4096
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
# CONFIG_WIFI_PROV_BLE_BONDING is not set # CONFIG_WIFI_PROV_BLE_BONDING is not set
CONFIG_WIFI_PROV_BLE_SEC_CONN=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
# end of Wi-Fi Provisioning Manager # end of Wi-Fi Provisioning Manager
# #