Thundersoft
/
HTU21D_for_TT_Mxx
Creating a project for TT_Mxx
HTU21D/HTU21D.h
- Committer:
- ThunderSoft
- Date:
- 2019-04-26
- Revision:
- 2:2186c624272f
- Parent:
- 0:1159c687a20f
File content as of revision 2:2186c624272f:
#ifndef HTU21D_H #define HTU21D_H /** * Includes */ #include "mbed.h" /** * Defines */ // Acquired from Datasheet. #define HTU21D_I2C_ADDRESS 0x40 #define TRIGGER_TEMP_MEASURE 0xE3 #define TRIGGER_HUMD_MEASURE 0xE5 //Commands. #define HTU21D_EEPROM_WRITE 0x80 #define HTU21D_EEPROM_READ 0x81 /** * Honeywell HTU21D digital humidity and temperature sensor. */ class HTU21D { public: HTU21D(); /** * Constructor. * * @param sda mbed pin to use for SDA line of I2C interface. * @param scl mbed pin to use for SCL line of I2C interface. */ HTU21D(PinName sda, PinName scl); /** * @brief Samples the temperature, input void, outputs an int in celcius. * @return [description] */ int sample_ctemp(void); /** * @brief Samples the temperature, input void, outputs an int in fahrenheit. * @return [description] */ int sample_ftemp(void); /** * @brief Samples the temperature, input void, outputs an int in kelvin. * @return [description] */ int sample_ktemp(void); /** * @brief Samples the humidity, input void, outputs and int. * @return [description] */ int sample_humid(void); private: I2C* i2c_; /** * Write to EEPROM or RAM on the device. * * @param EepromOrRam 0x80 -> Writing to EEPROM * @param address Address to write to. * @param data Data to write. */ void write(int EepromOrRam, int address, int data); /** * Read EEPROM or RAM on the device. * * @param EepromOrRam 0x81 -> Reading from EEPROM * @param address Address to read from. * @return The contents of the memory address. */ int read(int EepromOrRam, int address); }; #endif