13#ifndef VORTEX_BOARD_BIND_HOST_H_
14#define VORTEX_BOARD_BIND_HOST_H_
19#include "HfCoreMocks.h"
56Failures&
Fail() noexcept;
59const OpenLog&
Log() noexcept;
67void SetI2cPresent(uint8_t address,
bool present = true) noexcept;
69hf::host::MockUart*
Uart() noexcept;
70hf::host::MockCan*
Can() noexcept;
72hf::host::MockSpi*
Spi(
int index) noexcept;
74hf::host::MockI2c*
I2c(
int index) noexcept;
76hf::host::MockI2c*
I2cAt(uint8_t address) noexcept;
78hf::host::MockGpio*
Gpio(HfFunctionalGpioPin pin) noexcept;
82const std::vector<LedFrame>&
LedFrames() noexcept;
The board binding: the only way the Vortex managers reach MCU peripherals.
Definition VortexBoardBindHost.cpp:236
Failures & Fail() noexcept
Failure injection for the next Open() calls (cleared by Reset()).
Definition VortexBoardBindHost.cpp:260
const OpenLog & Log() noexcept
What the managers asked the binding for since the last Reset().
Definition VortexBoardBindHost.cpp:261
MockUart * Uart() noexcept
Definition VortexBoardBindHost.cpp:271
MockI2c * I2c(int index) noexcept
I2C device by the index I2cAddDevice() returned.
Definition VortexBoardBindHost.cpp:274
MockCan * Can() noexcept
Definition VortexBoardBindHost.cpp:272
bool LedOpen() noexcept
True while the status LED is open.
Definition VortexBoardBindHost.cpp:293
MockTemperature & Temperature() noexcept
Definition VortexBoardBindHost.cpp:291
MockI2c * I2cAt(uint8_t address) noexcept
I2C device added at address, or nullptr.
Definition VortexBoardBindHost.cpp:275
MockNvs & NvsMock(NvsRegion region) noexcept
Definition VortexBoardBindHost.cpp:287
void Reset() noexcept
Close every object, forget the log and the failures, and remove every simulated I2C chip.
Definition VortexBoardBindHost.cpp:238
MockGpio * Gpio(HfFunctionalGpioPin pin) noexcept
MCU GPIO of a functional pin, or nullptr if McuGpioOpen() was not called for it.
Definition VortexBoardBindHost.cpp:283
void SetI2cPresent(uint8_t address, bool present) noexcept
Simulate a chip that acknowledges address on the I2C bus (probe and scan see it).
Definition VortexBoardBindHost.cpp:263
const std::vector< LedFrame > & LedFrames() noexcept
Frames latched onto the status LED since the last Reset().
Definition VortexBoardBindHost.cpp:292
NvsRegion
The persistent-storage regions of the board.
Definition VortexBoardBind.h:169
Classic CAN controller.
Definition VortexBoardBind.h:88
I2C master bus.
Definition VortexBoardBind.h:73
SPI master bus (one per board on Vortex: SPI2).
Definition VortexBoardBind.h:57
UART port, framing 8N1, no flow control.
Definition VortexBoardBind.h:46
Which Open() calls fail (the binding returns failure without creating the object).
Definition VortexBoardBindHost.h:43
bool spi
Definition VortexBoardBindHost.h:45
bool uart
Definition VortexBoardBindHost.h:44
bool led_show
Definition VortexBoardBindHost.h:49
bool i2c
Definition VortexBoardBindHost.h:46
bool led
Definition VortexBoardBindHost.h:48
bool can
Definition VortexBoardBindHost.h:47
One frame latched onto the status LED.
Definition VortexBoardBindHost.h:37
uint8_t brightness
Definition VortexBoardBindHost.h:39
uint32_t rgb
Definition VortexBoardBindHost.h:38
Every Open() call the managers made, and what the binding was asked to configure.
Definition VortexBoardBindHost.h:25
std::vector< SpiDeviceSpec > spi_devices
Definition VortexBoardBindHost.h:28
SpiBusSpec spi
Definition VortexBoardBindHost.h:27
int led_pin
Definition VortexBoardBindHost.h:32
uint32_t led_count
Definition VortexBoardBindHost.h:33
std::vector< I2cDeviceSpec > i2c_devices
Definition VortexBoardBindHost.h:30
I2cBusSpec i2c
Definition VortexBoardBindHost.h:29
UartSpec uart
Definition VortexBoardBindHost.h:26
CanSpec can
Definition VortexBoardBindHost.h:31