Brewery-Controller/boil_kettle/thermoControl.h

45 lines
894 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 SampleInterval;
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 SampleTime(int);
void PowerLimits(double, double);
void Hysteresis(double);
void Hysteresis();
void ThreshPWR(double);
void ThreshPWR();
void Mode(modes);
modes Mode();
modes CycleMode();
};
#endif