ST / EEPROM_DISCO_F429ZI

Dependents:   DISCO-F429ZI_EEPROM_demo WIRE-BANDING_FT810 WIRE-BANDING_copy

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers EEPROM_DISCO_F429ZI.cpp Source File

EEPROM_DISCO_F429ZI.cpp

00001 /* Copyright (c) 2010-2011 mbed.org, MIT License
00002 *
00003 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
00004 * and associated documentation files (the "Software"), to deal in the Software without
00005 * restriction, including without limitation the rights to use, copy, modify, merge, publish,
00006 * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
00007 * Software is furnished to do so, subject to the following conditions:
00008 *
00009 * The above copyright notice and this permission notice shall be included in all copies or
00010 * substantial portions of the Software.
00011 *
00012 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
00013 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00014 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
00015 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00016 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00017 */
00018 
00019 #include "EEPROM_DISCO_F429ZI.h"
00020 
00021 // Constructor
00022 EEPROM_DISCO_F429ZI::EEPROM_DISCO_F429ZI()
00023 {
00024   BSP_EEPROM_Init();
00025   BSP_EEPROM_WaitEepromStandbyState();
00026 }
00027 
00028 // Destructor
00029 EEPROM_DISCO_F429ZI::~EEPROM_DISCO_F429ZI()
00030 {
00031 }
00032 
00033 //=================================================================================================================
00034 // Public methods
00035 //=================================================================================================================
00036 
00037 uint32_t EEPROM_DISCO_F429ZI::Init(void)
00038 {
00039   uint32_t status = BSP_EEPROM_Init();
00040   if (status == EEPROM_OK) {
00041     return BSP_EEPROM_WaitEepromStandbyState();
00042   }
00043   else {
00044     return status;
00045   }
00046 }
00047 
00048 uint32_t EEPROM_DISCO_F429ZI::ReadBuffer(uint8_t *pBuffer, uint16_t ReadAddr, uint16_t *NumByteToRead)
00049 {
00050   return BSP_EEPROM_ReadBuffer(pBuffer, ReadAddr, NumByteToRead);
00051 }
00052 
00053 uint32_t EEPROM_DISCO_F429ZI::WritePage(uint8_t *pBuffer, uint16_t WriteAddr, uint8_t *NumByteToWrite)
00054 {
00055   return BSP_EEPROM_WritePage(pBuffer, WriteAddr, NumByteToWrite);
00056 }
00057 
00058 uint32_t EEPROM_DISCO_F429ZI::WriteBuffer(uint8_t *pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite)
00059 {
00060   return BSP_EEPROM_WriteBuffer(pBuffer, WriteAddr, NumByteToWrite);
00061 }
00062 
00063 uint32_t EEPROM_DISCO_F429ZI::WaitEepromStandbyState(void)      
00064 {
00065   return BSP_EEPROM_WaitEepromStandbyState();
00066 }
00067 
00068 extern I2C_HandleTypeDef EEP_I2cHandle;
00069 
00070 /**
00071   * @brief  This function handles sEE DMA TX interrupt request.
00072   * @param  None
00073   * @retval None
00074   */
00075 void EEPROM_I2C_DMA_TX_IRQHandler(void)
00076 { 
00077   HAL_DMA_IRQHandler(EEP_I2cHandle.hdmatx);
00078 }
00079 
00080 /**
00081   * @brief  This function handles sEE DMA RX interrupt request.
00082   * @param  None
00083   * @retval None
00084   */
00085 void EEPROM_I2C_DMA_RX_IRQHandler(void)
00086 { 
00087   HAL_DMA_IRQHandler(EEP_I2cHandle.hdmarx);
00088 }