TI HDC1000 Temperature and Humidity Sensor
HDC1000.h
- Committer:
- Rhyme
- Date:
- 2017-04-17
- Revision:
- 1:f2c04c5b28ab
- Parent:
- 0:1db0d0071723
- Child:
- 2:f574cd898cba
File content as of revision 1:f2c04c5b28ab:
#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) ;
float u2f_temp(uint16_t utemp) ;
float u2f_hume(uint16_t uhume) ;
/* 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_ */