1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<table class="head">
<tr>
<td class="head-ltitle">BMX280THP(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">BMX280THP(4)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">bmx280thp</code> — <span class="Nd">Driver
for Bosch BMP280/BME280 sensor chip via I2C bus</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="Cd">bmx280thp* at iic? addr 0x76</code>
<br/>
<code class="Cd">bmx280thp* at iic? addr 0x77</code></p>
<p class="Pp">
<br/>
<code class="Cd">bmx280thp* at spi? slave 0</code>
<br/>
<code class="Cd">bmx280thp* at spi? slave 1</code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">bmx280thp</code> driver provides measurements
from the BMP280 and BME280 temperature, humidity and barometric pressure
sensors via the <a class="Xr">envsys(4)</a> framework. The
<code class="Nm">bmx280thp</code> <var class="Ar">addr</var> argument
selects the address at the <a class="Xr">iic(4)</a> bus and the
<code class="Nm">bmx280thp</code> <var class="Ar">slave</var> argument
selects which chip select will be used on the <a class="Xr">spi(4)</a> bus.
The precision of the measurement which is related to the over sampling
performed on the measurement can be changed through
<a class="Xr">sysctl(8)</a> nodes.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL
VARIABLES</a></h1>
<p class="Pp">The following <a class="Xr">sysctl(3)</a> variables are
provided:</p>
<dl class="Bl-tag">
<dt id="hw.bmx280thp0.osrs_t"><a class="permalink" href="#hw.bmx280thp0.osrs_t"><code class="Li">hw.bmx280thp0.osrs_t</code></a></dt>
<dd style="width: auto;"> </dd>
<dt id="hw.bmx280thp0.osrs_p"><a class="permalink" href="#hw.bmx280thp0.osrs_p"><code class="Li">hw.bmx280thp0.osrs_p</code></a></dt>
<dd style="width: auto;"> </dd>
<dt id="hw.bmx280thp0.osrs_h"><a class="permalink" href="#hw.bmx280thp0.osrs_h"><code class="Li">hw.bmx280thp0.osrs_h</code></a></dt>
<dd>These control oversampling of temperature, pressure and humidity. The
valid values are 1, 2, 4, 8, and 16 times oversample. Humidity is only
available if the chip is a BME280.</dd>
<dt id="hw.bmx280thp0.irr_samples"><a class="permalink" href="#hw.bmx280thp0.irr_samples"><code class="Li">hw.bmx280thp0.irr_samples</code></a></dt>
<dd>IRR is a filter that can be used to reduce the noise in the measurement.
The value values are 1 (or off), 2, 5, 11 and 22 samples to reach >=
75% of the step response.</dd>
<dt id="hw.bmx280thp0.waitfactor.t"><a class="permalink" href="#hw.bmx280thp0.waitfactor.t"><code class="Li">hw.bmx280thp0.waitfactor.t</code></a></dt>
<dd style="width: auto;"> </dd>
<dt id="hw.bmx280thp0.waitfactor.p"><a class="permalink" href="#hw.bmx280thp0.waitfactor.p"><code class="Li">hw.bmx280thp0.waitfactor.p</code></a></dt>
<dd style="width: auto;"> </dd>
<dt id="hw.bmx280thp0.waitfactor.h"><a class="permalink" href="#hw.bmx280thp0.waitfactor.h"><code class="Li">hw.bmx280thp0.waitfactor.h</code></a></dt>
<dd>These control the wait multiplication factor for a measurement cycle. This
factor is different for temperature, pressure and humidity and is based
upon the values of osrs_t, osrs_p and osrs_h. If the chip does not return
the correct measurements for a given over sampling then the wait factors
can be adjusted to allow more time for the measurement to complete
successfully.</dd>
<dt id="hw.bmx280thp0.debug"><a class="permalink" href="#hw.bmx280thp0.debug"><code class="Li">hw.bmx280thp0.debug</code></a></dt>
<dd style="width: auto;"> </dd>
<dt id="hw.bmx280thp0.dump_calibration"><a class="permalink" href="#hw.bmx280thp0.dump_calibration"><code class="Li">hw.bmx280thp0.dump_calibration</code></a></dt>
<dd>If the driver is compiled with <code class="Dv">BMX280_DEBUG</code>, these
nodes will appear and can be used to set the debugging level and provide
the calibration constants, upon refresh, that are stored in the chip.
Since the constants are fixed, this is a boolean node and will reset back
to false once one dump has been performed.</dd>
<dt id="hw.bmx280thp0.readattempts"><a class="permalink" href="#hw.bmx280thp0.readattempts"><code class="Li">hw.bmx280thp0.readattempts</code></a></dt>
<dd>A status register tells the driver if the chip is busy with a measurement.
This status register must be polled and readattempts is the number of
times that this poll will be performed. The default is 25 which should be
more than enough for most purposes.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr">envsys(4)</a>, <a class="Xr">iic(4)</a>,
<a class="Xr">spi(4)</a>, <a class="Xr">envstat(8)</a>,
<a class="Xr">sysctl(8)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">bmx280thp</code> driver first appeared in
<span class="Ux">NetBSD 10.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">bmx280thp</code> driver was written by
<span class="An">Brad Spencer</span>
<<a class="Mt" href="mailto:brad@anduin.eldar.org">brad@anduin.eldar.org</a>>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
<p class="Pp">The driver does not support the continuous read mode that the
BMP280 and BME280 has.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">November 19, 2022</td>
<td class="foot-os">NetBSD 10.1</td>
</tr>
</table>
|