interface to chr_6dm and Baro bmp085

Dependencies:   mbed

Committer:
belloula
Date:
Mon Oct 17 19:43:06 2011 +0000
Revision:
0:d07617f8ede9

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
belloula 0:d07617f8ede9 1 #ifndef BMP085_H
belloula 0:d07617f8ede9 2 #define BMP085_H
belloula 0:d07617f8ede9 3
belloula 0:d07617f8ede9 4 #include "mbed.h"
belloula 0:d07617f8ede9 5
belloula 0:d07617f8ede9 6 /**
belloula 0:d07617f8ede9 7 * @brief over sampling setting
belloula 0:d07617f8ede9 8 */
belloula 0:d07617f8ede9 9 enum BMP085_oss {
belloula 0:d07617f8ede9 10 BMP085_oss1 = 0, ///< ultra low power (1 time)
belloula 0:d07617f8ede9 11 BMP085_oss2 = 1, ///< standard (2 times)
belloula 0:d07617f8ede9 12 BMP085_oss4 = 2, ///< high resolution (4 times)
belloula 0:d07617f8ede9 13 BMP085_oss8 = 3 ///< ultra high resolution (8 times)
belloula 0:d07617f8ede9 14 };
belloula 0:d07617f8ede9 15
belloula 0:d07617f8ede9 16 /**
belloula 0:d07617f8ede9 17 * @brief BMP085 class
belloula 0:d07617f8ede9 18 */
belloula 0:d07617f8ede9 19 class BMP085 : public Base {
belloula 0:d07617f8ede9 20 public:
belloula 0:d07617f8ede9 21 BMP085(PinName p_sda, PinName p_scl, BMP085_oss p_oss = BMP085_oss1);
belloula 0:d07617f8ede9 22 BMP085(I2C& p_i2c, BMP085_oss p_oss = BMP085_oss1);
belloula 0:d07617f8ede9 23
belloula 0:d07617f8ede9 24 float get_temperature();
belloula 0:d07617f8ede9 25 float get_pressure();
belloula 0:d07617f8ede9 26 float get_altitude();
belloula 0:d07617f8ede9 27 void update();
belloula 0:d07617f8ede9 28 unsigned char ok;
belloula 0:d07617f8ede9 29
belloula 0:d07617f8ede9 30 protected:
belloula 0:d07617f8ede9 31 void init(BMP085_oss);
belloula 0:d07617f8ede9 32 unsigned short twi_readshort (int, int);
belloula 0:d07617f8ede9 33 unsigned long twi_readlong (int, int);
belloula 0:d07617f8ede9 34 void twi_writechar (int, int, int);
belloula 0:d07617f8ede9 35
belloula 0:d07617f8ede9 36 I2C i2c;
belloula 0:d07617f8ede9 37 float temperature;
belloula 0:d07617f8ede9 38 float pressure;
belloula 0:d07617f8ede9 39 float altitude;
belloula 0:d07617f8ede9 40
belloula 0:d07617f8ede9 41 private:
belloula 0:d07617f8ede9 42
belloula 0:d07617f8ede9 43 short ac1, ac2, ac3, b1, b2, mb, mc, md, oss;
belloula 0:d07617f8ede9 44 unsigned short ac4, ac5, ac6;
belloula 0:d07617f8ede9 45 };
belloula 0:d07617f8ede9 46
belloula 0:d07617f8ede9 47 #endif