19#include "pw_bytes/span.h"
20#include "pw_function/function.h"
21#include "pw_status/status.h"
22#include "pw_status/status_with_size.h"
23#include "pw_uart/uart_base.h"
70 return DoRead(rx_buffer, rx_buffer.size(), std::move(callback));
108 return DoRead(rx_buffer, min_bytes, std::move(callback));
156 return DoWrite(tx_buffer, std::move(callback));
258 Function<
void(
Status status, ConstByteSpan buffer)>&& callback) = 0;
355 return Status::Unimplemented();
Definition: status_with_size.h:49
Definition: uart_base.h:30
Definition: uart_non_blocking.h:32
Status FlushOutput(Function< void(Status status)> &&callback)
Definition: uart_non_blocking.h:200
Status ReadExactly(ByteSpan rx_buffer, Function< void(Status status, ConstByteSpan buffer)> &&callback)
Definition: uart_non_blocking.h:67
bool CancelRead()
Definition: uart_non_blocking.h:124
virtual bool DoCancelFlushOutput()
Definition: uart_non_blocking.h:371
Status ReadAtLeast(ByteSpan rx_buffer, size_t min_bytes, Function< void(Status status, ConstByteSpan buffer)> &&callback)
Definition: uart_non_blocking.h:104
bool CancelFlushOutput()
Definition: uart_non_blocking.h:217
virtual bool DoCancelRead()=0
bool CancelWrite()
Definition: uart_non_blocking.h:172
virtual bool DoCancelWrite()=0
virtual Status DoWrite(ConstByteSpan tx_buffer, Function< void(StatusWithSize status)> &&callback)=0
virtual Status DoRead(ByteSpan rx_buffer, size_t min_bytes, Function< void(Status status, ConstByteSpan buffer)> &&callback)=0
Status Write(ConstByteSpan tx_buffer, Function< void(StatusWithSize status)> &&callback)
Definition: uart_non_blocking.h:154
virtual Status DoFlushOutput(Function< void(Status status)> &&)
Definition: uart_non_blocking.h:354
fit::function_impl< function_internal::config::kInlineCallableSize, !function_internal::config::kEnableDynamicAllocation, FunctionType, PW_FUNCTION_DEFAULT_ALLOCATOR_TYPE > Function
Definition: function.h:74