knx/src/knx_facade.cpp

46 lines
1.3 KiB
C++
Raw Normal View History

2018-03-20 23:56:42 +01:00
#include "knx_facade.h"
2019-05-27 21:41:04 +02:00
#include "knx/bits.h"
2018-11-07 00:32:36 +01:00
#ifdef ARDUINO_ARCH_SAMD
2019-10-25 16:41:29 +02:00
// predefined global instance for TP or RF
#ifdef MEDIUM_TYPE
#if MEDIUM_TYPE == 0
KnxFacade<SamdPlatform, Bau07B0> knx;
#elif MEDIUM_TYPE == 2
KnxFacade<SamdPlatform, Bau27B0> 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
#define ICACHE_RAM_ATTR
2019-05-27 21:41:04 +02:00
#elif ARDUINO_ARCH_ESP8266
2019-10-25 16:41:29 +02:00
// predefined global instance for IP only
KnxFacade<EspPlatform, Bau57B0> knx;
#elif ARDUINO_ARCH_ESP32
2019-10-25 16:41:29 +02:00
// predefined global instance for IP only
KnxFacade<Esp32Platform, Bau57B0> knx;
2020-04-02 18:09:53 +02:00
#elif ARDUINO_ARCH_STM32
KnxFacade<Stm32Platform, Bau57B0> knx;
// no predefined global instance
#define ICACHE_RAM_ATTR
2019-08-22 22:57:35 +02:00
#elif __linux__
2019-10-25 16:41:29 +02:00
// no predefined global instance
#define ICACHE_RAM_ATTR
2018-11-07 00:32:36 +01:00
#endif
2018-03-20 23:56:42 +01:00
#ifndef __linux__
uint32_t lastpressed=0;
#endif
ICACHE_RAM_ATTR void buttonUp()
{
2019-08-22 22:57:35 +02:00
#ifndef __linux__
if (millis() - lastpressed > 200){
knx._toogleProgMode = true;
lastpressed = millis();
}
#endif
}