Represents an abstract UART interface.
The Uart interface provides a basic set of methods for performing blocking UART communication.
Public Member Functions | |
| StatusWithSize | ReadAtLeast (ByteSpan rx_buffer, size_t min_bytes) |
| StatusWithSize | ReadExactly (ByteSpan rx_buffer) |
| Status | Read (ByteSpan rx_buffer) |
| StatusWithSize | TryReadAtLeastFor (ByteSpan rx_buffer, size_t min_bytes, chrono::SystemClock::duration timeout) |
| StatusWithSize | TryReadExactlyFor (ByteSpan rx_buffer, chrono::SystemClock::duration timeout) |
| StatusWithSize | TryReadFor (ByteSpan rx_buffer, chrono::SystemClock::duration timeout) |
| Status | Write (ConstByteSpan tx_buffer) |
| StatusWithSize | TryWriteFor (ConstByteSpan tx_buffer, chrono::SystemClock::duration timeout) |
| Status | FlushOutput () |
Public Member Functions inherited from pw::uart::UartBase | |
| Status | Enable () |
| Status | Disable () |
| Status | SetBaudRate (uint32_t baud_rate) |
| Status | SetFlowControl (bool enable) |
| size_t | ConservativeReadAvailable () |
| Status | ClearPendingReceiveBytes () |
Private Member Functions | |
| virtual StatusWithSize | DoTryReadFor (ByteSpan rx_buffer, std::optional< chrono::SystemClock::duration > timeout) |
| virtual StatusWithSize | DoTryReadFor (ByteSpan, size_t, std::optional< chrono::SystemClock::duration >) |
| virtual StatusWithSize | DoTryWriteFor (ConstByteSpan tx_buffer, std::optional< chrono::SystemClock::duration > timeout)=0 |
| Writes data from a provided buffer to the UART with an optional timeout. | |