Contains the BSP driver for the B-L475E-IOT01 board.

Dependents:   mbed-os-example-ble-Thermometer DISCO_L475VG_IOT01-Telegram-BOT DISCO_L475VG_IOT01-sche_cheveux DISCO_L475VG_IOT01-QSPI_FLASH_FILE_SYSTEM ... 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   * @brief   This file contains all the functions prototypes for the IDD driver.
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
00010   * All rights reserved.</center></h2>
00011   *
00012   * This software component is licensed by ST under BSD 3-Clause license,
00013   * the "License"; You may not use this file except in compliance with the
00014   * License. You may obtain a copy of the License at:
00015   *                        opensource.org/licenses/BSD-3-Clause
00016   *
00017   ******************************************************************************
00018   */ 
00019 
00020 /* Define to prevent recursive inclusion -------------------------------------*/
00021 #ifndef __IDD_H
00022 #define __IDD_H
00023 
00024 #ifdef __cplusplus
00025  extern "C" {
00026 #endif
00027 
00028 /* Includes ------------------------------------------------------------------*/
00029 #include <stdint.h>
00030 
00031 /** @addtogroup BSP
00032   * @{
00033   */
00034 
00035 /** @addtogroup Components
00036   * @{
00037   */
00038     
00039 /** @addtogroup IDD
00040   * @{
00041   */
00042 
00043 /** @defgroup IDD_Exported_Types IDD Exported Types
00044   * @{
00045   */
00046 
00047 /** @defgroup IDD_Config_structure  IDD Configuration structure
00048   * @{
00049   */
00050 typedef struct
00051 {
00052   uint16_t AmpliGain;       /*!< Specifies ampli gain value
00053                                  */
00054   uint16_t VddMin;          /*!< Specifies minimum MCU VDD can reach to protect MCU from reset
00055                                   */
00056   uint16_t Shunt0Value;     /*!< Specifies value of Shunt 0 if existing
00057                                  */
00058   uint16_t Shunt1Value;     /*!< Specifies value of Shunt 1 if existing
00059                                  */
00060   uint16_t Shunt2Value;     /*!< Specifies value of Shunt 2 if existing
00061                                  */
00062   uint16_t Shunt3Value;     /*!< Specifies value of Shunt 3 if existing
00063                                  */
00064   uint16_t Shunt4Value;     /*!< Specifies value of Shunt 4 if existing
00065                                   */
00066   uint16_t Shunt0StabDelay; /*!< Specifies delay of Shunt 0 stabilization if existing
00067                                   */
00068   uint16_t Shunt1StabDelay; /*!< Specifies delay of Shunt 1 stabilization if existing
00069                                   */
00070   uint16_t Shunt2StabDelay; /*!< Specifies delay of Shunt 2 stabilization if existing
00071                                   */
00072   uint16_t Shunt3StabDelay; /*!< Specifies delay of Shunt 3 stabilization if existing
00073                                   */
00074   uint16_t Shunt4StabDelay; /*!< Specifies delay of Shunt 4 stabilization if existing
00075                                   */
00076   uint8_t ShuntNbOnBoard;   /*!< Specifies number of shunts that are present on board
00077                                  This parameter can be a value of @ref IDD_shunt_number */
00078   uint8_t ShuntNbUsed;      /*!< Specifies number of shunts used for measurement
00079                                  This parameter can be a value of @ref IDD_shunt_number */
00080   uint8_t VrefMeasurement;  /*!< Specifies if Vref is automatically measured before each Idd measurement
00081                                  This parameter can be a value of @ref IDD_Vref_Measurement */
00082   uint8_t Calibration;      /*!< Specifies if calibration is done before each Idd measurement
00083                                   */
00084   uint8_t PreDelayUnit;     /*!< Specifies Pre delay unit 
00085                                  This parameter can be a value of @ref IDD_PreDelay */
00086   uint8_t PreDelayValue;    /*!< Specifies Pre delay value in selected unit
00087                                   */
00088   uint8_t MeasureNb;        /*!< Specifies number of Measure to be performed 
00089                                  This parameter can be a value between 1 and 256 */
00090   uint8_t DeltaDelayUnit;   /*!< Specifies Delta delay unit
00091                                   This parameter can be a value of @ref IDD_DeltaDelay */
00092   uint8_t DeltaDelayValue;  /*!< Specifies Delta delay between 2 measures
00093                                   value can be between 1 and 128 */
00094 }IDD_ConfigTypeDef;
00095 /**
00096   * @}
00097   */
00098 
00099 /** @defgroup IDD_Driver_structure  IDD Driver structure
00100   * @{
00101   */
00102 typedef struct
00103 {
00104   void       (*Init)(uint16_t);
00105   void       (*DeInit)(uint16_t);
00106   uint16_t   (*ReadID)(uint16_t);
00107   void       (*Reset)(uint16_t);
00108   void       (*LowPower)(uint16_t);
00109   void       (*WakeUp)(uint16_t);
00110   void       (*Start)(uint16_t);
00111   void       (*Config)(uint16_t,IDD_ConfigTypeDef);
00112   void       (*GetValue)(uint16_t, uint32_t *);
00113   void       (*EnableIT)(uint16_t);
00114   void       (*ClearIT)(uint16_t);
00115   uint8_t    (*GetITStatus)(uint16_t);
00116   void       (*DisableIT)(uint16_t);
00117   void       (*ErrorEnableIT)(uint16_t);
00118   void       (*ErrorClearIT)(uint16_t);
00119   uint8_t    (*ErrorGetITStatus)(uint16_t);
00120   void       (*ErrorDisableIT)(uint16_t);
00121   uint8_t    (*ErrorGetSrc)(uint16_t);
00122   uint8_t    (*ErrorGetCode)(uint16_t);
00123 }IDD_DrvTypeDef;
00124 /**
00125   * @}
00126   */
00127 
00128 /**
00129   * @}
00130   */
00131 
00132 /**
00133   * @}
00134   */
00135 
00136 /**
00137   * @}
00138   */
00139 
00140 /**
00141   * @}
00142   */
00143 
00144 #ifdef __cplusplus
00145 }
00146 #endif
00147 
00148 #endif /* __IDD_H */
00149 
00150 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/