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