6#ifndef ICM42670_STM32_HAL_H
7#define ICM42670_STM32_HAL_H
14#include "stm32h5xx_hal.h"
41 SPI_HandleTypeDef *hspi,
42 GPIO_TypeDef *cs_port,
67 const uint8_t *data, uint16_t len);
69#ifdef HAL_I2C_MODULE_ENABLED
74 I2C_HandleTypeDef *hi2c;
77} ICM42670_STM32_I2CBus;
89 ICM42670_STM32_I2CBus *bus,
90 I2C_HandleTypeDef *hi2c,
102int8_t ICM42670_STM32_I2C_ReadReg(
void *handle, uint8_t reg_addr, uint8_t *data,
114int8_t ICM42670_STM32_I2C_WriteReg(
void *handle, uint8_t reg_addr,
115 const uint8_t *data, uint16_t len);
118#ifdef HAL_I3C_MODULE_ENABLED
123 I3C_HandleTypeDef *hi3c;
124 uint8_t target_dynamic_addr;
126} ICM42670_STM32_I3CBus;
138 ICM42670_STM32_I3CBus *bus,
139 I3C_HandleTypeDef *hi3c,
140 uint8_t target_dynamic_addr);
151int8_t ICM42670_STM32_I3C_ReadReg(
void *handle, uint8_t reg_addr, uint8_t *data,
163int8_t ICM42670_STM32_I3C_WriteReg(
void *handle, uint8_t reg_addr,
164 const uint8_t *data, uint16_t len);
Core ICM-42670-P configuration and sensor read API.
ICM42670_Status_t
Return codes used by the ICM-42670-P driver.
Definition ICM42670_driver.h:23
int8_t ICM42670_STM32_SPI_WriteReg(void *handle, uint8_t reg_addr, const uint8_t *data, uint16_t len)
STM32 SPI register-write callback for ICM42670_Config.
Definition ICM42670_stm32_hal.c:122
ICM42670_Status_t ICM42670_STM32_SPI_INIT(ICM42670_Config *config, ICM42670_STM32_SPIBus *bus, SPI_HandleTypeDef *hspi, GPIO_TypeDef *cs_port, uint16_t cs_pin)
Configure an ICM42670_Config for STM32 HAL SPI access.
Definition ICM42670_stm32_hal.c:66
int8_t ICM42670_STM32_SPI_ReadReg(void *handle, uint8_t reg_addr, uint8_t *data, uint16_t len)
STM32 SPI register-read callback for ICM42670_Config.
Definition ICM42670_stm32_hal.c:91
Platform-independent driver configuration.
Definition ICM42670_driver.h:172
STM32 SPI bus state used by the portable driver callbacks.
Definition ICM42670_stm32_hal.h:19
uint32_t timeout_ms
Definition ICM42670_stm32_hal.h:23
GPIO_TypeDef * cs_port
Definition ICM42670_stm32_hal.h:21
uint16_t cs_pin
Definition ICM42670_stm32_hal.h:22
SPI_HandleTypeDef * hspi
Definition ICM42670_stm32_hal.h:20