BMP085 Digital, barometric pressure sensor. Manufacturer: Bosch Sensortec.

Committer:
Quincy31
Date:
Wed Mar 11 06:50:27 2015 +0000
Revision:
0:904377b11e64
BMP085, digital, barometric pressure sensor.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Quincy31 0:904377b11e64 1 /*
Quincy31 0:904377b11e64 2 * BMP085 Sensor Library for mbed
Quincy31 0:904377b11e64 3 */
Quincy31 0:904377b11e64 4
Quincy31 0:904377b11e64 5 #ifndef BMP085_H
Quincy31 0:904377b11e64 6 #define BMP085_H
Quincy31 0:904377b11e64 7
Quincy31 0:904377b11e64 8 #include "mbed.h"
Quincy31 0:904377b11e64 9
Quincy31 0:904377b11e64 10 /**
Quincy31 0:904377b11e64 11 * BMP085 Class to read temprature & pressure from BMP085(GY-65)
Quincy31 0:904377b11e64 12 *
Quincy31 0:904377b11e64 13 */
Quincy31 0:904377b11e64 14 class BMP085
Quincy31 0:904377b11e64 15 {
Quincy31 0:904377b11e64 16 public:
Quincy31 0:904377b11e64 17 /**
Quincy31 0:904377b11e64 18 * BMP085 constructor
Quincy31 0:904377b11e64 19 * @param sda SDA pin
Quincy31 0:904377b11e64 20 * @param sdl SCL pin
Quincy31 0:904377b11e64 21 * @param addr addr of the I2C peripheral
Quincy31 0:904377b11e64 22 */
Quincy31 0:904377b11e64 23 BMP085(PinName sda, PinName scl);
Quincy31 0:904377b11e64 24
Quincy31 0:904377b11e64 25 void read(int32_t * temperature, int32_t * pressure);
Quincy31 0:904377b11e64 26 void set_oversampling(int osrs);
Quincy31 0:904377b11e64 27
Quincy31 0:904377b11e64 28 static const float p0;
Quincy31 0:904377b11e64 29 static float altitude(float p);
Quincy31 0:904377b11e64 30
Quincy31 0:904377b11e64 31
Quincy31 0:904377b11e64 32 private:
Quincy31 0:904377b11e64 33 I2C m_i2c;
Quincy31 0:904377b11e64 34 char m_addr;
Quincy31 0:904377b11e64 35
Quincy31 0:904377b11e64 36 int16_t ac1;
Quincy31 0:904377b11e64 37 int16_t ac2;
Quincy31 0:904377b11e64 38 int16_t ac3;
Quincy31 0:904377b11e64 39 uint16_t ac4;
Quincy31 0:904377b11e64 40 uint16_t ac5;
Quincy31 0:904377b11e64 41 uint16_t ac6;
Quincy31 0:904377b11e64 42 int16_t b1;
Quincy31 0:904377b11e64 43 int16_t b2;
Quincy31 0:904377b11e64 44 int16_t mb;
Quincy31 0:904377b11e64 45 int16_t mc;
Quincy31 0:904377b11e64 46 int16_t md;
Quincy31 0:904377b11e64 47
Quincy31 0:904377b11e64 48 uint8_t oss;
Quincy31 0:904377b11e64 49
Quincy31 0:904377b11e64 50 void writeRegs(uint8_t * data, int len);
Quincy31 0:904377b11e64 51 void readRegs(int addr, uint8_t * data, int len);
Quincy31 0:904377b11e64 52
Quincy31 0:904377b11e64 53 void calibration(void);
Quincy31 0:904377b11e64 54 int32_t read_pressure(void);
Quincy31 0:904377b11e64 55 int32_t read_temp(void);
Quincy31 0:904377b11e64 56 };
Quincy31 0:904377b11e64 57 #endif
Quincy31 0:904377b11e64 58
Quincy31 0:904377b11e64 59