34 lines
693 B
C++
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
|