Temp and Humidity sensor device driver. had to fork under a new name, don't know why yet.
Dependents: Wio-example-SORACOM-Harvest
Diff: DHT.cpp
- Revision:
- 7:a43e070f753f
- Parent:
- 6:49350e4b126d
- Child:
- 8:4a66ebac2a2c
diff -r 49350e4b126d -r a43e070f753f DHT.cpp --- a/DHT.cpp Wed May 08 13:47:41 2019 -0400 +++ b/DHT.cpp Sat Jan 04 20:23:27 2020 -0400 @@ -33,6 +33,8 @@ #include "DHT.h" +extern RawSerial pc; + #define DHT_DATA_BIT_COUNT 41 DHT::DHT(PinName pin,int DHTtype) { @@ -159,17 +161,22 @@ } } + // pc.printf("DHT[4]: %d [3]: %d [2]: %d [1]: %d [0]: %d\r\n", + // DHT_data[4],DHT_data[3],DHT_data[2],DHT_data[1],DHT_data[0]); return err; } float DHT::CalcTemperature() { int v; + float tt; switch (_DHTtype) { case DHT11: - v = DHT_data[2]; - return float(v); + tt=((float)DHT_data[2]) + ((float) DHT_data[3]/10.0f); + //v = (DHT_data[2]) +( DHT_data[3]/10); + //return float(v); + return tt; case DHT22: v = DHT_data[2] & 0x7F; v *= 256; @@ -231,11 +238,14 @@ float DHT::CalcHumidity() { int v; + float tt; switch (_DHTtype) { case DHT11: - v = DHT_data[0]; - return float(v); + tt=(DHT_data[0]) + (DHT_data[1]/10); + //v = (DHT_data[0]) + (DHT_data[1]/10); + //return float(v); + return tt; case DHT22: v = DHT_data[0]; v *= 256;