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

https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/

Revision:
4:137bb367ba50
Child:
7:bfe8272ced90
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Drivers/BSP/Components/lps22hb/lps22hb.h	Fri Apr 14 13:09:54 2017 +0200
@@ -0,0 +1,534 @@
+/**
+ ******************************************************************************
+ * @file    lps22hb.h
+ * @author  MCD Application Team
+ * @version V1.0.0
+ * @date    14-February-2017
+ * @brief   LPS22HB header driver file
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *   1. Redistributions of source code must retain the above copyright notice,
+ *      this list of conditions and the following disclaimer.
+ *   2. Redistributions in binary form must reproduce the above copyright notice,
+ *      this list of conditions and the following disclaimer in the documentation
+ *      and/or other materials provided with the distribution.
+ *   3. Neither the name of STMicroelectronics nor the names of its contributors
+ *      may be used to endorse or promote products derived from this software
+ *      without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __LPS22HB__H
+#define __LPS22HB__H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+  
+/* Includes ------------------------------------------------------------------*/
+#include "../Common/psensor.h"
+#include "../Common/tsensor.h"  
+
+/** @addtogroup BSP
+  * @{
+  */
+
+/** @addtogroup Component
+  * @{
+  */
+
+/** @addtogroup LPS22HB
+  * @{
+  */
+
+/** @defgroup LPS22HB_Exported_Macros LPS22HB Exported Macros
+  * @{
+  */
+  
+/**
+* @brief  Bitfield positioning.
+*/
+#define LPS22HB_BIT(x) ((uint8_t)x)
+/**
+  * @}
+  */ 
+
+
+/** @defgroup LPS22HB_Exported_Constants LPS22HB Exported Constants
+  * @{
+  */
+
+/**
+  * @brief Device Identification register.
+  *        Read
+  *        Default value: 0xB1
+  *        7:0 This read-only register contains the device identifier that, for LPS22HB, is set to B1h.
+  */
+
+#define LPS22HB_WHO_AM_I_REG         (uint8_t)0x0F
+
+/**
+  * @brief Device Identification value.
+  */
+#define LPS22HB_WHO_AM_I_VAL         (uint8_t)0xB1
+
+/**
+  * @brief Reference Pressure  Register(LSB data)
+  *        Read/write
+  *        Default value: 0x00
+  *        7:0 REFL7-0: Lower part of the reference pressure value that
+  *             is sum to the sensor output pressure.
+  */
+#define LPS22HB_REF_P_XL_REG         (uint8_t)0x15
+
+/**
+  * @brief Reference Pressure Register (Middle data)
+  *        Read/write
+  *        Default value: 0x00
+  *        7:0 REFL15-8: Middle part of the reference pressure value that
+  *             is sum to the sensor output pressure.
+  */
+#define LPS22HB_REF_P_L_REG          (uint8_t)0x16
+
+/**
+  * @brief Reference Pressure Register (MSB data)
+  *        Read/write
+  *        Default value: 0x00
+  *        7:0 REFL23-16 Higest part of the reference pressure value that
+  *             is sum to the sensor output pressure.
+  */
+#define LPS22HB_REF_P_H_REG          (uint8_t)0x17
+
+/**
+  * @brief Pressure and temperature resolution mode Register
+  *        Read/write
+  *        Default value: 0x05
+  *        7:2 These bits must be set to 0 for proper operation of the device
+  *        1: Reserved
+  *        0 LC_EN: Low Current Mode Enable. Default 0
+  */
+#define LPS22HB_RES_CONF_REG     (uint8_t)0x1A
+#define LPS22HB_LCEN_MASK        (uint8_t)0x01
+
+/**
+  * @brief Control Register 1
+  *        Read/write
+  *        Default value: 0x00
+  *        7: This bit must be set to 0 for proper operation of the device
+  *        6:4 ODR2, ODR1, ODR0: output data rate selection.Default 000
+  *            ODR2  | ODR1  | ODR0  | Pressure output data-rate(Hz)  | Pressure output data-rate(Hz)
+  *          ----------------------------------------------------------------------------------
+  *             0    |  0    |  0    |         one shot               |         one shot
+  *             0    |  0    |  1    |            1                   |            1
+  *             0    |  1    |  0    |            10                  |           10
+  *             0    |  1    |  1    |            25                  |           25
+  *             1    |  0    |  0    |            50                  |           50
+  *             1    |  0    |  1    |            75                  |         75
+  *             1    |  1    |  0    |         Reserved               |         Reserved
+  *             1    |  1    |  1    |         Reserved               |         Reserved
+  *        
+  *        3 EN_LPFP: Enable Low Pass filter on Pressure data. Default value:0
+  *        2:LPF_CFG Low-pass configuration register. (0: Filter cutoff is ODR/9; 1: filter cutoff is ODR/20)
+  *        1 BDU: block data update. 0 - continuous update; 1 - output registers not updated until MSB and LSB reading.
+  *        0 SIM: SPI Serial Interface Mode selection. 0 - SPI 4-wire; 1 - SPI 3-wire
+  */
+#define LPS22HB_CTRL_REG1      (uint8_t)0x10
+
+#define LPS22HB_ODR_MASK                (uint8_t)0x70
+#define LPS22HB_LPFP_MASK               (uint8_t)0x08
+#define LPS22HB_LPFP_CUTOFF_MASK        (uint8_t)0x04
+#define LPS22HB_BDU_MASK                (uint8_t)0x02
+#define LPS22HB_SIM_MASK                (uint8_t)0x01
+
+#define LPS22HB_LPFP_BIT    LPS22HB_BIT(3)
+
+/**
+  * @brief Control  Register 2
+  *        Read/write
+  *        Default value: 0x10
+  *        7 BOOT:  Reboot memory content. 0: normal mode; 1: reboot memory content. Self-clearing upon completation
+  *        6 FIFO_EN: FIFO Enable. 0: disable; 1:  enable
+  *        5 STOP_ON_FTH: Stop on FIFO Threshold  FIFO Watermark level use. 0: disable; 1: enable
+  *        4 IF_ADD_INC: Register address automatically incrementeed during a multiple byte access with a serial interface (I2C or SPI). 
+  *                      Default value 1.( 0: disable; 1: enable)
+  *        3 I2C DIS:  Disable I2C interface 0: I2C Enabled; 1: I2C disabled
+  *        2 SWRESET: Software reset. 0: normal mode; 1: SW reset. Self-clearing upon completation
+  *        1 AUTO_ZERO: Autozero enable. 0: normal mode; 1: autozero enable.
+  *        0 ONE_SHOT: One shot enable. 0: waiting for start of conversion; 1: start for a new dataset
+  */
+#define LPS22HB_CTRL_REG2      (uint8_t)0x11
+
+#define LPS22HB_BOOT_BIT       LPS22HB_BIT(7)
+#define LPS22HB_FIFO_EN_BIT    LPS22HB_BIT(6)
+#define LPS22HB_WTM_EN_BIT     LPS22HB_BIT(5)
+#define LPS22HB_ADD_INC_BIT    LPS22HB_BIT(4)
+#define LPS22HB_I2C_BIT        LPS22HB_BIT(3)
+#define LPS22HB_SW_RESET_BIT   LPS22HB_BIT(2)
+
+#define LPS22HB_FIFO_EN_MASK   (uint8_t)0x40
+#define LPS22HB_WTM_EN_MASK    (uint8_t)0x20
+#define LPS22HB_ADD_INC_MASK   (uint8_t)0x10
+#define LPS22HB_I2C_MASK       (uint8_t)0x08
+#define LPS22HB_ONE_SHOT_MASK  (uint8_t)0x01
+
+
+/**
+  * @brief CTRL Reg3 Interrupt Control Register
+  *        Read/write
+  *        Default value: 0x00
+  *        7 INT_H_L: Interrupt active high, low. 0:active high; 1: active low.
+  *        6 PP_OD: Push-Pull/OpenDrain selection on interrupt pads. 0: Push-pull; 1: open drain.
+  *        5 F_FSS5: FIFO full flag on INT_DRDY pin. Defaul value: 0. (0: Diasable; 1 : Enable).
+  *        4 F_FTH: FIFO threshold (watermark) status on INT_DRDY pin. Defaul value: 0. (0: Diasable; 1 : Enable).
+  *        3 F_OVR: FIFO overrun interrupt on INT_DRDY pin. Defaul value: 0. (0: Diasable; 1 : Enable).
+  *        2 DRDY: Data-ready signal on INT_DRDY pin. Defaul value: 0. (0: Diasable; 1 : Enable).
+  *        1:0 INT_S2, INT_S1: data signal on INT pad control bits.
+  *           INT_S2  | INT_S1  | INT pin
+  *          ------------------------------------------------------
+  *               0       |      0      |     Data signal( in order of priority:PTH_DRDY or F_FTH or F_OVR_or F_FSS5
+  *               0       |      1      |     Pressure high (P_high)
+  *               1       |      0      |     Pressure low (P_low)
+  *               1       |      1      |     P_low OR P_high
+  */
+#define LPS22HB_CTRL_REG3      (uint8_t)0x12
+
+#define LPS22HB_PP_OD_BIT       LPS22HB_BIT(6)
+#define LPS22HB_FIFO_FULL_BIT   LPS22HB_BIT(5)
+#define LPS22HB_FIFO_FTH_BIT    LPS22HB_BIT(4)
+#define LPS22HB_FIFO_OVR_BIT    LPS22HB_BIT(3)
+#define LPS22HB_DRDY_BIT        LPS22HB_BIT(2)
+
+
+#define LPS22HB_INT_H_L_MASK            (uint8_t)0x80
+#define LPS22HB_PP_OD_MASK              (uint8_t)0x40
+#define LPS22HB_FIFO_FULL_MASK          (uint8_t)0x20
+#define LPS22HB_FIFO_FTH_MASK           (uint8_t)0x10
+#define LPS22HB_FIFO_OVR_MASK           (uint8_t)0x08
+#define LPS22HB_DRDY_MASK               (uint8_t)0x04
+#define LPS22HB_INT_S12_MASK            (uint8_t)0x03
+
+
+/**
+  * @brief Interrupt Differential configuration Register
+  *        Read/write
+  *        Default value: 0x00.
+  *        7 AUTORIFP: AutoRifP Enable
+  *        6 RESET_ARP: Reset AutoRifP function
+  *        4 AUTOZERO: Autozero enabled
+  *        5 RESET_AZ: Reset Autozero Function
+  *        3 DIFF_EN: Interrupt generation enable
+  *        2 LIR: Latch Interrupt request into INT_SOURCE register. 0 - interrupt request not latched
+  *                                                                 1 - interrupt request latched
+  *        1 PL_E: Enable interrupt generation on differential pressure low event. 0 - disable; 1 - enable
+  *        0 PH_E: Enable interrupt generation on differential pressure high event. 0 - disable; 1 - enable
+  */
+#define LPS22HB_INTERRUPT_CFG_REG  (uint8_t)0x0B
+
+#define LPS22HB_DIFF_EN_BIT       LPS22HB_BIT(3)
+#define LPS22HB_LIR_BIT           LPS22HB_BIT(2)
+#define LPS22HB_PLE_BIT           LPS22HB_BIT(1)
+#define LPS22HB_PHE_BIT           LPS22HB_BIT(0)
+
+#define LPS22HB_AUTORIFP_MASK     (uint8_t)0x80
+#define LPS22HB_RESET_ARP_MASK    (uint8_t)0x40
+#define LPS22HB_AUTOZERO_MASK     (uint8_t)0x20
+#define LPS22HB_RESET_AZ_MASK     (uint8_t)0x10
+#define LPS22HB_DIFF_EN_MASK      (uint8_t)0x08
+#define LPS22HB_LIR_MASK          (uint8_t)0x04
+#define LPS22HB_PLE_MASK          (uint8_t)0x02
+#define LPS22HB_PHE_MASK          (uint8_t)0x01
+
+
+
+/**
+  * @brief Interrupt source Register (It is cleared by reading it)
+  *        Read
+  *        7 BOOT_STATUS:  If 1 indicates that the Boot (Reboot) phase is running.
+  *        6:3 Reserved: Keep these bits at 0
+  *        2 IA: Interrupt Active.0: no interrupt has been generated
+  *                               1: one or more interrupt events have been generated.
+  *        1 PL: Differential pressure Low. 0: no interrupt has been generated
+  *                                         1: Low differential pressure event has occurred.
+  *        0 PH: Differential pressure High. 0: no interrupt has been generated
+  *                                          1: High differential pressure event has occurred.
+  */
+#define LPS22HB_INTERRUPT_SOURCE_REG   (uint8_t)0x25
+
+#define LPS22HB_BOOT_STATUS_BIT        LPS22HB_BIT(7)
+#define LPS22HB_IA_BIT                 LPS22HB_BIT(2)
+#define LPS22HB_PL_BIT                 LPS22HB_BIT(1)
+#define LPS22HB_PH_BIT                 LPS22HB_BIT(0)
+
+#define LPS22HB_BOOT_STATUS_MASK      (uint8_t)0x80
+#define LPS22HB_IA_MASK               (uint8_t)0x04
+#define LPS22HB_PL_MASK               (uint8_t)0x02
+#define LPS22HB_PH_MASK               (uint8_t)0x01
+
+
+/**
+  * @brief  Status Register
+  *         Read
+  *         7:6 Reserved: 0
+  *         5 T_OR: Temperature data overrun. 0: no overrun has occurred
+  *                                           1: a new data for temperature has overwritten the previous one.
+  *         4 P_OR: Pressure data overrun. 0: no overrun has occurred
+  *                                        1: new data for pressure has overwritten the previous one.
+  *         3:2 Reserved: 0
+  *         1 T_DA: Temperature data available. 0: new data for temperature is not yet available
+  *                                             1: new data for temperature is available.
+  *         0 P_DA: Pressure data available. 0: new data for pressure is not yet available
+  *                                          1: new data for pressure is available.
+  */
+#define LPS22HB_STATUS_REG         (uint8_t)0x27
+
+#define LPS22HB_TOR_BIT            LPS22HB_BIT(5)
+#define LPS22HB_POR_BIT            LPS22HB_BIT(4)
+#define LPS22HB_TDA_BIT            LPS22HB_BIT(1)
+#define LPS22HB_PDA_BIT            LPS22HB_BIT(0)
+
+#define LPS22HB_TOR_MASK           (uint8_t)0x20
+#define LPS22HB_POR_MASK           (uint8_t)0x10
+#define LPS22HB_TDA_MASK           (uint8_t)0x02
+#define LPS22HB_PDA_MASK           (uint8_t)0x01
+
+
+/**
+  * @brief  Pressure data (LSB) register.
+  *         Read
+  *         Default value: 0x00.(To be verified)
+  *         POUT7 - POUT0: Pressure data LSB (2's complement).
+  *         Pressure output data: Pout(hPA)=(PRESS_OUT_H & PRESS_OUT_L &
+  *         PRESS_OUT_XL)[dec]/4096.
+  */
+#define LPS22HB_PRESS_OUT_XL_REG        (uint8_t)0x28
+
+/**
+* @brief  Pressure data (Middle part) register.
+*         Read
+*         Default value: 0x80.
+*         POUT15 - POUT8: Pressure data middle part (2's complement).
+*         Pressure output data: Pout(hPA)=(PRESS_OUT_H & PRESS_OUT_L &
+*         PRESS_OUT_XL)[dec]/4096.
+*/
+#define LPS22HB_PRESS_OUT_L_REG        (uint8_t)0x29
+
+/**
+  * @brief  Pressure data (MSB) register.
+  *         Read
+  *         Default value: 0x2F.
+  *         POUT23 - POUT16: Pressure data MSB (2's complement).
+  *         Pressure output data: Pout(hPA)=(PRESS_OUT_H & PRESS_OUT_L &
+  *         PRESS_OUT_XL)[dec]/4096.
+  */
+#define LPS22HB_PRESS_OUT_H_REG        (uint8_t)0x2A
+
+/**
+  * @brief  Temperature data (LSB) register.
+  *         Read
+  *         Default value: 0x00.
+  *         TOUT7 - TOUT0: temperature data LSB.
+  *         Tout(degC)=TEMP_OUT/100
+  */
+#define LPS22HB_TEMP_OUT_L_REG         (uint8_t)0x2B
+
+/**
+  * @brief  Temperature data (MSB) register.
+  *         Read
+  *         Default value: 0x00.
+  *         TOUT15 - TOUT8: temperature data MSB.
+  *         Tout(degC)=TEMP_OUT/100
+  */
+#define LPS22HBH_TEMP_OUT_H_REG         (uint8_t)0x2C
+
+/**
+  * @brief Threshold pressure (LSB) register.
+  *        Read/write
+  *        Default value: 0x00.
+  *        7:0 THS7-THS0: LSB Threshold pressure Low part of threshold value for pressure interrupt
+  *        generation. The complete threshold value is given by THS_P_H & THS_P_L and is
+  *        expressed as unsigned number. P_ths(hPA)=(THS_P_H & THS_P_L)[dec]/16.
+  */
+#define LPS22HB_THS_P_LOW_REG           (uint8_t)0x0C
+
+/**
+  * @brief Threshold pressure (MSB)
+  *        Read/write
+  *        Default value: 0x00.
+  *        7:0 THS15-THS8: MSB Threshold pressure. High part of threshold value for pressure interrupt
+  *        generation. The complete threshold value is given by THS_P_H & THS_P_L and is
+  *        expressed as unsigned number. P_ths(mbar)=(THS_P_H & THS_P_L)[dec]/16.
+  */
+#define LPS22HB_THS_P_HIGH_REG         (uint8_t)0x0D
+
+/**
+  * @brief FIFO control register
+  *        Read/write
+  *        Default value: 0x00
+  *        7:5 F_MODE2, F_MODE1, F_MODE0: FIFO mode selection.
+  *            FM2   | FM1   | FM0   |    FIFO MODE
+  *          ---------------------------------------------------
+  *             0    |  0    |  0    | BYPASS MODE
+  *             0    |  0    |  1    | FIFO MODE. Stops collecting data when full
+  *             0    |  1    |  0    | STREAM MODE: Keep the newest measurements in the FIFO
+  *             0    |  1    |  1    | STREAM MODE until trigger deasserted, then change to FIFO MODE
+  *             1    |  0    |  0    | BYPASS MODE until trigger deasserted, then STREAM MODE
+  *             1    |  0    |  1    | Reserved for future use
+  *             1    |  1    |  0    | Reserved
+  *             1    |  1    |  1    | BYPASS mode until trigger deasserted, then FIFO MODE
+  *       
+  *        4:0 WTM_POINT4-0 : FIFO Watermark level selection (0-31)
+  */
+#define LPS22HB_CTRL_FIFO_REG          (uint8_t)0x14
+
+#define LPS22HB_FIFO_MODE_MASK        (uint8_t)0xE0
+#define LPS22HB_WTM_POINT_MASK        (uint8_t)0x1F
+
+
+/**
+  * @brief FIFO Status register
+  *        Read
+  *        7 FTH_FIFO: FIFO threshold status. 0:FIFO filling is lower than FTH level
+  *                                           1: FIFO is equal or higher than FTH level.
+  *        6 OVR: Overrun bit status. 0 - FIFO not full
+  *                                   1 - FIFO is full and at least one sample in the FIFO has been overwritten.
+  *        5:0 FSS: FIFO Stored data level. 000000: FIFO empty, 100000: FIFO is full and has 32 unread samples.
+  */
+#define LPS22HB_STATUS_FIFO_REG        (uint8_t)0x26
+
+#define LPS22HB_FTH_FIFO_BIT          LPS22HB_BIT(7)
+#define LPS22HB_OVR_FIFO_BIT          LPS22HB_BIT(6)
+
+#define LPS22HB_FTH_FIFO_MASK         (uint8_t)0x80
+#define LPS22HB_OVR_FIFO_MASK         (uint8_t)0x40
+#define LPS22HB_LEVEL_FIFO_MASK       (uint8_t)0x3F
+#define LPS22HB_FIFO_EMPTY            (uint8_t)0x00
+#define LPS22HB_FIFO_FULL             (uint8_t)0x20
+
+
+
+/**
+  * @brief Pressure offset register  (LSB)
+  *        Read/write
+  *        Default value: 0x00
+  *        7:0 RPDS7-0:Pressure Offset for 1 point calibration (OPC) after soldering.
+  *        This register contains the low part of the pressure offset value after soldering,for
+  *        differential pressure computing. The complete value is given by RPDS_L & RPDS_H
+  *        and is expressed as signed 2 complement value.
+  */
+#define LPS22HB_RPDS_L_REG        (uint8_t)0x18
+
+/**
+  * @brief Pressure offset register (MSB)
+  *        Read/write
+  *        Default value: 0x00
+  *        7:0 RPDS15-8:Pressure Offset for 1 point calibration  (OPC) after soldering.
+  *        This register contains the high part of the pressure offset value after soldering (see description RPDS_L)
+  */
+#define LPS22HB_RPDS_H_REG        (uint8_t)0x19
+
+
+/**
+  * @brief Clock Tree Configuration register
+  *        Read/write
+  *        Default value: 0x00
+  *        7:6 Reserved.
+  *        5: CTE: Clock Tree Enhancement
+  */
+#define LPS22HB_CLOCK_TREE_CONFIGURATION        (uint8_t)0x43
+#define LPS22HB_CTE_MASK                        (uint8_t)0x20
+
+/**
+* @}
+*/
+
+
+/** @defgroup LPS22HB_Pressure_Exported_Functions LPS22HB Pressure Exported Functions
+  * @{
+  */  
+/* PRESSURE functions */
+void    LPS22HB_P_Init(uint16_t DeviceAddr);
+uint8_t LPS22HB_P_ReadID(uint16_t DeviceAddr);
+float   LPS22HB_P_ReadPressure(uint16_t DeviceAddr);
+/**
+  * @}
+  */
+
+/** @defgroup HTS221_PressImported_Globals  PRESSURE Imported Globals
+  * @{
+  */
+/* PRESSURE driver structure */
+extern PSENSOR_DrvTypeDef LPS22HB_P_Drv;
+/**
+  * @}
+  */
+
+/** @defgroup LPS22HB_Temperature_Exported_Functions LPS22HB Temperature Exported Functions
+  * @{
+  */
+/* TEMPERATURE functions */
+void  LPS22HB_T_Init(uint16_t DeviceAddr, TSENSOR_InitTypeDef *pInitStruct);
+float LPS22HB_T_ReadTemp(uint16_t DeviceAddr);
+/**
+  * @}
+  */
+
+/** @defgroup HTS221_TempImported_Globals  Temperature Imported Globals
+  * @{
+  */
+/* Temperature driver structure */
+extern TSENSOR_DrvTypeDef LPS22HB_T_Drv;
+/**
+  * @}
+  */
+
+/** @defgroup LPS22HB_Imported_Functions LPS22HB Imported Functions
+  * @{
+  */
+/* IO functions */
+extern void     SENSOR_IO_Init(void);
+extern void     SENSOR_IO_Write(uint8_t Addr, uint8_t Reg, uint8_t Value);
+extern uint8_t  SENSOR_IO_Read(uint8_t Addr, uint8_t Reg);
+extern uint16_t SENSOR_IO_ReadMultiple(uint8_t Addr, uint8_t Reg, uint8_t *Buffer, uint16_t Length);
+extern void     SENSOR_IO_WriteMultiple(uint8_t Addr, uint8_t Reg, uint8_t *Buffer, uint16_t Length);
+
+/**
+  * @}
+  */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __LPS22HB__H */
+
+/**
+  * @}
+  */
+  
+/**
+  * @}
+  */
+  
+/**
+  * @}
+  */
+  
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/