Sensirion SHT11 library

Committer:
timm
Date:
Sun Apr 19 01:09:46 2015 +0000
Revision:
0:56bbfad2d592
initial version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
timm 0:56bbfad2d592 1 /**
timm 0:56bbfad2d592 2 @file sht11.h
timm 0:56bbfad2d592 3
timm 0:56bbfad2d592 4 @brief Header file containing member functions and variables
timm 0:56bbfad2d592 5
timm 0:56bbfad2d592 6 */
timm 0:56bbfad2d592 7
timm 0:56bbfad2d592 8 #ifndef __SHT11_H__
timm 0:56bbfad2d592 9 #define __SHT11_H__
timm 0:56bbfad2d592 10
timm 0:56bbfad2d592 11 #include "mbed.h"
timm 0:56bbfad2d592 12
timm 0:56bbfad2d592 13 /**
timm 0:56bbfad2d592 14 @brief Simple library for interfacing with Sensirion SHT11
timm 0:56bbfad2d592 15
timm 0:56bbfad2d592 16 @brief Revision 1.0
timm 0:56bbfad2d592 17
timm 0:56bbfad2d592 18 @author Tim Meese
timm 0:56bbfad2d592 19 @date January 201
timm 0:56bbfad2d592 20 *
timm 0:56bbfad2d592 21 * Example:
timm 0:56bbfad2d592 22 * @code
timm 0:56bbfad2d592 23
timm 0:56bbfad2d592 24 #include "mbed.h"
timm 0:56bbfad2d592 25 #include "sht11.h"
timm 0:56bbfad2d592 26
timm 0:56bbfad2d592 27 // clk, dat
timm 0:56bbfad2d592 28 SHT11 sht(p7, p8);
timm 0:56bbfad2d592 29
timm 0:56bbfad2d592 30 int main() {
timm 0:56bbfad2d592 31
timm 0:56bbfad2d592 32 // initialise display
timm 0:56bbfad2d592 33 lcd.init();
timm 0:56bbfad2d592 34 // print a string in top-left corner
timm 0:56bbfad2d592 35 lcd.printString("Hello, World!",0,0);
timm 0:56bbfad2d592 36 // move cursor to 4th row
timm 0:56bbfad2d592 37 lcd.setXYAddress(0,3);
timm 0:56bbfad2d592 38 // print character
timm 0:56bbfad2d592 39 lcd.printChar('X');
timm 0:56bbfad2d592 40
timm 0:56bbfad2d592 41 while(1);
timm 0:56bbfad2d592 42 }
timm 0:56bbfad2d592 43
timm 0:56bbfad2d592 44 * @endcode
timm 0:56bbfad2d592 45 */
timm 0:56bbfad2d592 46
timm 0:56bbfad2d592 47 class SHT11
timm 0:56bbfad2d592 48 {
timm 0:56bbfad2d592 49
timm 0:56bbfad2d592 50 private:
timm 0:56bbfad2d592 51 DigitalOut* clk;
timm 0:56bbfad2d592 52 DigitalInOut* data;
timm 0:56bbfad2d592 53 float lastTemperature;
timm 0:56bbfad2d592 54 float lastHumidity;
timm 0:56bbfad2d592 55
timm 0:56bbfad2d592 56 void sendTransmissionStart();
timm 0:56bbfad2d592 57 void connectionReset();
timm 0:56bbfad2d592 58 void softReset();
timm 0:56bbfad2d592 59 int writeByte(unsigned char writeData);
timm 0:56bbfad2d592 60 int readByte(unsigned char *pReadData, bool doAck);
timm 0:56bbfad2d592 61 int readStatus(unsigned char *pRetStatus);
timm 0:56bbfad2d592 62 int writeStatus(unsigned char writeValue);
timm 0:56bbfad2d592 63 int measureTemp(unsigned short *pRetTempRaw);
timm 0:56bbfad2d592 64 int measureHumid(unsigned short *pRetHumidRaw);
timm 0:56bbfad2d592 65 float convertTempCelsius(unsigned short rawTempIn);
timm 0:56bbfad2d592 66 float convertTempFahrenheit(unsigned short rawTempIn);
timm 0:56bbfad2d592 67 float convertHumid(unsigned short rawHumidIn, unsigned short rawTempIn);
timm 0:56bbfad2d592 68
timm 0:56bbfad2d592 69 public:
timm 0:56bbfad2d592 70 /** Create a SHT11 object connected to the specified pins
timm 0:56bbfad2d592 71 *
timm 0:56bbfad2d592 72 * @param clkPin Pin connected to clk
timm 0:56bbfad2d592 73 * @param dataPin Pin connected to data
timm 0:56bbfad2d592 74 *
timm 0:56bbfad2d592 75 */
timm 0:56bbfad2d592 76 SHT11(PinName clkPin, PinName dataPin);
timm 0:56bbfad2d592 77
timm 0:56bbfad2d592 78 /** Initialise SHT11
timm 0:56bbfad2d592 79 *
timm 0:56bbfad2d592 80 */
timm 0:56bbfad2d592 81 void init();
timm 0:56bbfad2d592 82 int getTemperature(float * pRetTemperature);
timm 0:56bbfad2d592 83 int getTempHumid(float * pRetTemperature, float * pRetHumidity);
timm 0:56bbfad2d592 84 };
timm 0:56bbfad2d592 85
timm 0:56bbfad2d592 86 #endif /* __SHT11_H__ */