1*1a153794SPatrick Venture #pragma once 2*1a153794SPatrick Venture 3*1a153794SPatrick Venture #include "sensors/sensor.hpp" 4*1a153794SPatrick Venture 5*1a153794SPatrick Venture #include <string> 6*1a153794SPatrick Venture 7*1a153794SPatrick Venture namespace pid_control 8*1a153794SPatrick Venture { 9*1a153794SPatrick Venture 10*1a153794SPatrick Venture class ZoneInterface 11*1a153794SPatrick Venture { 12*1a153794SPatrick Venture public: 13*1a153794SPatrick Venture virtual ~ZoneInterface() = default; 14*1a153794SPatrick Venture 15*1a153794SPatrick Venture virtual double getCachedValue(const std::string& name) = 0; 16*1a153794SPatrick Venture virtual void addSetPoint(double setpoint) = 0; 17*1a153794SPatrick Venture virtual void addRPMCeiling(double ceiling) = 0; 18*1a153794SPatrick Venture virtual double getMaxSetPointRequest() const = 0; 19*1a153794SPatrick Venture virtual bool getFailSafeMode() const = 0; 20*1a153794SPatrick Venture virtual double getFailSafePercent() const = 0; 21*1a153794SPatrick Venture virtual Sensor* getSensor(const std::string& name) = 0; 22*1a153794SPatrick Venture }; 23*1a153794SPatrick Venture 24*1a153794SPatrick Venture } // namespace pid_control 25