Commit a6bffb69 authored by Harald Geyer's avatar Harald Geyer Committed by Jonathan Cameron
Browse files

iio: dht11: Improve detection of sensor type



The old code was based on a DHT11 datasheet which specifies a measurement
range of 20%-90% RH. Turns out the sensor actually reports values outside
this range, so we should support it as far as possible.

Reported-by: default avatarEdward Attfield <edward@attfield.ca>
Signed-off-by: default avatarHarald Geyer <harald@ccbib.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 7fe2241c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ static int dht11_decode(struct dht11 *dht11, int offset)
	}

	dht11->timestamp = ktime_get_boot_ns();
	if (hum_int < 20) {  /* DHT22 */
	if (hum_int < 4) {  /* DHT22: 100000 = (3*256+232)*100 */
		dht11->temperature = (((temp_int & 0x7f) << 8) + temp_dec) *
					((temp_int & 0x80) ? -100 : 100);
		dht11->humidity = ((hum_int << 8) + hum_dec) * 100;