TI HDC1000 Temperature and Humidity Sensor

Dependents:   test_HDC1000

Committer:
Rhyme
Date:
Mon Apr 17 02:49:07 2017 +0000
Revision:
0:1db0d0071723
Child:
1:f2c04c5b28ab
First working version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:1db0d0071723 1 #ifndef _HDC1000_H_
Rhyme 0:1db0d0071723 2 #define _HDC1000_H_
Rhyme 0:1db0d0071723 3 #include "mbed.h"
Rhyme 0:1db0d0071723 4 /**
Rhyme 0:1db0d0071723 5 * HDC1000 Integrated Low Power Humidity and Temperature Digital Sensor
Rhyme 0:1db0d0071723 6 * I2C address: 0x40
Rhyme 0:1db0d0071723 7 */
Rhyme 0:1db0d0071723 8
Rhyme 0:1db0d0071723 9 class HDC1000 {
Rhyme 0:1db0d0071723 10 public:
Rhyme 0:1db0d0071723 11 /**
Rhyme 0:1db0d0071723 12 * constructor
Rhyme 0:1db0d0071723 13 *
Rhyme 0:1db0d0071723 14 * @param sda SDA pin
Rhyme 0:1db0d0071723 15 * @param scl SCL pin
Rhyme 0:1db0d0071723 16 * @param addr address of the I2C peripheral
Rhyme 0:1db0d0071723 17 */
Rhyme 0:1db0d0071723 18 // HDC1000(PinName sda, PinName scl, int addr=0x40) ;
Rhyme 0:1db0d0071723 19 HDC1000(PinName sda, PinName scl, PinName rdy, int addr=0x40) ;
Rhyme 0:1db0d0071723 20
Rhyme 0:1db0d0071723 21 ~HDC1000() ;
Rhyme 0:1db0d0071723 22
Rhyme 0:1db0d0071723 23 float readTemperature(void) ;
Rhyme 0:1db0d0071723 24 float readHumidity(void) ;
Rhyme 0:1db0d0071723 25
Rhyme 0:1db0d0071723 26 void reset(void) ;
Rhyme 0:1db0d0071723 27
Rhyme 0:1db0d0071723 28 /* for mode 0 */
Rhyme 0:1db0d0071723 29 uint16_t getTemperature(void) ;
Rhyme 0:1db0d0071723 30 uint16_t getHumidity(void) ;
Rhyme 0:1db0d0071723 31 void readData(float *temp, float *hume) ;
Rhyme 0:1db0d0071723 32
Rhyme 0:1db0d0071723 33 /* for mode 1 */
Rhyme 0:1db0d0071723 34 void getData(uint16_t *temp, uint16_t *hume) ;
Rhyme 0:1db0d0071723 35
Rhyme 0:1db0d0071723 36 void setConfig(uint16_t conf) ;
Rhyme 0:1db0d0071723 37 uint16_t getConfig(void) ;
Rhyme 0:1db0d0071723 38 void setMode(int mode) ;
Rhyme 0:1db0d0071723 39 int getMode(void) ;
Rhyme 0:1db0d0071723 40 void setTres(int tres) ;
Rhyme 0:1db0d0071723 41 int getTres(void) ;
Rhyme 0:1db0d0071723 42 void setHres(int hres) ;
Rhyme 0:1db0d0071723 43 int getHres(void) ;
Rhyme 0:1db0d0071723 44 void getSerialID(uint8_t data[]) ; /* returns 5 bytes ID */
Rhyme 0:1db0d0071723 45 uint16_t getManufactureID(void) ; /* 0x5449 : Texas Instruments */
Rhyme 0:1db0d0071723 46 uint16_t getDeviceID(void) ; /* 0x1000 */
Rhyme 0:1db0d0071723 47
Rhyme 0:1db0d0071723 48 float getTDelay(void) ;
Rhyme 0:1db0d0071723 49 float getHDelay(void) ;
Rhyme 0:1db0d0071723 50 float getDelay(void) ;
Rhyme 0:1db0d0071723 51
Rhyme 0:1db0d0071723 52 private:
Rhyme 0:1db0d0071723 53 I2C m_i2c;
Rhyme 0:1db0d0071723 54 DigitalIn m_rdy ;
Rhyme 0:1db0d0071723 55 int m_addr;
Rhyme 0:1db0d0071723 56 void readRegs(int addr, uint8_t * data, int len);
Rhyme 0:1db0d0071723 57 void writeRegs(uint8_t * data, int len);
Rhyme 0:1db0d0071723 58 } ;
Rhyme 0:1db0d0071723 59
Rhyme 0:1db0d0071723 60 #endif /* _HDC1000_H_ */