Dependencies:   mbed

Committer:
gbeardall
Date:
Mon Oct 17 10:41:08 2011 +0000
Revision:
0:2005beefb93e

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gbeardall 0:2005beefb93e 1 /*
gbeardall 0:2005beefb93e 2 * mbed library to use a Bosch Sensortec BMP085 sensor
gbeardall 0:2005beefb93e 3 * Copyright (c) 2010 Hiroshi Suga
gbeardall 0:2005beefb93e 4 * Released under the MIT License: http://mbed.org/license/mit
gbeardall 0:2005beefb93e 5 */
gbeardall 0:2005beefb93e 6
gbeardall 0:2005beefb93e 7 #ifndef BMP085_H
gbeardall 0:2005beefb93e 8 #define BMP085_H
gbeardall 0:2005beefb93e 9
gbeardall 0:2005beefb93e 10 #include "mbed.h"
gbeardall 0:2005beefb93e 11
gbeardall 0:2005beefb93e 12 enum BMP085_oss {
gbeardall 0:2005beefb93e 13 BMP085_oss1 = 0,
gbeardall 0:2005beefb93e 14 BMP085_oss2 = 1,
gbeardall 0:2005beefb93e 15 BMP085_oss4 = 2,
gbeardall 0:2005beefb93e 16 BMP085_oss8 = 3
gbeardall 0:2005beefb93e 17 };
gbeardall 0:2005beefb93e 18
gbeardall 0:2005beefb93e 19 class BMP085 : public Base {
gbeardall 0:2005beefb93e 20 public:
gbeardall 0:2005beefb93e 21 BMP085(PinName p_sda, PinName p_scl, BMP085_oss p_oss = BMP085_oss1);
gbeardall 0:2005beefb93e 22 BMP085(I2C& p_i2c, BMP085_oss p_oss = BMP085_oss1);
gbeardall 0:2005beefb93e 23
gbeardall 0:2005beefb93e 24 float get_temperature();
gbeardall 0:2005beefb93e 25 float get_pressure();
gbeardall 0:2005beefb93e 26 void update();
gbeardall 0:2005beefb93e 27
gbeardall 0:2005beefb93e 28 protected:
gbeardall 0:2005beefb93e 29 void init(BMP085_oss);
gbeardall 0:2005beefb93e 30 unsigned short twi_readshort (int, int);
gbeardall 0:2005beefb93e 31 unsigned long twi_readlong (int, int);
gbeardall 0:2005beefb93e 32 void twi_writechar (int, int, int);
gbeardall 0:2005beefb93e 33
gbeardall 0:2005beefb93e 34 I2C i2c;
gbeardall 0:2005beefb93e 35 float temperature;
gbeardall 0:2005beefb93e 36 float pressure;
gbeardall 0:2005beefb93e 37
gbeardall 0:2005beefb93e 38 private:
gbeardall 0:2005beefb93e 39
gbeardall 0:2005beefb93e 40 short ac1, ac2, ac3, b1, b2, mb, mc, md, oss;
gbeardall 0:2005beefb93e 41 unsigned short ac4, ac5, ac6;
gbeardall 0:2005beefb93e 42 };
gbeardall 0:2005beefb93e 43
gbeardall 0:2005beefb93e 44 #endif