still got crc errors but works with retries

Fork of DHT by Components

Revision:
3:fbe982025894
Parent:
2:df22ddf10d75
--- a/DHT.h	Fri Aug 15 20:55:43 2014 +0000
+++ b/DHT.h	Fri Mar 20 14:17:40 2015 +0000
@@ -1,10 +1,10 @@
-/*
- *  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
@@ -35,50 +35,46 @@
 
 #include "mbed.h"
 
-typedef enum eType eType;
-enum eType {
-    DHT11     = 11,
-    SEN11301P = 11,
-    RHT01     = 11,
-    DHT22     = 22,
-    AM2302    = 22,
-    SEN51035P = 22,
-    RHT02     = 22,
-    RHT03     = 22
-};
+enum eType{
+        DHT11     = 11,
+        SEN11301P = 11,
+        RHT01     = 11,
+        DHT22     = 22,
+        AM2302    = 22,
+        SEN51035P = 22,
+        RHT02     = 22,
+        RHT03     = 22
+    } ;
 
-typedef enum eError 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
-};
+    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 eScale;
-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;
@@ -86,14 +82,14 @@
     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);
 
 };
 
 #endif
+