20#include "pw_assert/assert.h"
21#include "pw_bytes/span.h"
22#include "pw_status/status.h"
55 constexpr BitsPerWord(uint8_t data_bits) : data_bits_(data_bits) {
56 PW_ASSERT(data_bits_ >= 3 && data_bits_ <= 32);
59 constexpr uint8_t operator()()
const {
return data_bits_; }
73 constexpr bool operator==(
const Config& rhs)
const {
74 return polarity == rhs.polarity && phase == rhs.phase &&
75 bits_per_word() == rhs.bits_per_word() && bit_order == rhs.bit_order;
78 constexpr bool operator!=(
const Config& rhs)
const {
return !(*
this == rhs); }
80static_assert(
sizeof(
Config) ==
sizeof(uint32_t),
81 "Ensure that the config struct fits in 32-bits");
130 return DoWriteRead(write_buffer, read_buffer);
Definition: initiator.h:53
Definition: initiator.h:106
Status Configure(const Config &config)
Definition: initiator.h:116
Status WriteRead(ConstByteSpan write_buffer, ByteSpan read_buffer)
Definition: initiator.h:129
ClockPhase
Definition: initiator.h:37
BitOrder
Definition: initiator.h:44
ClockPolarity
Definition: initiator.h:30
Definition: initiator.h:67