TI HDC1000 Temperature and Humidity Sensor
HDC1000.h@1:f2c04c5b28ab, 2017-04-17 (annotated)
- 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?
User | Revision | Line number | New 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_ */ |