IMU-pressure-tempreture sensors

Dependencies:   CMSIS_DSP_401 DHT22 MPU9150_DMP QuaternionMath MODSERIAL mbed-src FATFileSystem111 SDFileSystem11 Camera_LS_Y201_CANSAT

Dependents:   combined_F

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers BMP085.h Source File

BMP085.h

00001 /*
00002  * mbed library to use a Bosch Sensortec BMP085 sensor
00003  * Copyright (c) 2010 Hiroshi Suga
00004  * Released under the MIT License: http://mbed.org/license/mit
00005  */
00006  
00007 #ifndef BMP085_H
00008 #define BMP085_H
00009 
00010 #include "mbed.h"
00011 
00012 enum BMP085_oss {
00013     BMP085_oss1 = 0,
00014     BMP085_oss2 = 1,
00015     BMP085_oss4 = 2,
00016     BMP085_oss8 = 3
00017 };
00018 
00019 class BMP085
00020 {
00021 public:
00022     BMP085(PinName p_sda, PinName p_scl, BMP085_oss p_oss = BMP085_oss1);
00023     BMP085(I2C& p_i2c, BMP085_oss p_oss = BMP085_oss1);
00024 
00025     float get_temperature();
00026     float get_pressure();
00027     void update();
00028 float calcAltitude(int pressure);
00029 protected:
00030     void init(BMP085_oss);
00031     unsigned short twi_readshort (int, int);
00032     unsigned long twi_readlong (int, int);
00033     void twi_writechar (int, int, int);
00034 
00035     I2C i2c;
00036     float temperature;
00037     float pressure;
00038 
00039 private:
00040 
00041     short ac1, ac2, ac3, b1, b2, mb, mc, md, oss;
00042     unsigned short ac4, ac5, ac6;
00043 };
00044 
00045 #endif