Sensirion SHT11 library
sht11.h
- Committer:
- timm
- Date:
- 2015-04-19
- Revision:
- 0:56bbfad2d592
File content as of revision 0:56bbfad2d592:
/** @file sht11.h @brief Header file containing member functions and variables */ #ifndef __SHT11_H__ #define __SHT11_H__ #include "mbed.h" /** @brief Simple library for interfacing with Sensirion SHT11 @brief Revision 1.0 @author Tim Meese @date January 201 * * Example: * @code #include "mbed.h" #include "sht11.h" // clk, dat SHT11 sht(p7, p8); int main() { // initialise display lcd.init(); // print a string in top-left corner lcd.printString("Hello, World!",0,0); // move cursor to 4th row lcd.setXYAddress(0,3); // print character lcd.printChar('X'); while(1); } * @endcode */ class SHT11 { private: DigitalOut* clk; DigitalInOut* data; float lastTemperature; float lastHumidity; void sendTransmissionStart(); void connectionReset(); void softReset(); int writeByte(unsigned char writeData); int readByte(unsigned char *pReadData, bool doAck); int readStatus(unsigned char *pRetStatus); int writeStatus(unsigned char writeValue); int measureTemp(unsigned short *pRetTempRaw); int measureHumid(unsigned short *pRetHumidRaw); float convertTempCelsius(unsigned short rawTempIn); float convertTempFahrenheit(unsigned short rawTempIn); float convertHumid(unsigned short rawHumidIn, unsigned short rawTempIn); public: /** Create a SHT11 object connected to the specified pins * * @param clkPin Pin connected to clk * @param dataPin Pin connected to data * */ SHT11(PinName clkPin, PinName dataPin); /** Initialise SHT11 * */ void init(); int getTemperature(float * pRetTemperature); int getTempHumid(float * pRetTemperature, float * pRetHumidity); }; #endif /* __SHT11_H__ */