#include "knx_facade.h" #include "knx/bits.h" #ifdef ARDUINO_ARCH_SAMD // predefined global instance for TP or RF #ifdef MEDIUM_TYPE #if MEDIUM_TYPE == 0 KnxFacade knx; #elif MEDIUM_TYPE == 2 KnxFacade knx; #else #error "Only TP and RF supported for Arduino SAMD platform!" #endif #else #error "No medium type specified for platform Arduino_SAMD! Please set MEDIUM_TYPE! (TP:0, RF:2, IP:5)" #endif #elif ARDUINO_ARCH_ESP8266 // predefined global instance for IP only KnxFacade knx; #elif ARDUINO_ARCH_ESP32 // predefined global instance for TP or IP #ifdef MEDIUM_TYPE #if MEDIUM_TYPE == 0 KnxFacade knx; #elif MEDIUM_TYPE == 5 KnxFacade knx; #else #error "Only TP and IP supported for Arduino ESP32 platform!" #endif #else // Compatibility KnxFacade knx; //#error "No medium type specified for platform Arduino ESP32! Please set MEDIUM_TYPE! (TP:0, RF:2, IP:5)" #endif #elif ARDUINO_ARCH_STM32 KnxFacade knx; #elif __linux__ // no predefined global instance #endif #ifndef ICACHE_RAM_ATTR #define ICACHE_RAM_ATTR #endif ICACHE_RAM_ATTR void buttonUp() { #ifndef __linux__ static uint32_t lastpressed=0; if (millis() - lastpressed > 200){ knx._toogleProgMode = true; lastpressed = millis(); } #endif }