123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- DHT library for the ESP8266, a port from the Adafruit library for the Arduino
- MIT license
- written by IoT Pipe
- */
- #ifndef DHT22_H
- #define DHT22_H
- #include "ets_sys.h"
- #include "osapi.h"
- #include "os_type.h"
- #include "user_config.h"
- #include "mem.h"
- #include "user_interface.h"
- #include "gpio.h"
- // Uncomment to enable printing out nice debug messages.
- //#define DHT_DEBUG
- // Setup debug printing macros.
- #ifdef DHT_DEBUG
- #define LOG_DEBUG(message) do {os_printf("[DHT-DEBUG] %s", message); os_printf("\r\n");} while (0)
- #define LOG_DEBUG_ARGS(message, args...) do {os_printf("[DHT-DEBUG] "); os_printf(message, args); os_printf("\r\n");} while (0)
- #else
- #define LOG_DEBUG(message) do {} while(0)
- #define LOG_DEBUG_ARGS(message, args...) do {} while(0)
- #endif
- // Define types of sensors.
- #define DHT11 11
- #define DHT22 22
- #define DHT21 21
- #define AM2301 21
- static uint8_t data[5];
- static uint8_t _pin, _type, _bit, _type;
- static uint32_t _lastreadtime, _maxcycles;
- static bool _lastresult;
- static uint32_t expectPulse(bool level);
- static int ICACHE_FLASH_ATTR get_index(int pin);
- static bool read();
- void DHT_init(uint8_t pin, uint8_t type, uint8_t count);
- void DHT_begin(void);
- float readTemperature(bool S);
- float readHumidity();
- float ICACHE_FLASH_ATTR convertCtoF(float);
- float ICACHE_FLASH_ATTR convertFtoC(float);
- #endif
|