19#include "pw_result/result.h"
20#include "pw_span/span.h"
21#include "pw_stream/stream.h"
33 std::optional<uint32_t> baud_rate;
34 std::optional<bool> flow_control;
42 other.fd_ = kInvalidFd;
46 other.fd_ = kInvalidFd;
48 UartStreamLinux(
const UartStreamLinux&) =
delete;
49 UartStreamLinux& operator=(
const UartStreamLinux&) =
delete;
51 ~UartStreamLinux()
override { Close(); }
72 return Open(path, {.baud_rate = baud_rate, .flow_control = std::nullopt});
98 static constexpr int kInvalidFd = -1;
103 int fd_ = kInvalidFd;
Definition: status_with_size.h:49
pw::stream::NonSeekableReaderWriter implementation for UARTs on Linux.
Definition: stream.h:26
Status DoWrite(ConstByteSpan data) override
Virtual Write() function implemented by derived classes.
Status Open(const char *path, uint32_t baud_rate)
Definition: stream.h:71
StatusWithSize DoRead(ByteSpan dest) override
Virtual Read() function implemented by derived classes.
Status Open(const char *path, Config config)