76 uint8_t
cs,
bool cs_active_low, uint32_t
baudrate);
uint8_t hw_spi_count(void)
Get the total number of available SPI adapters.
hw_spi_t hw_spi_init_default(bool cs_active_low, uint32_t baudrate)
Initialize a SPI interface using default pins and adapter.
GPIO (General Purpose Input/Output) interface.
size_t hw_spi_read(hw_spi_t *spi, uint8_t reg, void *data, size_t len)
Read data from a specific register of a SPI device.
bool cs_active
CS active state (false if active low)
size_t hw_spi_write(hw_spi_t *spi, uint8_t reg, const void *data, size_t len)
Write data to a specific register of a SPI device.
hw_spi_t hw_spi_init(uint8_t adapter, uint8_t sck, uint8_t tx, uint8_t rx, uint8_t cs, bool cs_active_low, uint32_t baudrate)
Initialize a SPI interface with specific adapter and pins.
hw_gpio_t rx
SPI Receive pin (Master In Slave Out)
size_t hw_spi_xfr(hw_spi_t *spi, void *data, size_t tx, size_t rx)
Perform a SPI transfer operation (read, write, or combined).
uint32_t baudrate
SPI baud rate in Hz.
uint8_t adapter
SPI adapter (0, 1, etc.)
hw_gpio_t sck
SPI Clock pin.
hw_gpio_t cs
SPI Chip Select pin.
static bool hw_spi_valid(hw_spi_t *spi)
Get true if the SPI interface is valid.
hw_gpio_t tx
SPI Transmit pin (Master Out Slave In)
struct hw_spi_t hw_spi_t
SPI adapter.
GPIO logical pin structure.
void hw_spi_finalize(hw_spi_t *spi)
Finalize and release a SPI interface.
uint8_t reserved[3]
Reserved for user data.