sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget)/translations/zh_CN/hwmon/sysfs-interfacemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/zh_TW/hwmon/sysfs-interfacemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/it_IT/hwmon/sysfs-interfacemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ja_JP/hwmon/sysfs-interfacemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ko_KR/hwmon/sysfs-interfacemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/pt_BR/hwmon/sysfs-interfacemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/sp_SP/hwmon/sysfs-interfacemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h0Naming and data format standards for sysfs filesh]h0Naming and data format standards for sysfs files}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhC/var/lib/git/docbuild/linux/Documentation/hwmon/sysfs-interface.rsthKubh paragraph)}(hXThe libsensors library offers an interface to the raw sensors data through the sysfs interface. Since lm-sensors 3.0.0, libsensors is completely chip-independent. It assumes that all the kernel drivers implement the standard sysfs interface described in this document. This makes adding or updating support for any given chip very easy, as libsensors, and applications using it, do not need to be modified. This is a major improvement compared to lm-sensors 2.h]hXThe libsensors library offers an interface to the raw sensors data through the sysfs interface. Since lm-sensors 3.0.0, libsensors is completely chip-independent. It assumes that all the kernel drivers implement the standard sysfs interface described in this document. This makes adding or updating support for any given chip very easy, as libsensors, and applications using it, do not need to be modified. This is a major improvement compared to lm-sensors 2.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXiNote that motherboards vary widely in the connections to sensor chips. There is no standard that ensures, for example, that the second temperature sensor is connected to the CPU, or that the second fan is on the CPU. Also, some values reported by the chips need some computation before they make full sense. For example, most chips can only measure voltages between 0 and +4V. Other voltages are scaled back into that range using external resistors. Since the values of these resistors can change from motherboard to motherboard, the conversions cannot be hard coded into the driver and have to be done in user space.h]hXiNote that motherboards vary widely in the connections to sensor chips. There is no standard that ensures, for example, that the second temperature sensor is connected to the CPU, or that the second fan is on the CPU. Also, some values reported by the chips need some computation before they make full sense. For example, most chips can only measure voltages between 0 and +4V. Other voltages are scaled back into that range using external resistors. Since the values of these resistors can change from motherboard to motherboard, the conversions cannot be hard coded into the driver and have to be done in user space.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hFor this reason, even if we aim at a chip-independent libsensors, it will still require a configuration file (e.g. /etc/sensors.conf) for proper values conversion, labeling of inputs and hiding of unused inputs.h]hFor this reason, even if we aim at a chip-independent libsensors, it will still require a configuration file (e.g. /etc/sensors.conf) for proper values conversion, labeling of inputs and hiding of unused inputs.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXAn alternative method that some programs use is to access the sysfs files directly. This document briefly describes the standards that the drivers follow, so that an application program can scan for entries and access this data in a simple and consistent way. That said, such programs will have to implement conversion, labeling and hiding of inputs. For this reason, it is still not recommended to bypass the library.h]hXAn alternative method that some programs use is to access the sysfs files directly. This document briefly describes the standards that the drivers follow, so that an application program can scan for entries and access this data in a simple and consistent way. That said, such programs will have to implement conversion, labeling and hiding of inputs. For this reason, it is still not recommended to bypass the library.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hEach chip gets its own directory in the sysfs /sys/devices tree. To find all sensor chips, it is easier to follow the device symlinks from `/sys/class/hwmon/hwmon*`.h](hEach chip gets its own directory in the sysfs /sys/devices tree. To find all sensor chips, it is easier to follow the device symlinks from }(hjhhhNhNubhtitle_reference)}(h`/sys/class/hwmon/hwmon*`h]h/sys/class/hwmon/hwmon*}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hhhhubh)}(hXUp to lm-sensors 3.0.0, libsensors looks for hardware monitoring attributes in the "physical" device directory. Since lm-sensors 3.0.1, attributes found in the hwmon "class" device directory are also supported. Complex drivers (e.g. drivers for multifunction chips) may want to use this possibility to avoid namespace pollution. The only drawback will be that older versions of libsensors won't support the driver in question.h]hXUp to lm-sensors 3.0.0, libsensors looks for hardware monitoring attributes in the “physical” device directory. Since lm-sensors 3.0.1, attributes found in the hwmon “class” device directory are also supported. Complex drivers (e.g. drivers for multifunction chips) may want to use this possibility to avoid namespace pollution. The only drawback will be that older versions of libsensors won’t support the driver in question.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hhhhubh)}(h)All sysfs values are fixed point numbers.h]h)All sysfs values are fixed point numbers.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hhhhubh)}(hXThere is only one value per file, unlike the older /proc specification. The common scheme for files naming is: _. Usual types for sensor chips are "in" (voltage), "temp" (temperature) and "fan" (fan). Usual items are "input" (measured value), "max" (high threshold, "min" (low threshold). Numbering usually starts from 1, except for voltages which start from 0 (because most data sheets use this). A number is always used for elements that can be present more than once, even if there is a single element of the given type on the specific chip. Other files do not refer to a specific element, so they have a simple name, and no number.h]hXThere is only one value per file, unlike the older /proc specification. The common scheme for files naming is: _. Usual types for sensor chips are “in” (voltage), “temp” (temperature) and “fan” (fan). Usual items are “input” (measured value), “max” (high threshold, “min” (low threshold). Numbering usually starts from 1, except for voltages which start from 0 (because most data sheets use this). A number is always used for elements that can be present more than once, even if there is a single element of the given type on the specific chip. Other files do not refer to a specific element, so they have a simple name, and no number.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hhhhubh)}(hX<Alarms are direct indications read from the chips. The drivers do NOT make comparisons of readings to thresholds. This allows violations between readings to be caught and alarmed. The exact definition of an alarm (for example, whether a threshold must be met or must be exceeded to cause an alarm) is chip-dependent.h]hX<Alarms are direct indications read from the chips. The drivers do NOT make comparisons of readings to thresholds. This allows violations between readings to be caught and alarmed. The exact definition of an alarm (for example, whether a threshold must be met or must be exceeded to cause an alarm) is chip-dependent.}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hhhhubh)}(hX.When setting values of hwmon sysfs attributes, the string representation of the desired value must be written, note that strings which are not a number are interpreted as 0! For more on how written strings are interpreted see the "sysfs attribute writes interpretation" section at the end of this file.h]hX2When setting values of hwmon sysfs attributes, the string representation of the desired value must be written, note that strings which are not a number are interpreted as 0! For more on how written strings are interpreted see the “sysfs attribute writes interpretation” section at the end of this file.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hhhhubh)}(hhh](h)}(hAttribute accessh]hAttribute access}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhhhhhKEubh)}(hHardware monitoring sysfs attributes are displayed by unrestricted userspace applications. For this reason, all standard ABI attributes shall be world readable. Writeable standard ABI attributes shall be writeable only for privileged users.h]hHardware monitoring sysfs attributes are displayed by unrestricted userspace applications. For this reason, all standard ABI attributes shall be world readable. Writeable standard ABI attributes shall be writeable only for privileged users.}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjmhhubh transition)}(hI-------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1jhhhKLhjmhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK+uh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h`[0-*]`h]j)}(hjh]h[0-*]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhhhKOhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h+denotes any positive number starting from 0h]h+denotes any positive number starting from 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h`[1-*]`h]j)}(hj h]h[1-*]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h+denotes any positive number starting from 1h]h+denotes any positive number starting from 1}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj$ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hROh]hRO}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hread only valueh]hread only value}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj[ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hWOh]hWO}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj{ubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hwrite only valueh]hwrite only value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hRWh]hRW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hread/write valueh]hread/write value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjmhhhhhNubh)}(h\Read/write values may be read-only for some chips, depending on the hardware implementation.h]h\Read/write values may be read-only for some chips, depending on the hardware implementation.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjmhhubh)}(hqAll entries (except name) are optional, and should only be created in a given driver if the chip has the feature.h]hqAll entries (except name) are optional, and should only be created in a given driver if the chip has the feature.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjmhhubh)}(h]See Documentation/ABI/testing/sysfs-class-hwmon for a complete description of the attributes.h]h]See Documentation/ABI/testing/sysfs-class-hwmon for a complete description of the attributes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjmhhubh)}(hhh](h)}(hGlobal attributesh]hGlobal attributes}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hhhhhKaubhdefinition_list)}(hhh](hdefinition_list_item)}(h`name` The chip name. h](hterm)}(h`name`h]j)}(hjCh]hname}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjAubah}(h]h ]h"]h$]h&]uh1j?hhhKdhj;ubh definition)}(hhh]h)}(hThe chip name.h]hThe chip name.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjZubah}(h]h ]h"]h$]h&]uh1jXhj;ubeh}(h]h ]h"]h$]h&]uh1j9hhhKdhj6ubj:)}(hY`label` A descriptive label that allows to uniquely identify a device within the system. h](j@)}(h`label`h]j)}(hj}h]hlabel}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj{ubah}(h]h ]h"]h$]h&]uh1j?hhhKhhjwubjY)}(hhh]h)}(hPA descriptive label that allows to uniquely identify a device within the system.h]hPA descriptive label that allows to uniquely identify a device within the system.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghjubah}(h]h ]h"]h$]h&]uh1jXhjwubeh}(h]h ]h"]h$]h&]uh1j9hhhKhhj6hhubj:)}(hG`update_interval` The interval at which the chip will update readings. h](j@)}(h`update_interval`h]j)}(hjh]hupdate_interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKkhjubjY)}(hhh]h)}(h4The interval at which the chip will update readings.h]h4The interval at which the chip will update readings.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKkhj6hhubj:)}(h{`update_interval_us` The interval at which the chip will update readings, expressed in microseconds for finer resolution. h](j@)}(h`update_interval_us`h]j)}(hjh]hupdate_interval_us}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKphjubjY)}(hhh]h)}(hdThe interval at which the chip will update readings, expressed in microseconds for finer resolution.h]hdThe interval at which the chip will update readings, expressed in microseconds for finer resolution.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKphj6hhubeh}(h]h ]h"]h$]h&]uh1j4hj#hhhhhNubeh}(h]global-attributesah ]h"]global attributesah$]h&]uh1hhjmhhhhhKaubh)}(hhh](h)}(hVoltagesh]hVoltages}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hhhhhKtubj5)}(hhh](j:)}(h!`in[0-*]_min` Voltage min value. h](j@)}(h `in[0-*]_min`h]j)}(hjGh]h in[0-*]_min}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjEubah}(h]h ]h"]h$]h&]uh1j?hhhKwhjAubjY)}(hhh]h)}(hVoltage min value.h]hVoltage min value.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhj\ubah}(h]h ]h"]h$]h&]uh1jXhjAubeh}(h]h ]h"]h$]h&]uh1j9hhhKwhj>ubj:)}(h,`in[0-*]_lcrit` Voltage critical min value. h](j@)}(h`in[0-*]_lcrit`h]j)}(hjh]h in[0-*]_lcrit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj}ubah}(h]h ]h"]h$]h&]uh1j?hhhKzhjyubjY)}(hhh]h)}(hVoltage critical min value.h]hVoltage critical min value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhjubah}(h]h ]h"]h$]h&]uh1jXhjyubeh}(h]h ]h"]h$]h&]uh1j9hhhKzhj>hhubj:)}(h!`in[0-*]_max` Voltage max value. h](j@)}(h `in[0-*]_max`h]j)}(hjh]h in[0-*]_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhK}hjubjY)}(hhh]h)}(hVoltage max value.h]hVoltage max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhK}hj>hhubj:)}(h+`in[0-*]_crit` Voltage critical max value. h](j@)}(h`in[0-*]_crit`h]j)}(hjh]h in[0-*]_crit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hVoltage critical max value.h]hVoltage critical max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h%`in[0-*]_input` Voltage input value. h](j@)}(h`in[0-*]_input`h]j)}(hj'h]h in[0-*]_input}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj%ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj!ubjY)}(hhh]h)}(hVoltage input value.h]hVoltage input value.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jXhj!ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h"`in[0-*]_average` Average voltage h](j@)}(h`in[0-*]_average`h]j)}(hj_h]hin[0-*]_average}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j hj]ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjYubjY)}(hhh]h)}(hAverage voltageh]hAverage voltage}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjtubah}(h]h ]h"]h$]h&]uh1jXhjYubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h,`in[0-*]_lowest` Historical minimum voltage h](j@)}(h`in[0-*]_lowest`h]j)}(hjh]hin[0-*]_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hHistorical minimum voltageh]hHistorical minimum voltage}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h-`in[0-*]_highest` Historical maximum voltage h](j@)}(h`in[0-*]_highest`h]j)}(hjh]hin[0-*]_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hHistorical maximum voltageh]hHistorical maximum voltage}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h9`in[0-*]_reset_history` Reset inX_lowest and inX_highest h](j@)}(h`in[0-*]_reset_history`h]j)}(hjh]hin[0-*]_reset_history}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(h Reset inX_lowest and inX_highesth]h Reset inX_lowest and inX_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(hD`in_reset_history` Reset inX_lowest and inX_highest for all sensors h](j@)}(h`in_reset_history`h]j)}(hj?h]hin_reset_history}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj=ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj9ubjY)}(hhh]h)}(h0Reset inX_lowest and inX_highest for all sensorsh]h0Reset inX_lowest and inX_highest for all sensors}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjTubah}(h]h ]h"]h$]h&]uh1jXhj9ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h1`in[0-*]_label` Suggested voltage channel label. h](j@)}(h`in[0-*]_label`h]j)}(hjwh]h in[0-*]_label}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjuubah}(h]h ]h"]h$]h&]uh1j?hhhKhjqubjY)}(hhh]h)}(h Suggested voltage channel label.h]h Suggested voltage channel label.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjqubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h0`in[0-*]_enable` Enable or disable the sensors. h](j@)}(h`in[0-*]_enable`h]j)}(hjh]hin[0-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h+`cpu[0-*]_vid` CPU core reference voltage. h](j@)}(h`cpu[0-*]_vid`h]j)}(hjh]h cpu[0-*]_vid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hCPU core reference voltage.h]hCPU core reference voltage.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h/`vrm` Voltage Regulator Module version number. h](j@)}(h`vrm`h]j)}(hjh]hvrm}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(h(Voltage Regulator Module version number.h]h(Voltage Regulator Module version number.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h+`in[0-*]_rated_min` Minimum rated voltage. h](j@)}(h`in[0-*]_rated_min`h]j)}(hjWh]hin[0-*]_rated_min}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjUubah}(h]h ]h"]h$]h&]uh1j?hhhKhjQubjY)}(hhh]h)}(hMinimum rated voltage.h]hMinimum rated voltage.}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjlubah}(h]h ]h"]h$]h&]uh1jXhjQubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubj:)}(h+`in[0-*]_rated_max` Maximum rated voltage. h](j@)}(h`in[0-*]_rated_max`h]j)}(hjh]hin[0-*]_rated_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hMaximum rated voltage.h]hMaximum rated voltage.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj>hhubeh}(h]h ]h"]h$]h&]uh1j4hj-hhhhhNubh)}(hFAlso see the Alarms section for status flags associated with voltages.h]hFAlso see the Alarms section for status flags associated with voltages.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-hhubeh}(h]voltagesah ]h"]voltagesah$]h&]uh1hhjmhhhhhKtubh)}(hhh](h)}(hFansh]hFans}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubj5)}(hhh](j:)}(h!`fan[1-*]_min` Fan minimum value h](j@)}(h`fan[1-*]_min`h]j)}(hjh]h fan[1-*]_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hFan minimum valueh]hFan minimum value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjubj:)}(h!`fan[1-*]_max` Fan maximum value h](j@)}(h`fan[1-*]_max`h]j)}(hj/h]h fan[1-*]_max}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj-ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj)ubjY)}(hhh]h)}(hFan maximum valueh]hFan maximum value}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1jXhj)ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h"`fan[1-*]_input` Fan input value. h](j@)}(h`fan[1-*]_input`h]j)}(hjgh]hfan[1-*]_input}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1j hjeubah}(h]h ]h"]h$]h&]uh1j?hhhKhjaubjY)}(hhh]h)}(hFan input value.h]hFan input value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jXhjaubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h`fan[1-*]_div` Fan divisor. h](j@)}(h`fan[1-*]_div`h]j)}(hjh]h fan[1-*]_div}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(h Fan divisor.h]h Fan divisor.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(hB`fan[1-*]_pulses` Number of tachometer pulses per fan revolution. h](j@)}(h`fan[1-*]_pulses`h]j)}(hjh]hfan[1-*]_pulses}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(h/Number of tachometer pulses per fan revolution.h]h/Number of tachometer pulses per fan revolution.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h$`fan[1-*]_target` Desired fan speed h](j@)}(h`fan[1-*]_target`h]j)}(hj h]hfan[1-*]_target}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(hDesired fan speedh]hDesired fan speed}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h.`fan[1-*]_label` Suggested fan channel label. h](j@)}(h`fan[1-*]_label`h]j)}(hjG h]hfan[1-*]_label}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjE ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjA ubjY)}(hhh]h)}(hSuggested fan channel label.h]hSuggested fan channel label.}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj\ ubah}(h]h ]h"]h$]h&]uh1jXhjA ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h1`fan[1-*]_enable` Enable or disable the sensors. h](j@)}(h`fan[1-*]_enable`h]j)}(hj h]hfan[1-*]_enable}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj} ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjy ubjY)}(hhh]h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhjy ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubh)}(hBAlso see the Alarms section for status flags associated with fans.h]hBAlso see the Alarms section for status flags associated with fans.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]fansah ]h"]fansah$]h&]uh1hhjmhhhhhKubh)}(hhh](h)}(hPWMh]hPWM}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubj5)}(hhh](j:)}(h/`pwm[1-*]` Pulse width modulation fan control. h](j@)}(h `pwm[1-*]`h]j)}(hj h]hpwm[1-*]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(h#Pulse width modulation fan control.h]h#Pulse width modulation fan control.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj ubj:)}(h,`pwm[1-*]_enable` Fan speed control method. h](j@)}(h`pwm[1-*]_enable`h]j)}(hj h]hpwm[1-*]_enable}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(hFan speed control method.h]hFan speed control method.}(hj7 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4 ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(h:`pwm[1-*]_mode` direct current or pulse-width modulation. h](j@)}(h`pwm[1-*]_mode`h]j)}(hjW h]h pwm[1-*]_mode}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjU ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjQ ubjY)}(hhh]h)}(h)direct current or pulse-width modulation.h]h)direct current or pulse-width modulation.}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjl ubah}(h]h ]h"]h$]h&]uh1jXhjQ ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(h*`pwm[1-*]_freq` Base PWM frequency in Hz. h](j@)}(h`pwm[1-*]_freq`h]j)}(hj h]h pwm[1-*]_freq}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(hBase PWM frequency in Hz.h]hBase PWM frequency in Hz.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(he`pwm[1-*]_auto_channels_temp` Select which temperature channels affect this PWM output in auto mode. h](j@)}(h`pwm[1-*]_auto_channels_temp`h]j)}(hj h]hpwm[1-*]_auto_channels_temp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(hFSelect which temperature channels affect this PWM output in auto mode.h]hFSelect which temperature channels affect this PWM output in auto mode.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(h`pwm[1-*]_auto_point[1-*]_pwm` / `pwm[1-*]_auto_point[1-*]_temp` / `pwm[1-*]_auto_point[1-*]_temp_hyst` Define the PWM vs temperature curve. h](j@)}(hg`pwm[1-*]_auto_point[1-*]_pwm` / `pwm[1-*]_auto_point[1-*]_temp` / `pwm[1-*]_auto_point[1-*]_temp_hyst`h](j)}(h`pwm[1-*]_auto_point[1-*]_pwm`h]hpwm[1-*]_auto_point[1-*]_pwm}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh / }(hj hhhNhNubj)}(h`pwm[1-*]_auto_point[1-*]_temp`h]hpwm[1-*]_auto_point[1-*]_temp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh / }hj sbj)}(h$`pwm[1-*]_auto_point[1-*]_temp_hyst`h]h"pwm[1-*]_auto_point[1-*]_temp_hyst}(hj% hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(h$Define the PWM vs temperature curve.h]h$Define the PWM vs temperature curve.}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9 ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(h`temp[1-*]_auto_point[1-*]_pwm` / `temp[1-*]_auto_point[1-*]_temp` / `temp[1-*]_auto_point[1-*]_temp_hyst` Define the PWM vs temperature curve. h](j@)}(hj`temp[1-*]_auto_point[1-*]_pwm` / `temp[1-*]_auto_point[1-*]_temp` / `temp[1-*]_auto_point[1-*]_temp_hyst`h](j)}(h`temp[1-*]_auto_point[1-*]_pwm`h]htemp[1-*]_auto_point[1-*]_pwm}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjZ ubh / }(hjZ hhhNhNubj)}(h `temp[1-*]_auto_point[1-*]_temp`h]htemp[1-*]_auto_point[1-*]_temp}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjZ ubh / }hjZ sbj)}(h%`temp[1-*]_auto_point[1-*]_temp_hyst`h]h#temp[1-*]_auto_point[1-*]_temp_hyst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjZ ubeh}(h]h ]h"]h$]h&]uh1j?hhhKhjV ubjY)}(hhh]h)}(h$Define the PWM vs temperature curve.h]h$Define the PWM vs temperature curve.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhjV ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubeh}(h]h ]h"]h$]h&]uh1j4hj hhhhhNubh)}(hX There is a third case where trip points are associated to both PWM output channels and temperature channels: the PWM values are associated to PWM output channels while the temperature values are associated to temperature channels. In that case, the result is determined by the mapping between temperature inputs and PWM outputs. When several temperature inputs are mapped to a given PWM output, this leads to several candidate PWM values. The actual result is up to the chip, but in general the highest candidate value (fastest fan speed) wins.h]hX There is a third case where trip points are associated to both PWM output channels and temperature channels: the PWM values are associated to PWM output channels while the temperature values are associated to temperature channels. In that case, the result is determined by the mapping between temperature inputs and PWM outputs. When several temperature inputs are mapped to a given PWM output, this leads to several candidate PWM values. The actual result is up to the chip, but in general the highest candidate value (fastest fan speed) wins.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]pwmah ]h"]pwmah$]h&]uh1hhjmhhhhhKubh)}(hhh](h)}(h Temperaturesh]h Temperatures}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubj5)}(hhh](j:)}(h(`temp[1-*]_type` Sensor type selection. h](j@)}(h`temp[1-*]_type`h]j)}(hj h]htemp[1-*]_type}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(hSensor type selection.h]hSensor type selection.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj ubj:)}(h'`temp[1-*]_max` Temperature max value. h](j@)}(h`temp[1-*]_max`h]j)}(hj! h]h temp[1-*]_max}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(hTemperature max value.h]hTemperature max value.}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6 ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(h'`temp[1-*]_min` Temperature min value. h](j@)}(h`temp[1-*]_min`h]j)}(hjY h]h temp[1-*]_min}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjW ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjS ubjY)}(hhh]h)}(hTemperature min value.h]hTemperature min value.}(hjq hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjn ubah}(h]h ]h"]h$]h&]uh1jXhjS ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(hA`temp[1-*]_max_hyst` Temperature hysteresis value for max limit. h](j@)}(h`temp[1-*]_max_hyst`h]j)}(hj h]htemp[1-*]_max_hyst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(h+Temperature hysteresis value for max limit.h]h+Temperature hysteresis value for max limit.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(hA`temp[1-*]_min_hyst` Temperature hysteresis value for min limit. h](j@)}(h`temp[1-*]_min_hyst`h]j)}(hj h]htemp[1-*]_min_hyst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(h+Temperature hysteresis value for min limit.h]h+Temperature hysteresis value for min limit.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhj hhubj:)}(h+`temp[1-*]_input` Temperature input value. h](j@)}(h`temp[1-*]_input`h]j)}(hj h]htemp[1-*]_input}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj ubjY)}(hhh]h)}(hTemperature input value.h]hTemperature input value.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(hg`temp[1-*]_crit` Temperature critical max value, typically greater than corresponding temp_max values. h](j@)}(h`temp[1-*]_crit`h]j)}(hj9 h]htemp[1-*]_crit}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj7 ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj3 ubjY)}(hhh]h)}(hUTemperature critical max value, typically greater than corresponding temp_max values.h]hUTemperature critical max value, typically greater than corresponding temp_max values.}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjN ubah}(h]h ]h"]h$]h&]uh1jXhj3 ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(hG`temp[1-*]_crit_hyst` Temperature hysteresis value for critical limit. h](j@)}(h`temp[1-*]_crit_hyst`h]j)}(hjq h]htemp[1-*]_crit_hyst}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjo ubah}(h]h ]h"]h$]h&]uh1j?hhhMhjk ubjY)}(hhh]h)}(h0Temperature hysteresis value for critical limit.h]h0Temperature hysteresis value for critical limit.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jXhjk ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(ht`temp[1-*]_emergency` Temperature emergency max value, for chips supporting more than two upper temperature limits. h](j@)}(h`temp[1-*]_emergency`h]j)}(hj h]htemp[1-*]_emergency}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhM hj ubjY)}(hhh]h)}(h]Temperature emergency max value, for chips supporting more than two upper temperature limits.h]h]Temperature emergency max value, for chips supporting more than two upper temperature limits.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhM hj hhubj:)}(hM`temp[1-*]_emergency_hyst` Temperature hysteresis value for emergency limit. h](j@)}(h`temp[1-*]_emergency_hyst`h]j)}(hj h]htemp[1-*]_emergency_hyst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj ubjY)}(hhh]h)}(h1Temperature hysteresis value for emergency limit.h]h1Temperature hysteresis value for emergency limit.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(hf`temp[1-*]_lcrit` Temperature critical min value, typically lower than corresponding temp_min values. h](j@)}(h`temp[1-*]_lcrit`h]j)}(hjh]htemp[1-*]_lcrit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hSTemperature critical min value, typically lower than corresponding temp_min values.h]hSTemperature critical min value, typically lower than corresponding temp_min values.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(hL`temp[1-*]_lcrit_hyst` Temperature hysteresis value for critical min limit. h](j@)}(h`temp[1-*]_lcrit_hyst`h]j)}(hjQh]htemp[1-*]_lcrit_hyst}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j hjOubah}(h]h ]h"]h$]h&]uh1j?hhhMhjKubjY)}(hhh]h)}(h4Temperature hysteresis value for critical min limit.h]h4Temperature hysteresis value for critical min limit.}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jXhjKubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(h]`temp[1-*]_offset` Temperature offset which is added to the temperature reading by the chip. h](j@)}(h`temp[1-*]_offset`h]j)}(hjh]htemp[1-*]_offset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hITemperature offset which is added to the temperature reading by the chip.h]hITemperature offset which is added to the temperature reading by the chip.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(h7`temp[1-*]_label` Suggested temperature channel label. h](j@)}(h`temp[1-*]_label`h]j)}(hjh]htemp[1-*]_label}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(h$Suggested temperature channel label.h]h$Suggested temperature channel label.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(h2`temp[1-*]_lowest` Historical minimum temperature h](j@)}(h`temp[1-*]_lowest`h]j)}(hjh]htemp[1-*]_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hHistorical minimum temperatureh]hHistorical minimum temperature}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(h3`temp[1-*]_highest` Historical maximum temperature h](j@)}(h`temp[1-*]_highest`h]j)}(hj1h]htemp[1-*]_highest}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj/ubah}(h]h ]h"]h$]h&]uh1j?hhhM"hj+ubjY)}(hhh]h)}(hHistorical maximum temperatureh]hHistorical maximum temperature}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjFubah}(h]h ]h"]h$]h&]uh1jXhj+ubeh}(h]h ]h"]h$]h&]uh1j9hhhM"hj hhubj:)}(h=`temp[1-*]_reset_history` Reset temp_lowest and temp_highest h](j@)}(h`temp[1-*]_reset_history`h]j)}(hjih]htemp[1-*]_reset_history}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjgubah}(h]h ]h"]h$]h&]uh1j?hhhM%hjcubjY)}(hhh]h)}(h"Reset temp_lowest and temp_highesth]h"Reset temp_lowest and temp_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj~ubah}(h]h ]h"]h$]h&]uh1jXhjcubeh}(h]h ]h"]h$]h&]uh1j9hhhM%hj hhubj:)}(hH`temp_reset_history` Reset temp_lowest and temp_highest for all sensors h](j@)}(h`temp_reset_history`h]j)}(hjh]htemp_reset_history}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhM(hjubjY)}(hhh]h)}(h2Reset temp_lowest and temp_highest for all sensorsh]h2Reset temp_lowest and temp_highest for all sensors}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM(hj hhubj:)}(h2`temp[1-*]_enable` Enable or disable the sensors. h](j@)}(h`temp[1-*]_enable`h]j)}(hjh]htemp[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhM+hjubjY)}(hhh]h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM+hj hhubj:)}(h1`temp[1-*]_rated_min` Minimum rated temperature. h](j@)}(h`temp[1-*]_rated_min`h]j)}(hjh]htemp[1-*]_rated_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhM.hj ubjY)}(hhh]h)}(hMinimum rated temperature.h]hMinimum rated temperature.}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hj&ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhM.hj hhubj:)}(h1`temp[1-*]_rated_max` Maximum rated temperature. h](j@)}(h`temp[1-*]_rated_max`h]j)}(hjIh]htemp[1-*]_rated_max}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjGubah}(h]h ]h"]h$]h&]uh1j?hhhM1hjCubjY)}(hhh]h)}(hMaximum rated temperature.h]hMaximum rated temperature.}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj^ubah}(h]h ]h"]h$]h&]uh1jXhjCubeh}(h]h ]h"]h$]h&]uh1j9hhhM1hj hhubeh}(h]h ]h"]h$]h&]uh1j4hj hhhhhNubh)}(hX Some chips measure temperature using external thermistors and an ADC, and report the temperature measurement as a voltage. Converting this voltage back to a temperature (or the other way around for limits) requires mathematical functions not available in the kernel, so the conversion must occur in user space. For these chips, all temp* files described above should contain values expressed in millivolt instead of millidegree Celsius. In other words, such temperature channels are handled as voltage channels by the driver.h]hX Some chips measure temperature using external thermistors and an ADC, and report the temperature measurement as a voltage. Converting this voltage back to a temperature (or the other way around for limits) requires mathematical functions not available in the kernel, so the conversion must occur in user space. For these chips, all temp* files described above should contain values expressed in millivolt instead of millidegree Celsius. In other words, such temperature channels are handled as voltage channels by the driver.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hj hhubh)}(hJAlso see the Alarms section for status flags associated with temperatures.h]hJAlso see the Alarms section for status flags associated with temperatures.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hj hhubeh}(h] temperaturesah ]h"] temperaturesah$]h&]uh1hhjmhhhhhKubh)}(hhh](h)}(hCurrentsh]hCurrents}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMAubj5)}(hhh](j:)}(h#`curr[1-*]_max` Current max value. h](j@)}(h`curr[1-*]_max`h]j)}(hjh]h curr[1-*]_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMDhjubjY)}(hhh]h)}(hCurrent max value.h]hCurrent max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMDhjubj:)}(h#`curr[1-*]_min` Current min value. h](j@)}(h`curr[1-*]_min`h]j)}(hjh]h curr[1-*]_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMGhjubjY)}(hhh]h)}(hCurrent min value.h]hCurrent min value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhj ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMGhjhhubj:)}(h-`curr[1-*]_lcrit` Current critical low value h](j@)}(h`curr[1-*]_lcrit`h]j)}(hj/h]hcurr[1-*]_lcrit}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj-ubah}(h]h ]h"]h$]h&]uh1j?hhhMJhj)ubjY)}(hhh]h)}(hCurrent critical low valueh]hCurrent critical low value}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjDubah}(h]h ]h"]h$]h&]uh1jXhj)ubeh}(h]h ]h"]h$]h&]uh1j9hhhMJhjhhubj:)}(h.`curr[1-*]_crit` Current critical high value. h](j@)}(h`curr[1-*]_crit`h]j)}(hjgh]hcurr[1-*]_crit}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1j hjeubah}(h]h ]h"]h$]h&]uh1j?hhhMMhjaubjY)}(hhh]h)}(hCurrent critical high value.h]hCurrent critical high value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhj|ubah}(h]h ]h"]h$]h&]uh1jXhjaubeh}(h]h ]h"]h$]h&]uh1j9hhhMMhjhhubj:)}(h'`curr[1-*]_input` Current input value. h](j@)}(h`curr[1-*]_input`h]j)}(hjh]hcurr[1-*]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMPhjubjY)}(hhh]h)}(hCurrent input value.h]hCurrent input value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMPhjhhubj:)}(h)`curr[1-*]_average` Average current use. h](j@)}(h`curr[1-*]_average`h]j)}(hjh]hcurr[1-*]_average}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMShjubjY)}(hhh]h)}(hAverage current use.h]hAverage current use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMShjhhubj:)}(h/`curr[1-*]_lowest` Historical minimum current. h](j@)}(h`curr[1-*]_lowest`h]j)}(hjh]hcurr[1-*]_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhMVhj ubjY)}(hhh]h)}(hHistorical minimum current.h]hHistorical minimum current.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj$ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhMVhjhhubj:)}(h0`curr[1-*]_highest` Historical maximum current. h](j@)}(h`curr[1-*]_highest`h]j)}(hjGh]hcurr[1-*]_highest}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjEubah}(h]h ]h"]h$]h&]uh1j?hhhMYhjAubjY)}(hhh]h)}(hHistorical maximum current.h]hHistorical maximum current.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj\ubah}(h]h ]h"]h$]h&]uh1jXhjAubeh}(h]h ]h"]h$]h&]uh1j9hhhMYhjhhubj:)}(hC`curr[1-*]_reset_history` Reset currX_lowest and currX_highest WO h](j@)}(h`curr[1-*]_reset_history`h]j)}(hjh]hcurr[1-*]_reset_history}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj}ubah}(h]h ]h"]h$]h&]uh1j?hhhM^hjyubjY)}(hhh](h)}(h$Reset currX_lowest and currX_highesth]h$Reset currX_lowest and currX_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjubh)}(hWOh]hWO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubeh}(h]h ]h"]h$]h&]uh1jXhjyubeh}(h]h ]h"]h$]h&]uh1j9hhhM^hjhhubj:)}(hK`curr_reset_history` Reset currX_lowest and currX_highest for all sensors. h](j@)}(h`curr_reset_history`h]j)}(hjh]hcurr_reset_history}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMahjubjY)}(hhh]h)}(h5Reset currX_lowest and currX_highest for all sensors.h]h5Reset currX_lowest and currX_highest for all sensors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMahjhhubj:)}(h2`curr[1-*]_enable` Enable or disable the sensors. h](j@)}(h`curr[1-*]_enable`h]j)}(hjh]hcurr[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMdhjubjY)}(hhh]h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMdhjhhubj:)}(h-`curr[1-*]_rated_min` Minimum rated current. h](j@)}(h`curr[1-*]_rated_min`h]j)}(hj5h]hcurr[1-*]_rated_min}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj3ubah}(h]h ]h"]h$]h&]uh1j?hhhMghj/ubjY)}(hhh]h)}(hMinimum rated current.h]hMinimum rated current.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjJubah}(h]h ]h"]h$]h&]uh1jXhj/ubeh}(h]h ]h"]h$]h&]uh1j9hhhMghjhhubj:)}(h-`curr[1-*]_rated_max` Maximum rated current. h](j@)}(h`curr[1-*]_rated_max`h]j)}(hjmh]hcurr[1-*]_rated_max}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1j hjkubah}(h]h ]h"]h$]h&]uh1j?hhhMjhjgubjY)}(hhh]h)}(hMaximum rated current.h]hMaximum rated current.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jXhjgubeh}(h]h ]h"]h$]h&]uh1j9hhhMjhjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubh)}(hFAlso see the Alarms section for status flags associated with currents.h]hFAlso see the Alarms section for status flags associated with currents.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjhhubeh}(h]currentsah ]h"]currentsah$]h&]uh1hhjmhhhhhMAubh)}(hhh](h)}(hPowerh]hPower}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMpubj5)}(hhh](j:)}(h(`power[1-*]_average` Average power use. h](j@)}(h`power[1-*]_average`h]j)}(hjh]hpower[1-*]_average}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMshjubjY)}(hhh]h)}(hAverage power use.h]hAverage power use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMshjubj:)}(h<`power[1-*]_average_interval` Power use averaging interval. h](j@)}(h`power[1-*]_average_interval`h]j)}(hj h]hpower[1-*]_average_interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhMvhjubjY)}(hhh]h)}(hPower use averaging interval.h]hPower use averaging interval.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj"ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMvhjhhubj:)}(hH`power[1-*]_average_interval_max` Maximum power use averaging interval. h](j@)}(h!`power[1-*]_average_interval_max`h]j)}(hjEh]hpower[1-*]_average_interval_max}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjCubah}(h]h ]h"]h$]h&]uh1j?hhhMyhj?ubjY)}(hhh]h)}(h%Maximum power use averaging interval.h]h%Maximum power use averaging interval.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhjZubah}(h]h ]h"]h$]h&]uh1jXhj?ubeh}(h]h ]h"]h$]h&]uh1j9hhhMyhjhhubj:)}(hH`power[1-*]_average_interval_min` Minimum power use averaging interval. h](j@)}(h!`power[1-*]_average_interval_min`h]j)}(hj}h]hpower[1-*]_average_interval_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj{ubah}(h]h ]h"]h$]h&]uh1j?hhhM|hjwubjY)}(hhh]h)}(h%Minimum power use averaging interval.h]h%Minimum power use averaging interval.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjubah}(h]h ]h"]h$]h&]uh1jXhjwubeh}(h]h ]h"]h$]h&]uh1j9hhhM|hjhhubj:)}(hB`power[1-*]_average_highest` Historical average maximum power use h](j@)}(h`power[1-*]_average_highest`h]j)}(hjh]hpower[1-*]_average_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(h$Historical average maximum power useh]h$Historical average maximum power use}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(hA`power[1-*]_average_lowest` Historical average minimum power use h](j@)}(h`power[1-*]_average_lowest`h]j)}(hjh]hpower[1-*]_average_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(h$Historical average minimum power useh]h$Historical average minimum power use}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(ht`power[1-*]_average_max` A poll notification is sent to `power[1-*]_average` when power use rises above this value. h](j@)}(h`power[1-*]_average_max`h]j)}(hj%h]hpower[1-*]_average_max}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj#ubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hZA poll notification is sent to `power[1-*]_average` when power use rises above this value.h](hA poll notification is sent to }(hj=hhhNhNubj)}(h`power[1-*]_average`h]hpower[1-*]_average}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj=ubh' when power use rises above this value.}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(ht`power[1-*]_average_min` A poll notification is sent to `power[1-*]_average` when power use sinks below this value. h](j@)}(h`power[1-*]_average_min`h]j)}(hjoh]hpower[1-*]_average_min}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjmubah}(h]h ]h"]h$]h&]uh1j?hhhMhjiubjY)}(hhh]h)}(hZA poll notification is sent to `power[1-*]_average` when power use sinks below this value.h](hA poll notification is sent to }(hjhhhNhNubj)}(h`power[1-*]_average`h]hpower[1-*]_average}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh' when power use sinks below this value.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjiubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h,`power[1-*]_input` Instantaneous power use. h](j@)}(h`power[1-*]_input`h]j)}(hjh]hpower[1-*]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]+h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hInstantaneous power use.h]hInstantaneous power use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h8`power[1-*]_input_highest` Historical maximum power use h](j@)}(h`power[1-*]_input_highest`h]j)}(hjh]hpower[1-*]_input_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hHistorical maximum power useh]hHistorical maximum power use}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h8`power[1-*]_input_lowest` Historical minimum power use. h](j@)}(h`power[1-*]_input_lowest`h]j)}(hj)h]hpower[1-*]_input_lowest}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj'ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj#ubjY)}(hhh]h)}(hHistorical minimum power use.h]hHistorical minimum power use.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jXhj#ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(hb`power[1-*]_reset_history` Reset input_highest, input_lowest, average_highest and average_lowest. h](j@)}(h`power[1-*]_reset_history`h]j)}(hjah]hpower[1-*]_reset_history}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1j hj_ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj[ubjY)}(hhh]h)}(hFReset input_highest, input_lowest, average_highest and average_lowest.h]hFReset input_highest, input_lowest, average_highest and average_lowest.}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jXhj[ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h3`power[1-*]_accuracy` Accuracy of the power meter. h](j@)}(h`power[1-*]_accuracy`h]j)}(hjh]hpower[1-*]_accuracy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hAccuracy of the power meter.h]hAccuracy of the power meter.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(hi`power[1-*]_cap` If power use rises above this limit, the system should take action to reduce power use. h](j@)}(h`power[1-*]_cap`h]j)}(hjh]hpower[1-*]_cap}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hWIf power use rises above this limit, the system should take action to reduce power use.h]hWIf power use rises above this limit, the system should take action to reduce power use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(hR`power[1-*]_cap_hyst` Margin of hysteresis built around capping and notification. h](j@)}(h`power[1-*]_cap_hyst`h]j)}(hj h]hpower[1-*]_cap_hyst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(h;Margin of hysteresis built around capping and notification.h]h;Margin of hysteresis built around capping and notification.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h2`power[1-*]_cap_max` Maximum cap that can be set. h](j@)}(h`power[1-*]_cap_max`h]j)}(hjAh]hpower[1-*]_cap_max}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j hj?ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj;ubjY)}(hhh]h)}(hMaximum cap that can be set.h]hMaximum cap that can be set.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jXhj;ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h2`power[1-*]_cap_min` Minimum cap that can be set. h](j@)}(h`power[1-*]_cap_min`h]j)}(hjyh]hpower[1-*]_cap_min}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjwubah}(h]h ]h"]h$]h&]uh1j?hhhMhjsubjY)}(hhh]h)}(hMinimum cap that can be set.h]hMinimum cap that can be set.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjsubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h `power[1-*]_max` Maximum power. h](j@)}(h`power[1-*]_max`h]j)}(hjh]hpower[1-*]_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hMaximum power.h]hMaximum power.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h`power[1-*]_crit` Critical maximum power. If power rises to or above this limit, the system is expected take drastic action to reduce power consumption, such as a system shutdown or a forced powerdown of some devices. Unit: microWatt RW h](j@)}(h`power[1-*]_crit`h]j)}(hjh]hpower[1-*]_crit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh](h)}(hCritical maximum power.h]hCritical maximum power.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hIf power rises to or above this limit, the system is expected take drastic action to reduce power consumption, such as a system shutdown or a forced powerdown of some devices.h]hIf power rises to or above this limit, the system is expected take drastic action to reduce power consumption, such as a system shutdown or a forced powerdown of some devices.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hUnit: microWatth]hUnit: microWatt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hRWh]hRW}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h`power[1-*]_enable` Enable or disable the sensors. When disabled the sensor read will return -ENODATA. - 1: Enable - 0: Disable RW h](j@)}(h`power[1-*]_enable`h]j)}(hjKh]hpower[1-*]_enable}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjIubah}(h]h ]h"]h$]h&]uh1j?hhhMhjEubjY)}(hhh](h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubh)}(h3When disabled the sensor read will return -ENODATA.h]h3When disabled the sensor read will return -ENODATA.}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubh bullet_list)}(hhh](h list_item)}(h 1: Enableh]h)}(hjh]h 1: Enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h 0: Disable h]h)}(h 0: Disableh]h 0: Disable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhMhj`ubh)}(hRWh]hRW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubeh}(h]h ]h"]h$]h&]uh1jXhjEubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(hA`power[1-*]_rated_min` Minimum rated power. Unit: microWatt RO h](j@)}(h`power[1-*]_rated_min`h]j)}(hjh]hpower[1-*]_rated_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh](h)}(hMinimum rated power.h]hMinimum rated power.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hUnit: microWatth]hUnit: microWatt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hROh]hRO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(hA`power[1-*]_rated_max` Maximum rated power. Unit: microWatt RO h](j@)}(h`power[1-*]_rated_max`h]j)}(hj1h]hpower[1-*]_rated_max}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj/ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj+ubjY)}(hhh](h)}(hMaximum rated power.h]hMaximum rated power.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFubh)}(hUnit: microWatth]hUnit: microWatt}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFubh)}(hROh]hRO}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFubeh}(h]h ]h"]h$]h&]uh1jXhj+ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubh)}(hLAlso see the Alarms section for status flags associated with power readings.h]hLAlso see the Alarms section for status flags associated with power readings.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]powerah ]h"]powerah$]h&]uh1hhjmhhhhhMpubh)}(hhh](h)}(hEnergyh]hEnergy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubj5)}(hhh](j:)}(h@`energy[1-*]_input` Cumulative energy use Unit: microJoule RO h](j@)}(h`energy[1-*]_input`h]j)}(hjh]henergy[1-*]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh](h)}(hCumulative energy useh]hCumulative energy use}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hUnit: microJouleh]hUnit: microJoule}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hROh]hRO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjubj:)}(h`energy[1-*]_enable` Enable or disable the sensors. When disabled the sensor read will return -ENODATA. - 1: Enable - 0: Disable RW h](j@)}(h`energy[1-*]_enable`h]j)}(hj h]henergy[1-*]_enable}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh](h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(h3When disabled the sensor read will return -ENODATA.h]h3When disabled the sensor read will return -ENODATA.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubj)}(hhh](j)}(h 1: Enableh]h)}(hjBh]h 1: Enable}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(h 0: Disable h]h)}(h 0: Disableh]h 0: Disable}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhjubh)}(hRWh]hRW}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubeh}(h]energyah ]h"]energyah$]h&]uh1hhjmhhhhhMubh)}(hhh](h)}(hHumidityh]hHumidity}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubj5)}(hhh](j:)}(h `humidity[1-*]_input` Humidity. h](j@)}(h`humidity[1-*]_input`h]j)}(hjh]hhumidity[1-*]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(h Humidity.h]h Humidity.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjubj:)}(h6`humidity[1-*]_enable` Enable or disable the sensors. h](j@)}(h`humidity[1-*]_enable`h]j)}(hjh]hhumidity[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h2`humidity[1-*]_rated_min` Minimum rated humidity. h](j@)}(h`humidity[1-*]_rated_min`h]j)}(hj'h]hhumidity[1-*]_rated_min}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj%ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj!ubjY)}(hhh]h)}(hMinimum rated humidity.h]hMinimum rated humidity.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jXhj!ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubj:)}(h2`humidity[1-*]_rated_max` Maximum rated humidity. h](j@)}(h`humidity[1-*]_rated_max`h]j)}(hj_h]hhumidity[1-*]_rated_max}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j hj]ubah}(h]h ]h"]h$]h&]uh1j?hhhMhjYubjY)}(hhh]h)}(hMaximum rated humidity.h]hMaximum rated humidity.}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jXhjYubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubeh}(h]humidityah ]h"]humidityah$]h&]uh1hhjmhhhhhMubh)}(hhh](h)}(hAlarmsh]hAlarms}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hEach channel or limit may have an associated alarm file, containing a boolean value. 1 means than an alarm condition exists, 0 means no alarm.h]hEach channel or limit may have an associated alarm file, containing a boolean value. 1 means than an alarm condition exists, 0 means no alarm.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hUsually a given chip will either use channel-related alarms, or limit-related alarms, not both. The driver should just reflect the hardware implementation.h]hUsually a given chip will either use channel-related alarms, or limit-related alarms, not both. The driver should just reflect the hardware implementation.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h_**`in[0-*]_alarm`, `curr[1-*]_alarm`, `power[1-*]_alarm`, `fan[1-*]_alarm`, `temp[1-*]_alarm`**h]hstrong)}(hjh]h[`in[0-*]_alarm`, `curr[1-*]_alarm`, `power[1-*]_alarm`, `fan[1-*]_alarm`, `temp[1-*]_alarm`}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](h)}(h Channel alarmh]h Channel alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh block_quote)}(h- 0: no alarm - 1: alarm ROh](j)}(hhh](j)}(h 0: no alarmh]h)}(hj*h]h 0: no alarm}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(h 1: alarm h]h)}(h1: alarmh]h1: alarm}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhj!ubh)}(hROh]hRO}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj!ubeh}(h]h ]h"]h$]h&]uh1jhhhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(h**OR**h]j)}(hjh]hOR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(hX**`in[0-*]_min_alarm`, `in[0-*]_max_alarm`, `in[0-*]_lcrit_alarm`, `in[0-*]_crit_alarm`, `curr[1-*]_min_alarm`, `curr[1-*]_max_alarm`, `curr[1-*]_lcrit_alarm`, `curr[1-*]_crit_alarm`, `power[1-*]_cap_alarm`, `power[1-*]_max_alarm`, `power[1-*]_crit_alarm`, `fan[1-*]_min_alarm`, `fan[1-*]_max_alarm`, `temp[1-*]_min_alarm`, `temp[1-*]_max_alarm`, `temp[1-*]_lcrit_alarm`, `temp[1-*]_crit_alarm`, `temp[1-*]_emergency_alarm`**h]j)}(hjh]hX`in[0-*]_min_alarm`, `in[0-*]_max_alarm`, `in[0-*]_lcrit_alarm`, `in[0-*]_crit_alarm`, `curr[1-*]_min_alarm`, `curr[1-*]_max_alarm`, `curr[1-*]_lcrit_alarm`, `curr[1-*]_crit_alarm`, `power[1-*]_cap_alarm`, `power[1-*]_max_alarm`, `power[1-*]_crit_alarm`, `fan[1-*]_min_alarm`, `fan[1-*]_max_alarm`, `temp[1-*]_min_alarm`, `temp[1-*]_max_alarm`, `temp[1-*]_lcrit_alarm`, `temp[1-*]_crit_alarm`, `temp[1-*]_emergency_alarm`}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](h)}(h Limit alarmh]h Limit alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubj )}(h- 0: no alarm - 1: alarm h]j)}(hhh](j)}(h 0: no alarmh]h)}(hjh]h 0: no alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h 1: alarm h]h)}(h1: alarmh]h1: alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjubh)}(hROh]hRO}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hEach input channel may have an associated fault file. This can be used to notify open diodes, unconnected fans etc. where the hardware supports it. When this boolean has value 1, the measurement for that channel should not be trusted.h]hEach input channel may have an associated fault file. This can be used to notify open diodes, unconnected fans etc. where the hardware supports it. When this boolean has value 1, the measurement for that channel should not be trusted.}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjhhubj5)}(hhh]j:)}(h<`fan[1-*]_fault` / `temp[1-*]_fault` Input fault condition. h](j@)}(h$`fan[1-*]_fault` / `temp[1-*]_fault`h](j)}(h`fan[1-*]_fault`h]hfan[1-*]_fault}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj|ubh / }(hj|hhhNhNubj)}(h`temp[1-*]_fault`h]htemp[1-*]_fault}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj|ubeh}(h]h ]h"]h$]h&]uh1j?hhhM*hjxubjY)}(hhh]h)}(hInput fault condition.h]hInput fault condition.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjubah}(h]h ]h"]h$]h&]uh1jXhjxubeh}(h]h ]h"]h$]h&]uh1j9hhhM*hjuubah}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubh)}(hISome chips also offer the possibility to get beeped when an alarm occurs:h]hISome chips also offer the possibility to get beeped when an alarm occurs:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjhhubj5)}(hhh](j:)}(h"`beep_enable` Master beep enable. h](j@)}(h `beep_enable`h]j)}(hjh]h beep_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhM/hjubjY)}(hhh]h)}(hMaster beep enable.h]hMaster beep enable.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM/hjubj:)}(hS`in[0-*]_beep`, `curr[1-*]_beep`, `fan[1-*]_beep`, `temp[1-*]_beep`, Channel beep. h](j@)}(hD`in[0-*]_beep`, `curr[1-*]_beep`, `fan[1-*]_beep`, `temp[1-*]_beep`,h](j)}(h`in[0-*]_beep`h]h in[0-*]_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh, }(hjhhhNhNubj)}(h`curr[1-*]_beep`h]hcurr[1-*]_beep}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh, }hjsbj)}(h`fan[1-*]_beep`h]h fan[1-*]_beep}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh, }hjsbj)}(h`temp[1-*]_beep`h]htemp[1-*]_beep}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh,}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j?hhhM2hjubjY)}(hhh]h)}(h Channel beep.h]h Channel beep.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjhubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM2hjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubh)}(hYIn theory, a chip could provide per-limit beep masking, but no such chip was seen so far.h]hYIn theory, a chip could provide per-limit beep masking, but no such chip was seen so far.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjhhubh)}(hOld drivers provided a different, non-standard interface to alarms and beeps. These interface files are deprecated, but will be kept around for compatibility reasons:h]hOld drivers provided a different, non-standard interface to alarms and beeps. These interface files are deprecated, but will be kept around for compatibility reasons:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjhhubj5)}(hhh](j:)}(h`alarms` Alarm bitmask. h](j@)}(h`alarms`h]j)}(hjh]halarms}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhM<hjubjY)}(hhh]h)}(hAlarm bitmask.h]hAlarm bitmask.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM<hjubj:)}(h`beep_mask` Bitmask for beep. h](j@)}(h `beep_mask`h]j)}(hjh]h beep_mask}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhM@hjubjY)}(hhh]h)}(hBitmask for beep.h]hBitmask for beep.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM@hjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubeh}(h]alarmsah ]h"]alarmsah$]h&]uh1hhjmhhhhhMubh)}(hhh](h)}(hIntrusion detectionh]hIntrusion detection}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hhhhhMDubj5)}(hhh](j:)}(h4`intrusion[0-*]_alarm` Chassis intrusion detection. h](j@)}(h`intrusion[0-*]_alarm`h]j)}(hjBh]hintrusion[0-*]_alarm}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj@ubah}(h]h ]h"]h$]h&]uh1j?hhhMGhj<ubjY)}(hhh]h)}(hChassis intrusion detection.h]hChassis intrusion detection.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhjWubah}(h]h ]h"]h$]h&]uh1jXhj<ubeh}(h]h ]h"]h$]h&]uh1j9hhhMGhj9ubj:)}(h.`intrusion[0-*]_beep` Chassis intrusion beep. h](j@)}(h`intrusion[0-*]_beep`h]j)}(hjzh]hintrusion[0-*]_beep}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjxubah}(h]h ]h"]h$]h&]uh1j?hhhMJhjtubjY)}(hhh]h)}(hChassis intrusion beep.h]hChassis intrusion beep.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjubah}(h]h ]h"]h$]h&]uh1jXhjtubeh}(h]h ]h"]h$]h&]uh1j9hhhMJhj9hhubeh}(h]h ]h"]h$]h&]uh1j4hj(hhhhhNubeh}(h]intrusion-detectionah ]h"]intrusion detectionah$]h&]uh1hhjmhhhhhMDubh)}(hhh](h)}(hAverage sample configurationh]hAverage sample configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMNubh)}(hDevices allowing for reading {in,power,curr,temp}_average values may export attributes for controlling number of samples used to compute average.h]hDevices allowing for reading {in,power,curr,temp}_average values may export attributes for controlling number of samples used to compute average.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK?uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hsamplesh]hsamples}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](h)}(h=Sets number of average samples for all types of measurements.h]h=Sets number of average samples for all types of measurements.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj ubh)}(hRWh]hRW}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h2in_samples power_samples curr_samples temp_samplesh]h2in_samples power_samples curr_samples temp_samples}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhj> ubah}(h]h ]h"]h$]h&]uh1jhj; ubj)}(hhh](h)}(hASets number of average samples for specific type of measurements.h]hASets number of average samples for specific type of measurements.}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjU ubh)}(hNote that on some devices it won't be possible to set all of them to different values so changing one might also change some others.h]hNote that on some devices it won’t be possible to set all of them to different values so changing one might also change some others.}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hjU ubh)}(hRWh]hRW}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjU ubeh}(h]h ]h"]h$]h&]uh1jhj; ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]average-sample-configurationah ]h"]average sample configurationah$]h&]uh1hhjmhhhhhMNubeh}(h]attribute-accessah ]h"]attribute accessah$]h&]uh1hhhhhhhhKEubh)}(hhh](h)}(h%sysfs attribute writes interpretationh]h%sysfs attribute writes interpretation}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMcubh)}(hhwmon sysfs attributes always contain numbers, so the first thing to do is to convert the input to a number, there are 2 ways todo this depending whether the number can be negative or not::h]hhwmon sysfs attributes always contain numbers, so the first thing to do is to convert the input to a number, there are 2 ways todo this depending whether the number can be negative or not:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj hhubh literal_block)}(hWunsigned long u = simple_strtoul(buf, NULL, 10); long s = simple_strtol(buf, NULL, 10);h]hWunsigned long u = simple_strtoul(buf, NULL, 10); long s = simple_strtol(buf, NULL, 10);}hj sbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1j hhhMihj hhubh)}(hX?With buf being the buffer with the user input being passed by the kernel. Notice that we do not use the second argument of strto[u]l, and thus cannot tell when 0 is returned, if this was really 0 or is caused by invalid input. This is done deliberately as checking this everywhere would add a lot of code to the kernel.h]hX?With buf being the buffer with the user input being passed by the kernel. Notice that we do not use the second argument of strto[u]l, and thus cannot tell when 0 is returned, if this was really 0 or is caused by invalid input. This is done deliberately as checking this everywhere would add a lot of code to the kernel.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj hhubh)}(hNotice that it is important to always store the converted value in an unsigned long or long, so that no wrap around can happen before any further checking.h]hNotice that it is important to always store the converted value in an unsigned long or long, so that no wrap around can happen before any further checking.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj hhubh)}(hXpAfter the input string is converted to an (unsigned) long, the value should be checked if its acceptable. Be careful with further conversions on the value before checking it for validity, as these conversions could still cause a wrap around before the check. For example do not multiply the result, and only add/subtract if it has been divided before the add/subtract.h]hXpAfter the input string is converted to an (unsigned) long, the value should be checked if its acceptable. Be careful with further conversions on the value before checking it for validity, as these conversions could still cause a wrap around before the check. For example do not multiply the result, and only add/subtract if it has been divided before the add/subtract.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj hhubh)}(hXWhat to do if a value is found to be invalid, depends on the type of the sysfs attribute that is being set. If it is a continuous setting like a tempX_max or inX_max attribute, then the value should be clamped to its limits using clamp_val(value, min_limit, max_limit). If it is not continuous like for example a tempX_type, then when an invalid value is written, -EINVAL should be returned.h]hXWhat to do if a value is found to be invalid, depends on the type of the sysfs attribute that is being set. If it is a continuous setting like a tempX_max or inX_max attribute, then the value should be clamped to its limits using clamp_val(value, min_limit, max_limit). If it is not continuous like for example a tempX_type, then when an invalid value is written, -EINVAL should be returned.}(hj !hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj hhubh)}(hLExample1, temp1_max, register is a signed 8 bit value (-128 - 127 degrees)::h]hKExample1, temp1_max, register is a signed 8 bit value (-128 - 127 degrees):}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj )}(hdlong v = simple_strtol(buf, NULL, 10) / 1000; v = clamp_val(v, -128, 127); /* write v to register */h]hdlong v = simple_strtol(buf, NULL, 10) / 1000; v = clamp_val(v, -128, 127); /* write v to register */}hj(!sbah}(h]h ]h"]h$]h&]j j uh1j hhhMhj hhubh)}(h8Example2, fan divider setting, valid values 2, 4 and 8::h]h7Example2, fan divider setting, valid values 2, 4 and 8:}(hj6!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj )}(hunsigned long v = simple_strtoul(buf, NULL, 10); switch (v) { case 2: v = 1; break; case 4: v = 2; break; case 8: v = 3; break; default: return -EINVAL; } /* write v to register */h]hunsigned long v = simple_strtoul(buf, NULL, 10); switch (v) { case 2: v = 1; break; case 4: v = 2; break; case 8: v = 3; break; default: return -EINVAL; } /* write v to register */}hjD!sbah}(h]h ]h"]h$]h&]j j uh1j hhhMhj hhubeh}(h]%sysfs-attribute-writes-interpretationah ]h"]%sysfs attribute writes interpretationah$]h&]uh1hhhhhhhhMcubeh}(h]0naming-and-data-format-standards-for-sysfs-filesah ]h"]0naming and data format standards for sysfs filesah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj!error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehʌ _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j_!j\!j j j*j'jjj j j j jjjjjjjjjjj%j"jjj j jW!jT!u nametypes}(j_!j j*jj j jjjjjj%jj jW!uh}(j\!hj jmj'j#jj-j jj j jj jjjjjjjjj"jjj(j jjT!j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.