Complete library for whole scientific pre-final
Dependencies: BOX_1
ENVIROMENTAL/SI7021.h@0:f8a9cceb4186, 2019-06-10 (annotated)
- Committer:
- Alessio_Zaino
- Date:
- Mon Jun 10 12:50:02 2019 +0000
- Revision:
- 0:f8a9cceb4186
still developing
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Alessio_Zaino | 0:f8a9cceb4186 | 1 | #ifndef SI7021_H |
Alessio_Zaino | 0:f8a9cceb4186 | 2 | #define SI7021_H |
Alessio_Zaino | 0:f8a9cceb4186 | 3 | |
Alessio_Zaino | 0:f8a9cceb4186 | 4 | #include "mbed.h" |
Alessio_Zaino | 0:f8a9cceb4186 | 5 | |
Alessio_Zaino | 0:f8a9cceb4186 | 6 | |
Alessio_Zaino | 0:f8a9cceb4186 | 7 | #define READ_TEMP 0xE0 // Read Temperature Command |
Alessio_Zaino | 0:f8a9cceb4186 | 8 | #define READ_HUM 0xE5 // Read RH Command |
Alessio_Zaino | 0:f8a9cceb4186 | 9 | |
Alessio_Zaino | 0:f8a9cceb4186 | 10 | /***** Si7012 Read ID *****/ |
Alessio_Zaino | 0:f8a9cceb4186 | 11 | #define READ_ID1_1 0xFA |
Alessio_Zaino | 0:f8a9cceb4186 | 12 | #define READ_ID1_2 0x0F |
Alessio_Zaino | 0:f8a9cceb4186 | 13 | #define READ_ID2_1 0xFC |
Alessio_Zaino | 0:f8a9cceb4186 | 14 | #define READ_ID2_2 0xC9 |
Alessio_Zaino | 0:f8a9cceb4186 | 15 | |
Alessio_Zaino | 0:f8a9cceb4186 | 16 | #define ADDR 0x80 //Device address |
Alessio_Zaino | 0:f8a9cceb4186 | 17 | #define FREQ 100000 //Device frequency |
Alessio_Zaino | 0:f8a9cceb4186 | 18 | #define DEVICE_ID 0x15 //Device id value |
Alessio_Zaino | 0:f8a9cceb4186 | 19 | |
Alessio_Zaino | 0:f8a9cceb4186 | 20 | class SI7021 |
Alessio_Zaino | 0:f8a9cceb4186 | 21 | { |
Alessio_Zaino | 0:f8a9cceb4186 | 22 | public: |
Alessio_Zaino | 0:f8a9cceb4186 | 23 | |
Alessio_Zaino | 0:f8a9cceb4186 | 24 | SI7021(PinName sda, PinName scl); |
Alessio_Zaino | 0:f8a9cceb4186 | 25 | int32_t get_temperature(); // Get last measured temperature data (ºC) |
Alessio_Zaino | 0:f8a9cceb4186 | 26 | uint32_t get_humidity(); // Get last measured relative humidity data (%) |
Alessio_Zaino | 0:f8a9cceb4186 | 27 | bool get_data(); // Perform measurement, return: 0 if successful |
Alessio_Zaino | 0:f8a9cceb4186 | 28 | bool check(); // Check if the sensor is active |
Alessio_Zaino | 0:f8a9cceb4186 | 29 | |
Alessio_Zaino | 0:f8a9cceb4186 | 30 | private: |
Alessio_Zaino | 0:f8a9cceb4186 | 31 | |
Alessio_Zaino | 0:f8a9cceb4186 | 32 | I2C i2c; |
Alessio_Zaino | 0:f8a9cceb4186 | 33 | uint8_t buff_rx[8]; |
Alessio_Zaino | 0:f8a9cceb4186 | 34 | uint8_t buff_tx[2]; |
Alessio_Zaino | 0:f8a9cceb4186 | 35 | uint32_t humData; |
Alessio_Zaino | 0:f8a9cceb4186 | 36 | int32_t tempData; |
Alessio_Zaino | 0:f8a9cceb4186 | 37 | }; |
Alessio_Zaino | 0:f8a9cceb4186 | 38 | |
Alessio_Zaino | 0:f8a9cceb4186 | 39 | #endif |