| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- /*!
 
-  *  @file DHT.h
 
-  *
 
-  *  This is a library for DHT series of low cost temperature/humidity sensors.
 
-  *
 
-  *  You must have Adafruit Unified Sensor Library library installed to use this class.
 
-  *
 
-  *  Adafruit invests time and resources providing this open source code,
 
-  *  please support Adafruit andopen-source hardware by purchasing products
 
-  *  from Adafruit!
 
-  *
 
-  *  Written by Adafruit Industries.
 
-  *
 
-  *  MIT license, all text above must be included in any redistribution
 
-  */
 
- #ifndef DHT_H
 
- #define DHT_H
 
- #include "Arduino.h"
 
- /* Uncomment to enable printing out nice debug messages. */
 
- //#define DHT_DEBUG
 
- #define DEBUG_PRINTER Serial /**< Define where debug output will be printed. */
 
- /* Setup debug printing macros. */
 
- #ifdef DHT_DEBUG
 
-   #define DEBUG_PRINT(...) { DEBUG_PRINTER.print(__VA_ARGS__); }
 
-   #define DEBUG_PRINTLN(...) { DEBUG_PRINTER.println(__VA_ARGS__); }
 
- #else
 
-   #define DEBUG_PRINT(...) {} /**< Debug Print Placeholder if Debug is disabled */
 
-   #define DEBUG_PRINTLN(...) {} /**< Debug Print Line Placeholder if Debug is disabled */
 
- #endif
 
- /* Define types of sensors. */
 
- #define DHT11 11 /**< DHT TYPE 11 */
 
- #define DHT12 12 /**< DHY TYPE 12 */
 
- #define DHT22 22 /**< DHT TYPE 22 */
 
- #define DHT21 21 /**< DHT TYPE 21 */
 
- #define AM2301 21 /**< AM2301 */
 
- /*! 
 
-  *  @brief  Class that stores state and functions for DHT
 
-  */
 
- class DHT {
 
-   public:
 
-    DHT(uint8_t pin, uint8_t type, uint8_t count=6);
 
-    void begin(uint8_t usec=55);
 
-    float readTemperature(bool S=false, bool force=false);
 
-    float convertCtoF(float);
 
-    float convertFtoC(float);
 
-    float computeHeatIndex(bool isFahrenheit=true);
 
-    float computeHeatIndex(float temperature, float percentHumidity, bool isFahrenheit=true);
 
-    float readHumidity(bool force=false);
 
-    bool read(bool force=false);
 
-  private:
 
-   uint8_t data[5];
 
-   uint8_t _pin, _type;
 
-   #ifdef __AVR
 
-     // Use direct GPIO access on an 8-bit AVR so keep track of the port and bitmask
 
-     // for the digital pin connected to the DHT.  Other platforms will use digitalRead.
 
-     uint8_t _bit, _port;
 
-   #endif
 
-   uint32_t _lastreadtime, _maxcycles;
 
-   bool _lastresult;
 
-   uint8_t pullTime; // Time (in usec) to pull up data line before reading
 
-   uint32_t expectPulse(bool level);
 
- };
 
- /*! 
 
-  *  @brief  Class that defines Interrupt Lock Avaiability
 
-  */
 
- class InterruptLock {
 
-   public:
 
-    InterruptLock() {
 
- #if !defined(ARDUINO_ARCH_NRF52)  
 
-     noInterrupts();
 
- #endif
 
-    }
 
-    ~InterruptLock() {
 
- #if !defined(ARDUINO_ARCH_NRF52)  
 
-     interrupts();
 
- #endif
 
-    }
 
- };
 
- #endif
 
 
  |