you should have received a copy of the gnu general public license along with smoothie. if not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef temperaturecontrol_h
-#define temperaturecontrol_h
+#ifndef TEMPERATURECONTROL_H
+#define TEMPERATURECONTROL_H
#include "Module.h"
#include "Pwm.h"
void on_module_loaded();
void on_main_loop(void* argument);
- void on_gcode_execute(void* argument);
void on_gcode_received(void* argument);
- void on_config_reload(void* argument);
void on_second_tick(void* argument);
void on_get_public_data(void* argument);
void on_set_public_data(void* argument);
friend class PID_Autotuner;
private:
+ void load_config();
uint32_t thermistor_read_tick(uint32_t dummy);
void pid_process(float);
int pool_index;
float target_temperature;
+ float max_temp, min_temp;
float preset1;
float preset2;
Pwm heater_pin;
- struct {
- bool use_bangbang:1;
- bool waiting:1;
- bool min_temp_violated:1;
- bool link_to_tool:1;
- bool active:1;
- };
-
uint16_t set_m_code;
uint16_t set_and_wait_m_code;
uint16_t get_m_code;
- struct pad_temperature public_data_return;
std::string designator;
float i_factor;
float d_factor;
float PIDdt;
+
+ struct {
+ bool use_bangbang:1;
+ bool waiting:1;
+ bool temp_violated:1;
+ bool link_to_tool:1;
+ bool active:1;
+ bool readonly:1;
+ bool windup:1;
+ bool sensor_settings:1;
+ };
};
#endif