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__ */