The code from https://github.com/vpcola/Nucleo

Committer:
sinrab
Date:
Wed Oct 08 11:00:24 2014 +0000
Revision:
0:5464d5e415e5
The code from https://github.com/vpcola/Nucleo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sinrab 0:5464d5e415e5 1 #ifndef MBED_DHT_H
sinrab 0:5464d5e415e5 2 #define MBED_DHT_H
sinrab 0:5464d5e415e5 3
sinrab 0:5464d5e415e5 4 #include "mbed.h"
sinrab 0:5464d5e415e5 5 #include "cmsis_os.h"
sinrab 0:5464d5e415e5 6 #include "Mutex.h"
sinrab 0:5464d5e415e5 7
sinrab 0:5464d5e415e5 8 using namespace rtos;
sinrab 0:5464d5e415e5 9
sinrab 0:5464d5e415e5 10 enum eType{
sinrab 0:5464d5e415e5 11 DHT11 = 11,
sinrab 0:5464d5e415e5 12 SEN11301P = 11,
sinrab 0:5464d5e415e5 13 RHT01 = 11,
sinrab 0:5464d5e415e5 14 DHT22 = 22,
sinrab 0:5464d5e415e5 15 AM2302 = 22,
sinrab 0:5464d5e415e5 16 SEN51035P = 22,
sinrab 0:5464d5e415e5 17 RHT02 = 22,
sinrab 0:5464d5e415e5 18 RHT03 = 22
sinrab 0:5464d5e415e5 19 } ;
sinrab 0:5464d5e415e5 20
sinrab 0:5464d5e415e5 21 enum eError {
sinrab 0:5464d5e415e5 22 ERROR_NONE = 0,
sinrab 0:5464d5e415e5 23 BUS_BUSY =1,
sinrab 0:5464d5e415e5 24 ERROR_NOT_PRESENT =2 ,
sinrab 0:5464d5e415e5 25 ERROR_ACK_TOO_LONG =3 ,
sinrab 0:5464d5e415e5 26 ERROR_SYNC_TIMEOUT = 4,
sinrab 0:5464d5e415e5 27 ERROR_DATA_TIMEOUT =5 ,
sinrab 0:5464d5e415e5 28 ERROR_CHECKSUM = 6,
sinrab 0:5464d5e415e5 29 ERROR_NO_PATIENCE =7
sinrab 0:5464d5e415e5 30 } ;
sinrab 0:5464d5e415e5 31
sinrab 0:5464d5e415e5 32 typedef enum {
sinrab 0:5464d5e415e5 33 CELCIUS =0 ,
sinrab 0:5464d5e415e5 34 FARENHEIT =1,
sinrab 0:5464d5e415e5 35 KELVIN=2
sinrab 0:5464d5e415e5 36 } eScale;
sinrab 0:5464d5e415e5 37
sinrab 0:5464d5e415e5 38
sinrab 0:5464d5e415e5 39 class DHT {
sinrab 0:5464d5e415e5 40
sinrab 0:5464d5e415e5 41 public:
sinrab 0:5464d5e415e5 42
sinrab 0:5464d5e415e5 43 DHT(PinName pin,int DHTtype);
sinrab 0:5464d5e415e5 44 ~DHT();
sinrab 0:5464d5e415e5 45
sinrab 0:5464d5e415e5 46 int readData(void);
sinrab 0:5464d5e415e5 47 float ReadHumidity(void);
sinrab 0:5464d5e415e5 48 float ReadTemperature(eScale Scale);
sinrab 0:5464d5e415e5 49
sinrab 0:5464d5e415e5 50 float CalcdewPoint(float celsius, float humidity);
sinrab 0:5464d5e415e5 51 float CalcdewPointFast(float celsius, float humidity);
sinrab 0:5464d5e415e5 52
sinrab 0:5464d5e415e5 53 private:
sinrab 0:5464d5e415e5 54 time_t _lastReadTime;
sinrab 0:5464d5e415e5 55 float _lastTemperature;
sinrab 0:5464d5e415e5 56 float _lastHumidity;
sinrab 0:5464d5e415e5 57
sinrab 0:5464d5e415e5 58 PinName _pin;
sinrab 0:5464d5e415e5 59 bool _firsttime;
sinrab 0:5464d5e415e5 60 int _DHTtype;
sinrab 0:5464d5e415e5 61 int DHT_data[6];
sinrab 0:5464d5e415e5 62
sinrab 0:5464d5e415e5 63 float ConvertCelciustoFarenheit(float celsius);
sinrab 0:5464d5e415e5 64 float ConvertCelciustoKelvin(float celsius);
sinrab 0:5464d5e415e5 65 float CalcTemperature();
sinrab 0:5464d5e415e5 66 float CalcHumidity();
sinrab 0:5464d5e415e5 67
sinrab 0:5464d5e415e5 68 Mutex _mutex;
sinrab 0:5464d5e415e5 69
sinrab 0:5464d5e415e5 70 };
sinrab 0:5464d5e415e5 71
sinrab 0:5464d5e415e5 72 #endif
sinrab 0:5464d5e415e5 73