TI HDC1000 Temperature and Humidity Sensor
Diff: HDC1000.h
- 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