#ifndef THERMOCONTROL_h #define THERMOCONTROL_h #include 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