diff --git a/src/arduino_platform.cpp b/src/arduino_platform.cpp index 62ab8a9..d23d4c2 100644 --- a/src/arduino_platform.cpp +++ b/src/arduino_platform.cpp @@ -103,6 +103,11 @@ size_t ArduinoPlatform::readBytesUart(uint8_t *buffer, size_t length) return length; } +void ArduinoPlatform::flushUart() +{ + return _knxSerial->flush(); +} + #ifndef KNX_NO_SPI void ArduinoPlatform::setupSpi() { diff --git a/src/arduino_platform.h b/src/arduino_platform.h index 29d846e..9118920 100644 --- a/src/arduino_platform.h +++ b/src/arduino_platform.h @@ -25,6 +25,7 @@ class ArduinoPlatform : public Platform virtual size_t writeUart(const uint8_t* buffer, size_t size); virtual int readUart(); virtual size_t readBytesUart(uint8_t* buffer, size_t length); + virtual void flushUart(); //spi #ifndef KNX_NO_SPI diff --git a/src/knx/platform.cpp b/src/knx/platform.cpp index 545e3ad..2b398ae 100644 --- a/src/knx/platform.cpp +++ b/src/knx/platform.cpp @@ -57,6 +57,14 @@ void Platform::closeUart() void Platform::setupUart() {} +bool Platform::overflowUart() +{ + return false; +} + +void Platform::flushUart() +{} + uint32_t Platform::currentIpAddress() { return 0x01020304; diff --git a/src/knx/platform.h b/src/knx/platform.h index b9e4c5c..ddb1a67 100644 --- a/src/knx/platform.h +++ b/src/knx/platform.h @@ -62,6 +62,8 @@ class Platform virtual size_t writeUart(const uint8_t* buffer, size_t size); virtual int readUart(); virtual size_t readBytesUart(uint8_t* buffer, size_t length); + virtual bool overflowUart(); + virtual void flushUart(); // SPI virtual void setupSpi(); diff --git a/src/rp2040_arduino_platform.cpp b/src/rp2040_arduino_platform.cpp index ddc89cb..dce06e8 100644 --- a/src/rp2040_arduino_platform.cpp +++ b/src/rp2040_arduino_platform.cpp @@ -85,6 +85,11 @@ void RP2040ArduinoPlatform::knxUartPins(pin_size_t rxPin, pin_size_t txPin) _txPin = txPin; } +bool RP2040ArduinoPlatform::overflowUart() { + SerialUART* serial = dynamic_cast(_knxSerial); + return serial->overflow(); +} + void RP2040ArduinoPlatform::setupUart() { SerialUART* serial = dynamic_cast(_knxSerial); diff --git a/src/rp2040_arduino_platform.h b/src/rp2040_arduino_platform.h index b4e7f8d..4d71862 100644 --- a/src/rp2040_arduino_platform.h +++ b/src/rp2040_arduino_platform.h @@ -68,6 +68,8 @@ public: // uart void knxUartPins(pin_size_t rxPin, pin_size_t txPin); void setupUart(); + virtual bool overflowUart(); + // unique serial number uint32_t uniqueSerialNumber() override;