TI HDC1000 Temperature and Humidity Sensor
Diff: HDC1000.h
- Revision:
- 2:f574cd898cba
- Parent:
- 1:f2c04c5b28ab
--- a/HDC1000.h Mon Apr 17 07:37:19 2017 +0000 +++ b/HDC1000.h Tue Apr 18 02:44:57 2017 +0000 @@ -5,6 +5,8 @@ * HDC1000 Integrated Low Power Humidity and Temperature Digital Sensor * I2C address: 0x40 */ + +#define USE_READY_PIN 1 class HDC1000 { public: @@ -13,23 +15,59 @@ * * @param sda SDA pin * @param scl SCL pin + * @param rdy Ready pin * @param addr address of the I2C peripheral */ -// HDC1000(PinName sda, PinName scl, int addr=0x40) ; +#if USE_READY_PIN HDC1000(PinName sda, PinName scl, PinName rdy, int addr=0x40) ; +#else +HDC1000(PinName sda, PinName scl, int addr=0x40) ; +#endif ~HDC1000() ; +/** + * read Temperature + * @param NONE + * @returns float Temperature in Celsius degree + */ float readTemperature(void) ; + +/** + * read Humidity + * @param NONE + * @returns float Humidity in percentage + */ float readHumidity(void) ; +/** + * reset the module + */ void reset(void) ; float u2f_temp(uint16_t utemp) ; float u2f_hume(uint16_t uhume) ; + /* for mode 0 */ +/** + * get Raw Temperature value + * @param NONE + * @reurns Raw Temperature value + */ uint16_t getTemperature(void) ; + +/** + * get Raw Humidity value + * @param NONE + * @returns Raw Humidity value + */ uint16_t getHumidity(void) ; + +/** + * read Temperature and Humidity together (mode==0) + * @param float *temp returns temperature + * @param float *hume returns humidity + */ void readData(float *temp, float *hume) ; /* for mode 1 */ @@ -53,7 +91,9 @@ private: I2C m_i2c; +#if USE_READY_PIN DigitalIn m_rdy ; +#endif int m_addr; void readRegs(int addr, uint8_t * data, int len); void writeRegs(uint8_t * data, int len);