summaryrefslogtreecommitdiffstats
path: root/monitor/gen-fan-monitor-defs.py
diff options
context:
space:
mode:
authorLei YU <mine260309@gmail.com>2018-01-26 17:14:00 +0800
committerLei YU <mine260309@gmail.com>2018-02-26 10:34:14 +0800
commit8e5d197b840d4498dcb714b60cc1d38202a7a7a7 (patch)
treec08a4579fea557beda1f80023298eab22cf7e0ce /monitor/gen-fan-monitor-defs.py
parent0a9fe160d600ece0c5797741042d0e6f975ab101 (diff)
downloadphosphor-fan-presence-8e5d197b840d4498dcb714b60cc1d38202a7a7a7.tar.gz
phosphor-fan-presence-8e5d197b840d4498dcb714b60cc1d38202a7a7a7.zip
Add factor and offset for fan monitor
For fans controlled via pwm, the fan target and speed are different, where the fan target is pwm and the speed is rpm. Usually it is a linear mapping from pwm to rpm. So this commit defines the optional configs, factor and offset for calculating the expected fan speed from target, e.g. - name: fan0 has_target: true factor: 21 offset: 1600 The fan monitor service will calculate expected fan speed as: target * factor + offset The default value is 1 for factor and 0 for offset if they are not defined. Tested: Use this config together with the following commit's changes, test on Romulus and ensures the fan monitor works OK; Without this config, fan monitor always mark fans as non-functional due to the fan speed does not match the pwm value. Change-Id: If5e25368b4530df7a7face9377efb58804db21df Signed-off-by: Lei YU <mine260309@gmail.com>
Diffstat (limited to 'monitor/gen-fan-monitor-defs.py')
-rwxr-xr-xmonitor/gen-fan-monitor-defs.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/monitor/gen-fan-monitor-defs.py b/monitor/gen-fan-monitor-defs.py
index 1590484..48cf7ec 100755
--- a/monitor/gen-fan-monitor-defs.py
+++ b/monitor/gen-fan-monitor-defs.py
@@ -36,8 +36,13 @@ const std::vector<FanDefinition> fanDefinitions
<%
#has_target is a bool, and we need a true instead of True
has_target = str(sensor['has_target']).lower()
+ factor = sensor.get('factor', 1)
+ offset = sensor.get('offset', 0)
%> \
- SensorDefinition{"${sensor['name']}", ${has_target}},
+ SensorDefinition{"${sensor['name']}",
+ ${has_target},
+ ${factor},
+ ${offset}},
%endfor
},
},
OpenPOWER on IntegriCloud