Temp and Humidity sensor device driver. had to fork under a new name, don't know why yet.

Dependents:   Wio-example-SORACOM-Harvest

Revision:
6:49350e4b126d
Parent:
5:28eb2ec7c6d6
Child:
8:4a66ebac2a2c
--- a/DHT.h	Thu Feb 21 13:03:47 2019 -0400
+++ b/DHT.h	Wed May 08 13:47:41 2019 -0400
@@ -1,14 +1,15 @@
-/*
- *  DHT Library for  Digital-output Humidity and Temperature sensors
- *
+/* 
+ *  DHT Library for  Digital-output Humidity and Temperature sensors 
+ *  
  *  Works with DHT11, DHT21, DHT22
  *             SEN11301P,  Grove - Temperature&Humidity Sensor     (Seeed Studio)
  *             SEN51035P,  Grove - Temperature&Humidity Sensor Pro (Seeed Studio)
- *             AM2302   ,  temperature-humidity sensor
+ *             AM2302   ,  temperature-humidity sensor    
  *             RHT01,RHT02, RHT03    ,  Humidity and Temperature Sensor         (Sparkfun)
  *
- *  Copyright (C) Wim De Roeve
- *                based on DHT22 sensor library by HO WING KIT
+ *  Copyright (C) Luis Amell
+ *								Based on AM2302/DHT22 sensor library by Wim De Roeve
+ *                Based on DHT22 sensor library by HO WING KIT
  *                Arduino DHT11 library
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -35,47 +36,46 @@
 
 #include "mbed.h"
 
-typedef enum eType {
-    DHT11     = 11,
-    SEN11301P = 11,
-    RHT01     = 11,
-    DHT22     = 22,
-    AM2302    = 22,
-    SEN51035P = 22,
-    RHT02     = 22,
-    RHT03     = 22
-} eType;
+enum eType{
+        DHT11     = 11,
+        SEN11301P = 11,
+        RHT01     = 11,
+        DHT22     = 22,
+        AM2302    = 22,
+        SEN51035P = 22,
+        RHT02     = 22,
+        RHT03     = 22
+    } ;
 
-typedef enum eError  {
+enum eError {
     ERROR_NONE = 0,
-    BUS_BUSY,
-    ERROR_NOT_PRESENT,
-    ERROR_ACK_TOO_LONG,
-    ERROR_SYNC_TIMEOUT,
-    ERROR_DATA_TIMEOUT,
-    ERROR_CHECKSUM,
-    ERROR_NO_PATIENCE
-} eError;
+    BUS_BUSY =1,
+    ERROR_NOT_PRESENT =2 ,
+    ERROR_ACK_TOO_LONG =3 ,
+    ERROR_SYNC_TIMEOUT = 4,
+    ERROR_DATA_TIMEOUT =5 ,
+    ERROR_CHECKSUM = 6,
+    ERROR_NO_PATIENCE =7
+} ;
 
-typedef enum eScale {
-    CELCIUS = 0,
-    FARENHEIT,
-    KELVIN
+typedef enum {
+    CELCIUS =0 ,
+    FARENHEIT =1,
+    KELVIN=2
 } eScale;
 
 
-class DHT
-{
+class DHT {
 
 public:
 
-    DHT(PinName pin, eType DHTtype);
+    DHT(PinName pin,int DHTtype);
     ~DHT();
-    eError readData(void);
+    int readData(void);
     float ReadHumidity(void);
-    float ReadTemperature(eScale const Scale);
-    float CalcdewPoint(float const celsius, float const humidity);
-    float CalcdewPointFast(float const celsius, float const humidity);
+    float ReadTemperature(eScale Scale);
+    float CalcdewPoint(float celsius, float humidity);
+    float CalcdewPointFast(float celsius, float humidity);
 
 private:
     time_t  _lastReadTime;
@@ -83,13 +83,12 @@
     float _lastHumidity;
     PinName _pin;
     bool _firsttime;
-    eType _DHTtype;
-    uint8_t DHT_data[5];
+    int _DHTtype;
+    int DHT_data[6];
     float CalcTemperature();
     float CalcHumidity();
-    float ConvertCelciustoFarenheit(float const);
-    float ConvertCelciustoKelvin(float const);
-    eError stall(DigitalInOut &io, int const level, int const max_time);
+    float ConvertCelciustoFarenheit(float);
+    float ConvertCelciustoKelvin(float);
 
 };