STMicroelectronics barometric pressure sensor library. This library modified from KenjiArai's LPS25H library.

Fork of LPS25H by Kenji Arai

Revision:
3:755ac86eb6fd
Parent:
2:b6cb5c37b974
Child:
4:50be6522da7f
--- a/LPS22HB.h	Wed Nov 30 18:17:32 2016 +0000
+++ b/LPS22HB.h	Sun Mar 19 09:07:48 2017 +0000
@@ -37,10 +37,6 @@
 #define LPS22HB_G_CHIP_ADDR  (0x5c << 1)    // SA0(=SDO pin) = Ground
 #define LPS22HB_V_CHIP_ADDR  (0x5d << 1)    // SA0(=SDO pin) = Vdd
 
-// MODE Selection
-//#define FIFO_HW_FILTER          1
-//#define FIFO_BYPASS             0
-
 //   LPS22HB ID
 #define I_AM_LPS22HB            0xb1
 
@@ -62,24 +58,6 @@
 #define LPS22HB_FIFO_CTRL       0x14
 #define LPS22HB_FIFO_STATUS     0x26
 
-// Control Reg.
-/*//#define PD              (0UL << 7)
-//#define ACTIVE          (1UL << 7)
-#define ODR_ONESHOT     (0UL << 4)
-#define ODR_1HZ         (1UL << 4)
-#define ODR_7HZ         (1UL << 4)
-#define ODR_12R5HZ      (2UL << 4)
-#define ODR_25HZ        (3UL << 4)
-#define BDU_SET         (1UL << 2)
-#define CR_STD_SET      (ACTIVE + ODR_7HZ + BDU_SET)*/
-
-// FIFO Control
-/*#define FIFO_MEAN_MODE         0xc0
-#define FIFO_SAMPLE_2          0x01
-#define FIFO_SAMPLE_4          0x03
-#define FIFO_SAMPLE_8          0x07
-#define FIFO_SAMPLE_16         0x0f
-#define FIFO_SAMPLE_32         0x1f*/
 
 /** Interface for STMicronics MEMS pressure sensor
  *      Chip: LPS22HB
@@ -135,15 +113,15 @@
       * @param Operation mode FIFO_HW_FILTER(default) or FIFO_BYPASS (Option parameter)
       */
     LPS22HB(PinName p_sda, PinName p_scl, uint8_t addr);
-    //LPS22HB(PinName p_sda, PinName p_scl, uint8_t addr, uint8_t mode);
-
+    
     /** Configure data pin (with other devices on I2C line)
       * @param I2C previous definition
       * @param device address LPS22HB(SA0=0 or 1), LPS22HB_G_CHIP_ADDR or LPS22HB_V_CHIP_ADDR
       * @param Operation mode FIFO_HW_FILTER(default) or FIFO_BYPASS (Option parameter)
       */
     LPS22HB(I2C& p_i2c, uint8_t addr);
-    //LPS22HB(I2C& p_i2c, uint8_t addr, uint8_t mode);
+    
+    ~LPS22HB();
 
     /** Start convertion & data save
       * @param none
@@ -153,15 +131,27 @@
 
     /** Read pressure data
       * @param none
-      * @return humidity
+      * @return pressure
       */
     float pressure(void);
+    
+    /** Read raw pressure data
+      * @param none
+      * @return raw pressure
+      */
+    uint32_t pressure_raw(void);    //  add by user
 
     /** Read temperature data
       * @param none
       * @return temperature
       */
     float temperature(void);
+    
+    /** Read raw temperature data
+      * @param none
+      * @return raw temperature
+      */
+    int16_t temperature_raw(void);    //  add by user
 
     /** Read a ID number
       * @param none
@@ -213,7 +203,8 @@
     void drdy(lps22hb_drdy drdycfg = LPS22HB_DRDY_DISABLE); //add by user
     
 protected:
-    I2C _i2c;
+    I2C* i2c_p;
+    I2C& _i2c;
 
     void init(void);
 
@@ -227,4 +218,4 @@
     int16_t temp;          // temperature raw data
 };
 
-#endif      // LPS22HB_H
+#endif      // LPS22HB_H
\ No newline at end of file