19#include "pw_status/status.h"
20#include "pw_stream/stream.h"
32 std::optional<uint32_t> baud_rate;
33 std::optional<bool> flow_control;
41 other.fd_ = kInvalidFd;
45 other.fd_ = kInvalidFd;
47 UartStreamLinux(
const UartStreamLinux&) =
delete;
48 UartStreamLinux& operator=(
const UartStreamLinux&) =
delete;
50 ~UartStreamLinux()
override { Close(); }
71 return Open(path, {.baud_rate = baud_rate, .flow_control = std::nullopt});
97 static constexpr int kInvalidFd = -1;
102 int fd_ = kInvalidFd;
Definition: status_with_size.h:49
pw::stream::NonSeekableReaderWriter implementation for UARTs on Linux.
Definition: stream.h:25
Status DoWrite(ConstByteSpan data) override
Virtual Write() function implemented by derived classes.
Status Open(const char *path, uint32_t baud_rate)
Definition: stream.h:70
StatusWithSize DoRead(ByteSpan dest) override
Virtual Read() function implemented by derived classes.
Status Open(const char *path, Config config)