Fix #44 by conditionally excluding unused port and bitmask state on non-AVR platforms.

This commit is contained in:
Tony DiCola 2015-10-12 21:30:01 -07:00
parent 56058fecc5
commit 15020aa891
3 changed files with 12 additions and 5 deletions

View File

@ -11,8 +11,10 @@ written by Adafruit Industries
DHT::DHT(uint8_t pin, uint8_t type, uint8_t count) { DHT::DHT(uint8_t pin, uint8_t type, uint8_t count) {
_pin = pin; _pin = pin;
_type = type; _type = type;
_bit = digitalPinToBitMask(pin); #ifdef __AVR
_port = digitalPinToPort(pin); _bit = digitalPinToBitMask(pin);
_port = digitalPinToPort(pin);
#endif
_maxcycles = microsecondsToClockCycles(1000); // 1 millisecond timeout for _maxcycles = microsecondsToClockCycles(1000); // 1 millisecond timeout for
// reading pulses from DHT sensor. // reading pulses from DHT sensor.
// Note that count is now ignored as the DHT reading algorithm adjusts itself // Note that count is now ignored as the DHT reading algorithm adjusts itself
@ -95,7 +97,7 @@ float DHT::computeHeatIndex(float temperature, float percentHumidity, bool isFah
if (!isFahrenheit) if (!isFahrenheit)
temperature = convertCtoF(temperature); temperature = convertCtoF(temperature);
hi = 0.5 * (temperature + 61.0 + ((temperature - 68.0) * 1.2) + (percentHumidity * 0.094)); hi = 0.5 * (temperature + 61.0 + ((temperature - 68.0) * 1.2) + (percentHumidity * 0.094));
if (hi > 79) { if (hi > 79) {
hi = -42.379 + hi = -42.379 +

7
DHT.h
View File

@ -48,7 +48,12 @@ class DHT {
private: private:
uint8_t data[5]; uint8_t data[5];
uint8_t _pin, _type, _bit, _port; 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; uint32_t _lastreadtime, _maxcycles;
bool _lastresult; bool _lastresult;

View File

@ -1,5 +1,5 @@
name=DHT sensor library name=DHT sensor library
version=1.2.2 version=1.2.3
author=Adafruit author=Adafruit
maintainer=Adafruit <info@adafruit.com> maintainer=Adafruit <info@adafruit.com>
sentence=Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors sentence=Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors