diff --git a/main/displays/buttoncalibratedisplay.cpp b/main/displays/buttoncalibratedisplay.cpp index c82978b..676a4bf 100644 --- a/main/displays/buttoncalibratedisplay.cpp +++ b/main/displays/buttoncalibratedisplay.cpp @@ -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) diff --git a/main/displays/menus/boardcomputerhardwaresettingsmenu.cpp b/main/displays/menus/boardcomputerhardwaresettingsmenu.cpp index 762df4b..0ae86cb 100644 --- a/main/displays/menus/boardcomputerhardwaresettingsmenu.cpp +++ b/main/displays/menus/boardcomputerhardwaresettingsmenu.cpp @@ -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, SwitchScreenAction, StaticMenuItemIcon<&bobbyicons::lock>>>(); + constructMenuItem, SwitchScreenAction>>(); constructMenuItem, DummyAction>>(); constructMenuItem, DummyAction>>(); constructMenuItem, SwitchScreenAction>>();