TI HDC1000 Temperature and Humidity Sensor

Dependents:   test_HDC1000

Revision:
0:1db0d0071723
Child:
1:f2c04c5b28ab
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HDC1000.h	Mon Apr 17 02:49:07 2017 +0000
@@ -0,0 +1,60 @@
+#ifndef _HDC1000_H_
+#define _HDC1000_H_
+#include "mbed.h"
+/**
+ * HDC1000 Integrated Low Power Humidity and Temperature Digital Sensor 
+ * I2C address: 0x40 
+ */
+
+class HDC1000 {
+public:
+ /**
+ *  constructor
+ *
+ * @param sda SDA pin
+ * @param scl SCL pin
+ * @param addr address of the I2C peripheral
+ */
+// HDC1000(PinName sda, PinName scl, int addr=0x40) ;
+HDC1000(PinName sda, PinName scl, PinName rdy, int addr=0x40) ;
+ 
+~HDC1000() ;
+
+float    readTemperature(void) ;
+float    readHumidity(void) ;
+
+void     reset(void) ;
+
+/* for mode 0 */
+uint16_t getTemperature(void) ;
+uint16_t getHumidity(void) ;
+void     readData(float *temp, float *hume) ;
+
+/* for mode 1 */
+void     getData(uint16_t *temp, uint16_t *hume) ;
+
+void     setConfig(uint16_t conf) ;
+uint16_t getConfig(void) ;
+void     setMode(int mode) ;
+int      getMode(void) ;
+void     setTres(int tres) ;
+int      getTres(void) ;
+void     setHres(int hres) ;
+int      getHres(void) ;
+void     getSerialID(uint8_t data[]) ; /* returns 5 bytes ID */
+uint16_t getManufactureID(void) ; /* 0x5449 : Texas Instruments */
+uint16_t getDeviceID(void) ;      /* 0x1000 */
+
+float    getTDelay(void) ;
+float    getHDelay(void) ;
+float    getDelay(void) ;
+
+private:
+  I2C m_i2c;
+  DigitalIn m_rdy ;
+  int m_addr;
+  void readRegs(int addr, uint8_t * data, int len);
+  void writeRegs(uint8_t * data, int len);
+} ;
+
+#endif /* _HDC1000_H_ */
\ No newline at end of file