LPS22HB library
Diff: LPS22HB.h
- Revision:
- 3:755ac86eb6fd
- Parent:
- 2:b6cb5c37b974
- Child:
- 4:50be6522da7f
diff -r b6cb5c37b974 -r 755ac86eb6fd LPS22HB.h --- 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