knx/src/esp_platform.h

47 lines
1.0 KiB
C
Raw Normal View History

2019-08-22 21:31:02 +02:00
#ifdef ARDUINO_ARCH_ESP8266
#include "knx/platform.h"
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#define SerialDBG Serial
class EspPlatform : public Platform
{
public:
EspPlatform();
// ip stuff
uint32_t currentIpAddress();
uint32_t currentSubnetMask();
uint32_t currentDefaultGateway();
void macAddress(uint8_t* addr);
// basic stuff
void restart();
void fatalError();
2018-03-16 00:48:39 +01:00
//multicast
void setupMultiCast(uint32_t addr, uint16_t port);
void closeMultiCast();
bool sendBytes(uint8_t* buffer, uint16_t len);
int readBytes(uint8_t* buffer, uint16_t maxLen);
2018-08-16 23:58:57 +02:00
//uart
2019-08-22 21:31:02 +02:00
void setupUart();
void closeUart();
int uartAvailable();
size_t writeUart(const uint8_t data);
size_t writeUart(const uint8_t *buffer, size_t size);
int readUart();
2018-08-16 23:58:57 +02:00
size_t readBytesUart(uint8_t *buffer, size_t length);
2018-03-16 00:48:39 +01:00
//memory
uint8_t* getEepromBuffer(uint16_t size);
void commitToEeprom();
2019-08-22 21:31:02 +02:00
private:
uint32_t _mulitcastAddr;
uint16_t _mulitcastPort;
WiFiUDP _udp;
};
2018-11-07 00:32:36 +01:00
#endif