TI HDC1000 Temperature and Humidity Sensor

Dependents:   test_HDC1000

Committer:
Rhyme
Date:
Mon Apr 17 07:37:19 2017 +0000
Revision:
1:f2c04c5b28ab
Parent:
0:1db0d0071723
Child:
2:f574cd898cba
u2f functions added

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 1:f2c04c5b28ab 28 float u2f_temp(uint16_t utemp) ;
Rhyme 1:f2c04c5b28ab 29 float u2f_hume(uint16_t uhume) ;
Rhyme 0:1db0d0071723 30 /* for mode 0 */
Rhyme 0:1db0d0071723 31 uint16_t getTemperature(void) ;
Rhyme 0:1db0d0071723 32 uint16_t getHumidity(void) ;
Rhyme 0:1db0d0071723 33 void readData(float *temp, float *hume) ;
Rhyme 0:1db0d0071723 34
Rhyme 0:1db0d0071723 35 /* for mode 1 */
Rhyme 0:1db0d0071723 36 void getData(uint16_t *temp, uint16_t *hume) ;
Rhyme 0:1db0d0071723 37
Rhyme 0:1db0d0071723 38 void setConfig(uint16_t conf) ;
Rhyme 0:1db0d0071723 39 uint16_t getConfig(void) ;
Rhyme 0:1db0d0071723 40 void setMode(int mode) ;
Rhyme 0:1db0d0071723 41 int getMode(void) ;
Rhyme 0:1db0d0071723 42 void setTres(int tres) ;
Rhyme 0:1db0d0071723 43 int getTres(void) ;
Rhyme 0:1db0d0071723 44 void setHres(int hres) ;
Rhyme 0:1db0d0071723 45 int getHres(void) ;
Rhyme 0:1db0d0071723 46 void getSerialID(uint8_t data[]) ; /* returns 5 bytes ID */
Rhyme 0:1db0d0071723 47 uint16_t getManufactureID(void) ; /* 0x5449 : Texas Instruments */
Rhyme 0:1db0d0071723 48 uint16_t getDeviceID(void) ; /* 0x1000 */
Rhyme 0:1db0d0071723 49
Rhyme 0:1db0d0071723 50 float getTDelay(void) ;
Rhyme 0:1db0d0071723 51 float getHDelay(void) ;
Rhyme 0:1db0d0071723 52 float getDelay(void) ;
Rhyme 0:1db0d0071723 53
Rhyme 0:1db0d0071723 54 private:
Rhyme 0:1db0d0071723 55 I2C m_i2c;
Rhyme 0:1db0d0071723 56 DigitalIn m_rdy ;
Rhyme 0:1db0d0071723 57 int m_addr;
Rhyme 0:1db0d0071723 58 void readRegs(int addr, uint8_t * data, int len);
Rhyme 0:1db0d0071723 59 void writeRegs(uint8_t * data, int len);
Rhyme 0:1db0d0071723 60 } ;
Rhyme 0:1db0d0071723 61
Rhyme 0:1db0d0071723 62 #endif /* _HDC1000_H_ */