Contains the BSP driver for the DISCO_F413ZH board.

Dependents:   DISCO_F413ZH-LCD-demo DISCO_F413ZH-touch-screen-demo DISCO_F413ZH-SD-demo DISCO_F413ZH-PSRAM-demo ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers idd.h Source File

idd.h

Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    idd.h
00004   * @author  MCD Application Team
00005   * @version V4.0.1
00006   * @date    21-July-2015
00007   * @brief   This file contains all the functions prototypes for the IDD driver.
00008   ******************************************************************************
00009   * @attention
00010   *
00011   * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
00012   *
00013   * Redistribution and use in source and binary forms, with or without modification,
00014   * are permitted provided that the following conditions are met:
00015   *   1. Redistributions of source code must retain the above copyright notice,
00016   *      this list of conditions and the following disclaimer.
00017   *   2. Redistributions in binary form must reproduce the above copyright notice,
00018   *      this list of conditions and the following disclaimer in the documentation
00019   *      and/or other materials provided with the distribution.
00020   *   3. Neither the name of STMicroelectronics nor the names of its contributors
00021   *      may be used to endorse or promote products derived from this software
00022   *      without specific prior written permission.
00023   *
00024   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00025   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00026   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00028   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00029   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00030   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00031   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00032   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00033   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034   *
00035   ******************************************************************************
00036   */ 
00037 
00038 /* Define to prevent recursive inclusion -------------------------------------*/
00039 #ifndef __IDD_H
00040 #define __IDD_H
00041 
00042 #ifdef __cplusplus
00043  extern "C" {
00044 #endif
00045 
00046 /* Includes ------------------------------------------------------------------*/
00047 #include <stdint.h>
00048 
00049 /** @addtogroup BSP
00050   * @{
00051   */
00052 
00053 /** @addtogroup Components
00054   * @{
00055   */
00056     
00057 /** @addtogroup IDD
00058   * @{
00059   */
00060 
00061 /** @defgroup IDD_Exported_Types IDD Exported Types
00062   * @{
00063   */
00064 
00065 /** @defgroup IDD_Config_structure  IDD Configuration structure
00066   * @{
00067   */
00068 typedef struct
00069 {
00070   uint16_t AmpliGain;       /*!< Specifies ampli gain value
00071                                  */
00072   uint16_t VddMin;          /*!< Specifies minimum MCU VDD can reach to protect MCU from reset
00073                                   */
00074   uint16_t Shunt0Value;     /*!< Specifies value of Shunt 0 if existing
00075                                  */
00076   uint16_t Shunt1Value;     /*!< Specifies value of Shunt 1 if existing
00077                                  */
00078   uint16_t Shunt2Value;     /*!< Specifies value of Shunt 2 if existing
00079                                  */
00080   uint16_t Shunt3Value;     /*!< Specifies value of Shunt 3 if existing
00081                                  */
00082   uint16_t Shunt4Value;     /*!< Specifies value of Shunt 4 if existing
00083                                   */
00084   uint16_t Shunt0StabDelay; /*!< Specifies delay of Shunt 0 stabilization if existing
00085                                   */
00086   uint16_t Shunt1StabDelay; /*!< Specifies delay of Shunt 1 stabilization if existing
00087                                   */
00088   uint16_t Shunt2StabDelay; /*!< Specifies delay of Shunt 2 stabilization if existing
00089                                   */
00090   uint16_t Shunt3StabDelay; /*!< Specifies delay of Shunt 3 stabilization if existing
00091                                   */
00092   uint16_t Shunt4StabDelay; /*!< Specifies delay of Shunt 4 stabilization if existing
00093                                   */
00094   uint8_t ShuntNbOnBoard;   /*!< Specifies number of shunts that are present on board
00095                                  This parameter can be a value of @ref IDD_shunt_number */
00096   uint8_t ShuntNbUsed;      /*!< Specifies number of shunts used for measurement
00097                                  This parameter can be a value of @ref IDD_shunt_number */
00098   uint8_t VrefMeasurement;  /*!< Specifies if Vref is automatically measured before each Idd measurement
00099                                  This parameter can be a value of @ref IDD_Vref_Measurement */
00100   uint8_t Calibration;      /*!< Specifies if calibration is done before each Idd measurement
00101                                   */
00102   uint8_t PreDelayUnit;     /*!< Specifies Pre delay unit 
00103                                  This parameter can be a value of @ref IDD_PreDelay */
00104   uint8_t PreDelayValue;    /*!< Specifies Pre delay value in selected unit
00105                                   */
00106   uint8_t MeasureNb;        /*!< Specifies number of Measure to be performed 
00107                                  This parameter can be a value between 1 and 256 */
00108   uint8_t DeltaDelayUnit;   /*!< Specifies Delta delay unit
00109                                   This parameter can be a value of @ref IDD_DeltaDelay */
00110   uint8_t DeltaDelayValue;  /*!< Specifies Delta delay between 2 measures
00111                                   value can be between 1 and 128 */
00112 }IDD_ConfigTypeDef;
00113 /**
00114   * @}
00115   */
00116 
00117 /** @defgroup IDD_Driver_structure  IDD Driver structure
00118   * @{
00119   */
00120 typedef struct
00121 {
00122   void       (*Init)(uint16_t);
00123   void       (*DeInit)(uint16_t);
00124   uint16_t   (*ReadID)(uint16_t);
00125   void       (*Reset)(uint16_t);
00126   void       (*LowPower)(uint16_t);
00127   void       (*WakeUp)(uint16_t);
00128   void       (*Start)(uint16_t);
00129   void       (*Config)(uint16_t,IDD_ConfigTypeDef);
00130   void       (*GetValue)(uint16_t, uint32_t *);
00131   void       (*EnableIT)(uint16_t);
00132   void       (*ClearIT)(uint16_t);
00133   uint8_t    (*GetITStatus)(uint16_t);
00134   void       (*DisableIT)(uint16_t);
00135   void       (*ErrorEnableIT)(uint16_t);
00136   void       (*ErrorClearIT)(uint16_t);
00137   uint8_t    (*ErrorGetITStatus)(uint16_t);
00138   void       (*ErrorDisableIT)(uint16_t);
00139   uint8_t    (*ErrorGetSrc)(uint16_t);
00140   uint8_t    (*ErrorGetCode)(uint16_t);
00141 }IDD_DrvTypeDef;
00142 /**
00143   * @}
00144   */
00145 
00146 /**
00147   * @}
00148   */
00149 
00150 /**
00151   * @}
00152   */
00153 
00154 /**
00155   * @}
00156   */
00157 
00158 /**
00159   * @}
00160   */
00161 
00162 #ifdef __cplusplus
00163 }
00164 #endif
00165 
00166 #endif /* __IDD_H */
00167 
00168 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/