19#include "pw_assert/assert.h"
20#include "pw_bytes/span.h"
21#include "pw_i2c/address.h"
67 ByteSpan(
const_cast<std::byte*
>(data.data()), data.size()),
90 return Message(Address::SevenBit<1>(),
91 ByteSpan(
const_cast<std::byte*
>(data.data()), data.size()),
109 return Message(address, data, Direction::kRead,
false);
115 bool IsRead()
const {
return direction_ == Direction::kRead; }
153 enum class Direction : uint8_t {
158 constexpr Message(
const Address& address,
164 direction_(direction),
165 no_start_(no_start) {}
174 Direction direction_;
bool IsRead() const
Definition: message.h:115
ByteSpan GetMutableData() const
Definition: message.h:142
bool IsWriteContinuation() const
Definition: message.h:128
constexpr bool IsTenBit() const
Definition: address.h:173
static constexpr Message WriteMessageContinuation(ConstByteSpan data)
Definition: message.h:89
static constexpr Message ReadMessage(Address address, ByteSpan data)
Definition: message.h:108
Address GetAddress() const
Definition: message.h:133
ConstByteSpan GetData() const
Definition: message.h:150
static constexpr Message WriteMessage(Address address, ConstByteSpan data)
Definition: message.h:65
bool IsTenBit() const
Definition: message.h:123
Cross-platform I2C library.
Definition: address.h:19