little modification for best utilization
Fork of Sht31 by
Sht31.h
- Committer:
- osilvam
- Date:
- 2018-10-03
- Revision:
- 3:c4bd8cd5d566
- Parent:
- 0:c90aa4f69539
File content as of revision 3:c4bd8cd5d566:
/***************************************************
This is a library for the SHT31 Digital Humidity & Temp Sht31
Designed specifically to work with the SHT31 Digital Sht31 from Adafruit
----> https://www.adafruit.com/products/2857
These displays use I2C to communicate, 2 pins are required to
interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, all text above must be included in any redistribution
****************************************************/
#ifndef Sht31_H
#define Sht31_H
#include "mbed.h"
#define SHT31_DEFAULT_ADDR 0x44
#define SHT31_MEAS_HIGHREP_STRETCH 0x2C06
#define SHT31_MEAS_MEDREP_STRETCH 0x2C0D
#define SHT31_MEAS_LOWREP_STRETCH 0x2C10
#define SHT31_MEAS_HIGHREP 0x2400
#define SHT31_MEAS_MEDREP 0x240B
#define SHT31_MEAS_LOWREP 0x2416
#define SHT31_READSTATUS 0xF32D
#define SHT31_CLEARSTATUS 0x3041
#define SHT31_SOFTRESET 0x30A2
#define SHT31_HEATEREN 0x306D
#define SHT31_HEATERDIS 0x3066
class Sht31 {
public:
Sht31(PinName sda, PinName scl, bool i2caddr);
float readTemperature(void);
float readHumidity(void);
bool readTempHum(float &_temp, float &_humidity);
private:
void reset(void);
uint16_t readStatus(void);
void writeCommand(uint16_t cmd);
bool readTempHum(void);
uint8_t crc8(const uint8_t *data, int len);
I2C _i2c;
int _i2caddr;
float humidity, temp;
};
#endif
