Merge pull request #324 from bobbycar-graz/refactoring
This commit is contained in:
Submodule components/esp-gui-lib updated: 0f4b9033dc...04d61efa60
BIN
icons/git.png
Normal file
BIN
icons/git.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.2 KiB |
@ -105,6 +105,7 @@ set(headers
|
|||||||
displays/menus/feedbackdebugmenu.h
|
displays/menus/feedbackdebugmenu.h
|
||||||
displays/menus/gametrakmodesettingsmenu.h
|
displays/menus/gametrakmodesettingsmenu.h
|
||||||
displays/menus/garagemenu.h
|
displays/menus/garagemenu.h
|
||||||
|
displays/menus/gitmenu.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
|
||||||
@ -179,6 +180,7 @@ set(headers
|
|||||||
icons/buzzer.h
|
icons/buzzer.h
|
||||||
icons/close.h
|
icons/close.h
|
||||||
icons/demos.h
|
icons/demos.h
|
||||||
|
icons/git.h
|
||||||
icons/graph.h
|
icons/graph.h
|
||||||
icons/greenpass.h
|
icons/greenpass.h
|
||||||
icons/hardware.h
|
icons/hardware.h
|
||||||
@ -344,6 +346,7 @@ set(sources
|
|||||||
displays/menus/feedbackdebugmenu.cpp
|
displays/menus/feedbackdebugmenu.cpp
|
||||||
displays/menus/gametrakmodesettingsmenu.cpp
|
displays/menus/gametrakmodesettingsmenu.cpp
|
||||||
displays/menus/garagemenu.cpp
|
displays/menus/garagemenu.cpp
|
||||||
|
displays/menus/gitmenu.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
|
||||||
@ -418,6 +421,7 @@ set(sources
|
|||||||
icons/buzzer.cpp
|
icons/buzzer.cpp
|
||||||
icons/close.cpp
|
icons/close.cpp
|
||||||
icons/demos.cpp
|
icons/demos.cpp
|
||||||
|
icons/git.cpp
|
||||||
icons/graph.cpp
|
icons/graph.cpp
|
||||||
icons/greenpass.cpp
|
icons/greenpass.cpp
|
||||||
icons/hardware.cpp
|
icons/hardware.cpp
|
||||||
@ -504,6 +508,24 @@ idf_component_register(
|
|||||||
${dependencies}
|
${dependencies}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
execute_process(COMMAND git rev-parse HEAD
|
||||||
|
OUTPUT_VARIABLE GIT_REV ERROR_QUIET
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git log -1 --pretty=%B
|
||||||
|
OUTPUT_VARIABLE GIT_MESSAGE ERROR_QUIET
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git rev-parse --abbrev-ref HEAD
|
||||||
|
OUTPUT_VARIABLE GIT_BRANCH
|
||||||
|
)
|
||||||
|
|
||||||
|
string(STRIP "${GIT_REV}" GIT_REV)
|
||||||
|
string(SUBSTRING "${GIT_REV}" 1 7 GIT_SHORT_REV)
|
||||||
|
string(STRIP "${GIT_MESSAGE}" GIT_MESSAGE)
|
||||||
|
string(SUBSTRING "${GIT_MESSAGE}" 0 100 GIT_MESSAGE)
|
||||||
|
string(STRIP "${GIT_BRANCH}" GIT_BRANCH)
|
||||||
|
|
||||||
target_compile_options(${COMPONENT_TARGET}
|
target_compile_options(${COMPONENT_TARGET}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
-fstack-reuse=all
|
-fstack-reuse=all
|
||||||
@ -513,5 +535,9 @@ target_compile_options(${COMPONENT_TARGET}
|
|||||||
-Wno-deprecated-declarations
|
-Wno-deprecated-declarations
|
||||||
-Wno-missing-field-initializers
|
-Wno-missing-field-initializers
|
||||||
-Wno-parentheses
|
-Wno-parentheses
|
||||||
|
-DGIT_REV="${GIT_REV}"
|
||||||
|
-DGIT_SHORT_REV="${GIT_SHORT_REV}"
|
||||||
|
-DGIT_MESSAGE="${GIT_MESSAGE}"
|
||||||
|
-DGIT_BRANCH="${GIT_BRANCH}"
|
||||||
${BOBBYCAR_BUILDFLAGS}
|
${BOBBYCAR_BUILDFLAGS}
|
||||||
)
|
)
|
||||||
|
@ -18,27 +18,26 @@ struct QrMenu {
|
|||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
template<typename TMenu>
|
class PushQrDisplayAction : public virtual espgui::ActionInterface
|
||||||
class SwitchQrDisplayAction : public virtual espgui::ActionInterface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit SwitchQrDisplayAction(const qraction::QrMenu &qrmenu) : m_msg{qrmenu.message} {}
|
explicit PushQrDisplayAction(const qraction::QrMenu &qrmenu) : m_msg{qrmenu.message} {}
|
||||||
explicit SwitchQrDisplayAction(qraction::QrMenu &&qrmenu) : m_msg{std::move(qrmenu.message)} {}
|
explicit PushQrDisplayAction(qraction::QrMenu &&qrmenu) : m_msg{std::move(qrmenu.message)} {}
|
||||||
|
|
||||||
void triggered() override
|
void triggered() override
|
||||||
{
|
{
|
||||||
espgui::pushScreen<QrDisplay<TMenu>>(m_msg);
|
espgui::pushScreen<QrDisplay>(m_msg);
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
std::string m_msg;
|
std::string m_msg;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename TMenu>
|
template<typename TMenu>
|
||||||
class SwitchQrImportDisplayAction : public virtual espgui::ActionInterface
|
class PushQrImportDisplayAction : public virtual espgui::ActionInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit SwitchQrImportDisplayAction(const std::string &nvskey) : m_nvskey{nvskey} {}
|
explicit PushQrImportDisplayAction(const std::string &nvskey) : m_nvskey{nvskey} {}
|
||||||
explicit SwitchQrImportDisplayAction(std::string &&nvskey) : m_nvskey{std::move(nvskey)} {}
|
explicit PushQrImportDisplayAction(std::string &&nvskey) : m_nvskey{std::move(nvskey)} {}
|
||||||
|
|
||||||
void triggered() override
|
void triggered() override
|
||||||
{
|
{
|
||||||
|
@ -6,9 +6,7 @@
|
|||||||
#include "actions/popscreenaction.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 <espasyncota.h>
|
|
||||||
#include <esp_ota_ops.h>
|
#include <esp_ota_ops.h>
|
||||||
#include "fmt/core.h"
|
#include "fmt/core.h"
|
||||||
|
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "changevaluedisplay.h"
|
#include "changevaluedisplay.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"
|
||||||
|
|
||||||
@ -28,8 +29,8 @@ using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
||||||
CloudTransmitTimeoutAccessor,
|
CloudTransmitTimeoutAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
struct CloudBufferLengthText : public virtual espgui::TextInterface
|
struct CloudBufferLengthText : public virtual espgui::TextInterface
|
||||||
@ -45,16 +46,16 @@ using CloudCollectRateChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CLOUDCOLLECTRATE>,
|
espgui::StaticText<TEXT_CLOUDCOLLECTRATE>,
|
||||||
CloudCollectRateAccessor,
|
CloudCollectRateAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using CloudSendRateChangeDisplay = espgui::makeComponent<
|
using CloudSendRateChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CLOUDSENDRATE>,
|
espgui::StaticText<TEXT_CLOUDSENDRATE>,
|
||||||
CloudSendRateAccessor,
|
CloudSendRateAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@ -63,14 +64,14 @@ using namespace espgui;
|
|||||||
CloudSettingsMenu::CloudSettingsMenu()
|
CloudSettingsMenu::CloudSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, BobbyCheckbox, CloudEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, BobbyCheckbox, CloudEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, SwitchScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, PushScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudStartedText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CloudStartedText, DisabledColor, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudConnectedText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CloudConnectedText, DisabledColor, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudBufferLengthText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CloudBufferLengthText, DisabledColor, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDCOLLECTRATE>, SwitchScreenAction<CloudCollectRateChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDCOLLECTRATE>, PushScreenAction<CloudCollectRateChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSENDRATE>, SwitchScreenAction<CloudSendRateChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSENDRATE>, PushScreenAction<CloudSendRateChangeDisplay>>>();
|
||||||
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 CloudSettingsMenu::text() const
|
std::string CloudSettingsMenu::text() const
|
||||||
@ -80,5 +81,5 @@ std::string CloudSettingsMenu::text() const
|
|||||||
|
|
||||||
void CloudSettingsMenu::back()
|
void CloudSettingsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<SettingsMenu>();
|
popScreen();
|
||||||
}
|
}
|
||||||
|
@ -4,8 +4,9 @@
|
|||||||
#include <ratio>
|
#include <ratio>
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
|
#include "actions/popscreenaction.h"
|
||||||
|
#include "actions/pushscreenaction.h"
|
||||||
#include "changevaluedisplay.h"
|
#include "changevaluedisplay.h"
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
@ -40,38 +41,38 @@ using WheelDiameterMmChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_WHEELDIAMETERMM>,
|
espgui::StaticText<TEXT_WHEELDIAMETERMM>,
|
||||||
WheelDiameterMmAccessor,
|
WheelDiameterMmAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using WheelDiameterInchChangeScreen = espgui::makeComponent<
|
using WheelDiameterInchChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<float>,
|
BobbyChangeValueDisplay<float>,
|
||||||
espgui::StaticText<TEXT_WHEELDIAMETERINCH>,
|
espgui::StaticText<TEXT_WHEELDIAMETERINCH>,
|
||||||
WheelDiameterInchAccessor,
|
WheelDiameterInchAccessor,
|
||||||
espgui::RatioNumberStep<float, std::ratio<1,10>>,
|
espgui::RatioNumberStep<float, std::ratio<1,10>>,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using NumMagnetPolesChangeScreen = espgui::makeComponent<
|
using NumMagnetPolesChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_NUMMAGNETPOLES>,
|
espgui::StaticText<TEXT_NUMMAGNETPOLES>,
|
||||||
NumMagnetPolesAccessor,
|
NumMagnetPolesAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
#ifdef FEATURE_CAN
|
#ifdef FEATURE_CAN
|
||||||
using CanTransmitTimeoutChangeScreen = espgui::makeComponent<
|
using CanTransmitTimeoutChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CANTRANSMITTIMEOUT>,
|
espgui::StaticText<TEXT_CANTRANSMITTIMEOUT>,
|
||||||
CanTransmitTimeoutAccessor,
|
CanTransmitTimeoutAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using CanReceiveTimeoutChangeScreen = espgui::makeComponent<
|
using CanReceiveTimeoutChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CANRECEIVETIMEOUT>,
|
espgui::StaticText<TEXT_CANRECEIVETIMEOUT>,
|
||||||
CanReceiveTimeoutAccessor,
|
CanReceiveTimeoutAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
#endif
|
#endif
|
||||||
} // namespace
|
} // namespace
|
||||||
@ -79,21 +80,21 @@ using CanReceiveTimeoutChangeScreen = espgui::makeComponent<
|
|||||||
ControllerHardwareSettingsMenu::ControllerHardwareSettingsMenu()
|
ControllerHardwareSettingsMenu::ControllerHardwareSettingsMenu()
|
||||||
{
|
{
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETENABLED>, SwitchScreenAction<EnableMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETENABLED>, PushScreenAction<EnableMenu>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETINVERTED>, SwitchScreenAction<InvertMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETINVERTED>, PushScreenAction<InvertMenu>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELDIAMETERMM>, SwitchScreenAction<WheelDiameterMmChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELDIAMETERMM>, PushScreenAction<WheelDiameterMmChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELDIAMETERINCH>, SwitchScreenAction<WheelDiameterInchChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELDIAMETERINCH>, PushScreenAction<WheelDiameterInchChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NUMMAGNETPOLES>, SwitchScreenAction<NumMagnetPolesChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NUMMAGNETPOLES>, PushScreenAction<NumMagnetPolesChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SWAPFRONTBACK>, BobbyCheckbox, SwapFrontBackAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SWAPFRONTBACK>, BobbyCheckbox, SwapFrontBackAccessor>>();
|
||||||
#ifdef FEATURE_CAN
|
#ifdef FEATURE_CAN
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTSENDCAN>, BobbyCheckbox, SendFrontCanCmdAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_FRONTSENDCAN>, BobbyCheckbox, SendFrontCanCmdAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKSENDCAN>, BobbyCheckbox, SendBackCanCmdAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKSENDCAN>, BobbyCheckbox, SendBackCanCmdAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANTRANSMITTIMEOUT>, SwitchScreenAction<CanTransmitTimeoutChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANTRANSMITTIMEOUT>, PushScreenAction<CanTransmitTimeoutChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANRECEIVETIMEOUT>, SwitchScreenAction<CanReceiveTimeoutChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANRECEIVETIMEOUT>, PushScreenAction<CanReceiveTimeoutChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANRESETONERROR>, BobbyCheckbox, CanResetOnErrorAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANRESETONERROR>, BobbyCheckbox, CanResetOnErrorAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANREINSTALLDRIVER>, BobbyCheckbox, CanReinstallDriverAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CANREINSTALLDRIVER>, BobbyCheckbox, CanReinstallDriverAccessor>>();
|
||||||
#endif
|
#endif
|
||||||
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 ControllerHardwareSettingsMenu::text() const
|
std::string ControllerHardwareSettingsMenu::text() const
|
||||||
@ -103,5 +104,5 @@ std::string ControllerHardwareSettingsMenu::text() const
|
|||||||
|
|
||||||
void ControllerHardwareSettingsMenu::back()
|
void ControllerHardwareSettingsMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<SettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
#include "enablemenu.h"
|
#include "enablemenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "displays/menus/controllerhardwaresettingsmenu.h"
|
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "actions/popscreenaction.h"
|
||||||
#include "bobbycheckbox.h"
|
#include "bobbycheckbox.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_SETENABLED[] = "Set enabled";
|
constexpr char TEXT_SETENABLED[] = "Set enabled";
|
||||||
@ -25,7 +22,7 @@ EnableMenu::EnableMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFRONTRIGHT>, BobbyCheckbox, FrontRightEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFRONTRIGHT>, BobbyCheckbox, FrontRightEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEBACKLEFT>, BobbyCheckbox, BackLeftEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEBACKLEFT>, BobbyCheckbox, BackLeftEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEBACKRIGHT>, BobbyCheckbox, BackRightEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEBACKRIGHT>, BobbyCheckbox, BackRightEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ControllerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EnableMenu::text() const
|
std::string EnableMenu::text() const
|
||||||
@ -35,5 +32,5 @@ std::string EnableMenu::text() const
|
|||||||
|
|
||||||
void EnableMenu::back()
|
void EnableMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<ControllerHardwareSettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "actions/dummyaction.h"
|
#include "actions/dummyaction.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/pushscreenaction.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include <accessorinterface.h>
|
#include <accessorinterface.h>
|
||||||
#include <actioninterface.h>
|
#include <actioninterface.h>
|
||||||
@ -61,8 +61,8 @@ EspNowMenu::EspNowMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SENDTSMSG>, SendBobbycarTimesyncMessageAction, StaticMenuItemIcon<&bobbyicons::time>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SENDTSMSG>, SendBobbycarTimesyncMessageAction, StaticMenuItemIcon<&bobbyicons::time>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_RECEIVETS>, BobbyCheckbox, ReceiveTimeStampAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_RECEIVETS>, BobbyCheckbox, ReceiveTimeStampAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_RECEIVETSFROMBOBBY>, BobbyCheckbox, ReceiveTsFromOtherBobbycarsAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_RECEIVETSFROMBOBBY>, BobbyCheckbox, ReceiveTsFromOtherBobbycarsAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SETTINGS>, SwitchScreenAction<EspNowSettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SETTINGS>, PushScreenAction<EspNowSettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PushScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EspNowMenu::text() const
|
std::string EspNowMenu::text() const
|
||||||
@ -72,5 +72,5 @@ std::string EspNowMenu::text() const
|
|||||||
|
|
||||||
void EspNowMenu::back()
|
void EspNowMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<SettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,13 @@
|
|||||||
#include "espnowsettingsmenu.h"
|
#include "espnowsettingsmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "actions/dummyaction.h"
|
#include "actions/popscreenaction.h"
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include <accessorinterface.h>
|
|
||||||
#include <actioninterface.h>
|
|
||||||
#include <espchrono.h>
|
|
||||||
#include <fmt/core.h>
|
|
||||||
#include <menudisplay.h>
|
|
||||||
#include <textinterface.h>
|
#include <textinterface.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "icons/time.h"
|
|
||||||
#include "espnowmenu.h"
|
|
||||||
#include "bobbycheckbox.h"
|
#include "bobbycheckbox.h"
|
||||||
#include "espnowfunctions.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_ESPNOW_SETTINGS[] = "ESP-Now settings";
|
constexpr char TEXT_ESPNOW_SETTINGS[] = "ESP-Now settings";
|
||||||
@ -29,10 +20,11 @@ constexpr char TEXT_BACK[] = "Back";
|
|||||||
EspNowSettingsMenu::EspNowSettingsMenu()
|
EspNowSettingsMenu::EspNowSettingsMenu()
|
||||||
{
|
{
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCTIME>, BobbyCheckbox, ESPNowSyncTimeEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCTIME>, BobbyCheckbox, ESPNowSyncTimeEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCWITHOTHERS>, BobbyCheckbox, ESPNowSyncTimeWithOthersEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCWITHOTHERS>, BobbyCheckbox, ESPNowSyncTimeWithOthersEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCBLINK>, BobbyCheckbox, ESPNowSyncBlinkEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ESPNOW_SYNCBLINK>, BobbyCheckbox, ESPNowSyncBlinkEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<EspNowMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EspNowSettingsMenu::text() const
|
std::string EspNowSettingsMenu::text() const
|
||||||
@ -42,5 +34,5 @@ std::string EspNowSettingsMenu::text() const
|
|||||||
|
|
||||||
void EspNowSettingsMenu::back()
|
void EspNowSettingsMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<EspNowMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
// local includes
|
// local includes
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/popscreenaction.h"
|
||||||
#include "bobbyerrorhandler.h"
|
#include "bobbyerrorhandler.h"
|
||||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
@ -92,7 +92,7 @@ ExtraButtonCalibrateMenu::ExtraButtonCalibrateMenu()
|
|||||||
constructMenuItem<ButtonCalibrateMenuItem<TEXT_BUTTON_EXTRA3, ButtonExtra3Accessor, Status::WaitingExtra3>>();
|
constructMenuItem<ButtonCalibrateMenuItem<TEXT_BUTTON_EXTRA3, ButtonExtra3Accessor, Status::WaitingExtra3>>();
|
||||||
constructMenuItem<ButtonCalibrateMenuItem<TEXT_BUTTON_EXTRA4, ButtonExtra4Accessor, Status::WaitingExtra4>>();
|
constructMenuItem<ButtonCalibrateMenuItem<TEXT_BUTTON_EXTRA4, ButtonExtra4Accessor, Status::WaitingExtra4>>();
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExtraButtonCalibrateMenu::start()
|
void ExtraButtonCalibrateMenu::start()
|
||||||
@ -249,7 +249,7 @@ std::string ExtraButtonCalibrateMenu::text() const
|
|||||||
|
|
||||||
void ExtraButtonCalibrateMenu::back()
|
void ExtraButtonCalibrateMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<BoardcomputerHardwareSettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ExtraButtonCalibrateMenu::validateNewButton(uint8_t button)
|
bool ExtraButtonCalibrateMenu::validateNewButton(uint8_t button)
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <TFT_eSPI.h>
|
#include <TFT_eSPI.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/popscreenaction.h>
|
||||||
|
#include <actions/pushscreenaction.h>
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
#include <strutils.h>
|
#include <strutils.h>
|
||||||
@ -10,19 +11,38 @@
|
|||||||
// local includes
|
// local includes
|
||||||
#include "bobbycheckbox.h"
|
#include "bobbycheckbox.h"
|
||||||
#include "displays/bobbypopupdisplay.h"
|
#include "displays/bobbypopupdisplay.h"
|
||||||
#include "displays/menus/settingsmenu.h"
|
|
||||||
#include "newsettings.h"
|
#include "newsettings.h"
|
||||||
#include "taskmanager.h"
|
#include "taskmanager.h"
|
||||||
|
#include "bobbyerrorhandler.h"
|
||||||
using namespace espgui;
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr const char * const TAG = "FEATUREFLAGSMENU";
|
constexpr const char * const TAG = "FEATUREFLAGSMENU";
|
||||||
|
|
||||||
constexpr char TEXT_FEATUREFLAGS[] = "Feature Flags";
|
constexpr char TEXT_FEATUREFLAGS[] = "Feature Flags";
|
||||||
constexpr char TEXT_BACK[] = "Back";
|
constexpr char TEXT_BACK[] = "Back";
|
||||||
|
constexpr char TEXT_POPUP[] = "Feature flags have been changed. Please restart the device to apply the changes.";
|
||||||
|
|
||||||
class FeatureFlagMenuItem : public MenuItem, public virtual BobbyErrorHandler {
|
bool isDirty{false};
|
||||||
|
|
||||||
|
void exitFeatureFlagsMenu()
|
||||||
|
{
|
||||||
|
espgui::popScreen();
|
||||||
|
if (isDirty)
|
||||||
|
{
|
||||||
|
BobbyErrorHandler{}.errorOccured(TEXT_POPUP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ExitFeatureFlagsMenuAction : public virtual espgui::ActionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void triggered() override
|
||||||
|
{
|
||||||
|
exitFeatureFlagsMenu();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class FeatureFlagMenuItem : public espgui::MenuItem, public virtual BobbyErrorHandler {
|
||||||
public:
|
public:
|
||||||
explicit FeatureFlagMenuItem(ConfiguredFeatureFlag &flag, bool isInitialized) : m_flag{flag}, m_isInitialized{isInitialized} {}
|
explicit FeatureFlagMenuItem(ConfiguredFeatureFlag &flag, bool isInitialized) : m_flag{flag}, m_isInitialized{isInitialized} {}
|
||||||
std::string text() const override
|
std::string text() const override
|
||||||
@ -58,32 +78,24 @@ public:
|
|||||||
{
|
{
|
||||||
if (auto result = m_flag.isEnabled.write(configs.nvs_handle_user, !m_flag.isEnabled.value()); !result)
|
if (auto result = m_flag.isEnabled.write(configs.nvs_handle_user, !m_flag.isEnabled.value()); !result)
|
||||||
errorOccured(std::move(result).error());
|
errorOccured(std::move(result).error());
|
||||||
|
else
|
||||||
|
isDirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const MenuItemIcon *icon() const override
|
const espgui::MenuItemIcon *icon() const override
|
||||||
{
|
{
|
||||||
return m_flag.isEnabled.value() ? &icons::checked : &icons::unchecked;
|
return m_flag.isEnabled.value() ? &espgui::icons::checked : &espgui::icons::unchecked;
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
ConfiguredFeatureFlag &m_flag;
|
ConfiguredFeatureFlag &m_flag;
|
||||||
const bool m_isInitialized;
|
const bool m_isInitialized;
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: Replace SwitchScreenAction / switchScreen with this action. Needs: BobbyPopupDisplayWithCustomExitAction => pass SwitchScreenAction<SettingsMenu> into it
|
|
||||||
|
|
||||||
class ExitFeatureFlagsMenuAction : public virtual ActionInterface {
|
|
||||||
public:
|
|
||||||
void triggered() override {
|
|
||||||
auto newDisplay = std::make_unique<BobbyPopupDisplay>(std::move("Please reboot if you have changed something"), std::move(espgui::currentDisplay));
|
|
||||||
newDisplay->initOverlay();
|
|
||||||
espgui::currentDisplay = std::move(newDisplay);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
FeatureFlagsMenu::FeatureFlagsMenu()
|
FeatureFlagsMenu::FeatureFlagsMenu()
|
||||||
{
|
{
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
configs.callForEveryFeature([&](ConfiguredFeatureFlag &feature){
|
configs.callForEveryFeature([&](ConfiguredFeatureFlag &feature){
|
||||||
const std::string name = feature.getTaskName();
|
const std::string name = feature.getTaskName();
|
||||||
if (const auto err = checkInitializedByName(name); err)
|
if (const auto err = checkInitializedByName(name); err)
|
||||||
@ -93,7 +105,13 @@ FeatureFlagsMenu::FeatureFlagsMenu()
|
|||||||
else
|
else
|
||||||
constructMenuItem<FeatureFlagMenuItem>(feature, true);
|
constructMenuItem<FeatureFlagMenuItem>(feature, true);
|
||||||
});
|
});
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, ExitFeatureFlagsMenuAction>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FeatureFlagsMenu::start()
|
||||||
|
{
|
||||||
|
Base::start();
|
||||||
|
isDirty = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string FeatureFlagsMenu::text() const
|
std::string FeatureFlagsMenu::text() const
|
||||||
@ -103,5 +121,6 @@ std::string FeatureFlagsMenu::text() const
|
|||||||
|
|
||||||
void FeatureFlagsMenu::back()
|
void FeatureFlagsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<SettingsMenu>();
|
exitFeatureFlagsMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,8 +5,10 @@
|
|||||||
|
|
||||||
class FeatureFlagsMenu : public bobbygui::MenuDisplayWithTime
|
class FeatureFlagsMenu : public bobbygui::MenuDisplayWithTime
|
||||||
{
|
{
|
||||||
|
using Base = bobbygui::MenuDisplayWithTime;
|
||||||
public:
|
public:
|
||||||
FeatureFlagsMenu();
|
FeatureFlagsMenu();
|
||||||
|
void start() override;
|
||||||
|
|
||||||
std::string text() const override;
|
std::string text() const override;
|
||||||
|
|
||||||
|
70
main/displays/menus/gitmenu.cpp
Normal file
70
main/displays/menus/gitmenu.cpp
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#include "gitmenu.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <actions/dummyaction.h>
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
|
#include <fmt/core.h>
|
||||||
|
#include <icons/back.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "bobbyerrorhandler.h"
|
||||||
|
#include "displays/qrdisplay.h"
|
||||||
|
#include "icons/info.h"
|
||||||
|
#include "icons/modes.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
constexpr char TEXT_GIT[] = "Git";
|
||||||
|
constexpr char TEXT_GIT_BRANCH_TITLE[] = "Branch";
|
||||||
|
constexpr char TEXT_GIT_BRANCH[] = GIT_BRANCH;
|
||||||
|
constexpr char TEXT_GIT_COMMIT_TITLE[] = "Commit";
|
||||||
|
constexpr char TEXT_GIT_COMMIT[] = GIT_REV;
|
||||||
|
constexpr char TEXT_GIT_COMMIT_SHORT[] = GIT_SHORT_REV;
|
||||||
|
constexpr char TEXT_GIT_MESSAGE_TITLE[] = "Commit Message";
|
||||||
|
constexpr char TEXT_GIT_MESSAGE[] = GIT_MESSAGE;
|
||||||
|
constexpr char TEXT_GITHUB_URL[] = "Github URL";
|
||||||
|
constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
|
class OpenPopupAction : public virtual espgui::ActionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void triggered() override
|
||||||
|
{
|
||||||
|
BobbyErrorHandler{}.errorOccured(TEXT_GIT_MESSAGE);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class GitQrAction : public virtual espgui::ActionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void triggered() override
|
||||||
|
{
|
||||||
|
// ToDo: Fix qr library and remove spaces, also, why is "`" at the end of string in qr code but not when logging?
|
||||||
|
const std::string qr_text = fmt::format("https://github.com/bobbycar-graz/bobbycar-boardcomputer-firmware/commit/{} ", GIT_REV);
|
||||||
|
espgui::pushScreen<QrDisplay>(qr_text);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
GitMenu::GitMenu()
|
||||||
|
{
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_BRANCH_TITLE>, StaticColor<TFT_GREY>, StaticFont<2>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_BRANCH>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT_TITLE>, StaticColor<TFT_GREY>, StaticFont<2>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT>, DummyAction, StaticFont<2>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_COMMIT_SHORT>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT_MESSAGE_TITLE>, OpenPopupAction, StaticMenuItemIcon<&bobbyicons::info>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GITHUB_URL>, GitQrAction, StaticMenuItemIcon<&bobbyicons::modes>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string GitMenu::text() const
|
||||||
|
{
|
||||||
|
return TEXT_GIT;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GitMenu::back()
|
||||||
|
{
|
||||||
|
espgui::popScreen();
|
||||||
|
}
|
14
main/displays/menus/gitmenu.h
Normal file
14
main/displays/menus/gitmenu.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "displays/menudisplaywithtime.h"
|
||||||
|
|
||||||
|
class GitMenu : public bobbygui::MenuDisplayWithTime
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
GitMenu();
|
||||||
|
|
||||||
|
std::string text() const override;
|
||||||
|
|
||||||
|
void back() override;
|
||||||
|
};
|
@ -1,22 +1,19 @@
|
|||||||
#include "greenpassmenu.h"
|
#include "greenpassmenu.h"
|
||||||
|
|
||||||
// 3rd party includes
|
// 3rdparty lib includes
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
|
#include <actions/pushscreenaction.h>
|
||||||
#include <esp_err.h>
|
#include <esp_err.h>
|
||||||
#include <esp_log.h>
|
#include <esp_log.h>
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
#include "actions/pushscreenaction.h"
|
#include <icons/back.h>
|
||||||
#include "actions/popscreenaction.h"
|
|
||||||
#include "actions/dummyaction.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "actions/qraction.h"
|
#include "actions/qraction.h"
|
||||||
|
#include "bobbycheckbox.h"
|
||||||
#include "displays/qrdisplay.h"
|
#include "displays/qrdisplay.h"
|
||||||
#include "displays/qrimportdisplay.h"
|
#include "displays/qrimportdisplay.h"
|
||||||
#include "qrimport.h"
|
#include "qrimport.h"
|
||||||
#include "bobbycheckbox.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_GREENPASS[] = "Green Pass";
|
constexpr char TEXT_GREENPASS[] = "Green Pass";
|
||||||
@ -53,7 +50,7 @@ public:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
espgui::pushScreen<QrDisplay<GreenPassMenu>>(m_qrmenu.message);
|
espgui::pushScreen<QrDisplay>(m_qrmenu.message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
@ -84,7 +81,7 @@ GreenPassMenu::GreenPassMenu()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponentArgs<MenuItem, SwitchQrImportDisplayAction<GreenPassMenu>, StaticText<TEXT_ADDCERT>>>(std::move(nvs_key));
|
constructMenuItem<makeComponentArgs<MenuItem, PushQrImportDisplayAction<GreenPassMenu>, StaticText<TEXT_ADDCERT>>>(std::move(nvs_key));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
#include "handbremssettingsmenu.h"
|
#include "handbremssettingsmenu.h"
|
||||||
|
|
||||||
// 3rd party libs
|
// 3rd party libs
|
||||||
#include <fmt/core.h>
|
#include <actions/popscreenaction.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/pushscreenaction.h>
|
||||||
#include <changevaluedisplay.h>
|
#include <changevaluedisplay.h>
|
||||||
|
#include <fmt/core.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
#include <textwithvaluehelper.h>
|
#include <textwithvaluehelper.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "bobbycheckbox.h"
|
||||||
|
#include "changevaluedisplay_handbremsmode.h"
|
||||||
#include "displays/bobbychangevaluedisplay.h"
|
#include "displays/bobbychangevaluedisplay.h"
|
||||||
#include "displays/menus/typesafeenumchangemenu.h"
|
#include "displays/menus/typesafeenumchangemenu.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
|
||||||
#include "changevaluedisplay_handbremsmode.h"
|
|
||||||
#include "displays/menus/defaultmodesettingsmenu.h"
|
|
||||||
#include "bobbycheckbox.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_HANDBREMSE_ENABLE[] = "Enable Handbremse";
|
constexpr char TEXT_HANDBREMSE_ENABLE[] = "Enable Handbremse";
|
||||||
@ -28,8 +28,8 @@ using HandBremsTriggerTimeoutChangeValueDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint16_t>,
|
BobbyChangeValueDisplay<uint16_t>,
|
||||||
espgui::StaticText<TEXT_HANDBREMSE_TRIGGERTIMEOUT>,
|
espgui::StaticText<TEXT_HANDBREMSE_TRIGGERTIMEOUT>,
|
||||||
HandbremsTimeoutAccessor,
|
HandbremsTimeoutAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,8 +40,8 @@ HandbremsSettingsMenu::HandbremsSettingsMenu()
|
|||||||
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<PushScreenTypeSafeChangeMenuItem<HandbremseMode, 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>, PushScreenAction<HandBremsTriggerTimeoutChangeValueDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DefaultModeSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string HandbremsSettingsMenu::text() const
|
std::string HandbremsSettingsMenu::text() const
|
||||||
@ -51,5 +51,5 @@ std::string HandbremsSettingsMenu::text() const
|
|||||||
|
|
||||||
void HandbremsSettingsMenu::back()
|
void HandbremsSettingsMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<DefaultModeSettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
#include "invertmenu.h"
|
#include "invertmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "displays/menus/controllerhardwaresettingsmenu.h"
|
#include "actions/popscreenaction.h"
|
||||||
#include "bobbycheckbox.h"
|
#include "bobbycheckbox.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_SETINVERTED[] = "Set inverted";
|
constexpr char TEXT_SETINVERTED[] = "Set inverted";
|
||||||
@ -25,7 +22,7 @@ InvertMenu::InvertMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTFRONTRIGHT>, BobbyCheckbox, FrontRightInvertedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTFRONTRIGHT>, BobbyCheckbox, FrontRightInvertedAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTBACKLEFT>, BobbyCheckbox, BackLeftInvertedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTBACKLEFT>, BobbyCheckbox, BackLeftInvertedAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTBACKRIGHT>, BobbyCheckbox, BackRightInvertedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_INVERTBACKRIGHT>, BobbyCheckbox, BackRightInvertedAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ControllerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string InvertMenu::text() const
|
std::string InvertMenu::text() const
|
||||||
@ -35,5 +32,5 @@ std::string InvertMenu::text() const
|
|||||||
|
|
||||||
void InvertMenu::back()
|
void InvertMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<ControllerHardwareSettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
#include "lockscreensettingsmenu.h"
|
#include "lockscreensettingsmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <menuitem.h>
|
#include <actions/popscreenaction.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/pushscreenaction.h>
|
||||||
#include <icons/back.h>
|
|
||||||
#include <changevaluedisplay.h>
|
#include <changevaluedisplay.h>
|
||||||
|
#include <icons/back.h>
|
||||||
|
#include <menuitem.h>
|
||||||
#include <textwithvaluehelper.h>
|
#include <textwithvaluehelper.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "bobbycheckbox.h"
|
||||||
#include "displays/bobbychangevaluedisplay.h"
|
#include "displays/bobbychangevaluedisplay.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
|
||||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
|
||||||
#include "bobbycheckbox.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings";
|
constexpr char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings";
|
||||||
@ -28,32 +28,32 @@ using LockscreenPinDigit0ChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int8_t>,
|
BobbyChangeValueDisplay<int8_t>,
|
||||||
espgui::StaticText<TEXT_PINDIGIT0>,
|
espgui::StaticText<TEXT_PINDIGIT0>,
|
||||||
LockscreenPinDigitAccessor<0>,
|
LockscreenPinDigitAccessor<0>,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using LockscreenPinDigit1ChangeScreen = espgui::makeComponent<
|
using LockscreenPinDigit1ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int8_t>,
|
BobbyChangeValueDisplay<int8_t>,
|
||||||
espgui::StaticText<TEXT_PINDIGIT1>,
|
espgui::StaticText<TEXT_PINDIGIT1>,
|
||||||
LockscreenPinDigitAccessor<1>,
|
LockscreenPinDigitAccessor<1>,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using LockscreenPinDigit2ChangeScreen = espgui::makeComponent<
|
using LockscreenPinDigit2ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int8_t>,
|
BobbyChangeValueDisplay<int8_t>,
|
||||||
espgui::StaticText<TEXT_PINDIGIT2>,
|
espgui::StaticText<TEXT_PINDIGIT2>,
|
||||||
LockscreenPinDigitAccessor<2>,
|
LockscreenPinDigitAccessor<2>,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using LockscreenPinDigit3ChangeScreen = espgui::makeComponent<
|
using LockscreenPinDigit3ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int8_t>,
|
BobbyChangeValueDisplay<int8_t>,
|
||||||
espgui::StaticText<TEXT_PINDIGIT3>,
|
espgui::StaticText<TEXT_PINDIGIT3>,
|
||||||
LockscreenPinDigitAccessor<3>,
|
LockscreenPinDigitAccessor<3>,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@ -62,11 +62,11 @@ LockscreenSettingsMenu::LockscreenSettingsMenu()
|
|||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ALLOWPRESETSWITCH>, BobbyCheckbox, LockscreenAllowPresetSwitchAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ALLOWPRESETSWITCH>, BobbyCheckbox, LockscreenAllowPresetSwitchAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_KEEPLOCKED>, BobbyCheckbox, LockscreenKeepLockedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_KEEPLOCKED>, BobbyCheckbox, LockscreenKeepLockedAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT0, LockscreenPinDigitAccessor<0>>, SwitchScreenAction<LockscreenPinDigit0ChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT0, LockscreenPinDigitAccessor<0>>, PushScreenAction<LockscreenPinDigit0ChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT1, LockscreenPinDigitAccessor<1>>, SwitchScreenAction<LockscreenPinDigit1ChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT1, LockscreenPinDigitAccessor<1>>, PushScreenAction<LockscreenPinDigit1ChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT2, LockscreenPinDigitAccessor<2>>, SwitchScreenAction<LockscreenPinDigit2ChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT2, LockscreenPinDigitAccessor<2>>, PushScreenAction<LockscreenPinDigit2ChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT3, LockscreenPinDigitAccessor<3>>, SwitchScreenAction<LockscreenPinDigit3ChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_PINDIGIT3, LockscreenPinDigitAccessor<3>>, PushScreenAction<LockscreenPinDigit3ChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string LockscreenSettingsMenu::text() const
|
std::string LockscreenSettingsMenu::text() const
|
||||||
@ -76,5 +76,5 @@ std::string LockscreenSettingsMenu::text() const
|
|||||||
|
|
||||||
void LockscreenSettingsMenu::back()
|
void LockscreenSettingsMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
#include <TFT_eSPI.h>
|
#include <TFT_eSPI.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/pushscreenaction.h"
|
||||||
|
#include "actions/popscreenaction.h"
|
||||||
#include "bobbyerrorhandler.h"
|
#include "bobbyerrorhandler.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "mainmenu.h"
|
#include "mainmenu.h"
|
||||||
@ -220,7 +221,7 @@ ManageProfilesMenu::ManageProfilesMenu()
|
|||||||
constructMenuItem<ManageProfileMenuItem>(*this, i);
|
constructMenuItem<ManageProfileMenuItem>(*this, i);
|
||||||
}
|
}
|
||||||
constructMenuItem<ManageProfileModeMenuItem>(*this);
|
constructMenuItem<ManageProfileModeMenuItem>(*this);
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, espgui::PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ManageProfilesMenu::start()
|
void ManageProfilesMenu::start()
|
||||||
@ -246,7 +247,7 @@ void ManageProfilesMenu::back()
|
|||||||
{
|
{
|
||||||
if (!m_locked && m_firstIndex == -1)
|
if (!m_locked && m_firstIndex == -1)
|
||||||
{
|
{
|
||||||
switchScreen<MainMenu>();
|
espgui::popScreen();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
#include "mickmodesettingsmenu.h"
|
#include "mickmodesettingsmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "changevaluedisplay.h"
|
#include <actions/popscreenaction.h>
|
||||||
#include "menuitem.h"
|
#include <actions/pushscreenaction.h>
|
||||||
#include "actions/switchscreenaction.h"
|
#include <changevaluedisplay.h>
|
||||||
#include "icons/back.h"
|
#include <icons/back.h>
|
||||||
|
#include <menuitem.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "displays/bobbychangevaluedisplay.h"
|
|
||||||
#include "utils.h"
|
|
||||||
#include "changevaluedisplay_unifiedmodelmode.h"
|
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "displays/menus/modessettingsmenu.h"
|
#include "changevaluedisplay_unifiedmodelmode.h"
|
||||||
|
#include "displays/bobbychangevaluedisplay.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_MICKMODESETTINGS[] = "Mick mode settings";
|
constexpr char TEXT_MICKMODESETTINGS[] = "Mick mode settings";
|
||||||
@ -23,25 +22,25 @@ using MickModeModelModeChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<UnifiedModelMode>,
|
BobbyChangeValueDisplay<UnifiedModelMode>,
|
||||||
espgui::StaticText<TEXT_MODELMODE>,
|
espgui::StaticText<TEXT_MODELMODE>,
|
||||||
MickModeModelModeAccessor,
|
MickModeModelModeAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MickModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<MickModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using MickModeSmoothingChangeDisplay = espgui::makeComponent<
|
using MickModeSmoothingChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint16_t>,
|
BobbyChangeValueDisplay<uint16_t>,
|
||||||
espgui::StaticText<TEXT_MICKMODE_SMOOTHING>,
|
espgui::StaticText<TEXT_MICKMODE_SMOOTHING>,
|
||||||
MickModeSmoothingAccessor,
|
MickModeSmoothingAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MickModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<MickModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
using namespace espgui;
|
|
||||||
|
|
||||||
MickModeSettingsMenu::MickModeSettingsMenu()
|
MickModeSettingsMenu::MickModeSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<MickModeModelModeChangeDisplay>>>();
|
using namespace espgui;
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICKMODE_SMOOTHING>, SwitchScreenAction<MickModeSmoothingChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<MickModeModelModeChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICKMODE_SMOOTHING>, PushScreenAction<MickModeSmoothingChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string MickModeSettingsMenu::text() const
|
std::string MickModeSettingsMenu::text() const
|
||||||
@ -51,5 +50,5 @@ std::string MickModeSettingsMenu::text() const
|
|||||||
|
|
||||||
void MickModeSettingsMenu::back()
|
void MickModeSettingsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<ModesSettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
#include "modessettingsmenu.h"
|
#include "modessettingsmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "menuitem.h"
|
#include <actions/pushscreenaction.h>
|
||||||
#include "actions/switchscreenaction.h"
|
#include <icons/back.h>
|
||||||
#include "icons/back.h"
|
#include <menuitem.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "displays/menus/defaultmodesettingsmenu.h"
|
#include "displays/menus/defaultmodesettingsmenu.h"
|
||||||
#include "displays/menus/tempomatmodesettingsmenu.h"
|
|
||||||
#include "displays/menus/larsmmodesettingsmenu.h"
|
|
||||||
#include "displays/menus/gametrakmodesettingsmenu.h"
|
#include "displays/menus/gametrakmodesettingsmenu.h"
|
||||||
#include "displays/menus/settingsmenu.h"
|
#include "displays/menus/larsmmodesettingsmenu.h"
|
||||||
|
#include "displays/menus/tempomatmodesettingsmenu.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_MODESSETTINGS[] = "Modes settings";
|
constexpr char TEXT_MODESSETTINGS[] = "Modes settings";
|
||||||
@ -24,13 +23,13 @@ constexpr char TEXT_BACK[] = "Back";
|
|||||||
ModesSettingsMenu::ModesSettingsMenu()
|
ModesSettingsMenu::ModesSettingsMenu()
|
||||||
{
|
{
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULTMODESETTIGNS>, SwitchScreenAction<DefaultModeSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULTMODESETTIGNS>, PushScreenAction<DefaultModeSettingsMenu>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TEMPOMATMODESETTINGS>, SwitchScreenAction<TempomatModeSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TEMPOMATMODESETTINGS>, PushScreenAction<TempomatModeSettingsMenu>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSMMODESETTINGS>, SwitchScreenAction<LarsmModeSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSMMODESETTINGS>, PushScreenAction<LarsmModeSettingsMenu>>>();
|
||||||
#ifdef FEATURE_GAMETRAK
|
#ifdef FEATURE_GAMETRAK
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAKMODESETTINGS>, SwitchScreenAction<GametrakModeSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAKMODESETTINGS>, SwitchScreenAction<GametrakModeSettingsMenu>>>();
|
||||||
#endif
|
#endif
|
||||||
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 ModesSettingsMenu::text() const
|
std::string ModesSettingsMenu::text() const
|
||||||
@ -40,5 +39,5 @@ std::string ModesSettingsMenu::text() const
|
|||||||
|
|
||||||
void ModesSettingsMenu::back()
|
void ModesSettingsMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<SettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,8 @@
|
|||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <actions/dummyaction.h>
|
#include <actions/dummyaction.h>
|
||||||
#include <actions/pushscreenaction.h>
|
|
||||||
#include <actions/popscreenaction.h>
|
#include <actions/popscreenaction.h>
|
||||||
#include <icons/back.h>
|
#include <actions/pushscreenaction.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>
|
||||||
@ -14,11 +12,8 @@
|
|||||||
// local includes
|
// local includes
|
||||||
#include "displays/qrdisplay.h"
|
#include "displays/qrdisplay.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "utils.h"
|
|
||||||
#include "settingsmenu.h"
|
|
||||||
#include "wifistasettingsmenu.h"
|
|
||||||
#include "wifiapsettingsmenu.h"
|
|
||||||
#include "texthelpers/networktexthelpers.h"
|
#include "texthelpers/networktexthelpers.h"
|
||||||
|
#include "utils.h"
|
||||||
#include "wifiapsettingsmenu.h"
|
#include "wifiapsettingsmenu.h"
|
||||||
#include "wifistasettingsmenu.h"
|
#include "wifistasettingsmenu.h"
|
||||||
|
|
||||||
@ -58,5 +53,5 @@ void NetworkSettingsMenu::back()
|
|||||||
void NetworkAccessPointQRAction::triggered()
|
void NetworkAccessPointQRAction::triggered()
|
||||||
{
|
{
|
||||||
std::string qr = fmt::format("WIFI:T:{};S:{};P:{};H:;", get_wifi_security_string(configs.wifiApAuthmode.value()), configs.wifiApName.value(), configs.wifiApKey.value());
|
std::string qr = fmt::format("WIFI:T:{};S:{};P:{};H:;", get_wifi_security_string(configs.wifiApAuthmode.value()), configs.wifiApName.value(), configs.wifiApKey.value());
|
||||||
espgui::switchScreen<QrDisplay<NetworkSettingsMenu>>(qr);
|
espgui::pushScreen<QrDisplay>(qr);
|
||||||
}
|
}
|
||||||
|
@ -61,19 +61,19 @@ using namespace espgui;
|
|||||||
|
|
||||||
SelectModeMenu::SelectModeMenu()
|
SelectModeMenu::SelectModeMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULT>, MultiAction<SetDefaultModeAction, PushScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULT>, MultiAction<SetDefaultModeAction, PopScreenAction>>>();
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_TEMPOMAT, AvgSpeedAccessor>, MultiAction<SetTempomatModeAction, PushScreenAction<MainMenu>>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_TEMPOMAT, AvgSpeedAccessor>, MultiAction<SetTempomatModeAction, PopScreenAction>>>(); }
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSM>, MultiAction<SetLarsmModeAction, PushScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSM>, MultiAction<SetLarsmModeAction, PopScreenAction>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICK>, MultiAction<SetMickModeAction, PushScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICK>, MultiAction<SetMickModeAction, PopScreenAction>>>();
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REMOTECONTROL>, MultiAction<SetRemoteControlModeAction, PushScreenAction<MainMenu>>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REMOTECONTROL>, MultiAction<SetRemoteControlModeAction, PopScreenAction>>>(); }
|
||||||
#ifdef FEATURE_GAMETRAK
|
#ifdef FEATURE_GAMETRAK
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAK>, MultiAction<SetGametrakModeAction, PopScreenAction>>>();
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAK>, MultiAction<SetGametrakModeAction, PopScreenAction>>>(); }
|
||||||
#endif
|
#endif
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTEST>, MultiAction<SetMotorTestModeAction, PushScreenAction<MainMenu>>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTEST>, MultiAction<SetMotorTestModeAction, PopScreenAction>>>(); }
|
||||||
#ifdef FEATURE_JOYSTICK
|
#ifdef FEATURE_JOYSTICK
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELCHAIR>, MultiAction<SetWheelchairModeAction, PushScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELCHAIR>, MultiAction<SetWheelchairModeAction, PopScreenAction>>>();
|
||||||
#endif
|
#endif
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PushScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string SelectModeMenu::text() const
|
std::string SelectModeMenu::text() const
|
||||||
@ -114,5 +114,5 @@ void SelectModeMenu::start()
|
|||||||
|
|
||||||
void SelectModeMenu::back()
|
void SelectModeMenu::back()
|
||||||
{
|
{
|
||||||
popScreen();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,22 @@
|
|||||||
#include "selectotabuildmenu.h"
|
#include "selectotabuildmenu.h"
|
||||||
|
|
||||||
#include <espwifistack.h>
|
// 3rdparty lib includes
|
||||||
|
#include <fmt/core.h>
|
||||||
#include <TFT_eSPI.h>
|
#include <TFT_eSPI.h>
|
||||||
#include "esp_log.h"
|
#include <espwifistack.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"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/popscreenaction.h"
|
||||||
|
#include "actions/pushscreenaction.h"
|
||||||
#include "bobbyerrorhandler.h"
|
#include "bobbyerrorhandler.h"
|
||||||
#include "buildserver.h"
|
#include "buildserver.h"
|
||||||
#include "displays/menus/otamenu.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
#include "buildserver.h"
|
#include "buildserver.h"
|
||||||
#include "utils.h"
|
#include "displays/menus/otamenu.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
|
#include "icons/back.h"
|
||||||
#include "newsettings.h"
|
#include "newsettings.h"
|
||||||
|
#include "utils.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>>()
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include "displays/menus/crashmenu.h"
|
#include "displays/menus/crashmenu.h"
|
||||||
#include "displays/menus/espnowmenu.h"
|
#include "displays/menus/espnowmenu.h"
|
||||||
#include "displays/menus/featureflagsmenu.h"
|
#include "displays/menus/featureflagsmenu.h"
|
||||||
|
#include "displays/menus/gitmenu.h"
|
||||||
#include "displays/menus/limitssettingsmenu.h"
|
#include "displays/menus/limitssettingsmenu.h"
|
||||||
#include "displays/menus/mainmenu.h"
|
#include "displays/menus/mainmenu.h"
|
||||||
#include "displays/menus/modessettingsmenu.h"
|
#include "displays/menus/modessettingsmenu.h"
|
||||||
@ -33,6 +34,7 @@
|
|||||||
#include "icons/bluetooth.h"
|
#include "icons/bluetooth.h"
|
||||||
#include "icons/buzzer.h"
|
#include "icons/buzzer.h"
|
||||||
#include "icons/demos.h"
|
#include "icons/demos.h"
|
||||||
|
#include "icons/git.h"
|
||||||
#include "icons/hardware.h"
|
#include "icons/hardware.h"
|
||||||
#include "icons/info.h"
|
#include "icons/info.h"
|
||||||
#include "icons/time.h"
|
#include "icons/time.h"
|
||||||
@ -64,6 +66,7 @@ constexpr char TEXT_FRONTLED[] = "Front LED";
|
|||||||
constexpr char TEXT_BACKLED[] = "Back LED";
|
constexpr char TEXT_BACKLED[] = "Back LED";
|
||||||
constexpr char TEXT_CRASHMENU[] = "Crash Menu";
|
constexpr char TEXT_CRASHMENU[] = "Crash Menu";
|
||||||
constexpr char TEXT_ABOUT[] = "About";
|
constexpr char TEXT_ABOUT[] = "About";
|
||||||
|
constexpr char TEXT_GIT[] = "Git";
|
||||||
constexpr char TEXT_BACK[] = "Back";
|
constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
#ifdef FEATURE_LEDBACKLIGHT
|
#ifdef FEATURE_LEDBACKLIGHT
|
||||||
@ -126,6 +129,7 @@ SettingsMenu::SettingsMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, BobbyCheckbox, BackLedAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACKLED>, BobbyCheckbox, BackLedAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, PushScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CRASHMENU>, PushScreenAction<CrashMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, PushScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ABOUT>, PushScreenAction<AboutMenu>, StaticMenuItemIcon<&bobbyicons::info>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GIT>, PushScreenAction<GitMenu>, StaticMenuItemIcon<&bobbyicons::git>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,15 +4,13 @@
|
|||||||
#include <textwithvaluehelper.h>
|
#include <textwithvaluehelper.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "displays/bobbychangevaluedisplay.h"
|
#include "actions/popscreenaction.h"
|
||||||
#include "changevaluedisplay_bobbyquickactions.h"
|
#include "actions/pushscreenaction.h"
|
||||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
#include "bobbyquickactions.h"
|
#include "bobbyquickactions.h"
|
||||||
|
#include "changevaluedisplay_bobbyquickactions.h"
|
||||||
using namespace espgui;
|
#include "displays/bobbychangevaluedisplay.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_SETUPQUICKACTIONS[] = "Setup QuickActions";
|
constexpr char TEXT_SETUPQUICKACTIONS[] = "Setup QuickActions";
|
||||||
@ -26,27 +24,29 @@ constexpr char TEXT_SETUPEXTRA3[] = "&sSetup Extra3";
|
|||||||
constexpr char TEXT_SETUPEXTRA4[] = "&sSetup Extra4";
|
constexpr char TEXT_SETUPEXTRA4[] = "&sSetup Extra4";
|
||||||
constexpr char TEXT_BACK[] = "Back";
|
constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
template<typename Tvalue, const char* TEXT, typename Accessor, typename Screen>
|
template<typename Tvalue, const char* TEXT, typename Accessor>
|
||||||
using QuickActionChangeValueDisplay = espgui::makeComponent<
|
using QuickActionChangeValueDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<Tvalue>,
|
BobbyChangeValueDisplay<Tvalue>,
|
||||||
espgui::StaticText<TEXT>,
|
espgui::StaticText<TEXT>,
|
||||||
Accessor,
|
Accessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<Screen>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<Screen>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
SetupQuickActionsMenu::SetupQuickActionsMenu()
|
SetupQuickActionsMenu::SetupQuickActionsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPLEFT2, QuickActionLeft2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPLEFT2, QuickActionLeft2Accessor, SetupQuickActionsMenu>>>>();
|
using namespace espgui;
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPRIGHT2, QuickActionRight2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPRIGHT2, QuickActionRight2Accessor, SetupQuickActionsMenu>>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPUP2, QuickActionUp2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPUP2, QuickActionUp2Accessor, SetupQuickActionsMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPLEFT2, QuickActionLeft2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPLEFT2, QuickActionLeft2Accessor>>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPDOWN2, QuickActionDown2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPDOWN2, QuickActionDown2Accessor, SetupQuickActionsMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPRIGHT2, QuickActionRight2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPRIGHT2, QuickActionRight2Accessor>>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA1, QuickActionExtra1Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA1, QuickActionExtra1Accessor, SetupQuickActionsMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPUP2, QuickActionUp2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPUP2, QuickActionUp2Accessor>>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA2, QuickActionExtra2Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA2, QuickActionExtra2Accessor, SetupQuickActionsMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPDOWN2, QuickActionDown2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPDOWN2, QuickActionDown2Accessor>>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA3, QuickActionExtra3Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA3, QuickActionExtra3Accessor, SetupQuickActionsMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA1, QuickActionExtra1Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA1, QuickActionExtra1Accessor>>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA4, QuickActionExtra4Accessor>, SwitchScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA4, QuickActionExtra4Accessor, SetupQuickActionsMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA2, QuickActionExtra2Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA2, QuickActionExtra2Accessor>>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA3, QuickActionExtra3Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA3, QuickActionExtra3Accessor>>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SETUPEXTRA4, QuickActionExtra4Accessor>, PushScreenAction<QuickActionChangeValueDisplay<BobbyQuickActions, TEXT_SETUPEXTRA4, QuickActionExtra4Accessor>>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string SetupQuickActionsMenu::text() const
|
std::string SetupQuickActionsMenu::text() const
|
||||||
@ -56,5 +56,5 @@ std::string SetupQuickActionsMenu::text() const
|
|||||||
|
|
||||||
void SetupQuickActionsMenu::back()
|
void SetupQuickActionsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<BoardcomputerHardwareSettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
#include "timersmenu.h"
|
#include "timersmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#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"
|
||||||
|
|
||||||
@ -19,16 +20,16 @@ using StatsUpdateRateChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_STATSUPDATERATE>,
|
espgui::StaticText<TEXT_STATSUPDATERATE>,
|
||||||
StatsUpdateRateAccessor,
|
StatsUpdateRateAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimersMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimersMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
TimersMenu::TimersMenu()
|
TimersMenu::TimersMenu()
|
||||||
{
|
{
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSUPDATERATE>, SwitchScreenAction<StatsUpdateRateChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSUPDATERATE>, espgui::PushScreenAction<StatsUpdateRateChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, espgui::PushScreenAction<BoardcomputerHardwareSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string TimersMenu::text() const
|
std::string TimersMenu::text() const
|
||||||
@ -38,5 +39,5 @@ std::string TimersMenu::text() const
|
|||||||
|
|
||||||
void TimersMenu::back()
|
void TimersMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,8 @@
|
|||||||
#include "changevaluedisplay_daylightsavingmode.h"
|
#include "changevaluedisplay_daylightsavingmode.h"
|
||||||
#include "changevaluedisplay_sntp_sync_mode_t.h"
|
#include "changevaluedisplay_sntp_sync_mode_t.h"
|
||||||
#include "changevaluedisplay_string.h"
|
#include "changevaluedisplay_string.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 "espstrutils.h"
|
#include "espstrutils.h"
|
||||||
@ -71,40 +72,40 @@ using TimezoneOffsetChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int32_t>,
|
BobbyChangeValueDisplay<int32_t>,
|
||||||
espgui::StaticText<TEXT_OFFSET>,
|
espgui::StaticText<TEXT_OFFSET>,
|
||||||
TimezoneOffsetAccessor,
|
TimezoneOffsetAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using DaylightSavingModeChangeDisplay = espgui::makeComponent<
|
using DaylightSavingModeChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<espchrono::DayLightSavingMode>,
|
BobbyChangeValueDisplay<espchrono::DayLightSavingMode>,
|
||||||
espgui::StaticText<TEXT_DAYLIGHTSAVINGMODE>,
|
espgui::StaticText<TEXT_DAYLIGHTSAVINGMODE>,
|
||||||
DaylightSavingModeAccessor,
|
DaylightSavingModeAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using TimeServerChangeDisplay = espgui::makeComponent<
|
using TimeServerChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<std::string>,
|
BobbyChangeValueDisplay<std::string>,
|
||||||
espgui::StaticText<TEXT_NTPSERVER>,
|
espgui::StaticText<TEXT_NTPSERVER>,
|
||||||
TimeServerAccessor,
|
TimeServerAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using TimeSyncModeChangeDisplay = espgui::makeComponent<
|
using TimeSyncModeChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<sntp_sync_mode_t>,
|
BobbyChangeValueDisplay<sntp_sync_mode_t>,
|
||||||
espgui::StaticText<TEXT_NTPMODE>,
|
espgui::StaticText<TEXT_NTPMODE>,
|
||||||
TimeSyncModeAccessor,
|
TimeSyncModeAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using TimeSyncIntervalChangeDisplay = espgui::makeComponent<
|
using TimeSyncIntervalChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int32_t>,
|
BobbyChangeValueDisplay<int32_t>,
|
||||||
espgui::StaticText<TEXT_NTPINTERVAL>,
|
espgui::StaticText<TEXT_NTPINTERVAL>,
|
||||||
TimeSyncIntervalAccessor,
|
TimeSyncIntervalAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
class NtpSyncStatusText : public virtual espgui::TextInterface
|
class NtpSyncStatusText : public virtual espgui::TextInterface
|
||||||
@ -123,17 +124,17 @@ TimeSettingsMenu::TimeSettingsMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, CurrentUtcDateTimeText, StaticFont<2>, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CurrentUtcDateTimeText, StaticFont<2>, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, CurrentLocalDateTimeText, StaticFont<2>, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, CurrentLocalDateTimeText, StaticFont<2>, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, SuntimeText, StaticFont<2>, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, SuntimeText, StaticFont<2>, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OFFSET>, SwitchScreenAction<TimezoneOffsetChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OFFSET>, PushScreenAction<TimezoneOffsetChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DAYLIGHTSAVINGMODE>, SwitchScreenAction<DaylightSavingModeChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DAYLIGHTSAVINGMODE>, PushScreenAction<DaylightSavingModeChangeDisplay>>>();
|
||||||
if (configs.feature.ntp.isEnabled.value())
|
if (configs.feature.ntp.isEnabled.value())
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPENABLED>, BobbyCheckbox, TimeServerEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPENABLED>, BobbyCheckbox, TimeServerEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPSERVER>, SwitchScreenAction<TimeServerChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPSERVER>, PushScreenAction<TimeServerChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPMODE>, SwitchScreenAction<TimeSyncModeChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPMODE>, PushScreenAction<TimeSyncModeChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPINTERVAL>, SwitchScreenAction<TimeSyncIntervalChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPINTERVAL>, PushScreenAction<TimeSyncIntervalChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, NtpSyncStatusText, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, NtpSyncStatusText, 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 TimeSettingsMenu::text() const
|
std::string TimeSettingsMenu::text() const
|
||||||
@ -143,5 +144,5 @@ std::string TimeSettingsMenu::text() const
|
|||||||
|
|
||||||
void TimeSettingsMenu::back()
|
void TimeSettingsMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<SettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#include <fmt/core.h>
|
#include <fmt/core.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 <actions/popscreenaction.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
@ -89,7 +89,7 @@ private:
|
|||||||
};
|
};
|
||||||
} // namespace typesafeenumchangemenu
|
} // namespace typesafeenumchangemenu
|
||||||
|
|
||||||
template<typename TEnum, typename TMenu, const char *Ttext>
|
template<typename TEnum, const char *Ttext>
|
||||||
class SwitchScreenTypeSafeChangeMenuItem : public espgui::MenuItem
|
class SwitchScreenTypeSafeChangeMenuItem : public espgui::MenuItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -103,7 +103,7 @@ public:
|
|||||||
|
|
||||||
void triggered() override
|
void triggered() override
|
||||||
{
|
{
|
||||||
espgui::switchScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum>>(m_config);
|
espgui::pushScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum>>(m_config);
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
ConfigWrapper<TEnum>* m_config;
|
ConfigWrapper<TEnum>* m_config;
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
#include "udpcloudsettingsmenu.h"
|
#include "udpcloudsettingsmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
|
#include <actions/pushscreenaction.h>
|
||||||
|
#include <changevaluedisplay.h>
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
#include "menuitem.h"
|
#include <icons/back.h>
|
||||||
#include "changevaluedisplay.h"
|
#include <menuitem.h>
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "actions/dummyaction.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "displays/bobbychangevaluedisplay.h"
|
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "displays/menus/settingsmenu.h"
|
|
||||||
#include "bobbycheckbox.h"
|
#include "bobbycheckbox.h"
|
||||||
|
#include "displays/bobbychangevaluedisplay.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_UDPCLOUDSETTINGS[] = "UDP Cloud settings";
|
constexpr char TEXT_UDPCLOUDSETTINGS[] = "UDP Cloud settings";
|
||||||
@ -25,8 +24,8 @@ using UdpCloudSendRateChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_UDPSENDRATE>,
|
espgui::StaticText<TEXT_UDPSENDRATE>,
|
||||||
UdpCloudSendIntervalAccessor,
|
UdpCloudSendIntervalAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<UdpCloudSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<UdpCloudSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@ -36,8 +35,8 @@ UdpCloudSettingsMenu::UdpCloudSettingsMenu()
|
|||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPCLOUDENABLED>, BobbyCheckbox, UdpCloudEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPCLOUDENABLED>, BobbyCheckbox, UdpCloudEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPUSESTRING>, BobbyCheckbox, UdpUseStdStringAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPUSESTRING>, BobbyCheckbox, UdpUseStdStringAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPSENDRATE>, SwitchScreenAction<UdpCloudSendRateChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UDPSENDRATE>, PushScreenAction<UdpCloudSendRateChangeDisplay>>>();
|
||||||
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 UdpCloudSettingsMenu::text() const
|
std::string UdpCloudSettingsMenu::text() const
|
||||||
@ -47,5 +46,5 @@ std::string UdpCloudSettingsMenu::text() const
|
|||||||
|
|
||||||
void UdpCloudSettingsMenu::back()
|
void UdpCloudSettingsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<SettingsMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <tftinstance.h>
|
#include <tftinstance.h>
|
||||||
#include <screenmanager.h>
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
||||||
#include "displays/menus/mainmenu.h"
|
#include "displays/menus/mainmenu.h"
|
||||||
#include "displays/statusdisplay.h"
|
#include "displays/statusdisplay.h"
|
||||||
#include "displays/menus/boardcomputerhardwaresettingsmenu.h"
|
#include "globals.h"
|
||||||
#include "newsettings.h"
|
#include "newsettings.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "globals.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_CALIBRATE[] = "Potis Calibrate";
|
constexpr char TEXT_CALIBRATE[] = "Potis Calibrate";
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
// system includes
|
// system includes
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <optional>
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
#include <cpputils.h>
|
#include <cpputils.h>
|
||||||
#include <actions/switchscreenaction.h>
|
|
||||||
#include <widgets/label.h>
|
#include <widgets/label.h>
|
||||||
#include <widgets/progressbar.h>
|
#include <widgets/progressbar.h>
|
||||||
|
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rd party includes
|
// 3rd party includes
|
||||||
#include <tftinstance.h>
|
|
||||||
#include <qrcode.h>
|
#include <qrcode.h>
|
||||||
|
#include <screenmanager.h>
|
||||||
|
#include <tftinstance.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "bobbydisplay.h"
|
#include "bobbydisplay.h"
|
||||||
#include "screenmanager.h"
|
|
||||||
|
|
||||||
uint16_t get_qrver_from_strlen(std::string_view str);
|
uint16_t get_qrver_from_strlen(std::string_view str);
|
||||||
|
|
||||||
template<typename TMenu>
|
|
||||||
class QrDisplay : public BobbyDisplay
|
class QrDisplay : public BobbyDisplay
|
||||||
{
|
{
|
||||||
using Base = BobbyDisplay;
|
using Base = BobbyDisplay;
|
||||||
@ -46,14 +45,13 @@ public:
|
|||||||
|
|
||||||
void buttonPressed(espgui::Button button) override
|
void buttonPressed(espgui::Button button) override
|
||||||
{
|
{
|
||||||
using namespace espgui;
|
|
||||||
Base::buttonPressed(button);
|
Base::buttonPressed(button);
|
||||||
|
|
||||||
switch (button)
|
switch (button)
|
||||||
{
|
{
|
||||||
case espgui::Button::Left:
|
case espgui::Button::Left:
|
||||||
case espgui::Button::Right:
|
case espgui::Button::Right:
|
||||||
switchScreen<TMenu>();
|
espgui::popScreen();
|
||||||
break;
|
break;
|
||||||
default:;
|
default:;
|
||||||
}
|
}
|
||||||
|
30
main/icons/git.cpp
Normal file
30
main/icons/git.cpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#include "git.h"
|
||||||
|
|
||||||
|
namespace bobbyicons {
|
||||||
|
const espgui::Icon<24, 24> git{{
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xE245,0xEA66,0xEA66,0xE246,0xD225,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xEA66,0xE246,0xCA25,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE245,0xCA25,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xDA25,0xDA45,0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE246,0xD225,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0xDA25,0xDA45,0xEA66,0xEA66,0xDA45,0xE245,0xEA86,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE245,0xDA45,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0xDA25,0xDA45,0xEA66,0xF286,0xEA86,0xEA66,0xDA45,0xE246,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xDA45,0xDA45,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0xD225,0xDA45,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xE266,0xC1E5,0xDA45,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xE245,0xD225,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xD225,0x0000,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE246,0xCA25,0x0000,0x0000,
|
||||||
|
0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA66,0xDA45,0xD225,0xD225,0xE266,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE245,0xCA25,0x0000,
|
||||||
|
0xD225,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xE266,0xEA66,0xD225,0xE266,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE246,0xD225,
|
||||||
|
0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xEA66,0xEA66,0xD225,0xE246,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xE246,
|
||||||
|
0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xF286,0xEA66,0xEA66,0x0000,0xD225,0xE266,0xF286,0xF286,0xF286,0xF286,0xEA66,
|
||||||
|
0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xF286,0xEA86,0xEA66,0x2882,0xD225,0xE266,0xF286,0xF286,0xF286,0xF286,0xEA66,
|
||||||
|
0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xF286,0xF286,0xEA66,0xE266,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xE266,
|
||||||
|
0xD225,0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xDA45,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE266,
|
||||||
|
0x0000,0xCA25,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA66,0xDA45,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,
|
||||||
|
0x0000,0x0000,0xCA25,0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA66,0xE245,0xE266,0xEA66,0xEA86,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xCA05,0xCA05,0xEA66,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0xDA45,0xDA45,0xEA66,0xF286,0xF286,0xF286,0xEA66,0xEA66,0xE266,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE266,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0xDA45,0xE245,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE266,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xE246,0xEA66,0xF286,0xF286,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xCA25,0xE245,0xEA66,0xF286,0xF286,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xD225,0xE245,0xEA66,0xF286,0xF286,0xEA86,0xEA66,0xE246,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xCA05,0xE245,0xEA66,0xEA66,0xE266,0xE266,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||||
|
}, "git"};
|
||||||
|
} // namespace bobbyicons
|
7
main/icons/git.h
Normal file
7
main/icons/git.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "icon.h"
|
||||||
|
|
||||||
|
namespace bobbyicons {
|
||||||
|
extern const espgui::Icon<24, 24> git;
|
||||||
|
} // namespace bobbyicons
|
@ -14,6 +14,7 @@ constexpr const char * const TAG = "BOBBY";
|
|||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
#include <espwifistack.h>
|
#include <espwifistack.h>
|
||||||
#include <schedulertask.h>
|
#include <schedulertask.h>
|
||||||
|
#include <screenmanager.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "bobbycar-common.h"
|
#include "bobbycar-common.h"
|
||||||
|
Reference in New Issue
Block a user