STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
stm32f769i_discovery_eeprom.h
Go to the documentation of this file.
1 
39 /* Define to prevent recursive inclusion -------------------------------------*/
40 #ifndef __STM32F769I_DISCOVERY_EEPROM_H
41 #define __STM32F769I_DISCOVERY_EEPROM_H
42 
43 #ifdef __cplusplus
44  extern "C" {
45 #endif
46 
47 /* Includes ------------------------------------------------------------------*/
48 #include "stm32f769i_discovery.h"
49 
73 /* EEPROM hardware address and page size */
74 #define EEPROM_PAGESIZE ((uint8_t)4)
75 #define EEPROM_MAX_SIZE ((uint16_t)0x2000) /* 64Kbit */
76 
77 
78 /* Maximum number of trials for EEPROM_WaitEepromStandbyState() function */
79 #define EEPROM_MAX_TRIALS ((uint32_t)3000)
80 
81 #define EEPROM_OK ((uint32_t)0)
82 #define EEPROM_FAIL ((uint32_t)1)
83 #define EEPROM_TIMEOUT ((uint32_t)2)
84 
98 uint32_t BSP_EEPROM_Init(void);
99 uint8_t BSP_EEPROM_DeInit(void);
100 uint32_t BSP_EEPROM_ReadBuffer(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t* NumByteToRead);
101 uint32_t BSP_EEPROM_WritePage(uint8_t* pBuffer, uint16_t WriteAddr, uint8_t* NumByteToWrite);
102 uint32_t BSP_EEPROM_WriteBuffer(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite);
103 uint32_t BSP_EEPROM_WaitEepromStandbyState(void);
104 
105 /* USER Callbacks: This function is declared as __weak in EEPROM driver and
106  should be implemented into user application.
107  BSP_EEPROM_TIMEOUT_UserCallback() function is called whenever a timeout condition
108  occurs during communication (waiting on an event that doesn't occur, bus
109  errors, busy devices ...). */
111 
112 /* Link function for I2C EEPROM peripheral */
113 void EEPROM_IO_Init(void);
114 HAL_StatusTypeDef EEPROM_IO_WriteData(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pBuffer, uint32_t BufferSize);
115 HAL_StatusTypeDef EEPROM_IO_ReadData(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pBuffer, uint32_t BufferSize);
116 HAL_StatusTypeDef EEPROM_IO_IsDeviceReady(uint16_t DevAddress, uint32_t Trials);
117 
134 #ifdef __cplusplus
135 }
136 #endif
137 
138 #endif /* __STM32F769I_DISCOVERY_EEPROM_H */
139 
140 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_StatusTypeDef EEPROM_IO_ReadData(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pBuffer, uint32_t BufferSize)
Read data from I2C EEPROM driver in using DMA channel.
This file contains definitions for STM32F769I-Discovery LEDs, push-buttons hardware resources...
uint8_t BSP_EEPROM_DeInit(void)
DeInitializes the EEPROM.
HAL_StatusTypeDef EEPROM_IO_IsDeviceReady(uint16_t DevAddress, uint32_t Trials)
Checks if target device is ready for communication.
uint32_t BSP_EEPROM_WriteBuffer(uint8_t *pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite)
Writes buffer of data to the I2C EEPROM.
void BSP_EEPROM_TIMEOUT_UserCallback(void)
Basic management of the timeout situation.
uint32_t BSP_EEPROM_WaitEepromStandbyState(void)
Wait for EEPROM Standby state.
uint32_t BSP_EEPROM_Init(void)
Initializes peripherals used by the I2C EEPROM driver.
HAL_StatusTypeDef EEPROM_IO_WriteData(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pBuffer, uint32_t BufferSize)
Write data to I2C EEPROM driver in using DMA channel.
HAL_StatusTypeDef
HAL Status structures definition.
uint32_t BSP_EEPROM_ReadBuffer(uint8_t *pBuffer, uint16_t ReadAddr, uint16_t *NumByteToRead)
Reads a block of data from the EEPROM.
void EEPROM_IO_Init(void)
Initializes peripherals used by the I2C EEPROM driver.
uint32_t BSP_EEPROM_WritePage(uint8_t *pBuffer, uint16_t WriteAddr, uint8_t *NumByteToWrite)
Writes more than one byte to the EEPROM with a single WRITE cycle.