Complete library for whole scientific

Dependencies:   BOX_1

Committer:
Alessio_Zaino
Date:
Mon Jun 10 13:11:48 2019 +0000
Revision:
1:dda01a024d6c
Parent:
0:f8a9cceb4186
j

Who changed what in which revision?

UserRevisionLine numberNew 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