Make IpmbSensor properly clear sensor value on PowerOff

Previously when platform was put in Off state, IpmbSensor stopped
polling ON-only sensors, which is fine.
However, it didn't clear sensor value and availability state (which is normally done
by updateValue() for such cases.

This commit introduces following changes:
- updateValue() in invalid power state sets sensor to 'nan'
- modified IpmbSensor to use the same logic as updateValue()
  in optimized (skip reading in invalid state) flow

Testing:
- put platform in shutdown state - sensor Value is set to 'nan',
  Available is 'false', Functional still 'true'
- after restarting platform - values and flags goes back to normal

Signed-off-by: Adrian Ambrożewicz <adrian.ambrozewicz@linux.intel.com>
Change-Id: Ib413000560820d430fe726740c0e9ae5ca062f12
2 files changed
tree: 71de8721ee3f47265e03491eb442141586d14820
  1. cmake/
  2. include/
  3. service_files/
  4. src/
  5. tests/
  6. .clang-format
  7. .clang-ignore
  8. .gitignore
  9. cmake-format.json
  10. CMakeLists.txt
  11. Jenkinsfile
  12. LICENSE
  13. MAINTAINERS
  14. README.md
README.md

dbus-sensors

dbus-sensors is a collection of sensor applications that provide the xyz.openbmc_project.Sensor collection of interfaces. They read sensor values from hwmon, d-bus, or direct driver access to provide readings. Some advance non-sensor features such as fan presence, pwm control, and automatic cpu detection (x86) are also supported.

key features

  • runtime re-configurable from d-bus (entity-manager or the like)

  • isolated: each sensor type is isolated into its own daemon, so a bug in one sensor is unlikely to affect another, and single sensor modifications are possible

  • async single-threaded: uses sdbusplus/asio bindings

  • multiple data inputs: hwmon, d-bus, direct driver access