C/C++ API Reference
Loading...
Searching...
No Matches
pw::uart::Uart Class Referenceabstract

Overview

Represents an abstract UART interface.

The Uart interface provides a basic set of methods for performing blocking UART communication.

Inheritance diagram for pw::uart::Uart:
pw::uart::UartBase pw::uart::UartBlockingAdapter

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.
 

The documentation for this class was generated from the following file: