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