print zone failsafe reason when enter failsafe mode
Tested:
```
Jun 24 01:52:45 bmc sel-logger[640]: cpu0_nbm critical high threshold assert. Reading=49.000000 Threshold=45.000000.
Jun 24 01:52:46 bmc swampd[2944]: Zone 2 fans, entering failsafe mode, output pwm: 100
Jun 24 01:52:46 bmc swampd[2944]: Fail sensor: cpu0_nbm, reason: Sensor threshold asserted
Jun 24 01:52:46 bmc swampd[2944]: Zone 0 fans, entering failsafe mode, output pwm: 100
Jun 24 01:52:46 bmc swampd[2944]: Fail sensor: cpu0_nbm, reason: Sensor threshold asserted
```
Signed-off-by: Harvey Wu <Harvey.Wu@quantatw.com>
Change-Id: I607d01b6bed11b00a40153db6521a9c9d23da519
diff --git a/dbus/dbuspassive.cpp b/dbus/dbuspassive.cpp
index 1d88b60..8e37d8e 100644
--- a/dbus/dbuspassive.cpp
+++ b/dbus/dbuspassive.cpp
@@ -248,6 +248,31 @@
return false;
}
+std::string DbusPassive::getFailReason(void) const
+{
+ if (_badReading)
+ {
+ return "Sensor reading bad";
+ }
+ if (_marginHot)
+ {
+ return "Margin hot";
+ }
+ if (_failed)
+ {
+ return "Sensor threshold asserted";
+ }
+ if (!_available)
+ {
+ return "Sensor unavailable";
+ }
+ if (!_functional)
+ {
+ return "Sensor not functional";
+ }
+ return "Unknown";
+}
+
void DbusPassive::setFailed(bool value)
{
_failed = value;