Add stepwise controller

This adds the ability to use stepwise curves alongside
pid control. This creates a base controller class that
pidcontroller and stepwise controller inherit from.

Note: Hysteresis to come in follow-on patch

Tested-by:
Created a stepwise controller and noticed that when it
crossed a threshold that it contributed to the pwm setting.

Change-Id: I6cf842f80eaccafc905d620970afe91e2092d568
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/conf.hpp b/conf.hpp
index 1586187..01968cb 100644
--- a/conf.hpp
+++ b/conf.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
 #include "pid/ec/pid.hpp"
+#include "pid/ec/stepwise.hpp"
 
 #include <map>
 #include <string>
@@ -30,7 +31,11 @@
     std::string type;                // fan or margin or temp?
     std::vector<std::string> inputs; // one or more sensors.
     float setpoint;                  // initial setpoint for thermal.
-    ec::pidinfo info;                // pid details
+    union
+    {
+        ec::pidinfo pidInfo; // pid details
+        ec::StepwiseInfo stepwiseInfo;
+    };
 };
 
 /*