UTILS I2C Types

UTILS I2C Types

group UTILS_I2C_Exported_Types

Enums

enum stm32_utils_i2c_status_t

I2C Utils status structure definition.

Values:

enumerator STM32_UTILS_I2C_OK

Utils I2C operation completed successfully

enumerator STM32_UTILS_I2C_ERROR

Utils I2C operation completed with error

enumerator STM32_UTILS_I2C_INVALID_PARAM

Utils I2C invalid parameter

enum stm32_utils_i2c_analog_filter_mode_t

I2C Utils analog filter mode structure definition.

Values:

enumerator STM32_UTILS_I2C_ANALOG_FILTER_DISABLED

Analog filter is not enabled

enumerator STM32_UTILS_I2C_ANALOG_FILTER_ENABLED

Analog filter is enabled

enum stm32_utils_i2c_timeouta_mode_t

I2C Utils TimeoutA mode structure definition.

Values:

enumerator STM32_UTILS_I2C_TIMEOUTA_SCL_LOW

TimeoutA is used to detect SCL low level timeout

enumerator STM32_UTILS_I2C_TIMEOUTA_SDA_SCL_HIGH

TimeoutA is used to detect both SCL and SDA high level timeout

enum stm32_utils_i2c_device_mode_t

I2C Utils device mode structure definition.

Values:

enumerator STM32_UTILS_I2C_MASTER_MODE

Device in master mode

enumerator STM32_UTILS_I2C_SLAVE_MODE

Device in slave mode

struct stm32_utils_i2c_timing_basic_config_t
#include <stm32_utils_i2c.h>

I2C Utils timings basic configuration structure definition.

Public Members

uint32_t clock_src_freq_hz

Specifies the I2C clock source frequency in Hz. The user can retrieve the I2Cx clock source frequency by calling HAL_I2C_GetClockFreq(). Note: This HAL function must only be called after the RCC has been configured. Therefore, invoke it immediately before calling HAL_I2C_SetConfig().

uint32_t i2c_freq_hz

Required I2C clock in Hz, for instance 4000000 for 400kHz on SCL

struct stm32_utils_i2c_timing_advanced_config_t
#include <stm32_utils_i2c.h>

I2C Utils timings advanced configuration structure definition.

Public Members

uint32_t clock_src_freq_hz

Clock source frequency in Hz

uint32_t i2c_freq_hz

Required I2C bus clock in Hz

uint32_t trise_ns

Rise time max in ns

uint32_t tfall_ns

Fall time max in ns

uint32_t dnf

Digital noise filter coefficient. This parameter must be a number between Min_Data = 0 and Max_Data = 0x0F

stm32_utils_i2c_analog_filter_mode_t af

Analog filter mode

struct stm32_utils_i2c_timeouta_config_t
#include <stm32_utils_i2c.h>

I2C UTILS Timeout A configuration structure definition.

Public Members

uint32_t clock_src_freq_hz

Source clock frequency of I2C Instance

stm32_utils_i2c_timeouta_mode_t timeouta_mode

IDLE Timeout mode

uint32_t timeout_ns

Timeout to be applied in ns

struct stm32_utils_i2c_timeoutb_config_t
#include <stm32_utils_i2c.h>

I2C UTILS Timeout B configuration structure definition.

Public Members

uint32_t clock_src_freq_hz

Source clock frequency of I2C Instance

stm32_utils_i2c_device_mode_t device_mode

Device mode

uint32_t timeout_ns

Timeout to be applied in ns