blob: 55308436bb41f9ee8cbc61017ecfc050819df394 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#pragma once
#include "ec/pid.hpp"
#include "fan.hpp"
#include <string>
/*
* 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 double inputProc(void) = 0;
virtual void outputProc(double value) = 0;
virtual void process(void) = 0;
virtual std::string getID(void) = 0;
};
|