19#include "pw_assert/assert.h"
20#include "pw_bytes/span.h"
21#include "pw_i2c/address.h"
65 ByteSpan(
const_cast<std::byte*
>(data.data()), data.size()),
88 return Message(Address::SevenBit<1>(),
89 ByteSpan(
const_cast<std::byte*
>(data.data()), data.size()),
107 return Message(address, data, Direction::kRead,
false);
113 bool IsRead()
const {
return direction_ == Direction::kRead; }
148 ConstByteSpan
GetData()
const {
return data_; }
151 enum class Direction : uint8_t {
156 constexpr Message(
const Address& address,
162 direction_(direction),
163 no_start_(no_start) {}
172 Direction direction_;
constexpr bool IsTenBit() const
Definition: address.h:170
bool IsRead() const
Definition: message.h:113
ByteSpan GetMutableData() const
Definition: message.h:140
bool IsWriteContinuation() const
Definition: message.h:126
static constexpr Message WriteMessageContinuation(ConstByteSpan data)
Definition: message.h:87
static constexpr Message ReadMessage(Address address, ByteSpan data)
Definition: message.h:106
Address GetAddress() const
Definition: message.h:131
ConstByteSpan GetData() const
Definition: message.h:148
static constexpr Message WriteMessage(Address address, ConstByteSpan data)
Definition: message.h:63
bool IsTenBit() const
Definition: message.h:121