diff --git a/HIB.cpp b/HIB.cpp index 46a6c5f..6218a92 100644 --- a/HIB.cpp +++ b/HIB.cpp @@ -34,17 +34,24 @@ static void (*ISRList[MAX_PIN+1])() = { }; void __timerCallback(void *data) { + Serial.printf("%s\n", __func__); HIB *hib = static_cast(data); hib->debouncing = false; hib->invertState(); + Serial.printf("New State %d \n", hib->state); if (hib->state != digitalRead(hib->pin)){ hib->state = !hib->state; + Serial.printf("%s. Debounce failed\n", __func__); return; } - if(hib->state != hib->initialState) + if(hib->state != hib->initialState){ + Serial.printf("Button Pressed\n"); hib->onInternalButtonPressed(); - else + } + else{ + Serial.printf("Button Released\n"); hib->onInternalButtonReleased(); + } } @@ -68,6 +75,7 @@ HIB::HIB(uint8_t p, uint8_t initState, } void HIB::IRQ_handler(){ + Serial.printf("IRQ_handler on pin %d, debouncing %d\n", pin, debouncing); if(!debouncing){ debouncing = true; os_timer_arm(&timer, shortPressMsec, 0);