144 lines
4.3 KiB
Groff
144 lines
4.3 KiB
Groff
.\" $NetBSD: swsensor.4,v 1.13 2016/06/01 02:15:26 pgoyette Exp $
|
|
.\"
|
|
.\" Copyright (c) 2010 The NetBSD Foundation
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" This code is derived from software contributed to The NetBSD Foundation
|
|
.\" by Paul Goyette.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
.\" POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.Dd June 1, 2016
|
|
.Dt SWSENSOR 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm swsensor
|
|
.Nd software environmental sensor
|
|
.Sh SYNOPSIS
|
|
.Cd "pseudo-device swsensor"
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver provides a software environmental sensor that works with
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr envstat 8 .
|
|
The driver is intended to be loaded as a kernel module.
|
|
One can, however, include the
|
|
.Nm
|
|
driver directly in a kernel using the configuration from the synopsis.
|
|
By default, the sensor is of type
|
|
.Dv ENVSYS_UNITS_INTEGER .
|
|
.Pp
|
|
The following values can be specified in the
|
|
.Xr modload 8
|
|
command when loading the
|
|
.Nm
|
|
module to alter the driver's behavior.
|
|
.Pp
|
|
.Bl -tag -width "percentage"
|
|
.It Sy "Variable" Sy "Usage"
|
|
.It Li "mode"
|
|
Controls whether or not
|
|
.Nm
|
|
provides internally-maintained limits and limit checking
|
|
.Bl -tag -width "Value"
|
|
.It Sy "Value" Sy "Meaning"
|
|
.It Li "0"
|
|
sensor has no internally-maintained limits
|
|
.It Li "1"
|
|
sensor provides its own internal limit value
|
|
.It Li "2"
|
|
sensor maintains an internal adjustable limit and performs its own
|
|
comparison between the sensor's limit and its current value
|
|
.El
|
|
.It Li "limit"
|
|
The initial alarm limit value, if limit emulation is selected (i.e., if
|
|
.Dv mode
|
|
is set to 1 or 2)
|
|
.It Li "value_max"
|
|
.It Li "value_min"
|
|
The maximum and minimum values.
|
|
The corresponding
|
|
.Dv ENVSYS_FVALID_MAX
|
|
and
|
|
.Dv ENVSYS_FVALID_MIN
|
|
flags are implicitly set.
|
|
.It Li "percentage"
|
|
This boolean value controls the setting of the
|
|
.Dv ENVSYS_FPERCENT
|
|
flag.
|
|
.It Li "type"
|
|
Define the sensor's unit/type.
|
|
By default, a Temperature sensor is created.
|
|
Any of the string values from the following table can be specified:
|
|
.Bl -column "Battery capacity" "Battery charge" "Ampere hour"
|
|
.It "Temperature" Ta "Fan" Ta "Voltage AC"
|
|
.It "Voltage DC" Ta "Ohms" Ta "Watts"
|
|
.It "Ampere" Ta "Watt hour" Ta "Ampere hour"
|
|
.It "Indicator" Ta "Integer" Ta "Drive"
|
|
.It "Battery capacity" Ta "Battery charge" Ta ""
|
|
.El
|
|
(Values are case-sensitive, and spaces must be included.)
|
|
.It Li "value"
|
|
Provide an initial value for the sensor.
|
|
If this is omitted, the sensor's initial value is set to zero.
|
|
.El
|
|
.Pp
|
|
For example,
|
|
.Dl Ic modload -s type=Voltage\e DC swsensor
|
|
will create a sensor of type
|
|
.Dv ENVSYS_UNITS_SVOLTS_DC ,
|
|
while
|
|
.Dl Ic modload -i mode=1 -i limit=50 swsensor
|
|
will create a sensor which has an initial, device-provided limit of 50.
|
|
.Pp
|
|
The sensor's raw value and state can be manually updated by modifying the
|
|
.Xr sysctl 8
|
|
variables
|
|
.Dq hw.swsensor.cur_value
|
|
and
|
|
.Dq hw.swsensor.state
|
|
variables respectively.
|
|
.Sh SEE ALSO
|
|
.Xr modctl 2 ,
|
|
.Xr envstat 8 ,
|
|
.Xr sysctl 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
driver was written by
|
|
.An Paul Goyette
|
|
and first appeared in
|
|
.Nx 6.0 .
|
|
.Sh BUGS
|
|
The
|
|
.Nm
|
|
driver emulates a device with only a single sensor.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
driver can only emulate one hardware-managed limit; this is assumed to
|
|
be the
|
|
.Dv critical-min
|
|
limit.
|