From a10f5dbd0a24fb08726b96700d8b88eeed09f409 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Tue, 21 Feb 2023 20:35:57 +1100 Subject: [PATCH] AP_HAL_Linux: add and use a "bool read(c)" method to AP_HAL this is much less likely to not work vs the int16_t equivalent --- libraries/AP_HAL_Linux/UARTDriver.cpp | 9 ++++----- libraries/AP_HAL_Linux/UARTDriver.h | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/libraries/AP_HAL_Linux/UARTDriver.cpp b/libraries/AP_HAL_Linux/UARTDriver.cpp index 83bb6edac3..58dd9efac4 100644 --- a/libraries/AP_HAL_Linux/UARTDriver.cpp +++ b/libraries/AP_HAL_Linux/UARTDriver.cpp @@ -281,18 +281,17 @@ uint32_t UARTDriver::txspace() return _writebuf.space(); } -int16_t UARTDriver::read() +bool UARTDriver::read(uint8_t &byte) { if (!_initialised) { - return -1; + return false; } - uint8_t byte; if (!_readbuf.read_byte(&byte)) { - return -1; + return false; } - return byte; + return true; } bool UARTDriver::discard_input() diff --git a/libraries/AP_HAL_Linux/UARTDriver.h b/libraries/AP_HAL_Linux/UARTDriver.h index eb063f2c0b..e6c65f5d12 100644 --- a/libraries/AP_HAL_Linux/UARTDriver.h +++ b/libraries/AP_HAL_Linux/UARTDriver.h @@ -29,7 +29,7 @@ public: /* Linux implementations of Stream virtual methods */ uint32_t available() override; uint32_t txspace() override; - int16_t read() override; + bool read(uint8_t &b) override WARN_IF_UNUSED; bool discard_input() override;