Button calibrate menu item

This commit is contained in:
2021-12-30 23:55:06 +01:00
parent 0288ac93a3
commit 3081fc553b
2 changed files with 15 additions and 9 deletions

View File

@ -142,9 +142,17 @@ void ButtonCalibrateDisplay::rawButtonPressed(uint8_t button)
{
//Base::rawButtonPressed(button);
ESP_LOGI(TAG, "button=%hhu", button);
if (!m_lastButton || *m_lastButton != button)
if (m_status == Finished)
{
if (button == m_rightButton)
{
ESP_LOGI(TAG, "correct button");
m_finished = true;
}
else
ESP_LOGI(TAG, "wrong button");
}
else if (!m_lastButton || *m_lastButton != button)
m_lastButton = button;
else
{
@ -170,10 +178,7 @@ void ButtonCalibrateDisplay::rawButtonPressed(uint8_t button)
m_lastButton = std::nullopt;
m_status = Finished;
break;
case Finished:
if (button == m_rightButton)
m_finished = true;
break;
case Finished:;
}
}
}
@ -181,8 +186,6 @@ void ButtonCalibrateDisplay::rawButtonPressed(uint8_t button)
void ButtonCalibrateDisplay::rawButtonReleased(uint8_t button)
{
//Base::rawButtonReleased(button);
ESP_LOGI(TAG, "button=%hhu", button);
}
void ButtonCalibrateDisplay::buttonPressed(espgui::Button button)

View File

@ -17,9 +17,11 @@
#include "displays/potiscalibratedisplay.h"
#include "displays/menus/timersmenu.h"
#include "displays/menus/settingsmenu.h"
#include "displays/buttoncalibratedisplay.h"
namespace {
constexpr char TEXT_BOARDCOMPUTERHARDWARESETTINGS[] = "Boardcomputer H/W settings";
constexpr char TEXT_BUTTONCALIBRATE[] = "Button Calibrate";
constexpr char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings";
constexpr char TEXT_POTISCALIBRATE[] = "Potis Calibrate";
constexpr char TEXT_SAMPLECOUNT[] = "sampleCount";
@ -171,6 +173,7 @@ using namespace espgui;
BoardcomputerHardwareSettingsMenu::BoardcomputerHardwareSettingsMenu()
{
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKSCREENSETTINGS>, SwitchScreenAction<LockscreenSettingsMenu>, StaticMenuItemIcon<&bobbyicons::lock>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BUTTONCALIBRATE>, SwitchScreenAction<ButtonCalibrateDisplay>>>();
constructMenuItem<makeComponent<MenuItem, GasText, DisabledColor, StaticFont<2>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, BremsText, DisabledColor, StaticFont<2>, DummyAction>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POTISCALIBRATE>, SwitchScreenAction<PotisCalibrateDisplay>>>();