Brewery-Controller/boil_kettle/thermoControl.h

43 lines
857 B
C++

#ifndef THERMOCONTROL_h
#define THERMOCONTROL_h
#include <Adafruit_MAX31865.h>
enum modes : uint8_t {OFF, AUTOMATIC, MANUAL, OVERFLOW};
class thermoControl {
private:
Adafruit_MAX31865* RTD;
double r_nominal;
double r_ref;
double output_pwm;
double control_temp;
double hysteresis;
double max_pwr_threshold;
int outMax;
int outMin;
modes OpMode;
unsigned long SampleTime;
unsigned long lastTime;
public:
void begin(int, double, double, double, double);
void begin(int);
bool Compute();
double Power();
void Power(double);
double Setpoint();
void Setpoint(double);
void SetSampleTime(int);
void SetPowerLimits(double, double);
void SetHysteresis(double);
void SetThreshPWR(double);
void Mode(modes);
modes Mode();
modes CycleMode();
};
#endif