diff options
author | Lei YU <mine260309@gmail.com> | 2018-01-31 15:24:46 +0800 |
---|---|---|
committer | Lei YU <mine260309@gmail.com> | 2018-02-26 10:34:36 +0800 |
commit | 80f271b296488e12d4edd29b5bb908a407fbda1f (patch) | |
tree | 9009dca91bfa4fd5335a809a52746d02674c8078 /monitor/tach_sensor.hpp | |
parent | 8e5d197b840d4498dcb714b60cc1d38202a7a7a7 (diff) | |
download | phosphor-fan-presence-80f271b296488e12d4edd29b5bb908a407fbda1f.tar.gz phosphor-fan-presence-80f271b296488e12d4edd29b5bb908a407fbda1f.zip |
Add target interface for fan monitor
Current fan monitor assumes the use of the FanSpeed interface for fan
targets.
For fans controlled by pwm, FanPwm interface is added.
This commit adds a "target_interface" config parameter, so that user
can specify the interface for the fan targets.
E.g.
- name: fan0
has_target: true
target_interface: xyz.openbmc_project.Control.FanPwm
This config is optional and defaults to FanSpeed, so the current code
will not be affected.
Tested: Use this config on Romulus, ensures fan monitor gets fan
target from FanPwm interface and works OK.
Change-Id: I262a486c335b2b43a46af7abdd0e71e95a133b98
Signed-off-by: Lei YU <mine260309@gmail.com>
Diffstat (limited to 'monitor/tach_sensor.hpp')
-rw-r--r-- | monitor/tach_sensor.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/monitor/tach_sensor.hpp b/monitor/tach_sensor.hpp index 50951cd..2cd0f4a 100644 --- a/monitor/tach_sensor.hpp +++ b/monitor/tach_sensor.hpp @@ -62,6 +62,7 @@ class TachSensor * @param[in] id - the id of the sensor * @param[in] hasTarget - if the sensor supports * setting the speed + * @param[in] interface - the interface of the target * @param[in] factor - the factor of the sensor target * @param[in] offset - the offset of the sensor target * @param[in] timeout - Normal timeout value to use @@ -72,6 +73,7 @@ class TachSensor Fan& fan, const std::string& id, bool hasTarget, + const std::string& interface, size_t factor, size_t offset, size_t timeout, @@ -99,6 +101,14 @@ class TachSensor } /** + * @brief Returns the interface of the sensor target + */ + inline std::string getInterface() const + { + return _interface; + } + + /** * @brief Returns the factor of the sensor target */ inline size_t getFactor() const @@ -237,6 +247,11 @@ class TachSensor const bool _hasTarget; /** + * @brief The interface that the target implements + */ + const std::string _interface; + + /** * @brief The factor of target to get fan rpm */ const size_t _factor; |