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