am2315temp
—
Driver for Aosong AM2315 sensor chip via I2C bus
am2315temp* at iic? addr 0x5c
The am2315temp
driver provides measurements from the
AM2315 humidity/temperature sensors via the
envsys(4) framework. The
am2315temp
addr argument selects
the address at the iic(4) bus. The
AM2315 has limits on how often the measurements can be read. Adjustments to
the number of times to take reading before considering it valid, and the
number of ticks to wait between readings can be changed through
sysctl(8) nodes.
There are other oddities about the AM2315 that should be
mentioned. The datasheet says that the device should read no more often then
every 2 seconds, further, it also implies that a measurement is not
performed until the device is 1) awake 2) has been asked for a measurement.
From observation, it has been noted that it is possible to ask for
measurements more often than every 2 seconds, and actually get something
that looks to be valid. It may, in fact, be valid, but it has also been
noted that the measurements do not appear to change. This implies that a
measurement was done, and then returned time and time again. It has also
been noticed that if measurements are taken very close to every 2 seconds,
that sometimes the device will return a I2C error on a read. If this happens
a lot, increase hw.am2315temp0.readticks a bit.
The following sysctl(3) variables
are provided:
- hw.am2315temp0.readcount
- The number of times to take a reading before considering it valid. This
defaults to 2.
- hw.am2315temp0.readticks
- The number of ticks to wait in between readings. The default is 100.
- hw.am2315temp0.debug
- If the driver is compiled with
AM2315_DEBUG
, this
node will appear and can be used to set the debugging level.
The am2315temp
driver first appeared in
NetBSD 8.0.
The device does not appear to work with the
gpioiic(4) bitbang controller.
When tried, reads would not error, but no data was returned.