Add hysteresis to stepwise controller
Tested-by: Ran on platform monitoring output and wrote
unit test
Change-Id: I74a1d21544c1a9cb4c1cb26dd4a353cbff0442d0
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/dbus/dbusconfiguration.cpp b/dbus/dbusconfiguration.cpp
index b912e62..0443854 100644
--- a/dbus/dbusconfiguration.cpp
+++ b/dbus/dbusconfiguration.cpp
@@ -444,6 +444,22 @@
base.at("Name"))];
info.type = "stepwise";
info.stepwiseInfo.ts = 1.0; // currently unused
+ info.stepwiseInfo.positiveHysteresis = 0.0;
+ info.stepwiseInfo.negativeHysteresis = 0.0;
+ auto findPosHyst = base.find("PositiveHysteresis");
+ auto findNegHyst = base.find("NegativeHysteresis");
+ if (findPosHyst != base.end())
+ {
+ info.stepwiseInfo.positiveHysteresis =
+ mapbox::util::apply_visitor(VariantToFloatVisitor(),
+ findPosHyst->second);
+ }
+ if (findNegHyst != base.end())
+ {
+ info.stepwiseInfo.positiveHysteresis =
+ mapbox::util::apply_visitor(VariantToFloatVisitor(),
+ findNegHyst->second);
+ }
std::vector<double> readings =
sdbusplus::message::variant_ns::get<std::vector<double>>(
base.at("Reading"));