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]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 }(hhhhhNhNubhtitle_reference)}(h`/sys/class/hwmon/hwmon*`h]h/sys/class/hwmon/hwmon*}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh.}(hhhhhNhNubeh}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hhhhubh)}(h)All sysfs values are fixed point numbers.h]h)All sysfs values are fixed point numbers.}(hj!hhhNhNubah}(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.}(hj/hhhNhNubah}(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.}(hj=hhhNhNubah}(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.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hhhhubh)}(hhh](h)}(hAttribute accessh]hAttribute access}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYhhhhhKEubh)}(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.}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjYhhubh transition)}(hI-------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1jxhhhKLhjYhhubhtable)}(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]h)}(hjh]h[0-*]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(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]h)}(hjh]h[1-*]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hROh]hRO}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj0ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hread only valueh]hread only value}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjGubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hWOh]hWO}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjgubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hwrite only valueh]hwrite only value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj~ubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(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&]uh1jhjYhhhhhNubh)}(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&]uh1hhhhKVhjYhhubh)}(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&]uh1hhhhKYhjYhhubh)}(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\hjYhhubh)}(hhh](h)}(hGlobal attributesh]hGlobal attributes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKaubhdefinition_list)}(hhh](hdefinition_list_item)}(h`name` The chip name. h](hterm)}(h`name`h]h)}(hj/h]hname}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1j+hhhKdhj'ubh definition)}(hhh]h)}(hThe chip name.h]hThe chip name.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjFubah}(h]h ]h"]h$]h&]uh1jDhj'ubeh}(h]h ]h"]h$]h&]uh1j%hhhKdhj"ubj&)}(hY`label` A descriptive label that allows to uniquely identify a device within the system. h](j,)}(h`label`h]h)}(hjih]hlabel}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1j+hhhKhhjcubjE)}(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&]uh1hhhhKghj~ubah}(h]h ]h"]h$]h&]uh1jDhjcubeh}(h]h ]h"]h$]h&]uh1j%hhhKhhj"hhubj&)}(hH`update_interval` The interval at which the chip will update readings. h](j,)}(h`update_interval`h]h)}(hjh]hupdate_interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKlhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKlhj"hhubeh}(h]h ]h"]h$]h&]uh1j hjhhhhhNubeh}(h]global-attributesah ]h"]global attributesah$]h&]uh1hhjYhhhhhKaubh)}(hhh](h)}(hVoltagesh]hVoltages}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKpubj!)}(hhh](j&)}(h!`in[0-*]_min` Voltage min value. h](j,)}(h `in[0-*]_min`h]h)}(hjh]h in[0-*]_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKshjubjE)}(hhh]h)}(hVoltage min value.h]hVoltage min value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKshjubj&)}(h,`in[0-*]_lcrit` Voltage critical min value. h](j,)}(h`in[0-*]_lcrit`h]h)}(hj3h]h in[0-*]_lcrit}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1j+hhhKvhj-ubjE)}(hhh]h)}(hVoltage critical min value.h]hVoltage critical min value.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjHubah}(h]h ]h"]h$]h&]uh1jDhj-ubeh}(h]h ]h"]h$]h&]uh1j%hhhKvhjhhubj&)}(h!`in[0-*]_max` Voltage max value. h](j,)}(h `in[0-*]_max`h]h)}(hjkh]h in[0-*]_max}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1j+hhhKyhjeubjE)}(hhh]h)}(hVoltage max value.h]hVoltage max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jDhjeubeh}(h]h ]h"]h$]h&]uh1j%hhhKyhjhhubj&)}(h+`in[0-*]_crit` Voltage critical max value. h](j,)}(h`in[0-*]_crit`h]h)}(hjh]h in[0-*]_crit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhK|hjubjE)}(hhh]h)}(hVoltage critical max value.h]hVoltage critical max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK|hjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhK|hjhhubj&)}(h%`in[0-*]_input` Voltage input value. h](j,)}(h`in[0-*]_input`h]h)}(hjh]h in[0-*]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(hhh]h)}(hVoltage input value.h]hVoltage input value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h"`in[0-*]_average` Average voltage h](j,)}(h`in[0-*]_average`h]h)}(hjh]hin[0-*]_average}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(hhh]h)}(hAverage voltageh]hAverage voltage}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h,`in[0-*]_lowest` Historical minimum voltage h](j,)}(h`in[0-*]_lowest`h]h)}(hjKh]hin[0-*]_lowest}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1j+hhhKhjEubjE)}(hhh]h)}(hHistorical minimum voltageh]hHistorical minimum voltage}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj`ubah}(h]h ]h"]h$]h&]uh1jDhjEubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h-`in[0-*]_highest` Historical maximum voltage h](j,)}(h`in[0-*]_highest`h]h)}(hjh]hin[0-*]_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhj}ubjE)}(hhh]h)}(hHistorical maximum voltageh]hHistorical maximum voltage}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jDhj}ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h9`in[0-*]_reset_history` Reset inX_lowest and inX_highest h](j,)}(h`in[0-*]_reset_history`h]h)}(hjh]hin[0-*]_reset_history}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(hD`in_reset_history` Reset inX_lowest and inX_highest for all sensors h](j,)}(h`in_reset_history`h]h)}(hjh]hin_reset_history}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(hhh]h)}(h0Reset inX_lowest and inX_highest for all sensorsh]h0Reset inX_lowest and inX_highest for all sensors}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h1`in[0-*]_label` Suggested voltage channel label. h](j,)}(h`in[0-*]_label`h]h)}(hj+h]h in[0-*]_label}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj%ubjE)}(hhh]h)}(h Suggested voltage channel label.h]h Suggested voltage channel label.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1jDhj%ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h0`in[0-*]_enable` Enable or disable the sensors. h](j,)}(h`in[0-*]_enable`h]h)}(hjch]hin[0-*]_enable}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1j+hhhKhj]ubjE)}(hhh]h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjxubah}(h]h ]h"]h$]h&]uh1jDhj]ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h+`cpu[0-*]_vid` CPU core reference voltage. h](j,)}(h`cpu[0-*]_vid`h]h)}(hjh]h cpu[0-*]_vid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(hhh]h)}(hCPU core reference voltage.h]hCPU core reference voltage.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h/`vrm` Voltage Regulator Module version number. h](j,)}(h`vrm`h]h)}(hjh]hvrm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h+`in[0-*]_rated_min` Minimum rated voltage. h](j,)}(h`in[0-*]_rated_min`h]h)}(hj h]hin[0-*]_rated_min}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(hhh]h)}(hMinimum rated voltage.h]hMinimum rated voltage.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h+`in[0-*]_rated_max` Maximum rated voltage. h](j,)}(h`in[0-*]_rated_max`h]h)}(hjCh]hin[0-*]_rated_max}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1j+hhhKhj=ubjE)}(hhh]h)}(hMaximum rated voltage.h]hMaximum rated voltage.}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjXubah}(h]h ]h"]h$]h&]uh1jDhj=ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubeh}(h]h ]h"]h$]h&]uh1j hjhhhhhNubh)}(hFAlso see the Alarms section for status flags associated with voltages.h]hFAlso see the Alarms section for status flags associated with voltages.}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]voltagesah ]h"]voltagesah$]h&]uh1hhjYhhhhhKpubh)}(hhh](h)}(hFansh]hFans}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubj!)}(hhh](j&)}(h!`fan[1-*]_min` Fan minimum value h](j,)}(h`fan[1-*]_min`h]h)}(hjh]h fan[1-*]_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(hhh]h)}(hFan minimum valueh]hFan minimum value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjubj&)}(h!`fan[1-*]_max` Fan maximum value h](j,)}(h`fan[1-*]_max`h]h)}(hjh]h fan[1-*]_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(hhh]h)}(hFan maximum valueh]hFan maximum value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h"`fan[1-*]_input` Fan input value. h](j,)}(h`fan[1-*]_input`h]h)}(hjh]hfan[1-*]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(hhh]h)}(hFan input value.h]hFan input value.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h`fan[1-*]_div` Fan divisor. h](j,)}(h`fan[1-*]_div`h]h)}(hjSh]h fan[1-*]_div}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1j+hhhKhjMubjE)}(hhh]h)}(h Fan divisor.h]h Fan divisor.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhubah}(h]h ]h"]h$]h&]uh1jDhjMubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(hB`fan[1-*]_pulses` Number of tachometer pulses per fan revolution. h](j,)}(h`fan[1-*]_pulses`h]h)}(hjh]hfan[1-*]_pulses}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h$`fan[1-*]_target` Desired fan speed h](j,)}(h`fan[1-*]_target`h]h)}(hjh]hfan[1-*]_target}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(hhh]h)}(hDesired fan speedh]hDesired fan speed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h.`fan[1-*]_label` Suggested fan channel label. h](j,)}(h`fan[1-*]_label`h]h)}(hjh]hfan[1-*]_label}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhKhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubj&)}(h1`fan[1-*]_enable` Enable or disable the sensors. h](j,)}(h`fan[1-*]_enable`h]h)}(hj3 h]hfan[1-*]_enable}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1 ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj- ubjE)}(hhh]h)}(hEnable or disable the sensors.h]hEnable or disable the sensors.}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjH ubah}(h]h ]h"]h$]h&]uh1jDhj- ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhjhhubeh}(h]h ]h"]h$]h&]uh1j hjhhhhhNubh)}(hBAlso see the Alarms section for status flags associated with fans.h]hBAlso see the Alarms section for status flags associated with fans.}(hjk hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]fansah ]h"]fansah$]h&]uh1hhjYhhhhhKubh)}(hhh](h)}(hPWMh]hPWM}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubj!)}(hhh](j&)}(h/`pwm[1-*]` Pulse width modulation fan control. h](j,)}(h `pwm[1-*]`h]h)}(hj h]hpwm[1-*]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(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&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj ubj&)}(h,`pwm[1-*]_enable` Fan speed control method. h](j,)}(h`pwm[1-*]_enable`h]h)}(hj h]hpwm[1-*]_enable}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(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&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj hhubj&)}(h:`pwm[1-*]_mode` direct current or pulse-width modulation. h](j,)}(h`pwm[1-*]_mode`h]h)}(hj h]h pwm[1-*]_mode}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(hhh]h)}(h)direct current or pulse-width modulation.h]h)direct current or pulse-width modulation.}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj hhubj&)}(h*`pwm[1-*]_freq` Base PWM frequency in Hz. h](j,)}(h`pwm[1-*]_freq`h]h)}(hjC h]h pwm[1-*]_freq}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjA ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj= ubjE)}(hhh]h)}(hBase PWM frequency in Hz.h]hBase PWM frequency in Hz.}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjX ubah}(h]h ]h"]h$]h&]uh1jDhj= ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj 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]h)}(hj{ h]hpwm[1-*]_auto_channels_temp}(hj} hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjy ubah}(h]h ]h"]h$]h&]uh1j+hhhKhju ubjE)}(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&]uh1jDhju ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj 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](h)}(h`pwm[1-*]_auto_point[1-*]_pwm`h]hpwm[1-*]_auto_point[1-*]_pwm}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh / }(hj hhhNhNubh)}(h`pwm[1-*]_auto_point[1-*]_temp`h]hpwm[1-*]_auto_point[1-*]_temp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh / }hj sbh)}(h$`pwm[1-*]_auto_point[1-*]_temp_hyst`h]h"pwm[1-*]_auto_point[1-*]_temp_hyst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(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&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj 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](h)}(h`temp[1-*]_auto_point[1-*]_pwm`h]htemp[1-*]_auto_point[1-*]_pwm}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh / }(hj hhhNhNubh)}(h `temp[1-*]_auto_point[1-*]_temp`h]htemp[1-*]_auto_point[1-*]_temp}(hj$ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh / }hj sbh)}(h%`temp[1-*]_auto_point[1-*]_temp_hyst`h]h#temp[1-*]_auto_point[1-*]_temp_hyst}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(hhh]h)}(h$Define the PWM vs temperature curve.h]h$Define the PWM vs temperature curve.}(hjM hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjJ ubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj hhubeh}(h]h ]h"]h$]h&]uh1j hj 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.}(hjm hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]pwmah ]h"]pwmah$]h&]uh1hhjYhhhhhKubh)}(hhh](h)}(h Temperaturesh]h Temperatures}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubj!)}(hhh](j&)}(h(`temp[1-*]_type` Sensor type selection. h](j,)}(h`temp[1-*]_type`h]h)}(hj h]htemp[1-*]_type}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(hhh]h)}(hSensor type selection.h]hSensor type selection.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj ubj&)}(h'`temp[1-*]_max` Temperature max value. h](j,)}(h`temp[1-*]_max`h]h)}(hj h]h temp[1-*]_max}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(hhh]h)}(hTemperature max value.h]hTemperature max value.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj hhubj&)}(h'`temp[1-*]_min` Temperature min value. h](j,)}(h`temp[1-*]_min`h]h)}(hj h]h temp[1-*]_min}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(hhh]h)}(hTemperature min value.h]hTemperature min value.}(hj% hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj" ubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj hhubj&)}(hA`temp[1-*]_max_hyst` Temperature hysteresis value for max limit. h](j,)}(h`temp[1-*]_max_hyst`h]h)}(hjE h]htemp[1-*]_max_hyst}(hjG hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj? ubjE)}(hhh]h)}(h+Temperature hysteresis value for max limit.h]h+Temperature hysteresis value for max limit.}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjZ ubah}(h]h ]h"]h$]h&]uh1jDhj? ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj hhubj&)}(hA`temp[1-*]_min_hyst` Temperature hysteresis value for min limit. h](j,)}(h`temp[1-*]_min_hyst`h]h)}(hj} h]htemp[1-*]_min_hyst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{ ubah}(h]h ]h"]h$]h&]uh1j+hhhKhjw ubjE)}(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&]uh1jDhjw ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj hhubj&)}(h+`temp[1-*]_input` Temperature input value. h](j,)}(h`temp[1-*]_input`h]h)}(hj h]htemp[1-*]_input}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhKhj ubjE)}(hhh]h)}(hTemperature input value.h]hTemperature input value.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhKhj hhubj&)}(hg`temp[1-*]_crit` Temperature critical max value, typically greater than corresponding temp_max values. h](j,)}(h`temp[1-*]_crit`h]h)}(hj h]htemp[1-*]_crit}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhMhj ubjE)}(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&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj hhubj&)}(hG`temp[1-*]_crit_hyst` Temperature hysteresis value for critical limit. h](j,)}(h`temp[1-*]_crit_hyst`h]h)}(hj% h]htemp[1-*]_crit_hyst}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj# ubah}(h]h ]h"]h$]h&]uh1j+hhhMhj ubjE)}(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&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj 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]h)}(hj] h]htemp[1-*]_emergency}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ ubah}(h]h ]h"]h$]h&]uh1j+hhhMhjW ubjE)}(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.}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjr ubah}(h]h ]h"]h$]h&]uh1jDhjW ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj hhubj&)}(hM`temp[1-*]_emergency_hyst` Temperature hysteresis value for emergency limit. h](j,)}(h`temp[1-*]_emergency_hyst`h]h)}(hj h]htemp[1-*]_emergency_hyst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhM hj ubjE)}(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&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhM hj hhubj&)}(hf`temp[1-*]_lcrit` Temperature critical min value, typically lower than corresponding temp_min values. h](j,)}(h`temp[1-*]_lcrit`h]h)}(hj h]htemp[1-*]_lcrit}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hhhMhj ubjE)}(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&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj hhubj&)}(hL`temp[1-*]_lcrit_hyst` Temperature hysteresis value for critical min limit. h](j,)}(h`temp[1-*]_lcrit_hyst`h]h)}(hjh]htemp[1-*]_lcrit_hyst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhj ubjE)}(hhh]h)}(h4Temperature hysteresis value for critical min limit.h]h4Temperature hysteresis value for critical min limit.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj hhubj&)}(h]`temp[1-*]_offset` Temperature offset which is added to the temperature reading by the chip. h](j,)}(h`temp[1-*]_offset`h]h)}(hj=h]htemp[1-*]_offset}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1j+hhhMhj7ubjE)}(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.}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jDhj7ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj hhubj&)}(h7`temp[1-*]_label` Suggested temperature channel label. h](j,)}(h`temp[1-*]_label`h]h)}(hjuh]htemp[1-*]_label}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1j+hhhMhjoubjE)}(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&]uh1jDhjoubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj hhubj&)}(h2`temp[1-*]_lowest` Historical minimum temperature h](j,)}(h`temp[1-*]_lowest`h]h)}(hjh]htemp[1-*]_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(hhh]h)}(hHistorical minimum temperatureh]hHistorical minimum temperature}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj hhubj&)}(h3`temp[1-*]_highest` Historical maximum temperature h](j,)}(h`temp[1-*]_highest`h]h)}(hjh]htemp[1-*]_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(hhh]h)}(hHistorical maximum temperatureh]hHistorical maximum temperature}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj hhubj&)}(h=`temp[1-*]_reset_history` Reset temp_lowest and temp_highest h](j,)}(h`temp[1-*]_reset_history`h]h)}(hjh]htemp[1-*]_reset_history}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhM!hjubjE)}(hhh]h)}(h"Reset temp_lowest and temp_highesth]h"Reset temp_lowest and temp_highest}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hj2ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM!hj hhubj&)}(hH`temp_reset_history` Reset temp_lowest and temp_highest for all sensors h](j,)}(h`temp_reset_history`h]h)}(hjUh]htemp_reset_history}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1j+hhhM$hjOubjE)}(hhh]h)}(h2Reset temp_lowest and temp_highest for all sensorsh]h2Reset temp_lowest and temp_highest for all sensors}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjjubah}(h]h ]h"]h$]h&]uh1jDhjOubeh}(h]h ]h"]h$]h&]uh1j%hhhM$hj hhubj&)}(h2`temp[1-*]_enable` Enable or disable the sensors. h](j,)}(h`temp[1-*]_enable`h]h)}(hjh]htemp[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhM'hjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM'hj hhubj&)}(h1`temp[1-*]_rated_min` Minimum rated temperature. h](j,)}(h`temp[1-*]_rated_min`h]h)}(hjh]htemp[1-*]_rated_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhM*hjubjE)}(hhh]h)}(hMinimum rated temperature.h]hMinimum rated temperature.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM*hj hhubj&)}(h1`temp[1-*]_rated_max` Maximum rated temperature. h](j,)}(h`temp[1-*]_rated_max`h]h)}(hjh]htemp[1-*]_rated_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhM-hjubjE)}(hhh]h)}(hMaximum rated temperature.h]hMaximum rated temperature.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM-hj hhubeh}(h]h ]h"]h$]h&]uh1j hj 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.}(hj5hhhNhNubah}(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.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hj hhubeh}(h] temperaturesah ]h"] temperaturesah$]h&]uh1hhjYhhhhhKubh)}(hhh](h)}(hCurrentsh]hCurrents}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYhhhhhM=ubj!)}(hhh](j&)}(h#`curr[1-*]_max` Current max value. h](j,)}(h`curr[1-*]_max`h]h)}(hjsh]h curr[1-*]_max}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubah}(h]h ]h"]h$]h&]uh1j+hhhM@hjmubjE)}(hhh]h)}(hCurrent max value.h]hCurrent max value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjubah}(h]h ]h"]h$]h&]uh1jDhjmubeh}(h]h ]h"]h$]h&]uh1j%hhhM@hjjubj&)}(h#`curr[1-*]_min` Current min value. h](j,)}(h`curr[1-*]_min`h]h)}(hjh]h curr[1-*]_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMChjubjE)}(hhh]h)}(hCurrent min value.h]hCurrent min value.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMChjjhhubj&)}(h-`curr[1-*]_lcrit` Current critical low value h](j,)}(h`curr[1-*]_lcrit`h]h)}(hjh]hcurr[1-*]_lcrit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMFhjubjE)}(hhh]h)}(hCurrent critical low valueh]hCurrent critical low value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMFhjjhhubj&)}(h.`curr[1-*]_crit` Current critical high value. h](j,)}(h`curr[1-*]_crit`h]h)}(hjh]hcurr[1-*]_crit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMIhjubjE)}(hhh]h)}(hCurrent critical high value.h]hCurrent critical high value.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhj0ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMIhjjhhubj&)}(h'`curr[1-*]_input` Current input value. h](j,)}(h`curr[1-*]_input`h]h)}(hjSh]hcurr[1-*]_input}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1j+hhhMLhjMubjE)}(hhh]h)}(hCurrent input value.h]hCurrent input value.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjhubah}(h]h ]h"]h$]h&]uh1jDhjMubeh}(h]h ]h"]h$]h&]uh1j%hhhMLhjjhhubj&)}(h)`curr[1-*]_average` Average current use. h](j,)}(h`curr[1-*]_average`h]h)}(hjh]hcurr[1-*]_average}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMOhjubjE)}(hhh]h)}(hAverage current use.h]hAverage current use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMOhjjhhubj&)}(h/`curr[1-*]_lowest` Historical minimum current. h](j,)}(h`curr[1-*]_lowest`h]h)}(hjh]hcurr[1-*]_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMRhjubjE)}(hhh]h)}(hHistorical minimum current.h]hHistorical minimum current.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMRhjjhhubj&)}(h0`curr[1-*]_highest` Historical maximum current. h](j,)}(h`curr[1-*]_highest`h]h)}(hjh]hcurr[1-*]_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMUhjubjE)}(hhh]h)}(hHistorical maximum current.h]hHistorical maximum current.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMUhjjhhubj&)}(hC`curr[1-*]_reset_history` Reset currX_lowest and currX_highest WO h](j,)}(h`curr[1-*]_reset_history`h]h)}(hj3h]hcurr[1-*]_reset_history}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1j+hhhMZhj-ubjE)}(hhh](h)}(h$Reset currX_lowest and currX_highesth]h$Reset currX_lowest and currX_highest}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjHubh)}(hWOh]hWO}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhjHubeh}(h]h ]h"]h$]h&]uh1jDhj-ubeh}(h]h ]h"]h$]h&]uh1j%hhhMZhjjhhubj&)}(hK`curr_reset_history` Reset currX_lowest and currX_highest for all sensors. h](j,)}(h`curr_reset_history`h]h)}(hjyh]hcurr_reset_history}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1j+hhhM]hjsubjE)}(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&]uh1jDhjsubeh}(h]h ]h"]h$]h&]uh1j%hhhM]hjjhhubj&)}(h2`curr[1-*]_enable` Enable or disable the sensors. h](j,)}(h`curr[1-*]_enable`h]h)}(hjh]hcurr[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhM`hjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM`hjjhhubj&)}(h-`curr[1-*]_rated_min` Minimum rated current. h](j,)}(h`curr[1-*]_rated_min`h]h)}(hjh]hcurr[1-*]_rated_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMchjubjE)}(hhh]h)}(hMinimum rated current.h]hMinimum rated current.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMchjjhhubj&)}(h-`curr[1-*]_rated_max` Maximum rated current. h](j,)}(h`curr[1-*]_rated_max`h]h)}(hj!h]hcurr[1-*]_rated_max}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMfhjubjE)}(hhh]h)}(hMaximum rated current.h]hMaximum rated current.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj6ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMfhjjhhubeh}(h]h ]h"]h$]h&]uh1j hjYhhhhhNubh)}(hFAlso see the Alarms section for status flags associated with currents.h]hFAlso see the Alarms section for status flags associated with currents.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjYhhubeh}(h]currentsah ]h"]currentsah$]h&]uh1hhjYhhhhhM=ubh)}(hhh](h)}(hPowerh]hPower}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjohhhhhMlubj!)}(hhh](j&)}(h(`power[1-*]_average` Average power use. h](j,)}(h`power[1-*]_average`h]h)}(hjh]hpower[1-*]_average}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMohjubjE)}(hhh]h)}(hAverage power use.h]hAverage power use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMohjubj&)}(h<`power[1-*]_average_interval` Power use averaging interval. h](j,)}(h`power[1-*]_average_interval`h]h)}(hjh]hpower[1-*]_average_interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMrhjubjE)}(hhh]h)}(hPower use averaging interval.h]hPower use averaging interval.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMrhjhhubj&)}(hH`power[1-*]_average_interval_max` Maximum power use averaging interval. h](j,)}(h!`power[1-*]_average_interval_max`h]h)}(hjh]hpower[1-*]_average_interval_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMuhjubjE)}(hhh]h)}(h%Maximum power use averaging interval.h]h%Maximum power use averaging interval.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMuhjhhubj&)}(hH`power[1-*]_average_interval_min` Minimum power use averaging interval. h](j,)}(h!`power[1-*]_average_interval_min`h]h)}(hj1h]hpower[1-*]_average_interval_min}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1j+hhhMxhj+ubjE)}(hhh]h)}(h%Minimum power use averaging interval.h]h%Minimum power use averaging interval.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjFubah}(h]h ]h"]h$]h&]uh1jDhj+ubeh}(h]h ]h"]h$]h&]uh1j%hhhMxhjhhubj&)}(hB`power[1-*]_average_highest` Historical average maximum power use h](j,)}(h`power[1-*]_average_highest`h]h)}(hjih]hpower[1-*]_average_highest}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1j+hhhM{hjcubjE)}(hhh]h)}(h$Historical average maximum power useh]h$Historical average maximum power use}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj~ubah}(h]h ]h"]h$]h&]uh1jDhjcubeh}(h]h ]h"]h$]h&]uh1j%hhhM{hjhhubj&)}(hA`power[1-*]_average_lowest` Historical average minimum power use h](j,)}(h`power[1-*]_average_lowest`h]h)}(hjh]hpower[1-*]_average_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhM~hjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM~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]h)}(hjh]hpower[1-*]_average_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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 }(hjhhhNhNubh)}(h`power[1-*]_average`h]hpower[1-*]_average}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh' when power use rises above this value.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(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]h)}(hj#h]hpower[1-*]_average_min}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!ubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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 }(hj;hhhNhNubh)}(h`power[1-*]_average`h]hpower[1-*]_average}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubh' when power use sinks below this value.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(h,`power[1-*]_input` Instantaneous power use. h](j,)}(h`power[1-*]_input`h]h)}(hjmh]hpower[1-*]_input}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1j+hhhMhjgubjE)}(hhh]h)}(hInstantaneous power use.h]hInstantaneous power use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhjgubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(h8`power[1-*]_input_highest` Historical maximum power use h](j,)}(h`power[1-*]_input_highest`h]h)}(hjh]hpower[1-*]_input_highest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(hhh]h)}(hHistorical maximum power useh]hHistorical maximum power use}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(h8`power[1-*]_input_lowest` Historical minimum power use. h](j,)}(h`power[1-*]_input_lowest`h]h)}(hjh]hpower[1-*]_input_lowest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(hhh]h)}(hHistorical minimum power use.h]hHistorical minimum power use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(hb`power[1-*]_reset_history` Reset input_highest, input_lowest, average_highest and average_lowest. |h](j,)}(h`power[1-*]_reset_history`h]h)}(hjh]hpower[1-*]_reset_history}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(hhh]h)}(hFReset input_highest, input_lowest, average_highest and average_lowest.h]hFReset input_highest, input_lowest, average_highest and average_lowest.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(h3`power[1-*]_accuracy` Accuracy of the power meter. h](j,)}(h`power[1-*]_accuracy`h]h)}(hjMh]hpower[1-*]_accuracy}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1j+hhhMhjGubjE)}(hhh]h)}(hAccuracy of the power meter.h]hAccuracy of the power meter.}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jDhjGubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(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]h)}(hjh]hpower[1-*]_cap}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(hR`power[1-*]_cap_hyst` Margin of hysteresis built around capping and notification. h](j,)}(h`power[1-*]_cap_hyst`h]h)}(hjh]hpower[1-*]_cap_hyst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(h2`power[1-*]_cap_max` Maximum cap that can be set. h](j,)}(h`power[1-*]_cap_max`h]h)}(hjh]hpower[1-*]_cap_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(hhh]h)}(hMaximum cap that can be set.h]hMaximum cap that can be set.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(h2`power[1-*]_cap_min` Minimum cap that can be set. h](j,)}(h`power[1-*]_cap_min`h]h)}(hj-h]hpower[1-*]_cap_min}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&]uh1j+hhhMhj'ubjE)}(hhh]h)}(hMinimum cap that can be set.h]hMinimum cap that can be set.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jDhj'ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(h `power[1-*]_max` Maximum power. h](j,)}(h`power[1-*]_max`h]h)}(hjeh]hpower[1-*]_max}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1j+hhhMhj_ubjE)}(hhh]h)}(hMaximum power.h]hMaximum power.}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1jDhj_ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(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]h)}(hjh]hpower[1-*]_crit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(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]h)}(hjh]hpower[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh bullet_list)}(hhh](h list_item)}(h 1: Enableh]h)}(hj<h]h 1: Enable}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1j8hj5ubj9)}(h 0: Disable h]h)}(h 0: Disableh]h 0: Disable}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1j8hj5ubeh}(h]h ]h"]h$]h&]bullet-uh1j3hhhMhjubh)}(hRWh]hRW}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(hA`power[1-*]_rated_min` Minimum rated power. Unit: microWatt RO h](j,)}(h`power[1-*]_rated_min`h]h)}(hjh]hpower[1-*]_rated_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubj&)}(hA`power[1-*]_rated_max` Maximum rated power. Unit: microWatt RO h](j,)}(h`power[1-*]_rated_max`h]h)}(hjh]hpower[1-*]_rated_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(hhh](h)}(hMaximum rated power.h]hMaximum rated power.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hUnit: microWatth]hUnit: microWatt}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hROh]hRO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjhhubeh}(h]h ]h"]h$]h&]uh1j hjohhhhhNubh)}(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.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjohhubeh}(h]powerah ]h"]powerah$]h&]uh1hhjYhhhhhMlubh)}(hhh](h)}(hEnergyh]hEnergy}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOhhhhhMubj!)}(hhh](j&)}(h@`energy[1-*]_input` Cumulative energy use Unit: microJoule RO h](j,)}(h`energy[1-*]_input`h]h)}(hjih]henergy[1-*]_input}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1j+hhhMhjcubjE)}(hhh](h)}(hCumulative energy useh]hCumulative energy use}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubh)}(hUnit: microJouleh]hUnit: microJoule}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubh)}(hROh]hRO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubeh}(h]h ]h"]h$]h&]uh1jDhjcubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj`ubj&)}(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]h)}(hjh]henergy[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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&]uh1hhhhMhjubj4)}(hhh](j9)}(h 1: Enableh]h)}(hjh]h 1: Enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j8hjubj9)}(h 0: Disable h]h)}(h 0: Disableh]h 0: Disable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]jojpuh1j3hhhMhjubh)}(hRWh]hRW}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhj`hhubeh}(h]h ]h"]h$]h&]uh1j hjOhhhhhNubeh}(h]energyah ]h"]energyah$]h&]uh1hhjYhhhhhMubh)}(hhh](h)}(hHumidityh]hHumidity}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQhhhhhMubj!)}(hhh](j&)}(h `humidity[1-*]_input` Humidity. h](j,)}(h`humidity[1-*]_input`h]h)}(hjkh]hhumidity[1-*]_input}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1j+hhhMhjeubjE)}(hhh]h)}(h Humidity.h]h Humidity.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhjeubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjbubj&)}(h6`humidity[1-*]_enable` Enable or disable the sensors. h](j,)}(h`humidity[1-*]_enable`h]h)}(hjh]hhumidity[1-*]_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(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&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjbhhubj&)}(h2`humidity[1-*]_rated_min` Minimum rated humidity. h](j,)}(h`humidity[1-*]_rated_min`h]h)}(hjh]hhumidity[1-*]_rated_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhjubjE)}(hhh]h)}(hMinimum rated humidity.h]hMinimum rated humidity.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjbhhubj&)}(h2`humidity[1-*]_rated_max` Maximum rated humidity. h](j,)}(h`humidity[1-*]_rated_max`h]h)}(hjh]hhumidity[1-*]_rated_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMhj ubjE)}(hhh]h)}(hMaximum rated humidity.h]hMaximum rated humidity.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jDhj ubeh}(h]h ]h"]h$]h&]uh1j%hhhMhjbhhubeh}(h]h ]h"]h$]h&]uh1j hjQhhhhhNubeh}(h]humidityah ]h"]humidityah$]h&]uh1hhjYhhhhhMubh)}(hhh](h)}(hAlarmsh]hAlarms}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShhhhhMubh)}(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.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjShhubh)}(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.}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjShhubj)}(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](j4)}(hhh](j9)}(h 0: no alarmh]h)}(hjh]h 0: no alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j8hjubj9)}(h 1: alarm h]h)}(h1: alarmh]h1: alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]jojpuh1j3hhhMhjubh)}(hROh]hRO}(hjhhhNhNubah}(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&]uh1jhjShhhhhNubh)}(h**OR**h]j)}(hjFh]hOR}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjShhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj^ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj^ubj)}(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&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1hhhhM hj{ubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh](h)}(h Limit alarmh]h Limit alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubj)}(h- 0: no alarm - 1: alarm h]j4)}(hhh](j9)}(h 0: no alarmh]h)}(hjh]h 0: no alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j8hjubj9)}(h 1: alarm h]h)}(h1: alarmh]h1: alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]jojpuh1j3hhhMhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjubh)}(hROh]hRO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubeh}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]colsKuh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhjShhhhhNubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjShhubj!)}(hhh]j&)}(h<`fan[1-*]_fault` / `temp[1-*]_fault` Input fault condition. h](j,)}(h$`fan[1-*]_fault` / `temp[1-*]_fault`h](h)}(h`fan[1-*]_fault`h]hfan[1-*]_fault}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubh / }(hj0hhhNhNubh)}(h`temp[1-*]_fault`h]htemp[1-*]_fault}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubeh}(h]h ]h"]h$]h&]uh1j+hhhM&hj,ubjE)}(hhh]h)}(hInput fault condition.h]hInput fault condition.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjZubah}(h]h ]h"]h$]h&]uh1jDhj,ubeh}(h]h ]h"]h$]h&]uh1j%hhhM&hj)ubah}(h]h ]h"]h$]h&]uh1j hjShhhhhNubh)}(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:}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjShhubj!)}(hhh](j&)}(h"`beep_enable` Master beep enable. h](j,)}(h `beep_enable`h]h)}(hjh]h beep_enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhM+hjubjE)}(hhh]h)}(hMaster beep enable.h]hMaster beep enable.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM+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](h)}(h`in[0-*]_beep`h]h in[0-*]_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, }(hjhhhNhNubh)}(h`curr[1-*]_beep`h]hcurr[1-*]_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, }hjsbh)}(h`fan[1-*]_beep`h]h fan[1-*]_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, }hjsbh)}(h`temp[1-*]_beep`h]htemp[1-*]_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh,}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j+hhhM.hjubjE)}(hhh]h)}(h Channel beep.h]h Channel beep.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM.hjhhubeh}(h]h ]h"]h$]h&]uh1j hjShhhhhNubh)}(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.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjShhubh)}(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:}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjShhubj!)}(hhh](j&)}(h`alarms` Alarm bitmask. h](j,)}(h`alarms`h]h)}(hjdh]halarms}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1j+hhhM8hj^ubjE)}(hhh]h)}(hAlarm bitmask.h]hAlarm bitmask.}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjyubah}(h]h ]h"]h$]h&]uh1jDhj^ubeh}(h]h ]h"]h$]h&]uh1j%hhhM8hj[ubj&)}(h`beep_mask` Bitmask for beep. h](j,)}(h `beep_mask`h]h)}(hjh]h beep_mask}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhM<hjubjE)}(hhh]h)}(hBitmask for beep.h]hBitmask for beep.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hjubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhM<hj[hhubeh}(h]h ]h"]h$]h&]uh1j hjShhhhhNubeh}(h]alarmsah ]h"]alarmsah$]h&]uh1hhjYhhhhhMubh)}(hhh](h)}(hIntrusion detectionh]hIntrusion detection}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhM@ubj!)}(hhh](j&)}(h4`intrusion[0-*]_alarm` Chassis intrusion detection. h](j,)}(h`intrusion[0-*]_alarm`h]h)}(hjh]hintrusion[0-*]_alarm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hhhMChjubjE)}(hhh]h)}(hChassis intrusion detection.h]hChassis intrusion detection.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChj ubah}(h]h ]h"]h$]h&]uh1jDhjubeh}(h]h ]h"]h$]h&]uh1j%hhhMChjubj&)}(h.`intrusion[0-*]_beep` Chassis intrusion beep. h](j,)}(h`intrusion[0-*]_beep`h]h)}(hj.h]hintrusion[0-*]_beep}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1j+hhhMFhj(ubjE)}(hhh]h)}(hChassis intrusion beep.h]hChassis intrusion beep.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjCubah}(h]h ]h"]h$]h&]uh1jDhj(ubeh}(h]h ]h"]h$]h&]uh1j%hhhMFhjhhubeh}(h]h ]h"]h$]h&]uh1j hjhhhhhNubeh}(h]intrusion-detectionah ]h"]intrusion detectionah$]h&]uh1hhjYhhhhhM@ubh)}(hhh](h)}(hAverage sample configurationh]hAverage sample configuration}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhhhhhMJubh)}(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&]uh1hhhhMLhjnhhubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjnhhhhhNubeh}(h]average-sample-configurationah ]h"]average sample configurationah$]h&]uh1hhjYhhhhhMJubeh}(h]attribute-accessah ]h"]attribute accessah$]h&]uh1hhhhhhhhKEubh)}(hhh](h)}(h%sysfs attribute writes interpretationh]h%sysfs attribute writes interpretation}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje 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:}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahje 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 hhhMehje 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&]uh1hhhhMhhje 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&]uh1hhhhMnhje 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&]uh1hhhhMrhje 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&]uh1hhhhMxhje 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&]uh1hhhhMhje 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 hhhMhje 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&]uh1hhhhMhje 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 hhhMhje 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_handlerj8!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!jb j_ jjjjj~ j{ j j} jVjSjljijLjIjNjKjPjMjjjkjhjZ jW j !j!u nametypes}(j!jb jjj~ j jVjljLjNjPjjkjZ j !uh}(j!hj_ jYjjjjj{ jj} j jSj jijYjIjojKjOjMjQjjSjhjjW jnj!je 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.