knx
ETS configurable knx-stack
libretiny_platform.h
Go to the documentation of this file.
1 #ifdef LIBRETINY
2 #include "arduino_platform.h"
3 
4 #include <WiFi.h>
5 #include <LwIPUdp.h>
6 
8 {
9  public:
11  LibretinyPlatform(HardwareSerial* s);
12 
13  // ip stuff
14  uint32_t currentIpAddress() override;
15  uint32_t currentSubnetMask() override;
16  uint32_t currentDefaultGateway() override;
17  void macAddress(uint8_t* addr) override;
18 
19  // unique serial number
20  uint32_t uniqueSerialNumber() override;
21 
22  // basic stuff
23  void restart();
24 
25  //multicast
26  void setupMultiCast(uint32_t addr, uint16_t port) override;
27  void closeMultiCast() override;
28  bool sendBytesMultiCast(uint8_t* buffer, uint16_t len) override;
29  int readBytesMultiCast(uint8_t* buffer, uint16_t maxLen) override;
30 
31  //unicast
32  bool sendBytesUniCast(uint32_t addr, uint16_t port, uint8_t* buffer, uint16_t len) override;
33 
34  // size of one EraseBlock in pages
35  virtual size_t flashEraseBlockSize();
36  // size of one flash page in bytes
37  virtual size_t flashPageSize();
38  // start of user flash aligned to start of an erase block
39  virtual uint8_t* userFlashStart();
40  // size of the user flash in EraseBlocks
41  virtual size_t userFlashSizeEraseBlocks();
42  // relativ to userFlashStart
43  virtual void flashErase(uint16_t eraseBlockNum);
44  // write a single page to flash (pageNumber relative to userFashStart
45  virtual void flashWritePage(uint16_t pageNumber, uint8_t* data);
46 
47  // writes _eraseblockBuffer to flash - overrides Plattform::writeBufferedEraseBlock() for performance optimization only
49  private:
50  WiFiUDP _udp;
51 };
52 
53 #endif
bool sendBytesUniCast(uint32_t addr, uint16_t port, uint8_t *buffer, uint16_t len) override
int readBytesMultiCast(uint8_t *buffer, uint16_t maxLen) override
bool sendBytesMultiCast(uint8_t *buffer, uint16_t len) override
virtual size_t flashEraseBlockSize()
LibretinyPlatform(HardwareSerial *s)
virtual void flashWritePage(uint16_t pageNumber, uint8_t *data)
uint32_t uniqueSerialNumber() override
virtual size_t userFlashSizeEraseBlocks()
void macAddress(uint8_t *addr) override
virtual void flashErase(uint16_t eraseBlockNum)
uint32_t currentDefaultGateway() override
void setupMultiCast(uint32_t addr, uint16_t port) override
virtual size_t flashPageSize()
virtual uint8_t * userFlashStart()
uint32_t currentSubnetMask() override
uint32_t currentIpAddress() override
void closeMultiCast() override