MultiPurposeButton now uses a timer to time the long and short press

This commit is contained in:
2022-06-15 19:28:02 +02:00
parent 097814ea25
commit 06a90d4b04
2 changed files with 24 additions and 21 deletions

View File

@@ -8,15 +8,15 @@ const char* connection_state_to_str(esp_a2d_connection_state_t state);
class MultiPurposeButton {
public:
MultiPurposeButton(void(*short_press)(), void(*long_press)(), uint8_t threshold = 5);
MultiPurposeButton(void(*short_press)(), void(*long_press)(), uint16_t threshold = 500);
void tick(bool current);
private:
void(*short_press)();
void(*long_press)();
uint8_t threshold = 5;
void(* const short_press)();
void(* const long_press)();
const int16_t threshold = 500;
uint64_t start = 0;
bool previous = false;
uint8_t counter = 0;
bool acted = false;
};