Brewery-Controller/boil_kettle/thermoControl.h
Chris Giacofei c4fb9fa0b3 Use integer math.
This feels like a good idea. ?
2022-01-19 09:47:59 -05:00

34 lines
693 B
C++

#ifndef THERMOCONTROL_h
#define THERMOCONTROL_h
enum modes : uint8_t {OFF, AUTOMATIC, MANUAL};
class thermoControl {
private:
double *input_temp;
double *output_pwm;
double *setpoint_temp;
double *hysteresis;
double *max_threshold;
double outMax;
double outMin;
modes OpMode;
unsigned long SampleTime;
unsigned long lastTime;
public:
thermoControl(uint8_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
bool Compute();
void SetSampleTime(int);
void SetPowerLimits(uint8_t, uint8_t);
void SetHysteresis(uint8_t);
void SetThreshPWR(uint8_t);
void SetMode(modes);
modes GetMode();
modes CycleMode();
};
#endif