diff --git a/libraries/AP_HAL_Linux/UARTDriver.cpp b/libraries/AP_HAL_Linux/UARTDriver.cpp index 3cc7384a7c..e4f227c3fc 100644 --- a/libraries/AP_HAL_Linux/UARTDriver.cpp +++ b/libraries/AP_HAL_Linux/UARTDriver.cpp @@ -293,6 +293,15 @@ int16_t UARTDriver::read() return byte; } +bool UARTDriver::discard_input() +{ + if (!_initialised) { + return false; + } + _readbuf.empty(); + return true; +} + /* Linux implementations of Print virtual methods */ size_t UARTDriver::write(uint8_t c) { diff --git a/libraries/AP_HAL_Linux/UARTDriver.h b/libraries/AP_HAL_Linux/UARTDriver.h index c3190e4f39..eb063f2c0b 100644 --- a/libraries/AP_HAL_Linux/UARTDriver.h +++ b/libraries/AP_HAL_Linux/UARTDriver.h @@ -31,6 +31,8 @@ public: uint32_t txspace() override; int16_t read() override; + bool discard_input() override; + /* Linux implementations of Print virtual methods */ size_t write(uint8_t c) override; size_t write(const uint8_t *buffer, size_t size) override;