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:)}(hH`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?hhhKlhjubjY)}(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&]uh1j9hhhKlhj6hhubeh}(h]h ]h"]h$]h&]uh1j4hj#hhhhhNubeh}(h]global-attributesah ]h"]global attributesah$]h&]uh1hhjmhhhhhKaubh)}(hhh](h)}(hVoltagesh]hVoltages}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKpubj5)}(hhh](j:)}(h!`in[0-*]_min` Voltage min value. h](j@)}(h `in[0-*]_min`h]j)}(hjh]h in[0-*]_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKshj ubjY)}(hhh]h)}(hVoltage min value.h]hVoltage min value.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj$ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKshjubj:)}(h,`in[0-*]_lcrit` Voltage critical min value. h](j@)}(h`in[0-*]_lcrit`h]j)}(hjGh]h in[0-*]_lcrit}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjEubah}(h]h ]h"]h$]h&]uh1j?hhhKvhjAubjY)}(hhh]h)}(hVoltage critical min value.h]hVoltage critical min value.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhj\ubah}(h]h ]h"]h$]h&]uh1jXhjAubeh}(h]h ]h"]h$]h&]uh1j9hhhKvhjhhubj:)}(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 hj}ubah}(h]h ]h"]h$]h&]uh1j?hhhKyhjyubjY)}(hhh]h)}(hVoltage max value.h]hVoltage max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jXhjyubeh}(h]h ]h"]h$]h&]uh1j9hhhKyhjhhubj:)}(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?hhhK|hjubjY)}(hhh]h)}(hVoltage critical max value.h]hVoltage critical max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK|hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhK|hjhhubj:)}(h%`in[0-*]_input` Voltage input value. h](j@)}(h`in[0-*]_input`h]j)}(hjh]h in[0-*]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hVoltage input value.h]hVoltage input value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h"`in[0-*]_average` Average voltage h](j@)}(h`in[0-*]_average`h]j)}(hj'h]hin[0-*]_average}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj%ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj!ubjY)}(hhh]h)}(hAverage voltageh]hAverage voltage}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jXhj!ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h,`in[0-*]_lowest` Historical minimum voltage h](j@)}(h`in[0-*]_lowest`h]j)}(hj_h]hin[0-*]_lowest}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j hj]ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjYubjY)}(hhh]h)}(hHistorical minimum voltageh]hHistorical minimum voltage}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjtubah}(h]h ]h"]h$]h&]uh1jXhjYubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(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&]uh1j9hhhKhjhhubj:)}(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}(hjhhhNhNubah}(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&]uh1j9hhhKhjhhubj:)}(hD`in_reset_history` Reset inX_lowest and inX_highest for all sensors h](j@)}(h`in_reset_history`h]j)}(hjh]hin_reset_history}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(h0Reset inX_lowest and inX_highest for all sensorsh]h0Reset inX_lowest and inX_highest for all sensors}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h1`in[0-*]_label` Suggested voltage channel label. h](j@)}(h`in[0-*]_label`h]j)}(hj?h]h in[0-*]_label}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj=ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj9ubjY)}(hhh]h)}(h Suggested voltage channel label.h]h Suggested voltage channel label.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjTubah}(h]h ]h"]h$]h&]uh1jXhj9ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h0`in[0-*]_enable` Enable or disable the sensors. h](j@)}(h`in[0-*]_enable`h]j)}(hjwh]hin[0-*]_enable}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjuubah}(h]h ]h"]h$]h&]uh1j?hhhKhjqubjY)}(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&]uh1jXhjqubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(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&]uh1j9hhhKhjhhubj:)}(h/`vrm` Voltage Regulator Module version number. h](j@)}(h`vrm`h]j)}(hjh]hvrm}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h+`in[0-*]_rated_min` Minimum rated voltage. h](j@)}(h`in[0-*]_rated_min`h]j)}(hjh]hin[0-*]_rated_min}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hMinimum rated voltage.h]hMinimum rated voltage.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h+`in[0-*]_rated_max` Maximum rated voltage. h](j@)}(h`in[0-*]_rated_max`h]j)}(hjWh]hin[0-*]_rated_max}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjUubah}(h]h ]h"]h$]h&]uh1j?hhhKhjQubjY)}(hhh]h)}(hMaximum rated voltage.h]hMaximum rated voltage.}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjlubah}(h]h ]h"]h$]h&]uh1jXhjQubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubh)}(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&]uh1hhhhKhjhhubeh}(h]voltagesah ]h"]voltagesah$]h&]uh1hhjmhhhhhKpubh)}(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&]uh1hhhhKhjubah}(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)}(hjh]h fan[1-*]_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hFan maximum valueh]hFan maximum value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h"`fan[1-*]_input` Fan input value. h](j@)}(h`fan[1-*]_input`h]j)}(hj/h]hfan[1-*]_input}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj-ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj)ubjY)}(hhh]h)}(hFan input value.h]hFan input value.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1jXhj)ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h`fan[1-*]_div` Fan divisor. h](j@)}(h`fan[1-*]_div`h]j)}(hjgh]h fan[1-*]_div}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1j hjeubah}(h]h ]h"]h$]h&]uh1j?hhhKhjaubjY)}(hhh]h)}(h Fan divisor.h]h Fan divisor.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jXhjaubeh}(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)}(hjh]hfan[1-*]_target}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhKhjubjY)}(hhh]h)}(hDesired fan speedh]hDesired fan speed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h.`fan[1-*]_label` Suggested fan channel label. h](j@)}(h`fan[1-*]_label`h]j)}(hj h]hfan[1-*]_label}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj 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&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhKhjhhubj:)}(h1`fan[1-*]_enable` Enable or disable the sensors. h](j@)}(h`fan[1-*]_enable`h]j)}(hjG h]hfan[1-*]_enable}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjE ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjA 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&]uh1jXhjA 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.}(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-*]_mode` direct current or pulse-width modulation. h](j@)}(h`pwm[1-*]_mode`h]j)}(hj h]h pwm[1-*]_mode}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(h)direct current or pulse-width modulation.h]h)direct current or pulse-width modulation.}(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-*]_freq` Base PWM frequency in Hz. h](j@)}(h`pwm[1-*]_freq`h]j)}(hjW h]h pwm[1-*]_freq}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjU ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjQ ubjY)}(hhh]h)}(hBase PWM frequency in Hz.h]hBase PWM frequency in Hz.}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjl ubah}(h]h ]h"]h$]h&]uh1jXhjQ 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&]uh1hhhhKhj 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 hj" ubh / }(hj" hhhNhNubj)}(h `temp[1-*]_auto_point[1-*]_temp`h]htemp[1-*]_auto_point[1-*]_temp}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj" ubh / }hj" sbj)}(h%`temp[1-*]_auto_point[1-*]_temp_hyst`h]h#temp[1-*]_auto_point[1-*]_temp_hyst}(hjJ 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.}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj^ ubah}(h]h ]h"]h$]h&]uh1jXhj 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.}(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-*]_min` Temperature min value. h](j@)}(h`temp[1-*]_min`h]j)}(hj! h]h temp[1-*]_min}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhKhj ubjY)}(hhh]h)}(hTemperature min value.h]hTemperature min value.}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6 ubah}(h]h ]h"]h$]h&]uh1jXhj 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)}(hjY h]htemp[1-*]_max_hyst}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjW ubah}(h]h ]h"]h$]h&]uh1j?hhhKhjS ubjY)}(hhh]h)}(h+Temperature hysteresis value for max limit.h]h+Temperature hysteresis value for max limit.}(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-*]_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?hhhKhj ubjY)}(hhh]h)}(hTemperature input value.h]hTemperature 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:)}(hg`temp[1-*]_crit` Temperature critical max value, typically greater than corresponding temp_max values. h](j@)}(h`temp[1-*]_crit`h]j)}(hj h]htemp[1-*]_crit}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj 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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jXhj 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)}(hj9 h]htemp[1-*]_crit_hyst}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj7 ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj3 ubjY)}(hhh]h)}(h0Temperature hysteresis value for critical limit.h]h0Temperature hysteresis value for critical limit.}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjN ubah}(h]h ]h"]h$]h&]uh1jXhj3 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)}(hjq h]htemp[1-*]_emergency}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjo ubah}(h]h ]h"]h$]h&]uh1j?hhhMhjk 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&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jXhjk ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj 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?hhhM hj ubjY)}(hhh]h)}(h1Temperature hysteresis value for emergency limit.h]h1Temperature hysteresis value for emergency limit.}(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:)}(hf`temp[1-*]_lcrit` Temperature critical min value, typically lower than corresponding temp_min values. h](j@)}(h`temp[1-*]_lcrit`h]j)}(hj h]htemp[1-*]_lcrit}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj ubjY)}(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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(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)}(hjh]htemp[1-*]_lcrit_hyst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(h4Temperature hysteresis value for critical min limit.h]h4Temperature hysteresis value for critical min limit.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(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)}(hjQh]htemp[1-*]_offset}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j hjOubah}(h]h ]h"]h$]h&]uh1j?hhhMhjKubjY)}(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.}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jXhjKubeh}(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)}(hjh]htemp[1-*]_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hHistorical maximum temperatureh]hHistorical maximum temperature}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhj hhubj:)}(h=`temp[1-*]_reset_history` Reset temp_lowest and temp_highest h](j@)}(h`temp[1-*]_reset_history`h]j)}(hj1h]htemp[1-*]_reset_history}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj/ubah}(h]h ]h"]h$]h&]uh1j?hhhM!hj+ubjY)}(hhh]h)}(h"Reset temp_lowest and temp_highesth]h"Reset temp_lowest and temp_highest}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjFubah}(h]h ]h"]h$]h&]uh1jXhj+ubeh}(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)}(hjih]htemp_reset_history}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjgubah}(h]h ]h"]h$]h&]uh1j?hhhM$hjcubjY)}(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$hj~ubah}(h]h ]h"]h$]h&]uh1jXhjcubeh}(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*hjubjY)}(hhh]h)}(hMinimum rated temperature.h]hMinimum rated temperature.}(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_max` Maximum rated temperature. h](j@)}(h`temp[1-*]_rated_max`h]j)}(hjh]htemp[1-*]_rated_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhM-hj ubjY)}(hhh]h)}(hMaximum rated temperature.h]hMaximum 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 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.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj hhubh)}(hJAlso see the Alarms section for status flags associated with temperatures.h]hJAlso see the Alarms section for status flags associated with temperatures.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hj hhubeh}(h] temperaturesah ]h"] temperaturesah$]h&]uh1hhjmhhhhhKubh)}(hhh](h)}(hCurrentsh]hCurrents}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhhhhhM=ubj5)}(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?hhhM@hjubjY)}(hhh]h)}(hCurrent max value.h]hCurrent max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM@hj~ubj:)}(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?hhhMChjubjY)}(hhh]h)}(hCurrent min value.h]hCurrent min value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMChj~hhubj:)}(h-`curr[1-*]_lcrit` Current critical low value h](j@)}(h`curr[1-*]_lcrit`h]j)}(hjh]hcurr[1-*]_lcrit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMFhjubjY)}(hhh]h)}(hCurrent critical low valueh]hCurrent critical low value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhj ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMFhj~hhubj:)}(h.`curr[1-*]_crit` Current critical high value. h](j@)}(h`curr[1-*]_crit`h]j)}(hj/h]hcurr[1-*]_crit}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj-ubah}(h]h ]h"]h$]h&]uh1j?hhhMIhj)ubjY)}(hhh]h)}(hCurrent critical high value.h]hCurrent critical high value.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjDubah}(h]h ]h"]h$]h&]uh1jXhj)ubeh}(h]h ]h"]h$]h&]uh1j9hhhMIhj~hhubj:)}(h'`curr[1-*]_input` Current input value. h](j@)}(h`curr[1-*]_input`h]j)}(hjgh]hcurr[1-*]_input}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1j hjeubah}(h]h ]h"]h$]h&]uh1j?hhhMLhjaubjY)}(hhh]h)}(hCurrent input value.h]hCurrent input value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhj|ubah}(h]h ]h"]h$]h&]uh1jXhjaubeh}(h]h ]h"]h$]h&]uh1j9hhhMLhj~hhubj:)}(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?hhhMOhjubjY)}(hhh]h)}(hAverage current use.h]hAverage current use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMOhj~hhubj:)}(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 hjubah}(h]h ]h"]h$]h&]uh1j?hhhMRhjubjY)}(hhh]h)}(hHistorical minimum current.h]hHistorical minimum current.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMRhj~hhubj:)}(h0`curr[1-*]_highest` Historical maximum current. h](j@)}(h`curr[1-*]_highest`h]j)}(hjh]hcurr[1-*]_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhMUhj ubjY)}(hhh]h)}(hHistorical maximum current.h]hHistorical maximum current.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj$ubah}(h]h ]h"]h$]h&]uh1jXhj ubeh}(h]h ]h"]h$]h&]uh1j9hhhMUhj~hhubj:)}(hC`curr[1-*]_reset_history` Reset currX_lowest and currX_highest WO h](j@)}(h`curr[1-*]_reset_history`h]j)}(hjGh]hcurr[1-*]_reset_history}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjEubah}(h]h ]h"]h$]h&]uh1j?hhhMZhjAubjY)}(hhh](h)}(h$Reset currX_lowest and currX_highesth]h$Reset currX_lowest and currX_highest}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhj\ubh)}(hWOh]hWO}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj\ubeh}(h]h ]h"]h$]h&]uh1jXhjAubeh}(h]h ]h"]h$]h&]uh1j9hhhMZhj~hhubj:)}(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?hhhM]hjubjY)}(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&]uh1hhhhM]hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM]hj~hhubj:)}(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?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:)}(h-`curr[1-*]_rated_min` Minimum rated current. h](j@)}(h`curr[1-*]_rated_min`h]j)}(hjh]hcurr[1-*]_rated_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMchjubjY)}(hhh]h)}(hMinimum rated current.h]hMinimum rated current.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMchj~hhubj:)}(h-`curr[1-*]_rated_max` Maximum rated current. h](j@)}(h`curr[1-*]_rated_max`h]j)}(hj5h]hcurr[1-*]_rated_max}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj3ubah}(h]h ]h"]h$]h&]uh1j?hhhMfhj/ubjY)}(hhh]h)}(hMaximum rated current.h]hMaximum rated current.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjJubah}(h]h ]h"]h$]h&]uh1jXhj/ubeh}(h]h ]h"]h$]h&]uh1j9hhhMfhj~hhubeh}(h]h ]h"]h$]h&]uh1j4hjmhhhhhNubh)}(hFAlso see the Alarms section for status flags associated with currents.h]hFAlso see the Alarms section for status flags associated with currents.}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjmhhubeh}(h]currentsah ]h"]currentsah$]h&]uh1hhjmhhhhhM=ubh)}(hhh](h)}(hPowerh]hPower}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMlubj5)}(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?hhhMohjubjY)}(hhh]h)}(hAverage power use.h]hAverage power use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMohjubj:)}(h<`power[1-*]_average_interval` Power use averaging interval. h](j@)}(h`power[1-*]_average_interval`h]j)}(hjh]hpower[1-*]_average_interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMrhjubjY)}(hhh]h)}(hPower use averaging interval.h]hPower use averaging interval.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMrhjhhubj:)}(hH`power[1-*]_average_interval_max` Maximum power use averaging interval. h](j@)}(h!`power[1-*]_average_interval_max`h]j)}(hj h]hpower[1-*]_average_interval_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j?hhhMuhjubjY)}(hhh]h)}(h%Maximum power use averaging interval.h]h%Maximum power use averaging interval.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhj"ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMuhjhhubj:)}(hH`power[1-*]_average_interval_min` Minimum power use averaging interval. h](j@)}(h!`power[1-*]_average_interval_min`h]j)}(hjEh]hpower[1-*]_average_interval_min}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjCubah}(h]h ]h"]h$]h&]uh1j?hhhMxhj?ubjY)}(hhh]h)}(h%Minimum power use averaging interval.h]h%Minimum power use averaging interval.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjZubah}(h]h ]h"]h$]h&]uh1jXhj?ubeh}(h]h ]h"]h$]h&]uh1j9hhhMxhjhhubj:)}(hB`power[1-*]_average_highest` Historical average maximum power use h](j@)}(h`power[1-*]_average_highest`h]j)}(hj}h]hpower[1-*]_average_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj{ubah}(h]h ]h"]h$]h&]uh1j?hhhM{hjwubjY)}(hhh]h)}(h$Historical average maximum power useh]h$Historical average maximum power use}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1jXhjwubeh}(h]h ]h"]h$]h&]uh1j9hhhM{hjhhubj:)}(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?hhhM~hjubjY)}(hhh]h)}(h$Historical average minimum power useh]h$Historical average minimum power use}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM~hjhhubj:)}(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)}(hjh]hpower[1-*]_average_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(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 }(hjhhhNhNubj)}(h`power[1-*]_average`h]hpower[1-*]_average}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh' when power use rises above this value.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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)}(hj7h]hpower[1-*]_average_min}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj5ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj1ubjY)}(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 }(hjOhhhNhNubj)}(h`power[1-*]_average`h]hpower[1-*]_average}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjOubh' when power use sinks below this value.}(hjOhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jXhj1ubeh}(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?hhhMhj{ubjY)}(hhh]h)}(hInstantaneous power use.h]hInstantaneous power use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhj{ubeh}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuba.h}(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)}(hjh]hpower[1-*]_input_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hHistorical minimum power use.h]hHistorical minimum power use.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(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)}(hj)h]hpower[1-*]_reset_history}(hj+hhhNhNubah}(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.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(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)}(hjah]hpower[1-*]_accuracy}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1j hj_ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj[ubjY)}(hhh]h)}(hAccuracy of the power meter.h]hAccuracy of the power meter.}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jXhj[ubeh}(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)}(hjh]hpower[1-*]_cap_hyst}(hjhhhNhNubah}(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.}(hjhhhNhNubah}(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)}(hj h]hpower[1-*]_cap_max}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hMaximum cap that can be set.h]hMaximum cap that can be set.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(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)}(hjAh]hpower[1-*]_cap_min}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j hj?ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj;ubjY)}(hhh]h)}(hMinimum cap that can be set.h]hMinimum 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:)}(h `power[1-*]_max` Maximum power. h](j@)}(h`power[1-*]_max`h]j)}(hjyh]hpower[1-*]_max}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjwubah}(h]h ]h"]h$]h&]uh1j?hhhMhjsubjY)}(hhh]h)}(hMaximum power.h]hMaximum power.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjsubeh}(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}(hjhhhNhNubah}(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)}(hjh]hpower[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhj ubjY)}(hhh](h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubh)}(h3When disabled the sensor read will return -ENODATA.h]h3When disabled the sensor read will return -ENODATA.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubh bullet_list)}(hhh](h list_item)}(h 1: Enableh]h)}(hjPh]h 1: Enable}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jLhjIubjM)}(h 0: Disable h]h)}(h 0: Disableh]h 0: Disable}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jLhjIubeh}(h]h ]h"]h$]h&]bullet-uh1jGhhhMhj(ubh)}(hRWh]hRW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubeh}(h]h ]h"]h$]h&]uh1jXhj ubeh}(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)}(hjh]hpower[1-*]_rated_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh](h)}(hMaximum rated power.h]hMaximum rated power.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hUnit: microWatth]hUnit: microWatt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hROh]hRO}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jXhjubeh}(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.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]powerah ]h"]powerah$]h&]uh1hhjmhhhhhMlubh)}(hhh](h)}(hEnergyh]hEnergy}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchhhhhMubj5)}(hhh](j:)}(h@`energy[1-*]_input` Cumulative energy use Unit: microJoule RO h](j@)}(h`energy[1-*]_input`h]j)}(hj}h]henergy[1-*]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj{ubah}(h]h ]h"]h$]h&]uh1j?hhhMhjwubjY)}(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&]uh1jXhjwubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjtubj:)}(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)}(hjh]henergy[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&]uh1hhhhMhjubh)}(h3When disabled the sensor read will return -ENODATA.h]h3When disabled the sensor read will return -ENODATA.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubjH)}(hhh](jM)}(h 1: Enableh]h)}(hj h]h 1: Enable}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jLhjubjM)}(h 0: Disable h]h)}(h 0: Disableh]h 0: Disable}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]jjuh1jGhhhMhjubh)}(hRWh]hRW}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjthhubeh}(h]h ]h"]h$]h&]uh1j4hjchhhhhNubeh}(h]energyah ]h"]energyah$]h&]uh1hhjmhhhhhMubh)}(hhh](h)}(hHumidityh]hHumidity}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjehhhhhMubj5)}(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 hj}ubah}(h]h ]h"]h$]h&]uh1j?hhhMhjyubjY)}(hhh]h)}(h Humidity.h]h Humidity.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjyubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjvubj:)}(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&]uh1j9hhhMhjvhhubj:)}(h2`humidity[1-*]_rated_min` Minimum rated humidity. h](j@)}(h`humidity[1-*]_rated_min`h]j)}(hjh]hhumidity[1-*]_rated_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMhjubjY)}(hhh]h)}(hMinimum rated humidity.h]hMinimum rated humidity.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjvhhubj:)}(h2`humidity[1-*]_rated_max` Maximum rated humidity. h](j@)}(h`humidity[1-*]_rated_max`h]j)}(hj'h]hhumidity[1-*]_rated_max}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj%ubah}(h]h ]h"]h$]h&]uh1j?hhhMhj!ubjY)}(hhh]h)}(hMaximum rated humidity.h]hMaximum rated humidity.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jXhj!ubeh}(h]h ]h"]h$]h&]uh1j9hhhMhjvhhubeh}(h]h ]h"]h$]h&]uh1j4hjehhhhhNubeh}(h]humidityah ]h"]humidityah$]h&]uh1hhjmhhhhhMubh)}(hhh](h)}(hAlarmsh]hAlarms}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjghhhhhMubh)}(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.}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjghhubh)}(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&]uh1hhhhMhjghhubj)}(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](jH)}(hhh](jM)}(h 0: no alarmh]h)}(hjh]h 0: no alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jLhjubjM)}(h 1: alarm h]h)}(h1: alarmh]h1: alarm}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]jjuh1jGhhhMhjubh)}(hROh]hRO}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(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&]uh1jhjghhhhhNubh)}(h**OR**h]j)}(hjZh]hOR}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1hhhhM hjghhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjrubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjrubj)}(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&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](h)}(h Limit alarmh]h Limit alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubj)}(h- 0: no alarm - 1: alarm h]jH)}(hhh](jM)}(h 0: no alarmh]h)}(hjh]h 0: no alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jLhjubjM)}(h 1: alarm h]h)}(h1: alarmh]h1: alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]jjuh1jGhhhMhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjubh)}(hROh]hRO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]colsKuh1jhjoubah}(h]h ]h"]h$]h&]uh1jhjghhhhhNubh)}(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.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjghhubj5)}(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}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjDubh / }(hjDhhhNhNubj)}(h`temp[1-*]_fault`h]htemp[1-*]_fault}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjDubeh}(h]h ]h"]h$]h&]uh1j?hhhM&hj@ubjY)}(hhh]h)}(hInput fault condition.h]hInput fault condition.}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjnubah}(h]h ]h"]h$]h&]uh1jXhj@ubeh}(h]h ]h"]h$]h&]uh1j9hhhM&hj=ubah}(h]h ]h"]h$]h&]uh1j4hjghhhhhNubh)}(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(hjghhubj5)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh, }hjsbj)}(h`fan[1-*]_beep`h]h fan[1-*]_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh, }hjsbj)}(h`temp[1-*]_beep`h]htemp[1-*]_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh,}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j?hhhM.hjubjY)}(hhh]h)}(h Channel beep.h]h Channel beep.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hj0ubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhM.hjhhubeh}(h]h ]h"]h$]h&]uh1j4hjghhhhhNubh)}(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.}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjghhubh)}(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:}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjghhubj5)}(hhh](j:)}(h`alarms` Alarm bitmask. h](j@)}(h`alarms`h]j)}(hjxh]halarms}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjvubah}(h]h ]h"]h$]h&]uh1j?hhhM8hjrubjY)}(hhh]h)}(hAlarm bitmask.h]hAlarm bitmask.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jXhjrubeh}(h]h ]h"]h$]h&]uh1j9hhhM8hjoubj:)}(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<hjohhubeh}(h]h ]h"]h$]h&]uh1j4hjghhhhhNubeh}(h]alarmsah ]h"]alarmsah$]h&]uh1hhjmhhhhhMubh)}(hhh](h)}(hIntrusion detectionh]hIntrusion detection}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhM@ubj5)}(hhh](j:)}(h4`intrusion[0-*]_alarm` Chassis intrusion detection. h](j@)}(h`intrusion[0-*]_alarm`h]j)}(hj h]hintrusion[0-*]_alarm}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j?hhhMChjubjY)}(hhh]h)}(hChassis intrusion detection.h]hChassis intrusion detection.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jXhjubeh}(h]h ]h"]h$]h&]uh1j9hhhMChjubj:)}(h.`intrusion[0-*]_beep` Chassis intrusion beep. h](j@)}(h`intrusion[0-*]_beep`h]j)}(hjBh]hintrusion[0-*]_beep}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj@ubah}(h]h ]h"]h$]h&]uh1j?hhhMFhj<ubjY)}(hhh]h)}(hChassis intrusion beep.h]hChassis intrusion beep.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjWubah}(h]h ]h"]h$]h&]uh1jXhj<ubeh}(h]h ]h"]h$]h&]uh1j9hhhMFhjhhubeh}(h]h ]h"]h$]h&]uh1j4hjhhhhhNubeh}(h]intrusion-detectionah ]h"]intrusion detectionah$]h&]uh1hhjmhhhhhM@ubh)}(hhh](h)}(hAverage sample configurationh]hAverage sample configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMJubh)}(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&]uh1hhhhMLhjhhubj)}(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&]uh1hhhhMPhjubah}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjubh)}(hRWh]hRW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubeh}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj 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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj 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.}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj ubh)}(hRWh]hRW}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj 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&]uh1hhjmhhhhhMJubeh}(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&]uh1hhjy hhhhhM_ubh)}(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&]uh1hhhhMahjy 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 hhhMehjy 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&]uh1hhhhMhhjy 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&]uh1hhhhMnhjy 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&]uh1hhhhMrhjy 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&]uh1hhhhMxhjy 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&]uh1hhhhMhjy 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 hhhMhjy hhubh)}(h8Example2, fan divider setting, valid values 2, 4 and 8::h]h7Example2, fan divider setting, valid values 2, 4 and 8:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjy 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 */}hj !sbah}(h]h ]h"]h$]h&]j j uh1j hhhMhjy hhubeh}(h]%sysfs-attribute-writes-interpretationah ]h"]%sysfs attribute writes interpretationah$]h&]uh1hhhhhhhhM_ubeh}(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_handlerjL!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$!jv js jjjjj j j j jjjgjj}j`j]jbj_jdjajjjj|jn jk j!j!u nametypes}(j'!jv jjj j jjjj`jbjdjjjn j!uh}(j$!hjs jmjj#jjj jj j jgj j}jmj]jj_jcjajejjgj|jjk jj!jy 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.