mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2026-01-31 02:59:10 +03:00
PButton vlongpress on release
This commit is contained in:
@@ -52,14 +52,12 @@ bool PButton::init(uint8_t pin, bool pullMode) {
|
|||||||
pin_ = pin;
|
pin_ = pin;
|
||||||
pullMode_ = pullMode; // 1=HIGH (pullup) 0=LOW (pulldown)
|
pullMode_ = pullMode; // 1=HIGH (pullup) 0=LOW (pulldown)
|
||||||
|
|
||||||
#if defined(ESP8266)
|
#if defined(ESP32)
|
||||||
pinMode(pin_, pullMode ? INPUT_PULLUP : INPUT_PULLDOWN);
|
pinMode(pin_, pullMode ? INPUT_PULLUP : INPUT_PULLDOWN);
|
||||||
enabled_ = (digitalRead(pin_) != pullMode); // see if a button is connected
|
#else // esp8266 and standalone
|
||||||
#else
|
pinMode(pin_, pullMode ? INPUT_PULLUP : INPUT);
|
||||||
// ESP32
|
|
||||||
pinMode(pin_, INPUT);
|
|
||||||
enabled_ = (digitalRead(pin_) == pullMode); // see if a button is connected
|
|
||||||
#endif
|
#endif
|
||||||
|
enabled_ = (digitalRead(pin_) == pullMode); // see if a button is connected
|
||||||
|
|
||||||
return enabled_;
|
return enabled_;
|
||||||
}
|
}
|
||||||
@@ -144,6 +142,13 @@ bool PButton::check(void) {
|
|||||||
longPressHappened_ = false;
|
longPressHappened_ = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// added code: raise OnLongPress event when only when the button is released
|
||||||
|
if (state_ == pullMode_ && vLongPressHappened_) {
|
||||||
|
resultEvent = 4;
|
||||||
|
vLongPressHappened_ = false;
|
||||||
|
longPressHappened_ = false;
|
||||||
|
}
|
||||||
|
|
||||||
// Test for hold
|
// Test for hold
|
||||||
if (state_ != pullMode_ && (millisRes - downTime_) >= LongPressDelay_) {
|
if (state_ != pullMode_ && (millisRes - downTime_) >= LongPressDelay_) {
|
||||||
// Trigger "normal" hold
|
// Trigger "normal" hold
|
||||||
@@ -159,9 +164,9 @@ bool PButton::check(void) {
|
|||||||
// Trigger "long" hold
|
// Trigger "long" hold
|
||||||
if ((millisRes - downTime_) >= VLongPressDelay_) {
|
if ((millisRes - downTime_) >= VLongPressDelay_) {
|
||||||
if (vLongPressHappened_ == false) {
|
if (vLongPressHappened_ == false) {
|
||||||
resultEvent = 4;
|
// resultEvent = 4;
|
||||||
vLongPressHappened_ = true;
|
vLongPressHappened_ = true;
|
||||||
// _longPressHappened = false;
|
// longPressHappened_ = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user