| #pragma once | |
| #include "ec/pid.hpp" | |
| #include "fan.hpp" | |
| #include <string> | |
| /* | |
| * Base class for controllers. Each controller that implements this needs to | |
| * provide an input_proc, process, and output_proc. | |
| */ | |
| class ZoneInterface; | |
| struct Controller | |
| { | |
| virtual ~Controller() = default; | |
| virtual float input_proc(void) = 0; | |
| virtual void output_proc(float value) = 0; | |
| virtual void process(void) = 0; | |
| virtual std::string get_id(void) = 0; | |
| }; |