BMP085 Digital, barometric pressure sensor. Manufacturer: Bosch Sensortec.
bmp085.h@0:904377b11e64, 2015-03-11 (annotated)
- 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?
User | Revision | Line number | New 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 |