mirror of
https://github.com/thelsing/knx.git
synced 2024-10-20 20:07:45 +02:00
25 lines
542 B
C++
25 lines
542 B
C++
|
#include "button.h"
|
||
|
#include "state.h"
|
||
|
#include "knx_facade.h"
|
||
|
|
||
|
unsigned long buttonTimestamp = 0;
|
||
|
void buttonUp()
|
||
|
{
|
||
|
if (millis() - buttonTimestamp > 1000)
|
||
|
{
|
||
|
Serial.println("long button press");
|
||
|
currentState->longButtonPress();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
Serial.println("short button press");
|
||
|
currentState->shortButtonPress();
|
||
|
}
|
||
|
attachInterrupt(knx.buttonPin(), buttonDown, FALLING);
|
||
|
}
|
||
|
|
||
|
void buttonDown()
|
||
|
{
|
||
|
buttonTimestamp = millis();
|
||
|
attachInterrupt(knx.buttonPin(), buttonUp, RISING);
|
||
|
}
|