TI HDC1000 Temperature and Humidity Sensor
HDC1000.h@2:f574cd898cba, 2017-04-18 (annotated)
- Committer:
- Rhyme
- Date:
- Tue Apr 18 02:44:57 2017 +0000
- Revision:
- 2:f574cd898cba
- Parent:
- 1:f2c04c5b28ab
Documentation writing started
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 | 2:f574cd898cba | 8 | |
Rhyme | 2:f574cd898cba | 9 | #define USE_READY_PIN 1 |
Rhyme | 0:1db0d0071723 | 10 | |
Rhyme | 0:1db0d0071723 | 11 | class HDC1000 { |
Rhyme | 0:1db0d0071723 | 12 | public: |
Rhyme | 0:1db0d0071723 | 13 | /** |
Rhyme | 0:1db0d0071723 | 14 | * constructor |
Rhyme | 0:1db0d0071723 | 15 | * |
Rhyme | 0:1db0d0071723 | 16 | * @param sda SDA pin |
Rhyme | 0:1db0d0071723 | 17 | * @param scl SCL pin |
Rhyme | 2:f574cd898cba | 18 | * @param rdy Ready pin |
Rhyme | 0:1db0d0071723 | 19 | * @param addr address of the I2C peripheral |
Rhyme | 0:1db0d0071723 | 20 | */ |
Rhyme | 2:f574cd898cba | 21 | #if USE_READY_PIN |
Rhyme | 0:1db0d0071723 | 22 | HDC1000(PinName sda, PinName scl, PinName rdy, int addr=0x40) ; |
Rhyme | 2:f574cd898cba | 23 | #else |
Rhyme | 2:f574cd898cba | 24 | HDC1000(PinName sda, PinName scl, int addr=0x40) ; |
Rhyme | 2:f574cd898cba | 25 | #endif |
Rhyme | 0:1db0d0071723 | 26 | |
Rhyme | 0:1db0d0071723 | 27 | ~HDC1000() ; |
Rhyme | 0:1db0d0071723 | 28 | |
Rhyme | 2:f574cd898cba | 29 | /** |
Rhyme | 2:f574cd898cba | 30 | * read Temperature |
Rhyme | 2:f574cd898cba | 31 | * @param NONE |
Rhyme | 2:f574cd898cba | 32 | * @returns float Temperature in Celsius degree |
Rhyme | 2:f574cd898cba | 33 | */ |
Rhyme | 0:1db0d0071723 | 34 | float readTemperature(void) ; |
Rhyme | 2:f574cd898cba | 35 | |
Rhyme | 2:f574cd898cba | 36 | /** |
Rhyme | 2:f574cd898cba | 37 | * read Humidity |
Rhyme | 2:f574cd898cba | 38 | * @param NONE |
Rhyme | 2:f574cd898cba | 39 | * @returns float Humidity in percentage |
Rhyme | 2:f574cd898cba | 40 | */ |
Rhyme | 0:1db0d0071723 | 41 | float readHumidity(void) ; |
Rhyme | 0:1db0d0071723 | 42 | |
Rhyme | 2:f574cd898cba | 43 | /** |
Rhyme | 2:f574cd898cba | 44 | * reset the module |
Rhyme | 2:f574cd898cba | 45 | */ |
Rhyme | 0:1db0d0071723 | 46 | void reset(void) ; |
Rhyme | 0:1db0d0071723 | 47 | |
Rhyme | 1:f2c04c5b28ab | 48 | float u2f_temp(uint16_t utemp) ; |
Rhyme | 1:f2c04c5b28ab | 49 | float u2f_hume(uint16_t uhume) ; |
Rhyme | 2:f574cd898cba | 50 | |
Rhyme | 0:1db0d0071723 | 51 | /* for mode 0 */ |
Rhyme | 2:f574cd898cba | 52 | /** |
Rhyme | 2:f574cd898cba | 53 | * get Raw Temperature value |
Rhyme | 2:f574cd898cba | 54 | * @param NONE |
Rhyme | 2:f574cd898cba | 55 | * @reurns Raw Temperature value |
Rhyme | 2:f574cd898cba | 56 | */ |
Rhyme | 0:1db0d0071723 | 57 | uint16_t getTemperature(void) ; |
Rhyme | 2:f574cd898cba | 58 | |
Rhyme | 2:f574cd898cba | 59 | /** |
Rhyme | 2:f574cd898cba | 60 | * get Raw Humidity value |
Rhyme | 2:f574cd898cba | 61 | * @param NONE |
Rhyme | 2:f574cd898cba | 62 | * @returns Raw Humidity value |
Rhyme | 2:f574cd898cba | 63 | */ |
Rhyme | 0:1db0d0071723 | 64 | uint16_t getHumidity(void) ; |
Rhyme | 2:f574cd898cba | 65 | |
Rhyme | 2:f574cd898cba | 66 | /** |
Rhyme | 2:f574cd898cba | 67 | * read Temperature and Humidity together (mode==0) |
Rhyme | 2:f574cd898cba | 68 | * @param float *temp returns temperature |
Rhyme | 2:f574cd898cba | 69 | * @param float *hume returns humidity |
Rhyme | 2:f574cd898cba | 70 | */ |
Rhyme | 0:1db0d0071723 | 71 | void readData(float *temp, float *hume) ; |
Rhyme | 0:1db0d0071723 | 72 | |
Rhyme | 0:1db0d0071723 | 73 | /* for mode 1 */ |
Rhyme | 0:1db0d0071723 | 74 | void getData(uint16_t *temp, uint16_t *hume) ; |
Rhyme | 0:1db0d0071723 | 75 | |
Rhyme | 0:1db0d0071723 | 76 | void setConfig(uint16_t conf) ; |
Rhyme | 0:1db0d0071723 | 77 | uint16_t getConfig(void) ; |
Rhyme | 0:1db0d0071723 | 78 | void setMode(int mode) ; |
Rhyme | 0:1db0d0071723 | 79 | int getMode(void) ; |
Rhyme | 0:1db0d0071723 | 80 | void setTres(int tres) ; |
Rhyme | 0:1db0d0071723 | 81 | int getTres(void) ; |
Rhyme | 0:1db0d0071723 | 82 | void setHres(int hres) ; |
Rhyme | 0:1db0d0071723 | 83 | int getHres(void) ; |
Rhyme | 0:1db0d0071723 | 84 | void getSerialID(uint8_t data[]) ; /* returns 5 bytes ID */ |
Rhyme | 0:1db0d0071723 | 85 | uint16_t getManufactureID(void) ; /* 0x5449 : Texas Instruments */ |
Rhyme | 0:1db0d0071723 | 86 | uint16_t getDeviceID(void) ; /* 0x1000 */ |
Rhyme | 0:1db0d0071723 | 87 | |
Rhyme | 0:1db0d0071723 | 88 | float getTDelay(void) ; |
Rhyme | 0:1db0d0071723 | 89 | float getHDelay(void) ; |
Rhyme | 0:1db0d0071723 | 90 | float getDelay(void) ; |
Rhyme | 0:1db0d0071723 | 91 | |
Rhyme | 0:1db0d0071723 | 92 | private: |
Rhyme | 0:1db0d0071723 | 93 | I2C m_i2c; |
Rhyme | 2:f574cd898cba | 94 | #if USE_READY_PIN |
Rhyme | 0:1db0d0071723 | 95 | DigitalIn m_rdy ; |
Rhyme | 2:f574cd898cba | 96 | #endif |
Rhyme | 0:1db0d0071723 | 97 | int m_addr; |
Rhyme | 0:1db0d0071723 | 98 | void readRegs(int addr, uint8_t * data, int len); |
Rhyme | 0:1db0d0071723 | 99 | void writeRegs(uint8_t * data, int len); |
Rhyme | 0:1db0d0071723 | 100 | } ; |
Rhyme | 0:1db0d0071723 | 101 | |
Rhyme | 0:1db0d0071723 | 102 | #endif /* _HDC1000_H_ */ |