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 #define DEFINE_HEATER(name, pin) HEATER_ ## name,
00013 typedef enum
00014 {
00015 #include "config.h"
00016 NUM_HEATERS,
00017 HEATER_noheater
00018 } heater_t;
00019 #undef DEFINE_HEATER
00020
00021 void heater_init(void);
00022 void heater_save_settings(void);
00023
00024 void heater_set(heater_t index, uint8_t value);
00025 void heater_tick(heater_t h, temp_sensor_t t, uint16_t current_temp, uint16_t target_temp);
00026
00027 uint8_t heaters_all_off(void);
00028
00029 void pid_set_p(heater_t index, int32_t p);
00030 void pid_set_i(heater_t index, int32_t i);
00031 void pid_set_d(heater_t index, int32_t d);
00032 void pid_set_i_limit(heater_t index, int32_t i_limit);
00033
00034 void heater_print(uint16_t i);
00035
00036 #endif