40 #ifndef __MFXSTM32L152_H 41 #define __MFXSTM32L152_H 48 #include "../Common/ts.h" 49 #include "../Common/io.h" 50 #include "../Common/idd.h" 118 #define MFXSTM32L152_REG_ADR_ID ((uint8_t)0x00) 122 #define MFXSTM32L152_REG_ADR_FW_VERSION_MSB ((uint8_t)0x01) 123 #define MFXSTM32L152_REG_ADR_FW_VERSION_LSB ((uint8_t)0x00) 127 #define MFXSTM32L152_REG_ADR_SYS_CTRL ((uint8_t)0x40) 131 #define MFXSTM32L152_REG_ADR_VDD_REF_MSB ((uint8_t)0x06) 132 #define MFXSTM32L152_REG_ADR_VDD_REF_LSB ((uint8_t)0x07) 136 #define MFXSTM32L152_REG_ADR_ERROR_SRC ((uint8_t)0x03) 140 #define MFXSTM32L152_REG_ADR_ERROR_MSG ((uint8_t)0x04) 145 #define MFXSTM32L152_REG_ADR_MFX_IRQ_OUT ((uint8_t)0x41) 149 #define MFXSTM32L152_REG_ADR_IRQ_SRC_EN ((uint8_t)0x42) 153 #define MFXSTM32L152_REG_ADR_IRQ_PENDING ((uint8_t)0x08) 157 #define MFXSTM32L152_REG_ADR_IRQ_ACK ((uint8_t)0x44) 162 #define MFXSTM32L152_ID_1 ((uint8_t)0x7B) 163 #define MFXSTM32L152_ID_2 ((uint8_t)0x79) 168 #define MFXSTM32L152_SWRST ((uint8_t)0x80) 169 #define MFXSTM32L152_STANDBY ((uint8_t)0x40) 170 #define MFXSTM32L152_ALTERNATE_GPIO_EN ((uint8_t)0x08) 171 #define MFXSTM32L152_IDD_EN ((uint8_t)0x04) 172 #define MFXSTM32L152_TS_EN ((uint8_t)0x02) 173 #define MFXSTM32L152_GPIO_EN ((uint8_t)0x01) 178 #define MFXSTM32L152_IDD_ERROR_SRC ((uint8_t)0x04) 179 #define MFXSTM32L152_TS_ERROR_SRC ((uint8_t)0x02) 180 #define MFXSTM32L152_GPIO_ERROR_SRC ((uint8_t)0x01) 185 #define MFXSTM32L152_OUT_PIN_TYPE_OPENDRAIN ((uint8_t)0x00) 186 #define MFXSTM32L152_OUT_PIN_TYPE_PUSHPULL ((uint8_t)0x01) 187 #define MFXSTM32L152_OUT_PIN_POLARITY_LOW ((uint8_t)0x00) 188 #define MFXSTM32L152_OUT_PIN_POLARITY_HIGH ((uint8_t)0x02) 193 #define MFXSTM32L152_IRQ_TS_OVF ((uint8_t)0x80) 194 #define MFXSTM32L152_IRQ_TS_FULL ((uint8_t)0x40) 195 #define MFXSTM32L152_IRQ_TS_TH ((uint8_t)0x20) 196 #define MFXSTM32L152_IRQ_TS_NE ((uint8_t)0x10) 197 #define MFXSTM32L152_IRQ_TS_DET ((uint8_t)0x08) 198 #define MFXSTM32L152_IRQ_ERROR ((uint8_t)0x04) 199 #define MFXSTM32L152_IRQ_IDD ((uint8_t)0x02) 200 #define MFXSTM32L152_IRQ_GPIO ((uint8_t)0x01) 201 #define MFXSTM32L152_IRQ_ALL ((uint8_t)0xFF) 202 #define MFXSTM32L152_IRQ_TS (MFXSTM32L152_IRQ_TS_DET | MFXSTM32L152_IRQ_TS_NE | MFXSTM32L152_IRQ_TS_TH | MFXSTM32L152_IRQ_TS_FULL | MFXSTM32L152_IRQ_TS_OVF ) 212 #define MFXSTM32L152_REG_ADR_GPIO_DIR1 ((uint8_t)0x60) 213 #define MFXSTM32L152_REG_ADR_GPIO_DIR2 ((uint8_t)0x61) 214 #define MFXSTM32L152_REG_ADR_GPIO_DIR3 ((uint8_t)0x62) 219 #define MFXSTM32L152_REG_ADR_GPIO_TYPE1 ((uint8_t)0x64) 220 #define MFXSTM32L152_REG_ADR_GPIO_TYPE2 ((uint8_t)0x65) 221 #define MFXSTM32L152_REG_ADR_GPIO_TYPE3 ((uint8_t)0x66) 225 #define MFXSTM32L152_REG_ADR_GPIO_PUPD1 ((uint8_t)0x68) 226 #define MFXSTM32L152_REG_ADR_GPIO_PUPD2 ((uint8_t)0x69) 227 #define MFXSTM32L152_REG_ADR_GPIO_PUPD3 ((uint8_t)0x6A) 231 #define MFXSTM32L152_REG_ADR_GPO_SET1 ((uint8_t)0x6C) 232 #define MFXSTM32L152_REG_ADR_GPO_SET2 ((uint8_t)0x6D) 233 #define MFXSTM32L152_REG_ADR_GPO_SET3 ((uint8_t)0x6E) 237 #define MFXSTM32L152_REG_ADR_GPO_CLR1 ((uint8_t)0x70) 238 #define MFXSTM32L152_REG_ADR_GPO_CLR2 ((uint8_t)0x71) 239 #define MFXSTM32L152_REG_ADR_GPO_CLR3 ((uint8_t)0x72) 243 #define MFXSTM32L152_REG_ADR_GPIO_STATE1 ((uint8_t)0x10) 244 #define MFXSTM32L152_REG_ADR_GPIO_STATE2 ((uint8_t)0x11) 245 #define MFXSTM32L152_REG_ADR_GPIO_STATE3 ((uint8_t)0x12) 255 #define MFXSTM32L152_REG_ADR_IRQ_GPI_SRC1 ((uint8_t)0x48) 256 #define MFXSTM32L152_REG_ADR_IRQ_GPI_SRC2 ((uint8_t)0x49) 257 #define MFXSTM32L152_REG_ADR_IRQ_GPI_SRC3 ((uint8_t)0x4A) 261 #define MFXSTM32L152_REG_ADR_IRQ_GPI_EVT1 ((uint8_t)0x4C) 262 #define MFXSTM32L152_REG_ADR_IRQ_GPI_EVT2 ((uint8_t)0x4D) 263 #define MFXSTM32L152_REG_ADR_IRQ_GPI_EVT3 ((uint8_t)0x4E) 267 #define MFXSTM32L152_REG_ADR_IRQ_GPI_TYPE1 ((uint8_t)0x50) 268 #define MFXSTM32L152_REG_ADR_IRQ_GPI_TYPE2 ((uint8_t)0x51) 269 #define MFXSTM32L152_REG_ADR_IRQ_GPI_TYPE3 ((uint8_t)0x52) 273 #define MFXSTM32L152_REG_ADR_IRQ_GPI_PENDING1 ((uint8_t)0x0C) 274 #define MFXSTM32L152_REG_ADR_IRQ_GPI_PENDING2 ((uint8_t)0x0D) 275 #define MFXSTM32L152_REG_ADR_IRQ_GPI_PENDING3 ((uint8_t)0x0E) 279 #define MFXSTM32L152_REG_ADR_IRQ_GPI_ACK1 ((uint8_t)0x54) 280 #define MFXSTM32L152_REG_ADR_IRQ_GPI_ACK2 ((uint8_t)0x55) 281 #define MFXSTM32L152_REG_ADR_IRQ_GPI_ACK3 ((uint8_t)0x56) 287 #define MFXSTM32L152_GPIO_PIN_0 ((uint32_t)0x0001) 288 #define MFXSTM32L152_GPIO_PIN_1 ((uint32_t)0x0002) 289 #define MFXSTM32L152_GPIO_PIN_2 ((uint32_t)0x0004) 290 #define MFXSTM32L152_GPIO_PIN_3 ((uint32_t)0x0008) 291 #define MFXSTM32L152_GPIO_PIN_4 ((uint32_t)0x0010) 292 #define MFXSTM32L152_GPIO_PIN_5 ((uint32_t)0x0020) 293 #define MFXSTM32L152_GPIO_PIN_6 ((uint32_t)0x0040) 294 #define MFXSTM32L152_GPIO_PIN_7 ((uint32_t)0x0080) 296 #define MFXSTM32L152_GPIO_PIN_8 ((uint32_t)0x0100) 297 #define MFXSTM32L152_GPIO_PIN_9 ((uint32_t)0x0200) 298 #define MFXSTM32L152_GPIO_PIN_10 ((uint32_t)0x0400) 299 #define MFXSTM32L152_GPIO_PIN_11 ((uint32_t)0x0800) 300 #define MFXSTM32L152_GPIO_PIN_12 ((uint32_t)0x1000) 301 #define MFXSTM32L152_GPIO_PIN_13 ((uint32_t)0x2000) 302 #define MFXSTM32L152_GPIO_PIN_14 ((uint32_t)0x4000) 303 #define MFXSTM32L152_GPIO_PIN_15 ((uint32_t)0x8000) 305 #define MFXSTM32L152_GPIO_PIN_16 ((uint32_t)0x010000) 306 #define MFXSTM32L152_GPIO_PIN_17 ((uint32_t)0x020000) 307 #define MFXSTM32L152_GPIO_PIN_18 ((uint32_t)0x040000) 308 #define MFXSTM32L152_GPIO_PIN_19 ((uint32_t)0x080000) 309 #define MFXSTM32L152_GPIO_PIN_20 ((uint32_t)0x100000) 310 #define MFXSTM32L152_GPIO_PIN_21 ((uint32_t)0x200000) 311 #define MFXSTM32L152_GPIO_PIN_22 ((uint32_t)0x400000) 312 #define MFXSTM32L152_GPIO_PIN_23 ((uint32_t)0x800000) 314 #define MFXSTM32L152_AGPIO_PIN_0 MFXSTM32L152_GPIO_PIN_16 315 #define MFXSTM32L152_AGPIO_PIN_1 MFXSTM32L152_GPIO_PIN_17 316 #define MFXSTM32L152_AGPIO_PIN_2 MFXSTM32L152_GPIO_PIN_18 317 #define MFXSTM32L152_AGPIO_PIN_3 MFXSTM32L152_GPIO_PIN_19 318 #define MFXSTM32L152_AGPIO_PIN_4 MFXSTM32L152_GPIO_PIN_20 319 #define MFXSTM32L152_AGPIO_PIN_5 MFXSTM32L152_GPIO_PIN_21 320 #define MFXSTM32L152_AGPIO_PIN_6 MFXSTM32L152_GPIO_PIN_22 321 #define MFXSTM32L152_AGPIO_PIN_7 MFXSTM32L152_GPIO_PIN_23 323 #define MFXSTM32L152_GPIO_PINS_ALL ((uint32_t)0xFFFFFF) 328 #define MFXSTM32L152_GPIO_DIR_IN ((uint8_t)0x0) 329 #define MFXSTM32L152_GPIO_DIR_OUT ((uint8_t)0x1) 330 #define MFXSTM32L152_IRQ_GPI_EVT_LEVEL ((uint8_t)0x0) 331 #define MFXSTM32L152_IRQ_GPI_EVT_EDGE ((uint8_t)0x1) 332 #define MFXSTM32L152_IRQ_GPI_TYPE_LLFE ((uint8_t)0x0) 333 #define MFXSTM32L152_IRQ_GPI_TYPE_HLRE ((uint8_t)0x1) 334 #define MFXSTM32L152_GPI_WITHOUT_PULL_RESISTOR ((uint8_t)0x0) 335 #define MFXSTM32L152_GPI_WITH_PULL_RESISTOR ((uint8_t)0x1) 336 #define MFXSTM32L152_GPO_PUSH_PULL ((uint8_t)0x0) 337 #define MFXSTM32L152_GPO_OPEN_DRAIN ((uint8_t)0x1) 338 #define MFXSTM32L152_GPIO_PULL_DOWN ((uint8_t)0x0) 339 #define MFXSTM32L152_GPIO_PULL_UP ((uint8_t)0x1) 349 #define MFXSTM32L152_TS_SETTLING ((uint8_t)0xA0) 350 #define MFXSTM32L152_TS_TOUCH_DET_DELAY ((uint8_t)0xA1) 351 #define MFXSTM32L152_TS_AVE ((uint8_t)0xA2) 352 #define MFXSTM32L152_TS_TRACK ((uint8_t)0xA3) 353 #define MFXSTM32L152_TS_FIFO_TH ((uint8_t)0xA4) 354 #define MFXSTM32L152_TS_FIFO_STA ((uint8_t)0x20) 355 #define MFXSTM32L152_TS_FIFO_LEVEL ((uint8_t)0x21) 356 #define MFXSTM32L152_TS_XY_DATA ((uint8_t)0x24) 361 #define MFXSTM32L152_TS_CTRL_STATUS ((uint8_t)0x08) 362 #define MFXSTM32L152_TS_CLEAR_FIFO ((uint8_t)0x80) 368 #define MFXSTM32L152_REG_ADR_IDD_CTRL ((uint8_t)0x80) 373 #define MFXSTM32L152_REG_ADR_IDD_PRE_DELAY ((uint8_t)0x81) 378 #define MFXSTM32L152_REG_ADR_IDD_SHUNT0_MSB ((uint8_t)0x82) 379 #define MFXSTM32L152_REG_ADR_IDD_SHUNT0_LSB ((uint8_t)0x83) 380 #define MFXSTM32L152_REG_ADR_IDD_SHUNT1_MSB ((uint8_t)0x84) 381 #define MFXSTM32L152_REG_ADR_IDD_SHUNT1_LSB ((uint8_t)0x85) 382 #define MFXSTM32L152_REG_ADR_IDD_SHUNT2_MSB ((uint8_t)0x86) 383 #define MFXSTM32L152_REG_ADR_IDD_SHUNT2_LSB ((uint8_t)0x87) 384 #define MFXSTM32L152_REG_ADR_IDD_SHUNT3_MSB ((uint8_t)0x88) 385 #define MFXSTM32L152_REG_ADR_IDD_SHUNT3_LSB ((uint8_t)0x89) 386 #define MFXSTM32L152_REG_ADR_IDD_SHUNT4_MSB ((uint8_t)0x8A) 387 #define MFXSTM32L152_REG_ADR_IDD_SHUNT4_LSB ((uint8_t)0x8B) 392 #define MFXSTM32L152_REG_ADR_IDD_GAIN_MSB ((uint8_t)0x8C) 393 #define MFXSTM32L152_REG_ADR_IDD_GAIN_LSB ((uint8_t)0x8D) 398 #define MFXSTM32L152_REG_ADR_IDD_VDD_MIN_MSB ((uint8_t)0x8E) 399 #define MFXSTM32L152_REG_ADR_IDD_VDD_MIN_LSB ((uint8_t)0x8F) 404 #define MFXSTM32L152_REG_ADR_IDD_VALUE_MSB ((uint8_t)0x14) 405 #define MFXSTM32L152_REG_ADR_IDD_VALUE_MID ((uint8_t)0x15) 406 #define MFXSTM32L152_REG_ADR_IDD_VALUE_LSB ((uint8_t)0x16) 411 #define MFXSTM32L152_REG_ADR_IDD_CAL_OFFSET_MSB ((uint8_t)0x18) 412 #define MFXSTM32L152_REG_ADR_IDD_CAL_OFFSET_LSB ((uint8_t)0x19) 417 #define MFXSTM32L152_REG_ADR_IDD_SHUNT_USED ((uint8_t)0x1A) 422 #define MFXSTM32L152_REG_ADR_IDD_SH0_STABILIZATION ((uint8_t)0x90) 423 #define MFXSTM32L152_REG_ADR_IDD_SH1_STABILIZATION ((uint8_t)0x91) 424 #define MFXSTM32L152_REG_ADR_IDD_SH2_STABILIZATION ((uint8_t)0x92) 425 #define MFXSTM32L152_REG_ADR_IDD_SH3_STABILIZATION ((uint8_t)0x93) 426 #define MFXSTM32L152_REG_ADR_IDD_SH4_STABILIZATION ((uint8_t)0x94) 431 #define MFXSTM32L152_REG_ADR_IDD_NBR_OF_MEAS ((uint8_t)0x96) 436 #define MFXSTM32L152_REG_ADR_IDD_MEAS_DELTA_DELAY ((uint8_t)0x97) 441 #define MFXSTM32L152_REG_ADR_IDD_SHUNTS_ON_BOARD ((uint8_t)0x98) 451 #define MFXSTM32L152_IDD_CTRL_REQ ((uint8_t)0x01) 452 #define MFXSTM32L152_IDD_CTRL_SHUNT_NB ((uint8_t)0x0E) 453 #define MFXSTM32L152_IDD_CTRL_VREF_DIS ((uint8_t)0x40) 454 #define MFXSTM32L152_IDD_CTRL_CAL_DIS ((uint8_t)0x80) 459 #define MFXSTM32L152_IDD_SHUNT_NB_1 ((uint8_t) 0x01) 460 #define MFXSTM32L152_IDD_SHUNT_NB_2 ((uint8_t) 0x02) 461 #define MFXSTM32L152_IDD_SHUNT_NB_3 ((uint8_t) 0x03) 462 #define MFXSTM32L152_IDD_SHUNT_NB_4 ((uint8_t) 0x04) 463 #define MFXSTM32L152_IDD_SHUNT_NB_5 ((uint8_t) 0x05) 468 #define MFXSTM32L152_IDD_VREF_AUTO_MEASUREMENT_ENABLE ((uint8_t) 0x00) 469 #define MFXSTM32L152_IDD_VREF_AUTO_MEASUREMENT_DISABLE ((uint8_t) 0x70) 474 #define MFXSTM32L152_IDD_AUTO_CALIBRATION_ENABLE ((uint8_t) 0x00) 475 #define MFXSTM32L152_IDD_AUTO_CALIBRATION_DISABLE ((uint8_t) 0x80) 486 #define MFXSTM32L152_IDD_PREDELAY_UNIT ((uint8_t) 0x80) 487 #define MFXSTM32L152_IDD_PREDELAY_VALUE ((uint8_t) 0x7F) 493 #define MFXSTM32L152_IDD_PREDELAY_0_5_MS ((uint8_t) 0x00) 494 #define MFXSTM32L152_IDD_PREDELAY_20_MS ((uint8_t) 0x80) 505 #define MFXSTM32L152_IDD_DELTADELAY_UNIT ((uint8_t) 0x80) 506 #define MFXSTM32L152_IDD_DELTADELAY_VALUE ((uint8_t) 0x7F) 512 #define MFXSTM32L152_IDD_DELTADELAY_0_5_MS ((uint8_t) 0x00) 513 #define MFXSTM32L152_IDD_DELTADELAY_20_MS ((uint8_t) 0x80) 629 void MFX_IO_Write(uint16_t addr, uint8_t reg, uint8_t value);
631 uint16_t
MFX_IO_ReadMultiple(uint16_t addr, uint8_t reg, uint8_t *buffer, uint16_t length);
void mfxstm32l152_IDD_Config(uint16_t DeviceAddr, IDD_ConfigTypeDef MfxIddConfig)
Configures the IDD current measurement.
uint8_t mfxstm32l152_IDD_GetShuntUsed(uint16_t DeviceAddr)
Get Last shunt used for measurement.
void MFX_IO_Delay(uint32_t delay)
void mfxstm32l152_DisableITSource(uint16_t DeviceAddr, uint8_t Source)
Disable the interrupt mode for the selected IT source.
uint8_t mfxstm32l152_Error_GetITStatus(uint16_t DeviceAddr)
get Error interrupt status
void mfxstm32l152_EnableITSource(uint16_t DeviceAddr, uint8_t Source)
Enable the interrupt mode for the selected IT source.
void mfxstm32l152_IDD_EnableIT(uint16_t DeviceAddr)
Configure mfx to enable Idd interrupt.
void MFX_IO_EnableWakeupPin(void)
uint8_t mfxstm32l152_IDD_GetITStatus(uint16_t DeviceAddr)
get Idd interrupt status
TS_DrvTypeDef mfxstm32l152_ts_drv
uint8_t mfxstm32l152_TS_DetectTouch(uint16_t DeviceAddr)
Return if there is touch detected or not.
void mfxstm32l152_IDD_ClearIT(uint16_t DeviceAddr)
Clear Idd global interrupt.
void mfxstm32l152_TS_EnableIT(uint16_t DeviceAddr)
Configure the selected source to generate a global interrupt or not.
uint16_t mfxstm32l152_ReadID(uint16_t DeviceAddr)
Read the MFXSTM32L152 IO Expander device ID.
void mfxstm32l152_IO_DisableIT(uint16_t DeviceAddr)
Disable the global IO interrupt source.
IDD_DrvTypeDef mfxstm32l152_idd_drv
void mfxstm32l152_TS_Start(uint16_t DeviceAddr)
MFXSTM32L152 Touch screen functionalities functions.
void mfxstm32l152_IDD_GetValue(uint16_t DeviceAddr, uint32_t *ReadValue)
Get Idd current value.
uint8_t mfxstm32l152_TS_ITStatus(uint16_t DeviceAddr)
Configure the selected source to generate a global interrupt or not.
uint8_t mfxstm32l152_ReadReg(uint16_t DeviceAddr, uint8_t RegAddr)
FOR DEBUG ONLY.
void mfxstm32l152_SetIrqOutPinType(uint16_t DeviceAddr, uint8_t Type)
Set the global interrupt Type of IRQ_OUT_PIN.
void mfxstm32l152_IO_WritePin(uint16_t DeviceAddr, uint32_t IO_Pin, uint8_t PinState)
When GPIO is in output mode, puts the corresponding GPO in High (1) or Low (0) level.
void mfxstm32l152_Init(uint16_t DeviceAddr)
MFXSTM32L152 Control functions.
void mfxstm32l152_WakeUp(uint16_t DeviceAddr)
WakeUp mfxstm32l152 from standby mode.
void mfxstm32l152_IO_DisableAF(uint16_t DeviceAddr)
Disable the AF for aGPIO.
void mfxstm32l152_IDD_Start(uint16_t DeviceAddr)
MFXSTM32L152 IDD current measurement functionalities functions.
void mfxstm32l152_SetIrqOutPinPolarity(uint16_t DeviceAddr, uint8_t Polarity)
Set the global interrupt Polarity of IRQ_OUT_PIN.
void mfxstm32l152_IO_SetIrqEvtMode(uint16_t DeviceAddr, uint32_t IO_Pin, uint8_t Evt)
Set the global interrupt Type.
void mfxstm32l152_TS_ClearIT(uint16_t DeviceAddr)
Configure the selected source to generate a global interrupt or not.
void MFX_IO_Write(uint16_t addr, uint8_t reg, uint8_t value)
void mfxstm32l152_TS_GetXY(uint16_t DeviceAddr, uint16_t *X, uint16_t *Y)
Get the touch screen X and Y positions values.
uint16_t MFX_IO_ReadMultiple(uint16_t addr, uint8_t reg, uint8_t *buffer, uint16_t length)
void mfxstm32l152_IO_ClearIT(uint16_t DeviceAddr, uint32_t IO_Pin)
Clear the selected IO interrupt pending bit(s). It clear automatically also the general MFXSTM32L152_...
uint8_t mfxstm32l152_IO_Config(uint16_t DeviceAddr, uint32_t IO_Pin, IO_ModeTypedef IO_Mode)
Configures the IO pin(s) according to IO mode structure value.
uint8_t IDD_CAL_OFFSET_LSB
uint8_t MFX_IO_Read(uint16_t addr, uint8_t reg)
uint8_t mfxstm32l152_Error_ReadMsg(uint16_t DeviceAddr)
Read Error Message.
void mfxstm32l152_DeInit(uint16_t DeviceAddr)
DeInitialize the mfxstm32l152 and unconfigure the needed hardware resources.
void mfxstm32l152_Error_DisableIT(uint16_t DeviceAddr)
disable Error interrupt
uint8_t mfxstm32l152_GlobalITStatus(uint16_t DeviceAddr, uint8_t Source)
Returns the selected Global interrupt source pending bit value.
uint8_t mfxstm32l152_Error_ReadSrc(uint16_t DeviceAddr)
MFXSTM32L152 Error management functions.
void MFX_IO_Init(void)
iobus prototypes (they should be defined in common/stm32_iobus.h)
void mfxstm32l152_IO_SetIrqTypeMode(uint16_t DeviceAddr, uint32_t IO_Pin, uint8_t Type)
Configure the Edge for which a transition is detectable for the selected pin.
void mfxstm32l152_Error_EnableIT(uint16_t DeviceAddr)
Enable Error global interrupt.
void mfxstm32l152_WriteReg(uint16_t DeviceAddr, uint8_t RegAddr, uint8_t Value)
void mfxstm32l152_IO_EnablePinIT(uint16_t DeviceAddr, uint32_t IO_Pin)
Enable interrupt mode for the selected IO pin(s).
void mfxstm32l152_IO_Start(uint16_t DeviceAddr, uint32_t IO_Pin)
MFXSTM32L152 IO functionalities functions.
void mfxstm32l152_IO_EnableIT(uint16_t DeviceAddr)
Enable the global IO interrupt source.
void MFX_IO_ITConfig(void)
uint8_t IDD_CAL_OFFSET_MSB
void mfxstm32l152_IO_DisablePinIT(uint16_t DeviceAddr, uint32_t IO_Pin)
Disable interrupt mode for the selected IO pin(s).
uint16_t mfxstm32l152_ReadFwVersion(uint16_t DeviceAddr)
Read the MFXSTM32L152 device firmware version.
void mfxstm32l152_IDD_DisableIT(uint16_t DeviceAddr)
disable Idd interrupt
void mfxstm32l152_IDD_ConfigShuntNbLimit(uint16_t DeviceAddr, uint8_t ShuntNbLimit)
This function allows to modify number of shunt used for a measurement.
void mfxstm32l152_Error_ClearIT(uint16_t DeviceAddr)
Clear Error global interrupt.
void mfxstm32l152_Reset(uint16_t DeviceAddr)
Reset the mfxstm32l152 by Software.
void mfxstm32l152_IO_EnableAF(uint16_t DeviceAddr)
Enable the AF for aGPIO.
void mfxstm32l152_LowPower(uint16_t DeviceAddr)
Put mfxstm32l152 Device in Low Power standby mode.
IO_DrvTypeDef mfxstm32l152_io_drv
uint32_t mfxstm32l152_IO_ReadPin(uint16_t DeviceAddr, uint32_t IO_Pin)
Return the state of the selected IO pin(s).
void mfxstm32l152_ClearGlobalIT(uint16_t DeviceAddr, uint8_t Source)
Clear the selected Global interrupt pending bit(s)
void mfxstm32l152_IO_InitPin(uint16_t DeviceAddr, uint32_t IO_Pin, uint8_t Direction)
Initialize the selected IO pin direction.
void mfxstm32l152_TS_DisableIT(uint16_t DeviceAddr)
Configure the selected source to generate a global interrupt or not.
uint32_t mfxstm32l152_IO_ITStatus(uint16_t DeviceAddr, uint32_t IO_Pin)
Check the status of the selected IO interrupt pending bit.