SHT30-DIS-B Library
Dependents: M1DK_Skywire_Demo M1DK_Skywire_Demo1
Fork of LPS331 by
SHT30DISB.cpp
- Committer:
- GregNash
- Date:
- 2017-02-01
- Revision:
- 3:7e631c5756e2
- Parent:
- LPS331.cpp@ 1:f70e671b008f
File content as of revision 3:7e631c5756e2:
#include "mbed.h" #include "SHT30DISB.h" SHT30DISB::SHT30DISB (PinName sda, PinName scl) : _i2c(sda, scl) { init(); } SHT30DISB::SHT30DISB (I2C& p_i2c) : _i2c(p_i2c) { init(); } void SHT30DISB::init(void) { _i2c.frequency(400000); buf[0]=0x2c; buf[1]=0x06; data_buf[6]= _i2c.write(SHT30DISB_ADDR,buf,2); buf[0]=0x30; buf[1]=0x66; data_buf[7]= _i2c.write(SHT30DISB_ADDR,buf,2); // put(0x2C,0x06); //Config measurement // put(0x30, 0x66); //Heat off } void SHT30DISB::put(unsigned char a, unsigned char b) { buf[0]=a; buf[1]=b; _i2c.write(SHT30DISB_ADDR, buf, 2); } void SHT30DISB::get(unsigned char a) { buf[0] = a; _i2c.write(SHT30DISB_ADDR, buf, 1, true); // no stop, repeated _i2c.read(SHT30DISB_ADDR, buf, 1); } void SHT30DISB::readSensor() { // data_buf[0]=_i2c.read(SHT30DISB_ADDR, SHT30DISB_DATA, 6, true); // no stop, repeated buf[0]=0x2c; buf[1]=0x06; data_buf[0]=_i2c.write(0x8A, buf,2); wait(.1); data_buf[1]=_i2c.read(0x8A, SHT30DISB_DATA, 6, false); } float SHT30DISB::cTemp(){ readSensor(); c_Temp = -45 + 175 * ((((SHT30DISB_DATA[0] * 256.0) + SHT30DISB_DATA[1])) / 65535.0); return c_Temp; } float SHT30DISB::fTemp(){ f_Temp = 32 + 1.8 * cTemp(); return f_Temp; } float SHT30DISB::humidity(){ humi = 100 * ((((SHT30DISB_DATA[3] * 256.0) + SHT30DISB_DATA[4])) / 65535.0); return humi; }