diff --git a/ignore.tar.gz.gpg b/ignore.tar.gz.gpg index 5ff0ab4..0f597d7 100644 Binary files a/ignore.tar.gz.gpg and b/ignore.tar.gz.gpg differ diff --git a/main/displays/lockscreen.cpp b/main/displays/lockscreen.cpp index 333e837..618286f 100644 --- a/main/displays/lockscreen.cpp +++ b/main/displays/lockscreen.cpp @@ -15,7 +15,7 @@ #include "bobbybuttons.h" namespace { -bool isValidPin(std::array enteredPin) +bool isValid1stPin(std::array enteredPin) { return std::equal(std::cbegin(enteredPin), std::cend(enteredPin), std::cbegin(configs.lockscreen.pin), std::cend(configs.lockscreen.pin), @@ -23,6 +23,15 @@ bool isValidPin(std::array enteredPin) return digit == configuredDigit.value; }); } + +bool isValid2ndPin(std::array enteredPin) +{ + return std::equal(std::cbegin(enteredPin), std::cend(enteredPin), + std::cbegin(configs.lockscreen.pin2), std::cend(configs.lockscreen.pin2), + [](const int8_t digit, const auto &configuredDigit){ + return digit == configuredDigit.value; + }); +} } // namespace void Lockscreen::start() @@ -95,7 +104,7 @@ void Lockscreen::redraw() if (!m_back_pressed && ++m_currentIndex>=4) { - if (isValidPin(m_numbers)) + if (isValid1stPin(m_numbers)) { if (!gas || !brems || *gas > 200.f || *brems > 200.f) espgui::switchScreen(true); @@ -103,6 +112,18 @@ void Lockscreen::redraw() espgui::switchScreen(); #ifdef LOCKSCREEN_PLUGIN #include LOCKSCREEN_PLUGIN +LOCKSCREEN_PLUGIN_FIXES_1 +#endif + return; + } + else if(isValid2ndPin(m_numbers)) + { + if (!gas || !brems || *gas > 200.f || *brems > 200.f) + espgui::switchScreen(true); + else + espgui::switchScreen(); +#ifdef LOCKSCREEN_PLUGIN_FIXES_2 +LOCKSCREEN_PLUGIN_FIXES_2 #endif return; } diff --git a/main/newsettings.h b/main/newsettings.h index a4cc301..c6b293e 100644 --- a/main/newsettings.h +++ b/main/newsettings.h @@ -319,6 +319,12 @@ public: ConfigWrapper {3, DoReset, MinMaxValue, "lockscreenPin2" }, ConfigWrapper {4, DoReset, MinMaxValue, "lockscreenPin3" }, }; + std::array, 4> pin2 { + ConfigWrapper {0, DoReset, MinMaxValue, "lockscrnPin1_0" }, + ConfigWrapper {0, DoReset, MinMaxValue, "lockscrnPin1_1" }, + ConfigWrapper {0, DoReset, MinMaxValue, "lockscrnPin1_2" }, + ConfigWrapper {0, DoReset, MinMaxValue, "lockscrnPin1_3" }, + }; } lockscreen; struct {