Firmware Library for X-NUCLEO-IKS01A1 (MEMS Inertial & Environmental Sensors) Expansion Board
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Dependents: MultiTech_Dragonfly_2015_ATT_Gov_Solutions_Hackathon_Example HelloWorld_IKS01A1 LoRaWAN-test-10secs ServoMotorDemo ... more
Fork of X_NUCLEO_IKS01A1 by
lps25h.h
00001 /** 00002 ****************************************************************************** 00003 * @file lps25h.h 00004 * @author MEMS Application Team 00005 * @version V1.2.0 00006 * @date 11-February-2015 00007 * @brief This file contains definitions for the lps25h.c 00008 * firmware driver. 00009 ****************************************************************************** 00010 * @attention 00011 * 00012 * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> 00013 * 00014 * Redistribution and use in source and binary forms, with or without modification, 00015 * are permitted provided that the following conditions are met: 00016 * 1. Redistributions of source code must retain the above copyright notice, 00017 * this list of conditions and the following disclaimer. 00018 * 2. Redistributions in binary form must reproduce the above copyright notice, 00019 * this list of conditions and the following disclaimer in the documentation 00020 * and/or other materials provided with the distribution. 00021 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00022 * may be used to endorse or promote products derived from this software 00023 * without specific prior written permission. 00024 * 00025 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00026 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00027 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00028 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00029 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00030 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00031 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00032 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00033 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00034 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00035 * 00036 ****************************************************************************** 00037 */ 00038 00039 /* Define to prevent recursive inclusion -------------------------------------*/ 00040 #ifndef __LPS25H_H 00041 #define __LPS25H_H 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00047 /* Includes ------------------------------------------------------------------*/ 00048 #include "pressure.h" 00049 00050 /** @addtogroup BSP 00051 * @{ 00052 */ 00053 00054 /** @addtogroup Components 00055 * @{ 00056 */ 00057 00058 /** @addtogroup LPS25H 00059 * @{ 00060 */ 00061 00062 /** @defgroup LPS25H_Exported_Defines LPS25H_Exported_Defines 00063 * @{ 00064 */ 00065 #ifndef NULL 00066 #define NULL (void *) 0 00067 #endif 00068 00069 00070 /******************************************************************************/ 00071 /*************************** START REGISTER MAPPING **************************/ 00072 /******************************************************************************/ 00073 00074 00075 /** 00076 * @brief Reference pressure (LSB data) 00077 * \code 00078 * Read/write 00079 * Default value: 0x00 00080 * 7:0 REF7-ODR0: Lower part of the reference pressure that 00081 * is sum to the sensor output pressure. 00082 * \endcode 00083 */ 00084 #define LPS25H_REF_P_XL_ADDR 0x08 00085 00086 /** 00087 * @brief Reference pressure (middle part) 00088 * \code 00089 * Read/write 00090 * Default value: 0x00 00091 * 7:0 REF15-ODR8: Middle part of the reference pressure that 00092 * is sum to the sensor output pressure. 00093 * \endcode 00094 */ 00095 #define LPS25H_REF_P_L_ADDR 0x09 00096 00097 /** 00098 * @brief Reference pressure (MSB part) 00099 * \code 00100 * Read/write 00101 * Default value: 0x00 00102 * 7:0 REF15-ODR8: Higher part of the reference pressure that 00103 * is sum to the sensor output pressure. 00104 * \endcode 00105 */ 00106 #define LPS25H_REF_P_H_ADDR 0x0A 00107 00108 /** 00109 * @brief Device identifier register. 00110 * \code 00111 * Read 00112 * Default value: 0xBD 00113 * 7:0 This read-only register contains the device identifier that, 00114 for LPS25H, is set to 0xCA. 00115 * \endcode 00116 */ 00117 #define LPS25H_WHO_AM_I_ADDR 0x0F 00118 00119 /** 00120 * @brief Pressure and temperature resolution mode register. 00121 * \code 00122 * Read 00123 * Default value: 0x05 00124 * [7:4] Reserved 00125 * [3:2] AVGP1-0: select the pressure internal average. 00126 * [1:0] AVGT1-0: select the temperature internal average. 00127 * \endcode 00128 */ 00129 #define LPS25H_RES_CONF_ADDR 0x10 00130 00131 /** 00132 * @brief Pressure sensor control register 1 00133 * \code 00134 * Read/write 00135 * Default value: 0x00 00136 * 7 PD: power down control. 0 - disable; 1 - enable 00137 * 6:4 ODR2, ODR1, ODR0: output data rate selection. 00138 * ODR2 | ODR1 | ODR0 | Pressure output data-rate(Hz) | Temperature output data-rate(Hz) 00139 * ---------------------------------------------------------------------------------- 00140 * 0 | 0 | 0 | one shot | one shot 00141 * 0 | 0 | 1 | 1 | 1 00142 * 0 | 1 | 0 | 7 | 7 00143 * 0 | 1 | 1 | 12.5 | 12.5 00144 * 1 | 0 | 0 | 25 | 25 00145 * 1 | 0 | 1 | Reserved | Reserved 00146 * 1 | 1 | 0 | Reserved | Reserved 00147 * 1 | 1 | 1 | Reserved | Reserved 00148 * 00149 * 3 DIFF_EN: Interrupt circuit. 0 - disable; 1 - enable 00150 * 2 BDU: block data update. 0 - disable; 1 - enable 00151 * 1 DELTA_EN: delta pressure. 0 - disable; 1 - enable 00152 * 1 RESET_AZ: reset AutoZero. 0 - disable; 1 - enable ///////ALE REVIEW 00153 * 0 SIM: SPI Serial Interface Mode selection. 0 - SPI 4-wire; 1 - SPI 3-wire ///////ALE REVIEW 00154 * \endcode 00155 */ 00156 #define LPS25H_CTRL_REG1_ADDR 0x20 00157 00158 /** 00159 * @brief Pressure sensor control register 2 00160 * \code 00161 * Read/write 00162 * Default value: 0x00 00163 * 7 BOOT: Reboot memory content. 0: normal mode; 1: reboot memory content 00164 * 6 FIFO_EN: FIFO. 0: disable; 1: enable 00165 * 5 WTM_EN: FIFO Watermark level use. 0: disable; 1: enable 00166 * 4:3 Reserved. keep these bits at 0 00167 * 2 SWRESET: Software reset. 0: normal mode; 1: SW reset. 00168 * 1 AUTO_ZERO: Autozero enable. 0: normal mode; 1: autozero enable. 00169 * 0 ONE_SHOT: One shot enable. 0: waiting for start of conversion; 1: start for a new dataset 00170 * \endcode 00171 */ 00172 #define LPS25H_CTRL_REG2_ADDR 0x21 00173 00174 /** 00175 * @brief Pressure sensor control register 3 00176 * \code 00177 * Read/write 00178 * Default value: 0x00 00179 * 7 INT_H_L: Interrupt. 0:active high; 1: active low. 00180 * 6 PP_OD: Push-Pull/OpenDrain selection on interrupt pads. 0: Push-pull; 1: open drain. 00181 * 5 Reserved 00182 * 4:3 INT2_S2, INT2_S1: INT2 output signal selection control bits. // TO DO 00183 * 1:0 INT1_S2, INT1_S1: data signal on INT1 pad control bits. 00184 * INT1(2)_S2 | INT1(2)_S1 | INT1(2) pin 00185 * ------------------------------------------------------ 00186 * 0 | 0 | Data signal 00187 * 0 | 1 | Pressure high (P_high) 00188 * 1 | 0 | Pressure low (P_low) 00189 * 1 | 1 | P_low OR P_high 00190 00191 00192 * \endcode 00193 */ 00194 #define LPS25H_CTRL_REG3_ADDR 0x22 00195 00196 /** 00197 * @brief Pressure sensor control register 4 00198 * \code 00199 * Read/write 00200 * Default value: 0x00 00201 * 7 P2_EMPTY: Empty Signal on INT2 pin. 00202 * 6 P2_WTM: Watermark Signal on INT2 pin. 00203 * 5 P2_Overrun:Overrun Signal on INT2 pin. 00204 * 4 P2_DRDY: Data Ready Signal on INT2 pin. 00205 * 3 P1_EMPTY: Empty Signal on INT1 pin. 00206 * 2 P1_WTM: Watermark Signal on INT1 pin. 00207 * 1 P1_Overrunn:Overrun Signal on INT1 pin. 00208 * 0 P1_DRDY: Data Ready Signal on INT1 pin. 00209 * \endcode 00210 */ 00211 #define LPS25H_CTRL_REG4_ADDR 0x23 00212 00213 /** 00214 * @brief Interrupt configuration Register 00215 * \code 00216 * Read/write 00217 * Default value: 0x00. 00218 * 7:3 Reserved. 00219 * 2 LIR: Latch Interrupt request into INT_SOURCE register. 0 - disable; 1 - enable 00220 * 1 PL_E: Enable interrupt generation on differential pressure low event. 0 - disable; 1 - enable 00221 * 0 PH_E: Enable interrupt generation on differential pressure high event. 0 - disable; 1 - enable 00222 * \endcode 00223 */ 00224 #define LPS25H_INT_CFG_REG_ADDR 0x24 00225 00226 /** 00227 * @brief Interrupt source Register 00228 * \code 00229 * Read 00230 * Default value: 0x00. 00231 * 7:3 0. 00232 * 2 IA: Interrupt Active.0: no interrupt has been generated; 1: one or more interrupt events have been generated. 00233 * 1 PL: Differential pressure Low. 0: no interrupt has been generated; 1: Low differential pressure event has occurred. 00234 * 0 PH: Differential pressure High. 0: no interrupt has been generated; 1: High differential pressure event has occurred. 00235 * \endcode 00236 */ 00237 #define LPS25H_INT_SOURCE_REG_ADDR 0x25 00238 00239 /** 00240 * @brief Threshold pressure (LSB) 00241 * \code 00242 * Read 00243 * Default value: 0x00. 00244 * 7:0 THS7-THS0: Low part of threshold value for pressure interrupt 00245 * generation. The complete threshold value is given by THS_P_H & THS_P_L and is 00246 * expressed as unsigned number. P_ths(mbar)=(THS_P_H & THS_P_L)[dec]/16. 00247 * \endcode 00248 */ 00249 #define LPS25H_THS_P_LOW_REG_ADDR 0x30 00250 00251 /** 00252 * @brief Threshold pressure (MSB) 00253 * \code 00254 * Read 00255 * Default value: 0x00. 00256 * 7:0 THS15-THS8: High part of threshold value for pressure interrupt 00257 * generation. The complete threshold value is given by THS_P_H & THS_P_L and is 00258 * expressed as unsigned number. P_ths(mbar)=(THS_P_H & THS_P_L)[dec]/16. 00259 * \endcode 00260 */ 00261 #define LPS25H_THS_P_HIGH_REG_ADDR 0x31 00262 00263 /** 00264 * @brief Status Register 00265 * \code 00266 * Read 00267 * Default value: 0x00 00268 * 7:6 0 00269 * 5 P_OR: Pressure data overrun. 0: no overrun has occurred; 1: new data for pressure has overwritten the previous one. 00270 * 4 T_OR: Temperature data overrun. 0: no overrun has occurred; 1: a new data for temperature has overwritten the previous one. 00271 * 3:2 0 00272 * 1 P_DA: Pressure data available. 0: new data for pressure is not yet available; 1: new data for pressure is available. 00273 * 0 T_DA: Temperature data available. 0: new data for temperature is not yet available; 1: new data for temperature is available. 00274 * \endcode 00275 */ 00276 #define LPS25H_STATUS_REG_ADDR 0x27 00277 00278 /** 00279 * @brief Pressure data (LSB). 00280 * \code 00281 * Read 00282 * Default value: 0x00. 00283 * POUT7 - POUT0: Pressure data LSB (2's complement). 00284 * Pressure output data: Pout(mbar)=(PRESS_OUT_H & PRESS_OUT_L & 00285 * PRESS_OUT_XL)[dec]/4096. 00286 * \endcode 00287 */ 00288 #define LPS25H_PRESS_POUT_XL_ADDR 0x28 00289 00290 /** 00291 * @brief Pressure data (Middle part). 00292 * \code 00293 * Read 00294 * Default value: 0x80. 00295 * POUT15 - POUT8: Pressure data middle part (2's complement). 00296 * Pressure output data: Pout(mbar)=(PRESS_OUT_H & PRESS_OUT_L & 00297 * PRESS_OUT_XL)[dec]/4096. 00298 * \endcode 00299 */ 00300 #define LPS25H_PRESS_OUT_L_ADDR 0x29 00301 00302 /** 00303 * @brief Pressure data (MSB). 00304 * \code 00305 * Read 00306 * Default value: 0x2F. 00307 * POUT23 - POUT16: Pressure data MSB (2's complement). 00308 * Pressure output data: Pout(mbar)=(PRESS_OUT_H & PRESS_OUT_L & 00309 * PRESS_OUT_XL)[dec]/4096. 00310 * \endcode 00311 */ 00312 #define LPS25H_PRESS_OUT_H_ADDR 0x2A 00313 00314 /** 00315 * @brief Temperature data (LSB). 00316 * \code 00317 * Read 00318 * Default value: 0x00. 00319 * TOUT7 - TOUT0: temperature data LSB. 00320 * T(degC) = 42.5 + (Temp_OUTH & TEMP_OUT_L)[dec]/480. 00321 * \endcode 00322 */ 00323 #define LPS25H_TEMP_OUT_L_ADDR 0x2B 00324 00325 /** 00326 * @brief Temperature data (MSB). 00327 * \code 00328 * Read 00329 * Default value: 0x00. 00330 * TOUT15 - TOUT8: temperature data MSB. 00331 * T(degC) = 42.5 + (Temp_OUTH & TEMP_OUT_L)[dec]/480. 00332 * \endcode 00333 */ 00334 #define LPS25H_TEMP_OUT_H_ADDR 0x2C 00335 00336 /** 00337 * @brief FIFO control register 00338 * \code 00339 * Read/write 00340 * Default value: 0x00 00341 * 7:5 F_MODE2, F_MODE1, F_MODE0: FIFO mode selection. 00342 * FM2 | FM1 | FM0 | FIFO MODE 00343 * --------------------------------------------------- 00344 * 0 | 0 | 0 | BYPASS MODE 00345 * 0 | 0 | 1 | FIFO MODE. Stops collecting data when full 00346 * 0 | 1 | 0 | STREAM MODE: Keep the newest measurements in the FIFO 00347 * 0 | 1 | 1 | STREAM MODE until trigger deasserted, then change to FIFO MODE 00348 * 1 | 0 | 0 | BYPASS MODE until trigger deasserted, then STREAM MODE 00349 * 1 | 0 | 1 | Reserved 00350 * 1 | 1 | 0 | FIFO_MEAN MODE: Fifo is used to generate a running average filtered pressure 00351 * 1 | 1 | 1 | BYPASS mode until trigger deasserted, then FIFO MODE 00352 * 00353 * 4:0 FIFO Mean Mode Sample size 00354 * WTM_POINT4 | WTM_POINT4 | WTM_POINT4 | WTM_POINT4 | WTM_POINT4 | Sample Size 00355 * ---------------------------------------------------------------------------------- 00356 * 0 | 0 | 0 | 0 | 1 | 2 00357 * 0 | 0 | 0 | 1 | 1 | 4 00358 * 0 | 0 | 1 | 1 | 1 | 8 00359 * 0 | 1 | 1 | 1 | 1 | 16 00360 * 1 | 1 | 1 | 1 | 1 | 32 00361 * other values operation not guaranteed 00362 * \endcode 00363 */ 00364 #define LPS25H_CTRL_FIFO_ADDR 0x2E 00365 00366 /** 00367 * @brief FIFO Status register 00368 * \code 00369 * Read/write 00370 * Default value: 0x00 00371 * 7 WTM_FIFO: Watermark status. 0:FIFO filling is lower than watermark level; 1: FIFO is equal or higher than watermark level. 00372 * 6 FULL_FIFO: Overrun bit status. 0 - FIFO not full; 1 -FIFO is full. 00373 * 5 EMPTY_FIFO: Empty FIFO bit. 0 - FIFO not empty; 1 -FIFO is empty. 00374 * 4:0 DIFF_POINT4...0: FIFOsStored data level. 00375 * \endcode 00376 */ 00377 #define LPS25H_STATUS_FIFO_ADDR 0x2F 00378 00379 /** 00380 * @brief Pressure offset register 00381 * \code 00382 * Read/write 00383 * Default value: 0x00 00384 * 7:0 RPDS15...8:Pressure Offset for 1 point calibration after soldering. 00385 * \endcode 00386 */ 00387 #define LPS25H_RPDS_TRIM_L_ADDR 0x39 00388 00389 /** 00390 * @brief Pressure offset register 00391 * \code 00392 * Read/write 00393 * Default value: 0x00 00394 * 7:0 RPDS23...16:Pressure Offset for 1 point calibration after soldering. 00395 * \endcode 00396 */ 00397 #define LPS25H_RPDS_TRIM_H_ADDR 0x3A 00398 00399 /******************************************************************************/ 00400 /**************************** END REGISTER MAPPING ***************************/ 00401 /******************************************************************************/ 00402 00403 /** 00404 * @brief Multiple Byte. Mask for enabling multiple byte read/write command. 00405 */ 00406 #define LPS25H_I2C_MULTIPLEBYTE_CMD ((uint8_t)0x80) 00407 00408 /** 00409 * @brief Device Address 00410 */ 00411 #define LPS25H_ADDRESS_LOW 0xB8 00412 #define LPS25H_ADDRESS_HIGH 0xBA 00413 00414 00415 /** 00416 * @brief Device Identifier. Default value of the WHO_AM_I register. 00417 */ 00418 #define I_AM_LPS25H ((uint8_t)0xBD) 00419 00420 /** @defgroup LPS25H_Power_Mode_Selection_CTRL_REG1 LPS25H_Power_Mode_Selection_CTRL_REG1 00421 * @{ 00422 */ 00423 #define LPS25H_MODE_POWERDOWN ((uint8_t)0x00) 00424 #define LPS25H_MODE_ACTIVE ((uint8_t)0x80) 00425 00426 #define LPS25H_MODE_MASK ((uint8_t)0x80) 00427 /** 00428 * @} 00429 */ 00430 00431 /** @defgroup LPS25H_Output_Data_Rate_Selection_CTRL_REG1 LPS25H_Output_Data_Rate_Selection_CTRL_REG1 00432 * @{ 00433 */ 00434 #define LPS25H_ODR_ONE_SHOT ((uint8_t)0x00) /*!< Output Data Rate: P - one shot, T - one shot */ 00435 #define LPS25H_ODR_1Hz ((uint8_t)0x10) /*!< Output Data Rate: P - 1Hz, T - 1Hz */ 00436 #define LPS25H_ODR_7Hz ((uint8_t)0x20) /*!< Output Data Rate: P - 7Hz, T - 7Hz */ 00437 #define LPS25H_ODR_12_5Hz ((uint8_t)0x30) /*!< Output Data Rate: P - 12.5Hz, T - 12.5Hz */ 00438 #define LPS25H_ODR_25Hz ((uint8_t)0x40) /*!< Output Data Rate: P - 25Hz, T - 25Hz */ 00439 00440 #define LPS25H_ODR_MASK ((uint8_t)0x70) 00441 /** 00442 * @} 00443 */ 00444 00445 /** @defgroup LPS25H_Interrupt_Circuit_Enable_CTRL_REG1 LPS25H_Interrupt_Circuit_Enable_CTRL_REG1 00446 * @{ 00447 */ 00448 #define LPS25H_DIFF_DISABLE ((uint8_t)0x00) /*!< interrupt circuit enabled */ 00449 #define LPS25H_DIFF_ENABLE ((uint8_t)0x08) /*!< interrupt generation disabled */ 00450 00451 #define LPS25H_DIFF_EN_MASK ((uint8_t)0x08) 00452 /** 00453 * @} 00454 */ 00455 00456 /** @defgroup LPS25H_Block_Data_Update_CTRL_REG1 LPS25H_Block_Data_Update_CTRL_REG1 00457 * @{ 00458 */ 00459 #define LPS25H_BDU_CONT ((uint8_t)0x00) /*!< continuous update */ 00460 #define LPS25H_BDU_READ ((uint8_t)0x04) /*!< output registers not updated until MSB and LSB reading */ 00461 00462 #define LPS25H_BDU_MASK ((uint8_t)0x04) 00463 /** 00464 * @} 00465 */ 00466 00467 /** @defgroup LPS25H_SPI_Serial_Interface_Mode_Selection_CTRL_REG1 LPS25H_SPI_Serial_Interface_Mode_Selection_CTRL_REG1 00468 * @{ 00469 */ 00470 #define LPS25H_SPI_SIM_4W ((uint8_t)0x00) /*!< 4-wire interface */ 00471 #define LPS25H_SPI_SIM_3W ((uint8_t)0x01) /*!< 3-wire interface */ 00472 00473 #define LPS25H_SPI_SIM_MASK ((uint8_t)0x01) 00474 /** 00475 * @} 00476 */ 00477 00478 /** @defgroup LPS25H_Refresh_Registers_Flash_Memory_CTRL_REG2 LPS25H_Refresh_Registers_Flash_Memory_CTRL_REG2 00479 * @{ 00480 */ 00481 #define LPS25H_NORMAL_MODE ((uint8_t)0x00) 00482 #define LPS25H_RESET_MEMORY ((uint8_t)0x80) 00483 00484 #define LPS25H_RESET_MEMORY_MASK ((uint8_t)0x80) 00485 /** 00486 * @} 00487 */ 00488 00489 /** @defgroup LPS25H_Pressure_Resolution_Selection_RES_CONF LPS25H_Pressure_Resolution_Selection_RES_CONF 00490 * @{ 00491 */ 00492 #define LPS25H_P_RES_AVG_8 ((uint8_t)0x00) 00493 #define LPS25H_P_RES_AVG_32 ((uint8_t)0x01) 00494 #define LPS25H_P_RES_AVG_128 ((uint8_t)0x02) 00495 #define LPS25H_P_RES_AVG_512 ((uint8_t)0x03) 00496 00497 #define LPS25H_P_RES_MASK ((uint8_t)0x03) 00498 /** 00499 * @} 00500 */ 00501 00502 /** @defgroup LPS25H_Temperature_Resolution_Selection_RES_CONF LPS25H_Temperature_Resolution_Selection_RES_CONF 00503 * @{ 00504 */ 00505 #define LPS25H_T_RES_AVG_8 ((uint8_t)0x00) 00506 #define LPS25H_T_RES_AVG_16 ((uint8_t)0x04) 00507 #define LPS25H_T_RES_AVG_32 ((uint8_t)0x08) 00508 #define LPS25H_T_RES_AVG_64 ((uint8_t)0x0C) 00509 00510 #define LPS25H_T_RES_MASK ((uint8_t)0x0C) 00511 /** 00512 * @} 00513 */ 00514 00515 #define LPS25H_SA0_LOW ((uint8_t)0x00) 00516 #define LPS25H_SA0_HIGH ((uint8_t)0x01) 00517 00518 /** 00519 * @} 00520 */ 00521 00522 /** @defgroup LPS25H_Imported_Functions LPS25H_Imported_Functions 00523 * @{ 00524 */ 00525 /* Pressure sensor IO functions */ 00526 extern PRESSURE_StatusTypeDef LPS25H_IO_Init(void); 00527 extern PRESSURE_StatusTypeDef LPS25H_IO_Write(uint8_t* pBuffer, uint8_t DeviceAddr, uint8_t RegisterAddr, 00528 uint16_t NumByteToWrite); 00529 extern PRESSURE_StatusTypeDef LPS25H_IO_Read(uint8_t* pBuffer, uint8_t DeviceAddr, uint8_t RegisterAddr, 00530 uint16_t NumByteToRead); 00531 extern void LPS25H_IO_ITConfig( void ); 00532 00533 /** 00534 * @} 00535 */ 00536 00537 /* ------------------------------------------------------- */ 00538 /* Here you should declare the internal struct of */ 00539 /* extended features of LPS25H. See the example of */ 00540 /* LSM6DS3 in lsm6ds3.h */ 00541 /* ------------------------------------------------------- */ 00542 00543 /** @addtogroup LPS25H_Exported_Variables LPS25H_Exported_Variables 00544 * @{ 00545 */ 00546 /* Pressure sensor driver structure */ 00547 extern PRESSURE_DrvTypeDef LPS25HDrv; 00548 extern PRESSURE_DrvExtTypeDef LPS25HDrv_ext; 00549 00550 /** 00551 * @} 00552 */ 00553 00554 /** 00555 * @} 00556 */ 00557 00558 /** 00559 * @} 00560 */ 00561 00562 /** 00563 * @} 00564 */ 00565 00566 #ifdef __cplusplus 00567 } 00568 #endif 00569 00570 #endif /* __LPS25H_H */ 00571 00572 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 17:19:45 by 1.7.2