#include "badge/gpio.h" #include #define BUTTON_PIN 0 static unsigned long pressedTime = 0; static unsigned long releasedTime = 0; void de::uvok::badge::gpio_init(void) { } long de::uvok::badge::gpio_poll(void) { static int lastState = HIGH; int buttonState = digitalRead(BUTTON_PIN); long pressDuration = 0; if (lastState == HIGH && buttonState == LOW) { Serial.println("``\\__"); pressedTime = millis(); lastState = LOW; } else if (lastState == LOW && buttonState == HIGH) { lastState = HIGH; Serial.println("__/``"); releasedTime = millis(); pressDuration = releasedTime - pressedTime; }; return pressDuration; }