knx
ETS configurable knx-stack
arduino_platform.h
Go to the documentation of this file.
1 #pragma once
2 
3 #ifdef ARDUINO
4 
5 #include "knx/platform.h"
6 
7 #include "Arduino.h"
8 
9 #ifndef KNX_DEBUG_SERIAL
10  #define KNX_DEBUG_SERIAL Serial
11 #endif
12 
13 class ArduinoPlatform : public Platform
14 {
15  public:
17  ArduinoPlatform(HardwareSerial* knxSerial);
18 
19  // basic stuff
20  void fatalError();
21 
22  //uart
23  virtual void knxUart( HardwareSerial* serial);
24  virtual HardwareSerial* knxUart();
25  virtual void setupUart();
26  virtual void closeUart();
27  virtual int uartAvailable();
28  virtual size_t writeUart(const uint8_t data);
29  virtual size_t writeUart(const uint8_t* buffer, size_t size);
30  virtual int readUart();
31  virtual size_t readBytesUart(uint8_t* buffer, size_t length);
32  virtual void flushUart();
33 
34  //spi
35 #ifndef KNX_NO_SPI
36  void setupSpi() override;
37  void closeSpi() override;
38  int readWriteSpi (uint8_t* data, size_t len) override;
39 #endif
40 #ifndef KNX_NO_PRINT
41  static Stream* SerialDebug;
42 #endif
43 
44  protected:
45  HardwareSerial* _knxSerial;
46 };
47 #endif // ARDUINO
void closeSpi() override
HardwareSerial * _knxSerial
static Stream * SerialDebug
void setupSpi() override
virtual int uartAvailable()
virtual size_t readBytesUart(uint8_t *buffer, size_t length)
virtual void closeUart()
int readWriteSpi(uint8_t *data, size_t len) override
virtual HardwareSerial * knxUart()
virtual int readUart()
virtual size_t writeUart(const uint8_t data)
virtual void flushUart()
virtual void setupUart()