Soyoon Kim
/
mbed_Datalogger
Success!
Barometer.h@0:9f0027e4c618, 2016-07-19 (annotated)
- Committer:
- Soyoon
- Date:
- Tue Jul 19 15:47:17 2016 +0000
- Revision:
- 0:9f0027e4c618
Robo Frien
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Soyoon | 0:9f0027e4c618 | 1 | #ifndef Barometer_H |
Soyoon | 0:9f0027e4c618 | 2 | #define Barometer_H |
Soyoon | 0:9f0027e4c618 | 3 | #include "mbed.h" |
Soyoon | 0:9f0027e4c618 | 4 | |
Soyoon | 0:9f0027e4c618 | 5 | |
Soyoon | 0:9f0027e4c618 | 6 | enum Barometer_oss { |
Soyoon | 0:9f0027e4c618 | 7 | Barometer_oss1 = 0, ///< ultra low power (1 time) |
Soyoon | 0:9f0027e4c618 | 8 | Barometer_oss2 = 1, ///< standard (2 times) |
Soyoon | 0:9f0027e4c618 | 9 | Barometer_oss4 = 2, ///< high resolution (4 times) |
Soyoon | 0:9f0027e4c618 | 10 | Barometer_oss8 = 3 ///< ultra high resolution (8 times) |
Soyoon | 0:9f0027e4c618 | 11 | }; |
Soyoon | 0:9f0027e4c618 | 12 | |
Soyoon | 0:9f0027e4c618 | 13 | |
Soyoon | 0:9f0027e4c618 | 14 | class Barometer { |
Soyoon | 0:9f0027e4c618 | 15 | public: |
Soyoon | 0:9f0027e4c618 | 16 | Barometer(PinName p_sda, PinName p_scl, Barometer_oss p_oss = Barometer_oss1); |
Soyoon | 0:9f0027e4c618 | 17 | Barometer(I2C& p_i2c, Barometer_oss p_oss = Barometer_oss1); |
Soyoon | 0:9f0027e4c618 | 18 | |
Soyoon | 0:9f0027e4c618 | 19 | float get_temperature(); |
Soyoon | 0:9f0027e4c618 | 20 | float get_pressure(); |
Soyoon | 0:9f0027e4c618 | 21 | void update(); |
Soyoon | 0:9f0027e4c618 | 22 | |
Soyoon | 0:9f0027e4c618 | 23 | protected: |
Soyoon | 0:9f0027e4c618 | 24 | void init(Barometer_oss); |
Soyoon | 0:9f0027e4c618 | 25 | unsigned short twi_readshort (int, int); |
Soyoon | 0:9f0027e4c618 | 26 | unsigned long twi_readlong (int, int); |
Soyoon | 0:9f0027e4c618 | 27 | void twi_writechar (int, int, int); |
Soyoon | 0:9f0027e4c618 | 28 | |
Soyoon | 0:9f0027e4c618 | 29 | I2C i2c; |
Soyoon | 0:9f0027e4c618 | 30 | float temperature; |
Soyoon | 0:9f0027e4c618 | 31 | float pressure; |
Soyoon | 0:9f0027e4c618 | 32 | |
Soyoon | 0:9f0027e4c618 | 33 | private: |
Soyoon | 0:9f0027e4c618 | 34 | |
Soyoon | 0:9f0027e4c618 | 35 | short ac1, ac2, ac3, b1, b2, mb, mc, md, oss; |
Soyoon | 0:9f0027e4c618 | 36 | unsigned short ac4, ac5, ac6; |
Soyoon | 0:9f0027e4c618 | 37 | }; |
Soyoon | 0:9f0027e4c618 | 38 | |
Soyoon | 0:9f0027e4c618 | 39 | #endif |