Support for non 16mhz devices

Added constructor parameter to allow for different timing needs. It has
the a default value of 6 which is the original value, so it should be
backwards compatible
This commit is contained in:
Lars Kirkeskov Sørup 2012-12-29 19:14:51 +01:00
parent 71ee113a7b
commit ad73fab623
2 changed files with 5 additions and 4 deletions

View File

@ -6,9 +6,10 @@ written by Adafruit Industries
#include "DHT.h"
DHT::DHT(uint8_t pin, uint8_t type) {
DHT::DHT(uint8_t pin, uint8_t type, uint8_t count) {
_pin = pin;
_type = type;
_count = count;
firstreading = true;
}
@ -129,7 +130,7 @@ boolean DHT::read(void) {
if ((i >= 4) && (i%2 == 0)) {
// shove each bit into the storage bytes
data[j/8] <<= 1;
if (counter > 6)
if (counter > _count)
data[j/8] |= 1;
j++;
}

4
DHT.h
View File

@ -23,13 +23,13 @@ written by Adafruit Industries
class DHT {
private:
uint8_t data[6];
uint8_t _pin, _type;
uint8_t _pin, _type, _count;
boolean read(void);
unsigned long _lastreadtime;
boolean firstreading;
public:
DHT(uint8_t pin, uint8_t type);
DHT(uint8_t pin, uint8_t type, uint8_t count=6);
void begin(void);
float readTemperature(bool S=false);
float convertCtoF(float);