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;
+ };
};
/*