step3

Dependencies:   Servo mbed

Fork of mbed_main by CANSAT_AIRFUL

Committer:
Soyoon
Date:
Sat Nov 19 15:05:43 2016 +0000
Revision:
4:3ed1a684a383
Parent:
0:6ac6b2d2bf1a
3; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Soyoon 0:6ac6b2d2bf1a 1 #ifndef Barometer_H
Soyoon 0:6ac6b2d2bf1a 2 #define Barometer_H
Soyoon 0:6ac6b2d2bf1a 3 #include "mbed.h"
Soyoon 0:6ac6b2d2bf1a 4
Soyoon 0:6ac6b2d2bf1a 5
Soyoon 0:6ac6b2d2bf1a 6 enum Barometer_oss {
Soyoon 0:6ac6b2d2bf1a 7 Barometer_oss1 = 0, ///< ultra low power (1 time)
Soyoon 0:6ac6b2d2bf1a 8 Barometer_oss2 = 1, ///< standard (2 times)
Soyoon 0:6ac6b2d2bf1a 9 Barometer_oss4 = 2, ///< high resolution (4 times)
Soyoon 0:6ac6b2d2bf1a 10 Barometer_oss8 = 3 ///< ultra high resolution (8 times)
Soyoon 0:6ac6b2d2bf1a 11 };
Soyoon 0:6ac6b2d2bf1a 12
Soyoon 0:6ac6b2d2bf1a 13
Soyoon 0:6ac6b2d2bf1a 14 class Barometer {
Soyoon 0:6ac6b2d2bf1a 15 public:
Soyoon 0:6ac6b2d2bf1a 16 Barometer(PinName p_sda, PinName p_scl, Barometer_oss p_oss = Barometer_oss8);
Soyoon 0:6ac6b2d2bf1a 17 Barometer(I2C& p_i2c, Barometer_oss p_oss = Barometer_oss8);
Soyoon 0:6ac6b2d2bf1a 18
Soyoon 0:6ac6b2d2bf1a 19 float get_temperature();
Soyoon 0:6ac6b2d2bf1a 20 float get_pressure();
Soyoon 0:6ac6b2d2bf1a 21 float get_altitude_m();
Soyoon 0:6ac6b2d2bf1a 22 void update();
Soyoon 0:6ac6b2d2bf1a 23
Soyoon 0:6ac6b2d2bf1a 24 protected:
Soyoon 0:6ac6b2d2bf1a 25 void init(Barometer_oss);
Soyoon 0:6ac6b2d2bf1a 26 unsigned short twi_readshort (int, int);
Soyoon 0:6ac6b2d2bf1a 27 unsigned long twi_readlong (int, int);
Soyoon 0:6ac6b2d2bf1a 28 void twi_writechar (int, int, int);
Soyoon 0:6ac6b2d2bf1a 29
Soyoon 0:6ac6b2d2bf1a 30 I2C i2c;
Soyoon 0:6ac6b2d2bf1a 31 float temperature;
Soyoon 0:6ac6b2d2bf1a 32 float pressure;
Soyoon 0:6ac6b2d2bf1a 33 float altitude;
Soyoon 0:6ac6b2d2bf1a 34
Soyoon 0:6ac6b2d2bf1a 35 private:
Soyoon 0:6ac6b2d2bf1a 36
Soyoon 0:6ac6b2d2bf1a 37 short ac1, ac2, ac3, b1, b2, mb, mc, md, oss;
Soyoon 0:6ac6b2d2bf1a 38 unsigned short ac4, ac5, ac6;
Soyoon 0:6ac6b2d2bf1a 39 };
Soyoon 0:6ac6b2d2bf1a 40
Soyoon 0:6ac6b2d2bf1a 41 #endif