diff options
Diffstat (limited to 'static/netbsd/man4/sgp40mox.4')
| -rw-r--r-- | static/netbsd/man4/sgp40mox.4 | 110 |
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. |
