Prusa MINI Firmware overview
I2C Exported Types
Collaboration diagram for I2C Exported Types:

Classes

struct  I2C_InitTypeDef
 I2C Configuration Structure definition. More...
 
struct  I2C_HandleTypeDef
 I2C handle Structure definition. More...
 

Enumerations

enum  HAL_I2C_StateTypeDef {
  HAL_I2C_STATE_RESET = 0x00U, HAL_I2C_STATE_READY = 0x20U, HAL_I2C_STATE_BUSY = 0x24U, HAL_I2C_STATE_BUSY_TX = 0x21U,
  HAL_I2C_STATE_BUSY_RX = 0x22U, HAL_I2C_STATE_LISTEN = 0x28U, HAL_I2C_STATE_BUSY_TX_LISTEN = 0x29U, HAL_I2C_STATE_BUSY_RX_LISTEN = 0x2AU,
  HAL_I2C_STATE_ABORT = 0x60U, HAL_I2C_STATE_TIMEOUT = 0xA0U, HAL_I2C_STATE_ERROR = 0xE0U
}
 HAL State structure definition. More...
 
enum  HAL_I2C_ModeTypeDef { HAL_I2C_MODE_NONE = 0x00U, HAL_I2C_MODE_MASTER = 0x10U, HAL_I2C_MODE_SLAVE = 0x20U, HAL_I2C_MODE_MEM = 0x40U }
 HAL Mode structure definition. More...
 

Detailed Description

Enumeration Type Documentation

◆ HAL_I2C_StateTypeDef

HAL State structure definition.

Note
HAL I2C State value coding follow below described bitmap : b7-b6 Error information 00 : No Error 01 : Abort (Abort user request on going) 10 : Timeout 11 : Error b5 IP initilisation status 0 : Reset (IP not initialized) 1 : Init done (IP initialized and ready to use. HAL I2C Init function called) b4 (not used) x : Should be set to 0 b3 0 : Ready or Busy (No Listen mode ongoing) 1 : Listen (IP in Address Listen Mode) b2 Intrinsic process state 0 : Ready 1 : Busy (IP busy with some configuration or internal operations) b1 Rx state 0 : Ready (no Rx operation ongoing) 1 : Busy (Rx operation ongoing) b0 Tx state 0 : Ready (no Tx operation ongoing) 1 : Busy (Tx operation ongoing)
Enumerator
HAL_I2C_STATE_RESET 

Peripheral is not yet Initialized

HAL_I2C_STATE_READY 

Peripheral Initialized and ready for use

HAL_I2C_STATE_BUSY 

An internal process is ongoing

HAL_I2C_STATE_BUSY_TX 

Data Transmission process is ongoing

HAL_I2C_STATE_BUSY_RX 

Data Reception process is ongoing

HAL_I2C_STATE_LISTEN 

Address Listen Mode is ongoing

HAL_I2C_STATE_BUSY_TX_LISTEN 

Address Listen Mode and Data Transmission process is ongoing

HAL_I2C_STATE_BUSY_RX_LISTEN 

Address Listen Mode and Data Reception process is ongoing

HAL_I2C_STATE_ABORT 

Abort user request ongoing

HAL_I2C_STATE_TIMEOUT 

Timeout state

HAL_I2C_STATE_ERROR 

Error

118 {
119  HAL_I2C_STATE_RESET = 0x00U, /*!< Peripheral is not yet Initialized */
120  HAL_I2C_STATE_READY = 0x20U, /*!< Peripheral Initialized and ready for use */
121  HAL_I2C_STATE_BUSY = 0x24U, /*!< An internal process is ongoing */
122  HAL_I2C_STATE_BUSY_TX = 0x21U, /*!< Data Transmission process is ongoing */
123  HAL_I2C_STATE_BUSY_RX = 0x22U, /*!< Data Reception process is ongoing */
124  HAL_I2C_STATE_LISTEN = 0x28U, /*!< Address Listen Mode is ongoing */
125  HAL_I2C_STATE_BUSY_TX_LISTEN = 0x29U, /*!< Address Listen Mode and Data Transmission
126  process is ongoing */
127  HAL_I2C_STATE_BUSY_RX_LISTEN = 0x2AU, /*!< Address Listen Mode and Data Reception
128  process is ongoing */
129  HAL_I2C_STATE_ABORT = 0x60U, /*!< Abort user request ongoing */
130  HAL_I2C_STATE_TIMEOUT = 0xA0U, /*!< Timeout state */
131  HAL_I2C_STATE_ERROR = 0xE0U /*!< Error */
132 

◆ HAL_I2C_ModeTypeDef

HAL Mode structure definition.

Note
HAL I2C Mode value coding follow below described bitmap : b7 (not used) x : Should be set to 0 b6 0 : None 1 : Memory (HAL I2C communication is in Memory Mode) b5 0 : None 1 : Slave (HAL I2C communication is in Slave Mode) b4 0 : None 1 : Master (HAL I2C communication is in Master Mode) b3-b2-b1-b0 (not used) xxxx : Should be set to 0000
Enumerator
HAL_I2C_MODE_NONE 

No I2C communication on going

HAL_I2C_MODE_MASTER 

I2C communication is in Master Mode

HAL_I2C_MODE_SLAVE 

I2C communication is in Slave Mode

HAL_I2C_MODE_MEM 

I2C communication is in Memory Mode

153 {
154  HAL_I2C_MODE_NONE = 0x00U, /*!< No I2C communication on going */
155  HAL_I2C_MODE_MASTER = 0x10U, /*!< I2C communication is in Master Mode */
156  HAL_I2C_MODE_SLAVE = 0x20U, /*!< I2C communication is in Slave Mode */
157  HAL_I2C_MODE_MEM = 0x40U /*!< I2C communication is in Memory Mode */
158 
HAL_I2C_STATE_READY
Definition: stm32f4xx_hal_i2c.h:120
HAL_I2C_MODE_MASTER
Definition: stm32f4xx_hal_i2c.h:155
HAL_I2C_MODE_NONE
Definition: stm32f4xx_hal_i2c.h:154
HAL_I2C_STATE_BUSY
Definition: stm32f4xx_hal_i2c.h:121
HAL_I2C_STATE_ABORT
Definition: stm32f4xx_hal_i2c.h:129
HAL_I2C_STATE_LISTEN
Definition: stm32f4xx_hal_i2c.h:124
HAL_I2C_STATE_BUSY_RX
Definition: stm32f4xx_hal_i2c.h:123
HAL_I2C_ModeTypeDef
HAL_I2C_ModeTypeDef
HAL Mode structure definition.
Definition: stm32f4xx_hal_i2c.h:152
HAL_I2C_STATE_BUSY_TX
Definition: stm32f4xx_hal_i2c.h:122
HAL_I2C_STATE_BUSY_RX_LISTEN
Definition: stm32f4xx_hal_i2c.h:127
HAL_I2C_MODE_MEM
Definition: stm32f4xx_hal_i2c.h:157
HAL_I2C_STATE_BUSY_TX_LISTEN
Definition: stm32f4xx_hal_i2c.h:125
HAL_I2C_StateTypeDef
HAL_I2C_StateTypeDef
HAL State structure definition.
Definition: stm32f4xx_hal_i2c.h:117
HAL_I2C_STATE_TIMEOUT
Definition: stm32f4xx_hal_i2c.h:130
HAL_I2C_STATE_RESET
Definition: stm32f4xx_hal_i2c.h:119
HAL_I2C_MODE_SLAVE
Definition: stm32f4xx_hal_i2c.h:156
HAL_I2C_STATE_ERROR
Definition: stm32f4xx_hal_i2c.h:131