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"));