extruder/heater.h

Go to the documentation of this file.
00001 #ifndef _HEATER_H
00002 #define _HEATER_H
00003 
00004 #include "config.h"
00005 #include  <stdint.h>
00006 #include "temp.h"
00007 
00008 #define enable_heater()   heater_set(0, 64)
00009 #define disable_heater()  heater_set(0, 0)
00010 
00011 #undef DEFINE_HEATER
00012 #undef _CONFIG_H
00013 #define DEFINE_HEATER(name, port, pin, pwm) HEATER_ ## name,
00014 typedef enum
00015 {
00016   #include "config.h"
00017   NUM_HEATERS,
00018   HEATER_noheater
00019 } heater_t;
00020 #undef DEFINE_HEATER
00021 
00022 void heater_init(void);
00023 void heater_save_settings(void);
00024 
00025 void heater_set(heater_t index, uint8_t value);
00026 void heater_tick(heater_t h, temp_sensor_t t, uint16_t current_temp, uint16_t target_temp);
00027 
00028 uint8_t heaters_all_off(void);
00029 
00030 void pid_set_p(heater_t index, int32_t p);
00031 void pid_set_i(heater_t index, int32_t i);
00032 void pid_set_d(heater_t index, int32_t d);
00033 void pid_set_i_limit(heater_t index, int32_t i_limit);
00034 
00035 void heater_print(uint16_t i);
00036 
00037 #endif  /* _HEATER_H */
 All Data Structures Files Functions Variables Defines