19#include "base/BaseSpi.h"
29 std::vector<uint8_t>
tx;
30 std::vector<uint8_t>
rx;
37 using Responder = std::function<void(
const uint8_t* tx, uint8_t* rx, uint16_t len)>;
45 hf_spi_err_t
Transfer(const hf_u8_t* tx_data, hf_u8_t* rx_data, hf_u16_t length,
46 hf_u32_t timeout_ms = 0) noexcept override;
52 void FailNext(hf_spi_err_t error,
size_t count = 1) noexcept;
57 [[nodiscard]]
const std::vector<SpiTransaction>&
Transactions() const noexcept {
return log_; }
66 hf_spi_err_t
fail_error_{hf_spi_err_t::SPI_ERR_TRANSFER_FAILED};
69 std::vector<SpiTransaction>
log_;
bool init_result_
Definition MockSpi.h:62
void FailNext(hf_spi_err_t error, size_t count=1) noexcept
Definition MockSpi.cpp:23
void QueueResponse(std::vector< uint8_t > miso)
Definition MockSpi.cpp:21
std::vector< SpiTransaction > log_
Definition MockSpi.h:69
Responder responder_
Definition MockSpi.h:68
void SetInitializeResult(bool ok) noexcept
Definition MockSpi.h:50
MockSpi() noexcept=default
int InitializeCalls() const noexcept
Definition MockSpi.h:59
void SetFillByte(uint8_t fill) noexcept
Definition MockSpi.h:54
int init_calls_
Definition MockSpi.h:63
size_t fail_count_
Definition MockSpi.h:67
uint8_t fill_
Definition MockSpi.h:64
bool Initialize() noexcept override
Definition MockSpi.cpp:14
void ClearTransactions() noexcept
Definition MockSpi.h:58
hf_spi_err_t Transfer(const hf_u8_t *tx_data, hf_u8_t *rx_data, hf_u16_t length, hf_u32_t timeout_ms=0) noexcept override
Definition MockSpi.cpp:28
const void * GetDeviceConfig() const noexcept override
Definition MockSpi.h:47
void SetResponder(Responder responder)
Definition MockSpi.h:53
bool Deinitialize() noexcept override
Definition MockSpi.cpp:19
std::function< void(const uint8_t *tx, uint8_t *rx, uint16_t len)> Responder
Definition MockSpi.h:37
hf_spi_err_t fail_error_
Definition MockSpi.h:66
std::deque< std::vector< uint8_t > > queued_
Definition MockSpi.h:65
const std::vector< SpiTransaction > & Transactions() const noexcept
Definition MockSpi.h:57
Definition FakeClock.cpp:21
hf_spi_err_t result
Definition MockSpi.h:31
std::vector< uint8_t > tx
MOSI bytes (zeros when the caller passed no tx buffer).
Definition MockSpi.h:29
std::vector< uint8_t > rx
MISO bytes handed back.
Definition MockSpi.h:30