
step3
Fork of mbed_main by
Barometer.h@4:3ed1a684a383, 2016-11-19 (annotated)
- Committer:
- Soyoon
- Date:
- Sat Nov 19 15:05:43 2016 +0000
- Revision:
- 4:3ed1a684a383
- Parent:
- 0:6ac6b2d2bf1a
3; ;
Who changed what in which revision?
User | Revision | Line number | New 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 |