summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/sgp40mox.4
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man4/sgp40mox.4')
-rw-r--r--static/netbsd/man4/sgp40mox.4110
1 files changed, 110 insertions, 0 deletions
diff --git a/static/netbsd/man4/sgp40mox.4 b/static/netbsd/man4/sgp40mox.4
new file mode 100644
index 00000000..91a109ee
--- /dev/null
+++ b/static/netbsd/man4/sgp40mox.4
@@ -0,0 +1,110 @@
+.\" $NetBSD: sgp40mox.4,v 1.2 2021/10/14 21:35:45 wiz Exp $
+.\"
+.\" Copyright (c) 2021 Brad Spencer <brad@anduin.eldar.org>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd October 7, 2021
+.Dt SGP40MOX 4
+.Os
+.Sh NAME
+.Nm sgp40mox
+.Nd Driver for Sensirion SGP40 MOx gas sensor
+.Sh SYNOPSIS
+.Cd "sgp40mox* at iic? addr 0x59"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides an air quality measurement from the SGP40
+sensor via the
+.Xr envsys 4
+framework.
+The
+.Nm
+.Ar addr
+argument selects the address at the
+.Xr iic 4
+bus.
+The crc validity and temperature and %RH compensation can be changed through
+.Xr sysctl 8
+nodes.
+.Pp
+In order to calculate the VOC index, the volatile organic compounds index, which
+is the measure of air quality the sensor is polled once a second and the raw sensor
+value is fed into the Sensirion VOC algorithm.
+This VOC algorithm used in this driver is licensed under a 3 clause
+BSD license and was pulled from the Sensirion Github repository at
+.Rs
+.%U https://github.com/Sensirion/embedded-sgp
+.Re
+.Sh SYSCTL VARIABLES
+The following
+.Xr sysctl 3
+variables are provided:
+.Bl -tag -width indent
+.It Li hw.sgp40mox0.compensation.temperature
+This should be set to the temperature in Celsius of the environment that the sensor
+is in.
+The valid values are from -45 to 130 degrees Celsius.
+.It Li hw.sgp40mox0.compensation.humidity
+This should be set to the %RH of the environment that the sensor is in.
+The valid values are from 0 to 100.
+.Pp
+For the best performance of the VOC algorithm it is important that the temperature
+and %RH compensation values be current and set using the
+.Xr sysctl 3
+variables mentioned above.
+This data will need to be pulled from another source, such as a another sensor in
+the environment that the SGP40 is in.
+.It Li hw.sgp40mox0.ignorecrc
+If set, the crc calculation will be ignored on the calls to the chip for the purposes
+of measurement.
+.It Li hw.sgp40mox0.debug
+If the driver is compiled with
+.Dv SGP40_DEBUG ,
+this node will appear and can be used to set the debugging level.
+.It Li hw.sgp40mox0.readattempts
+To read the air quality metric from the chip requires that the command be sent,
+then a delay must be observed before a read can be done to get the values
+back.
+The delays are documented in the data sheet for the chip.
+The driver will attempt to read back the values readattempts number of
+times.
+The default is 10 which should be more than enough for most purposes.
+.El
+.Sh SEE ALSO
+.Xr envsys 4 ,
+.Xr iic 4 ,
+.Xr envstat 8 ,
+.Xr sysctl 8
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Nx 10.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Brad Spencer Aq Mt brad@anduin.eldar.org .
+.Sh BUGS
+The driver does not make complete use of the VOC algorithm.
+In particular, there is no need to restart the algorithm from
+scratch if there is a stoppage of polling for less than 10 minutes.
+The driver does not have the ability to determine that, and therefore
+assumes that the sensor is completely cold each time the driver attaches to the chip.
+.Pp
+The temperature and humidity compensation could be allowed to contain fractional degrees Celsius
+and %RH.
+The driver only supports setting whole numbers for either of those.