From e2a77ed8813ebe33b75479bd43b9d1308da48b12 Mon Sep 17 00:00:00 2001 From: Giuliano Zaro <3684609+GMagician@users.noreply.github.com> Date: Sun, 5 May 2019 05:51:47 +0200 Subject: [PATCH] Bring chamber temp to completion (#13837) --- Marlin/Configuration.h | 1 + Marlin/src/feature/power.cpp | 4 + Marlin/src/gcode/temperature/M141_M191.cpp | 6 +- Marlin/src/inc/Conditionals_post.h | 2 +- Marlin/src/lcd/language/language_en.h | 6 + Marlin/src/lcd/language/language_it.h | 2 + Marlin/src/module/temperature.cpp | 314 ++++++++++++------ Marlin/src/module/temperature.h | 65 ++-- config/default/Configuration.h | 1 + .../examples/3DFabXYZ/Migbot/Configuration.h | 1 + .../AlephObjects/TAZ4/Configuration.h | 1 + .../AliExpress/CL-260/Configuration.h | 1 + .../AliExpress/UM2pExt/Configuration.h | 1 + config/examples/Anet/A2/Configuration.h | 1 + config/examples/Anet/A2plus/Configuration.h | 1 + config/examples/Anet/A6/Configuration.h | 1 + config/examples/Anet/A8/Configuration.h | 1 + config/examples/AnyCubic/i3/Configuration.h | 1 + config/examples/ArmEd/Configuration.h | 1 + config/examples/Azteeg/X5GT/Configuration.h | 1 + .../BIBO/TouchX/cyclops/Configuration.h | 1 + .../BIBO/TouchX/default/Configuration.h | 1 + config/examples/BQ/Hephestos/Configuration.h | 1 + .../examples/BQ/Hephestos_2/Configuration.h | 1 + config/examples/BQ/WITBOX/Configuration.h | 1 + config/examples/Cartesio/Configuration.h | 1 + .../examples/Creality/CR-10/Configuration.h | 1 + .../examples/Creality/CR-10S/Configuration.h | 1 + .../Creality/CR-10_5S/Configuration.h | 1 + .../Creality/CR-10mini/Configuration.h | 1 + config/examples/Creality/CR-8/Configuration.h | 1 + .../examples/Creality/Ender-2/Configuration.h | 1 + .../examples/Creality/Ender-3/Configuration.h | 1 + .../examples/Creality/Ender-4/Configuration.h | 1 + config/examples/Einstart-S/Configuration.h | 1 + config/examples/Felix/Configuration.h | 1 + config/examples/Felix/DUAL/Configuration.h | 1 + .../FlashForge/CreatorPro/Configuration.h | 1 + .../FolgerTech/i3-2020/Configuration.h | 1 + .../examples/Formbot/Raptor/Configuration.h | 1 + .../examples/Formbot/T_Rex_2+/Configuration.h | 1 + .../examples/Formbot/T_Rex_3/Configuration.h | 1 + config/examples/Geeetech/A10M/Configuration.h | 1 + config/examples/Geeetech/A20M/Configuration.h | 1 + .../examples/Geeetech/GT2560/Configuration.h | 1 + .../Geeetech/I3_Pro_X-GT2560/Configuration.h | 1 + .../Geeetech/MeCreator2/Configuration.h | 1 + .../Prusa i3 Pro B/noprobe/Configuration.h | 1 + .../Geeetech/Prusa i3 Pro C/Configuration.h | 1 + .../Geeetech/Prusa i3 Pro W/Configuration.h | 1 + .../examples/Infitary/i3-M508/Configuration.h | 1 + config/examples/JGAurora/A5/Configuration.h | 1 + config/examples/MakerParts/Configuration.h | 1 + config/examples/Malyan/M150/Configuration.h | 1 + config/examples/Malyan/M200/Configuration.h | 1 + .../Micromake/C1/basic/Configuration.h | 1 + .../Micromake/C1/enhanced/Configuration.h | 1 + config/examples/Mks/Robin/Configuration.h | 1 + config/examples/Mks/Sbase/Configuration.h | 1 + .../Printrbot/PrintrboardG2/Configuration.h | 1 + .../examples/RapideLite/RL200/Configuration.h | 1 + .../examples/RepRapPro/Huxley/Configuration.h | 1 + .../RepRapWorld/Megatronics/Configuration.h | 1 + config/examples/RigidBot/Configuration.h | 1 + config/examples/SCARA/Configuration.h | 1 + .../STM32/Black_STM32F407VET6/Configuration.h | 1 + .../examples/STM32/STM32F10/Configuration.h | 1 + config/examples/STM32/STM32F4/Configuration.h | 1 + .../STM32/stm32f103ret6/Configuration.h | 1 + config/examples/Sanguinololu/Configuration.h | 1 + config/examples/TheBorg/Configuration.h | 1 + config/examples/TinyBoy2/Configuration.h | 1 + config/examples/Tronxy/X1/Configuration.h | 1 + config/examples/Tronxy/X3A/Configuration.h | 1 + config/examples/Tronxy/X5S-2E/Configuration.h | 1 + config/examples/Tronxy/X5S/Configuration.h | 1 + config/examples/Tronxy/XY100/Configuration.h | 1 + .../UltiMachine/Archim1/Configuration.h | 1 + .../UltiMachine/Archim2/Configuration.h | 1 + config/examples/VORONDesign/Configuration.h | 1 + .../examples/Velleman/K8200/Configuration.h | 1 + .../examples/Velleman/K8400/Configuration.h | 1 + .../Velleman/K8400/Dual-head/Configuration.h | 1 + .../examples/WASP/PowerWASP/Configuration.h | 1 + .../Wanhao/Duplicator 6/Configuration.h | 1 + .../examples/adafruit/ST7565/Configuration.h | 1 + .../delta/Anycubic/Kossel/Configuration.h | 1 + .../FLSUN/auto_calibrate/Configuration.h | 1 + .../delta/FLSUN/kossel/Configuration.h | 1 + .../delta/FLSUN/kossel_mini/Configuration.h | 1 + .../Geeetech/Rostock 301/Configuration.h | 1 + .../delta/Hatchbox_Alpha/Configuration.h | 1 + .../examples/delta/MKS/SBASE/Configuration.h | 1 + .../delta/Tevo Little Monster/Configuration.h | 1 + config/examples/delta/generic/Configuration.h | 1 + .../delta/kossel_mini/Configuration.h | 1 + .../examples/delta/kossel_pro/Configuration.h | 1 + .../examples/delta/kossel_xl/Configuration.h | 1 + .../examples/gCreate/gMax1.5+/Configuration.h | 1 + config/examples/makibox/Configuration.h | 1 + config/examples/tvrrug/Round2/Configuration.h | 1 + config/examples/wt150/Configuration.h | 1 + 102 files changed, 349 insertions(+), 145 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 2b6dbb07a..b9443c868 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/Marlin/src/feature/power.cpp b/Marlin/src/feature/power.cpp index eed52634f..2fd62d840 100644 --- a/Marlin/src/feature/power.cpp +++ b/Marlin/src/feature/power.cpp @@ -50,6 +50,10 @@ bool Power::is_power_needed() { if (controllerfan_speed) return true; #endif + #if ENABLED(AUTO_POWER_CHAMBER_FAN) + if (thermalManager.chamberfan_speed) return true; + #endif + // If any of the drivers or the bed are enabled... if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON #if HAS_HEATED_BED diff --git a/Marlin/src/gcode/temperature/M141_M191.cpp b/Marlin/src/gcode/temperature/M141_M191.cpp index d65dc7c62..9b5b2f8f1 100644 --- a/Marlin/src/gcode/temperature/M141_M191.cpp +++ b/Marlin/src/gcode/temperature/M141_M191.cpp @@ -60,7 +60,7 @@ void GcodeSuite::M191() { const bool no_wait_for_cooling = parser.seenval('S'); if (no_wait_for_cooling || parser.seenval('R')) { - thermalManager.setTargetBed(parser.value_celsius()); + thermalManager.setTargetChamber(parser.value_celsius()); #if ENABLED(PRINTJOB_TIMER_AUTOSTART) if (parser.value_celsius() > BED_MINTEMP) print_job_timer.start(); @@ -68,9 +68,9 @@ void GcodeSuite::M191() { } else return; - lcd_setstatusPGM(thermalManager.isHeatingBed() ? PSTR(MSG_BED_HEATING) : PSTR(MSG_BED_COOLING)); + lcd_setstatusPGM(thermalManager.isHeatingChamber() ? PSTR(MSG_CHAMBER_HEATING) : PSTR(MSG_CHAMBER_COOLING)); - thermalManager.wait_for_bed(no_wait_for_cooling); + thermalManager.wait_for_chamber(no_wait_for_cooling); } */ diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index a4789f7d9..63798a432 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -953,7 +953,7 @@ #define HAS_AUTO_FAN_3 (HOTENDS > 3 && PIN_EXISTS(E3_AUTO_FAN)) #define HAS_AUTO_FAN_4 (HOTENDS > 4 && PIN_EXISTS(E4_AUTO_FAN)) #define HAS_AUTO_FAN_5 (HOTENDS > 5 && PIN_EXISTS(E5_AUTO_FAN)) -#define HAS_AUTO_CHAMBER_FAN (PIN_EXISTS(CHAMBER_AUTO_FAN)) +#define HAS_AUTO_CHAMBER_FAN (HAS_TEMP_CHAMBER && PIN_EXISTS(CHAMBER_AUTO_FAN)) #define HAS_AUTO_FAN (HAS_AUTO_FAN_0 || HAS_AUTO_FAN_1 || HAS_AUTO_FAN_2 || HAS_AUTO_FAN_3 || HAS_AUTO_FAN_4 || HAS_AUTO_FAN_5 || HAS_AUTO_CHAMBER_FAN) // Other fans diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 8817bcc70..801647d11 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -1014,6 +1014,12 @@ #ifndef MSG_BED_COOLING #define MSG_BED_COOLING _UxGT("Bed cooling...") #endif +#ifndef MSG_CHAMBER_HEATING + #define MSG_CHAMBER_HEATING _UxGT("Chamber heating...") +#endif +#ifndef MSG_CHAMBER_COOLING + #define MSG_CHAMBER_COOLING _UxGT("Chamber cooling...") +#endif #ifndef MSG_DELTA_CALIBRATE #define MSG_DELTA_CALIBRATE _UxGT("Delta Calibration") #endif diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 0a6bc747f..03ef76e69 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -356,6 +356,8 @@ #define MSG_COOLING _UxGT("Raffreddamento..") #define MSG_BED_HEATING _UxGT("Risc. piatto...") #define MSG_BED_COOLING _UxGT("Raffr. piatto...") +#define MSG_CHAMBER_HEATING _UxGT("Risc. camera...") +#define MSG_CHAMBER_COOLING _UxGT("Raffr. camera...") #define MSG_DELTA_CALIBRATE _UxGT("Calibraz. Delta") #define MSG_DELTA_CALIBRATE_X _UxGT("Calibra X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Calibra Y") diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 82aad2d76..25b1f5990 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -110,6 +110,10 @@ hotend_info_t Temperature::temp_hotend[HOTENDS]; // = { 0 } uint8_t Temperature::autofan_speed[HOTENDS]; // = { 0 } #endif +#if ENABLED(AUTO_POWER_CHAMBER_FAN) + uint8_t Temperature::chamberfan_speed; // = 0 +#endif + #if FAN_COUNT > 0 uint8_t Temperature::fan_speed[FAN_COUNT]; // = { 0 } @@ -640,16 +644,28 @@ int16_t Temperature::getHeaterPower(const int8_t heater) { #define AUTO_CHAMBER_IS_3 (CHAMBER_AUTO_FAN_PIN == E3_AUTO_FAN_PIN) #define AUTO_CHAMBER_IS_4 (CHAMBER_AUTO_FAN_PIN == E4_AUTO_FAN_PIN) #define AUTO_CHAMBER_IS_5 (CHAMBER_AUTO_FAN_PIN == E5_AUTO_FAN_PIN) + #define AUTO_CHAMBER_IS_E (AUTO_CHAMBER_IS_0 || AUTO_CHAMBER_IS_1 || AUTO_CHAMBER_IS_2 || AUTO_CHAMBER_IS_3 || AUTO_CHAMBER_IS_4 || AUTO_CHAMBER_IS_5) + #define CHAMBER_FAN_INDEX HOTENDS void Temperature::checkExtruderAutoFans() { static const uint8_t fanBit[] PROGMEM = { - 0, - AUTO_1_IS_0 ? 0 : 1, - AUTO_2_IS_0 ? 0 : AUTO_2_IS_1 ? 1 : 2, - AUTO_3_IS_0 ? 0 : AUTO_3_IS_1 ? 1 : AUTO_3_IS_2 ? 2 : 3, - AUTO_4_IS_0 ? 0 : AUTO_4_IS_1 ? 1 : AUTO_4_IS_2 ? 2 : AUTO_4_IS_3 ? 3 : 4, - AUTO_5_IS_0 ? 0 : AUTO_5_IS_1 ? 1 : AUTO_5_IS_2 ? 2 : AUTO_5_IS_3 ? 3 : AUTO_5_IS_4 ? 4 : 5 - #if HAS_TEMP_CHAMBER + 0 + #if HOTENDS > 1 + , AUTO_1_IS_0 ? 0 : 1 + #endif + #if HOTENDS > 2 + , AUTO_2_IS_0 ? 0 : AUTO_2_IS_1 ? 1 : 2 + #endif + #if HOTENDS > 3 + , AUTO_3_IS_0 ? 0 : AUTO_3_IS_1 ? 1 : AUTO_3_IS_2 ? 2 : 3, + #endif + #if HOTENDS > 4 + , AUTO_4_IS_0 ? 0 : AUTO_4_IS_1 ? 1 : AUTO_4_IS_2 ? 2 : AUTO_4_IS_3 ? 3 : 4, + #endif + #if HOTENDS > 5 + , AUTO_5_IS_0 ? 0 : AUTO_5_IS_1 ? 1 : AUTO_5_IS_2 ? 2 : AUTO_5_IS_3 ? 3 : AUTO_5_IS_4 ? 4 : 5 + #endif + #if HAS_AUTO_CHAMBER_FAN , AUTO_CHAMBER_IS_0 ? 0 : AUTO_CHAMBER_IS_1 ? 1 : AUTO_CHAMBER_IS_2 ? 2 : AUTO_CHAMBER_IS_3 ? 3 : AUTO_CHAMBER_IS_4 ? 4 : AUTO_CHAMBER_IS_5 ? 5 : 6 #endif }; @@ -659,52 +675,60 @@ int16_t Temperature::getHeaterPower(const int8_t heater) { if (temp_hotend[e].current > EXTRUDER_AUTO_FAN_TEMPERATURE) SBI(fanState, pgm_read_byte(&fanBit[e])); - #if HAS_TEMP_CHAMBER - if (temp_chamber.current > EXTRUDER_AUTO_FAN_TEMPERATURE) - SBI(fanState, pgm_read_byte(&fanBit[6])); + #if HAS_AUTO_CHAMBER_FAN + if (temp_chamber.current > CHAMBER_AUTO_FAN_TEMPERATURE) + SBI(fanState, pgm_read_byte(&fanBit[CHAMBER_FAN_INDEX])); #endif - #define _UPDATE_AUTO_FAN(P,D,A) do{ \ - if (PWM_PIN(P##_AUTO_FAN_PIN) && EXTRUDER_AUTO_FAN_SPEED < 255) \ - analogWrite(P##_AUTO_FAN_PIN, A); \ - else \ - WRITE(P##_AUTO_FAN_PIN, D); \ + #define _UPDATE_AUTO_FAN(P,D,A) do{ \ + if (PWM_PIN(P##_AUTO_FAN_PIN) && A < 255) \ + analogWrite(P##_AUTO_FAN_PIN, D ? A : 0); \ + else \ + WRITE(P##_AUTO_FAN_PIN, D); \ }while(0) uint8_t fanDone = 0; for (uint8_t f = 0; f < COUNT(fanBit); f++) { - const uint8_t bit = pgm_read_byte(&fanBit[f]); - if (TEST(fanDone, bit)) continue; - const bool fan_on = TEST(fanState, bit); - const uint8_t speed = fan_on ? EXTRUDER_AUTO_FAN_SPEED : 0; - #if ENABLED(AUTO_POWER_E_FANS) - autofan_speed[f] = speed; - #endif + const uint8_t realFan = pgm_read_byte(&fanBit[f]); + if (TEST(fanDone, realFan)) continue; + const bool fan_on = TEST(fanState, realFan); + switch (f) { + #if HAS_AUTO_CHAMBER_FAN && !AUTO_CHAMBER_IS_E + case CHAMBER_FAN_INDEX: + chamberfan_speed = fan_on ? CHAMBER_AUTO_FAN_SPEED : 0; + break; + #endif + default: + #if ENABLED(AUTO_POWER_E_FANS) + autofan_speed[realFan] = fan_on ? EXTRUDER_AUTO_FAN_SPEED : 0; + #endif + break; + } + switch (f) { #if HAS_AUTO_FAN_0 - case 0: _UPDATE_AUTO_FAN(E0, fan_on, speed); break; + case 0: _UPDATE_AUTO_FAN(E0, fan_on, EXTRUDER_AUTO_FAN_SPEED); break; #endif #if HAS_AUTO_FAN_1 - case 1: _UPDATE_AUTO_FAN(E1, fan_on, speed); break; + case 1: _UPDATE_AUTO_FAN(E1, fan_on, EXTRUDER_AUTO_FAN_SPEED); break; #endif #if HAS_AUTO_FAN_2 - case 2: _UPDATE_AUTO_FAN(E2, fan_on, speed); break; + case 2: _UPDATE_AUTO_FAN(E2, fan_on, EXTRUDER_AUTO_FAN_SPEED); break; #endif #if HAS_AUTO_FAN_3 - case 3: _UPDATE_AUTO_FAN(E3, fan_on, speed); break; + case 3: _UPDATE_AUTO_FAN(E3, fan_on, EXTRUDER_AUTO_FAN_SPEED); break; #endif #if HAS_AUTO_FAN_4 - case 4: _UPDATE_AUTO_FAN(E4, fan_on, speed); break; + case 4: _UPDATE_AUTO_FAN(E4, fan_on, EXTRUDER_AUTO_FAN_SPEED); break; #endif #if HAS_AUTO_FAN_5 - case 5: _UPDATE_AUTO_FAN(E5, fan_on, speed); break; + case 5: _UPDATE_AUTO_FAN(E5, fan_on, EXTRUDER_AUTO_FAN_SPEED); break; #endif - #if HAS_AUTO_CHAMBER_FAN - case 6: _UPDATE_AUTO_FAN(CHAMBER, fan_on, speed); break; + #if HAS_AUTO_CHAMBER_FAN && !AUTO_CHAMBER_IS_E + case CHAMBER_FAN_INDEX: _UPDATE_AUTO_FAN(CHAMBER, fan_on, CHAMBER_AUTO_FAN_SPEED); break; #endif } - SBI(fanDone, bit); - UNUSED(fan_on); UNUSED(speed); + SBI(fanDone, realFan); } } @@ -1086,57 +1110,53 @@ void Temperature::manage_heater() { } #endif // HAS_HEATED_BED - #if HAS_TEMP_CHAMBER + #if HAS_HEATED_CHAMBER #ifndef CHAMBER_CHECK_INTERVAL #define CHAMBER_CHECK_INTERVAL 1000UL #endif - #if HAS_HEATED_CHAMBER + #if ENABLED(THERMAL_PROTECTION_CHAMBER) + if (!grace_period && degChamber() > CHAMBER_MAXTEMP) + _temp_error(-2, PSTR(MSG_T_THERMAL_RUNAWAY), TEMP_ERR_PSTR(MSG_THERMAL_RUNAWAY, -2)); + #endif - #if ENABLED(THERMAL_PROTECTION_CHAMBER) - if (!grace_period && degChamber() > CHAMBER_MAXTEMP) - _temp_error(-2, PSTR(MSG_T_THERMAL_RUNAWAY), TEMP_ERR_PSTR(MSG_THERMAL_RUNAWAY, -2)); - #endif - - #if WATCH_CHAMBER - // Make sure temperature is increasing - if (watch_chamber.elapsed(ms)) { // Time to check the chamber? - if (degChamber() < watch_chamber.target) // Failed to increase enough? - _temp_error(-2, PSTR(MSG_T_HEATING_FAILED), TEMP_ERR_PSTR(MSG_HEATING_FAILED_LCD, -2)); - else - start_watching_chamber(); // Start again if the target is still far off - } - #endif // WATCH_CHAMBER - - if (PENDING(ms, next_chamber_check_ms)) return; - next_chamber_check_ms = ms + CHAMBER_CHECK_INTERVAL; - - if (WITHIN(temp_chamber.current, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) { - #if ENABLED(CHAMBER_LIMIT_SWITCHING) - if (temp_chamber.current >= temp_chamber.target + TEMP_CHAMBER_HYSTERESIS) - temp_chamber.soft_pwm_amount = 0; - else if (temp_chamber.current <= temp_chamber.target - (TEMP_CHAMBER_HYSTERESIS)) - temp_chamber.soft_pwm_amount = MAX_CHAMBER_POWER >> 1; - #else - temp_chamber.soft_pwm_amount = temp_chamber.current < temp_chamber.target ? MAX_CHAMBER_POWER >> 1 : 0; - #endif - } - else { - temp_chamber.soft_pwm_amount = 0; - WRITE_HEATER_CHAMBER(LOW); + #if WATCH_CHAMBER + // Make sure temperature is increasing + if (watch_chamber.elapsed(ms)) { // Time to check the chamber? + if (degChamber() < watch_chamber.target) // Failed to increase enough? + _temp_error(-2, PSTR(MSG_T_HEATING_FAILED), TEMP_ERR_PSTR(MSG_HEATING_FAILED_LCD, -2)); + else + start_watching_chamber(); // Start again if the target is still far off } + #endif // WATCH_CHAMBER - #if ENABLED(THERMAL_PROTECTION_CHAMBER) - thermal_runaway_protection(tr_state_machine_chamber, temp_chamber.current, temp_chamber.target, -2, THERMAL_PROTECTION_CHAMBER_PERIOD, THERMAL_PROTECTION_CHAMBER_HYSTERESIS); + if (PENDING(ms, next_chamber_check_ms)) return; + next_chamber_check_ms = ms + CHAMBER_CHECK_INTERVAL; + + if (WITHIN(temp_chamber.current, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) { + #if ENABLED(CHAMBER_LIMIT_SWITCHING) + if (temp_chamber.current >= temp_chamber.target + TEMP_CHAMBER_HYSTERESIS) + temp_chamber.soft_pwm_amount = 0; + else if (temp_chamber.current <= temp_chamber.target - (TEMP_CHAMBER_HYSTERESIS)) + temp_chamber.soft_pwm_amount = MAX_CHAMBER_POWER >> 1; + #else + temp_chamber.soft_pwm_amount = temp_chamber.current < temp_chamber.target ? MAX_CHAMBER_POWER >> 1 : 0; #endif + } + else { + temp_chamber.soft_pwm_amount = 0; + WRITE_HEATER_CHAMBER(LOW); + } - // TODO: Implement true PID pwm - //temp_bed.soft_pwm_amount = WITHIN(temp_chamber.current, CHAMBER_MINTEMP, CHAMBER_MAXTEMP) ? (int)get_pid_output_chamber() >> 1 : 0; + #if ENABLED(THERMAL_PROTECTION_CHAMBER) + thermal_runaway_protection(tr_state_machine_chamber, temp_chamber.current, temp_chamber.target, -2, THERMAL_PROTECTION_CHAMBER_PERIOD, THERMAL_PROTECTION_CHAMBER_HYSTERESIS); + #endif - #endif // HAS_HEATED_CHAMBER + // TODO: Implement true PID pwm + //temp_bed.soft_pwm_amount = WITHIN(temp_chamber.current, CHAMBER_MINTEMP, CHAMBER_MAXTEMP) ? (int)get_pid_output_chamber() >> 1 : 0; - #endif // HAS_TEMP_CHAMBER + #endif // HAS_HEATED_CHAMBER } #define TEMP_AD595(RAW) ((RAW) * 5.0 * 100.0 / 1024.0 / (OVERSAMPLENR) * (TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET) @@ -1353,10 +1373,16 @@ void Temperature::updateTemperaturesFromRawValues() { #endif #define INIT_FAN_PIN(P) do{ _INIT_FAN_PIN(P); SET_FAST_PWM_FREQ(P); }while(0) #if EXTRUDER_AUTO_FAN_SPEED != 255 - #define INIT_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(FAST_PWM_FAN_FREQUENCY); } else SET_OUTPUT(P); }while(0) + #define INIT_E_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(FAST_PWM_FAN_FREQUENCY); } else SET_OUTPUT(P); }while(0) #else - #define INIT_AUTO_FAN_PIN(P) SET_OUTPUT(P) + #define INIT_E_AUTO_FAN_PIN(P) SET_OUTPUT(P) #endif +#if CHAMBER_AUTO_FAN_SPEED != 255 + #define INIT_CHAMBER_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(FAST_PWM_FAN_FREQUENCY); } else SET_OUTPUT(P); }while(0) +#else + #define INIT_CHAMBER_AUTO_FAN_PIN(P) SET_OUTPUT(P) +#endif + /** * Initialize the temperature manager @@ -1472,25 +1498,25 @@ void Temperature::init() { ENABLE_TEMPERATURE_INTERRUPT(); #if HAS_AUTO_FAN_0 - INIT_AUTO_FAN_PIN(E0_AUTO_FAN_PIN); + INIT_E_AUTO_FAN_PIN(E0_AUTO_FAN_PIN); #endif #if HAS_AUTO_FAN_1 && !AUTO_1_IS_0 - INIT_AUTO_FAN_PIN(E1_AUTO_FAN_PIN); + INIT_E_AUTO_FAN_PIN(E1_AUTO_FAN_PIN); #endif #if HAS_AUTO_FAN_2 && !(AUTO_2_IS_0 || AUTO_2_IS_1) - INIT_AUTO_FAN_PIN(E2_AUTO_FAN_PIN); + INIT_E_AUTO_FAN_PIN(E2_AUTO_FAN_PIN); #endif #if HAS_AUTO_FAN_3 && !(AUTO_3_IS_0 || AUTO_3_IS_1 || AUTO_3_IS_2) - INIT_AUTO_FAN_PIN(E3_AUTO_FAN_PIN); + INIT_E_AUTO_FAN_PIN(E3_AUTO_FAN_PIN); #endif #if HAS_AUTO_FAN_4 && !(AUTO_4_IS_0 || AUTO_4_IS_1 || AUTO_4_IS_2 || AUTO_4_IS_3) - INIT_AUTO_FAN_PIN(E4_AUTO_FAN_PIN); + INIT_E_AUTO_FAN_PIN(E4_AUTO_FAN_PIN); #endif #if HAS_AUTO_FAN_5 && !(AUTO_5_IS_0 || AUTO_5_IS_1 || AUTO_5_IS_2 || AUTO_5_IS_3 || AUTO_5_IS_4) - INIT_AUTO_FAN_PIN(E5_AUTO_FAN_PIN); + INIT_E_AUTO_FAN_PIN(E5_AUTO_FAN_PIN); #endif - #if HAS_AUTO_CHAMBER_FAN && !(AUTO_CHAMBER_IS_0 || AUTO_CHAMBER_IS_1 || AUTO_CHAMBER_IS_2 || AUTO_CHAMBER_IS_3 || AUTO_CHAMBER_IS_4 || AUTO_CHAMBER_IS_5) - INIT_AUTO_FAN_PIN(CHAMBER_AUTO_FAN_PIN); + #if HAS_AUTO_CHAMBER_FAN && !AUTO_CHAMBER_IS_E + INIT_CHAMBER_AUTO_FAN_PIN(CHAMBER_AUTO_FAN_PIN); #endif // Wait for temperature measurement to settle @@ -2615,22 +2641,18 @@ void Temperature::isr() { ); #endif #if HAS_TEMP_CHAMBER - #if HAS_HEATED_CHAMBER - print_heater_state(degChamber(), degTargetChamber() - #if ENABLED(SHOW_TEMP_ADC_VALUES) - , rawChamberTemp() - #endif + print_heater_state(degChamber() + #if HAS_HEATED_CHAMBER + , degTargetChamber() + #else + , 0 + #endif + #if ENABLED(SHOW_TEMP_ADC_VALUES) + , rawChamberTemp() + #endif , -2 // CHAMBER ); - #else - print_heater_state(degChamber(), 0 - #if ENABLED(SHOW_TEMP_ADC_VALUES) - , rawChamberTemp() - #endif - , -2 // CHAMBER - ); - #endif // HAS_HEATED_CHAMBER - #endif + #endif // HAS_TEMP_CHAMBER #if HOTENDS > 1 HOTEND_LOOP() print_heater_state(degHotend(e), degTargetHotend(e) #if ENABLED(SHOW_TEMP_ADC_VALUES) @@ -2935,4 +2957,106 @@ void Temperature::isr() { #endif // HAS_HEATED_BED + #if 0 && HAS_HEATED_CHAMBER + + #ifndef MIN_COOLING_SLOPE_DEG_CHAMBER + #define MIN_COOLING_SLOPE_DEG_CHAMBER 1.50 + #endif + #ifndef MIN_COOLING_SLOPE_TIME_CHAMBER + #define MIN_COOLING_SLOPE_TIME_CHAMBER 60 + #endif + + bool Temperature::wait_for_chamber(const bool no_wait_for_cooling/*=true*/) { + #if TEMP_CHAMBER_RESIDENCY_TIME > 0 + millis_t residency_start_ms = 0; + // Loop until the temperature has stabilized + #define TEMP_CHAMBER_CONDITIONS (!residency_start_ms || PENDING(now, residency_start_ms + (TEMP_CHAMBER_RESIDENCY_TIME) * 1000UL)) + #else + // Loop until the temperature is very close target + #define TEMP_CHAMBER_CONDITIONS (wants_to_cool ? isCoolingChamber() : isHeatingChamber()) + #endif + + float target_temp = -1, old_temp = 9999; + bool wants_to_cool = false, first_loop = true; + wait_for_heatup = true; + millis_t now, next_temp_ms = 0, next_cool_check_ms = 0; + + #if DISABLED(BUSY_WHILE_HEATING) && ENABLED(HOST_KEEPALIVE_FEATURE) + const GcodeSuite::MarlinBusyState old_busy_state = gcode.busy_state; + KEEPALIVE_STATE(NOT_BUSY); + #endif + + do { + // Target temperature might be changed during the loop + if (target_temp != degTargetChamber()) { + wants_to_cool = isCoolingChamber(); + target_temp = degTargetChamber(); + + // Exit if S, continue if S, R, or R + if (no_wait_for_cooling && wants_to_cool) break; + } + + now = millis(); + if (ELAPSED(now, next_temp_ms)) { //Print Temp Reading every 1 second while heating up. + next_temp_ms = now + 1000UL; + print_heater_states(active_extruder); + #if TEMP_CHAMBER_RESIDENCY_TIME > 0 + SERIAL_ECHOPGM(" W:"); + if (residency_start_ms) + SERIAL_ECHO(long((((TEMP_CHAMBER_RESIDENCY_TIME) * 1000UL) - (now - residency_start_ms)) / 1000UL)); + else + SERIAL_CHAR('?'); + #endif + SERIAL_EOL(); + } + + idle(); + gcode.reset_stepper_timeout(); // Keep steppers powered + + const float temp = degChamber(); + + #if TEMP_CHAMBER_RESIDENCY_TIME > 0 + + const float temp_diff = ABS(target_temp - temp); + + if (!residency_start_ms) { + // Start the TEMP_CHAMBER_RESIDENCY_TIME timer when we reach target temp for the first time. + if (temp_diff < TEMP_CHAMBER_WINDOW) { + residency_start_ms = now; + if (first_loop) residency_start_ms += (TEMP_CHAMBER_RESIDENCY_TIME) * 1000UL; + } + } + else if (temp_diff > TEMP_CHAMBER_HYSTERESIS) { + // Restart the timer whenever the temperature falls outside the hysteresis. + residency_start_ms = now; + } + + #endif // TEMP_CHAMBER_RESIDENCY_TIME > 0 + + // Prevent a wait-forever situation if R is misused i.e. M191 R0 + if (wants_to_cool) { + // Break after MIN_COOLING_SLOPE_TIME_CHAMBER seconds + // if the temperature did not drop at least MIN_COOLING_SLOPE_DEG_CHAMBER + if (!next_cool_check_ms || ELAPSED(now, next_cool_check_ms)) { + if (old_temp - temp < float(MIN_COOLING_SLOPE_DEG_CHAMBER)) break; + next_cool_check_ms = now + 1000UL * MIN_COOLING_SLOPE_TIME_CHAMBER; + old_temp = temp; + } + } + + first_loop = false; + + } while (wait_for_heatup && TEMP_CHAMBER_CONDITIONS); + + if (wait_for_heatup) ui.reset_status(); + + #if DISABLED(BUSY_WHILE_HEATING) && ENABLED(HOST_KEEPALIVE_FEATURE) + gcode.busy_state = old_busy_state; + #endif + + return wait_for_heatup; + } + + #endif // HAS_HEATED_CHAMBER + #endif // HAS_TEMP_SENSOR diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index d8496c373..9a56a9ef2 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -147,34 +147,6 @@ enum ADCSensorState : char { #define G26_CLICK_CAN_CANCEL (HAS_LCD_MENU && ENABLED(G26_MESH_VALIDATION)) -enum TempIndex : uint8_t { - #if HOTENDS > 0 - TEMP_E0, - #if HOTENDS > 1 - TEMP_E1, - #if HOTENDS > 2 - TEMP_E2, - #if HOTENDS > 3 - TEMP_E3, - #if HOTENDS > 4 - TEMP_E4, - #if HOTENDS > 5 - TEMP_E5, - #endif - #endif - #endif - #endif - #endif - #endif - #if HAS_HEATED_BED - TEMP_BED, - #endif - #if HAS_HEATED_CHAMBER - TEMP_CHAMBER, - #endif - tempCOUNT -}; - // A temperature sensor typedef struct TempInfo { uint16_t acc; @@ -255,6 +227,10 @@ class Temperature { static uint8_t autofan_speed[HOTENDS]; #endif + #if ENABLED(AUTO_POWER_CHAMBER_FAN) + static uint8_t chamberfan_speed; + #endif + #if ENABLED(FAN_SOFT_PWM) static uint8_t soft_pwm_amount_fan[FAN_COUNT], soft_pwm_count_fan[FAN_COUNT]; @@ -554,20 +530,18 @@ class Temperature { static inline void start_watching_chamber() {} #endif - #if HAS_TEMP_CHAMBER + #if HAS_HEATED_CHAMBER static void setTargetChamber(const int16_t celsius) { - #if HAS_HEATED_CHAMBER - temp_chamber.target = - #ifdef CHAMBER_MAXTEMP - MIN(celsius, CHAMBER_MAXTEMP) - #else - celsius - #endif - ; - start_watching_chamber(); - #endif // HAS_HEATED_CHAMBER + temp_chamber.target = + #ifdef CHAMBER_MAXTEMP + MIN(celsius, CHAMBER_MAXTEMP) + #else + celsius + #endif + ; + start_watching_chamber(); } - #endif // HAS_TEMP_CHAMBER + #endif // HAS_HEATED_CHAMBER FORCE_INLINE static bool isHeatingHotend(const uint8_t e) { E_UNUSED(); @@ -627,13 +601,15 @@ class Temperature { #if HAS_TEMP_CHAMBER #if ENABLED(SHOW_TEMP_ADC_VALUES) - FORCE_INLINE static int16_t rawChamberTemp() { return temp_chamber.raw; } + FORCE_INLINE static int16_t rawChamberTemp() { return temp_chamber.raw; } #endif - FORCE_INLINE static float degChamber() { return temp_chamber.current; } + FORCE_INLINE static float degChamber() { return temp_chamber.current; } #if HAS_HEATED_CHAMBER + FORCE_INLINE static int16_t degTargetChamber() { return temp_chamber.target; } FORCE_INLINE static bool isHeatingChamber() { return temp_chamber.target > temp_chamber.current; } FORCE_INLINE static bool isCoolingChamber() { return temp_chamber.target < temp_chamber.current; } - FORCE_INLINE static int16_t degTargetChamber() {return temp_chamber.target; } + + static bool wait_for_chamber(const bool no_wait_for_cooling=true); #endif #endif // HAS_TEMP_CHAMBER @@ -754,9 +730,6 @@ class Temperature { static void _temp_error(const int8_t e, PGM_P const serial_msg, PGM_P const lcd_msg); static void min_temp_error(const int8_t e); static void max_temp_error(const int8_t e); - #if HAS_TEMP_CHAMBER - static void chamber_temp_error(const bool max); - #endif #if ENABLED(THERMAL_PROTECTION_HOTENDS) || HAS_THERMALLY_PROTECTED_BED || ENABLED(THERMAL_PROTECTION_CHAMBER) diff --git a/config/default/Configuration.h b/config/default/Configuration.h index 2b6dbb07a..b9443c868 100644 --- a/config/default/Configuration.h +++ b/config/default/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/3DFabXYZ/Migbot/Configuration.h b/config/examples/3DFabXYZ/Migbot/Configuration.h index ee61a0fa6..524cb39f5 100644 --- a/config/examples/3DFabXYZ/Migbot/Configuration.h +++ b/config/examples/3DFabXYZ/Migbot/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/AlephObjects/TAZ4/Configuration.h b/config/examples/AlephObjects/TAZ4/Configuration.h index b02ec825f..ad3a58825 100644 --- a/config/examples/AlephObjects/TAZ4/Configuration.h +++ b/config/examples/AlephObjects/TAZ4/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/AliExpress/CL-260/Configuration.h b/config/examples/AliExpress/CL-260/Configuration.h index 8607a91b8..e427361b6 100644 --- a/config/examples/AliExpress/CL-260/Configuration.h +++ b/config/examples/AliExpress/CL-260/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/AliExpress/UM2pExt/Configuration.h b/config/examples/AliExpress/UM2pExt/Configuration.h index f3c7f9f05..15a50f76e 100644 --- a/config/examples/AliExpress/UM2pExt/Configuration.h +++ b/config/examples/AliExpress/UM2pExt/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Anet/A2/Configuration.h b/config/examples/Anet/A2/Configuration.h index 540d1411d..a6cb7fa9e 100644 --- a/config/examples/Anet/A2/Configuration.h +++ b/config/examples/Anet/A2/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Anet/A2plus/Configuration.h b/config/examples/Anet/A2plus/Configuration.h index c70c52534..b2673655a 100644 --- a/config/examples/Anet/A2plus/Configuration.h +++ b/config/examples/Anet/A2plus/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Anet/A6/Configuration.h b/config/examples/Anet/A6/Configuration.h index d71e9eace..73327ea03 100644 --- a/config/examples/Anet/A6/Configuration.h +++ b/config/examples/Anet/A6/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Anet/A8/Configuration.h b/config/examples/Anet/A8/Configuration.h index 27bd0f7e0..027746050 100644 --- a/config/examples/Anet/A8/Configuration.h +++ b/config/examples/Anet/A8/Configuration.h @@ -322,6 +322,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/AnyCubic/i3/Configuration.h b/config/examples/AnyCubic/i3/Configuration.h index 82a358be1..ae4cafa7d 100644 --- a/config/examples/AnyCubic/i3/Configuration.h +++ b/config/examples/AnyCubic/i3/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/ArmEd/Configuration.h b/config/examples/ArmEd/Configuration.h index 97bdd6691..590d204a5 100644 --- a/config/examples/ArmEd/Configuration.h +++ b/config/examples/ArmEd/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Azteeg/X5GT/Configuration.h b/config/examples/Azteeg/X5GT/Configuration.h index 729491310..5dbad2994 100644 --- a/config/examples/Azteeg/X5GT/Configuration.h +++ b/config/examples/Azteeg/X5GT/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/BIBO/TouchX/cyclops/Configuration.h b/config/examples/BIBO/TouchX/cyclops/Configuration.h index 727761fcf..ecbdaddfd 100644 --- a/config/examples/BIBO/TouchX/cyclops/Configuration.h +++ b/config/examples/BIBO/TouchX/cyclops/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/BIBO/TouchX/default/Configuration.h b/config/examples/BIBO/TouchX/default/Configuration.h index e60c6ad61..a716c728f 100644 --- a/config/examples/BIBO/TouchX/default/Configuration.h +++ b/config/examples/BIBO/TouchX/default/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/BQ/Hephestos/Configuration.h b/config/examples/BQ/Hephestos/Configuration.h index 5065c2a75..098d1140a 100644 --- a/config/examples/BQ/Hephestos/Configuration.h +++ b/config/examples/BQ/Hephestos/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/BQ/Hephestos_2/Configuration.h b/config/examples/BQ/Hephestos_2/Configuration.h index b7c8ef71c..601970a3e 100644 --- a/config/examples/BQ/Hephestos_2/Configuration.h +++ b/config/examples/BQ/Hephestos_2/Configuration.h @@ -329,6 +329,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/BQ/WITBOX/Configuration.h b/config/examples/BQ/WITBOX/Configuration.h index e9c4f2e0d..3a920797c 100644 --- a/config/examples/BQ/WITBOX/Configuration.h +++ b/config/examples/BQ/WITBOX/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Cartesio/Configuration.h b/config/examples/Cartesio/Configuration.h index b5f338581..a8987efae 100644 --- a/config/examples/Cartesio/Configuration.h +++ b/config/examples/Cartesio/Configuration.h @@ -322,6 +322,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Creality/CR-10/Configuration.h b/config/examples/Creality/CR-10/Configuration.h index 3c3069cbc..aac63ced2 100644 --- a/config/examples/Creality/CR-10/Configuration.h +++ b/config/examples/Creality/CR-10/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Creality/CR-10S/Configuration.h b/config/examples/Creality/CR-10S/Configuration.h index 4b4223439..0e133bbee 100644 --- a/config/examples/Creality/CR-10S/Configuration.h +++ b/config/examples/Creality/CR-10S/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Creality/CR-10_5S/Configuration.h b/config/examples/Creality/CR-10_5S/Configuration.h index 54f2463de..a5a5ee19a 100644 --- a/config/examples/Creality/CR-10_5S/Configuration.h +++ b/config/examples/Creality/CR-10_5S/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Creality/CR-10mini/Configuration.h b/config/examples/Creality/CR-10mini/Configuration.h index a8c130d00..f05e2cdb1 100644 --- a/config/examples/Creality/CR-10mini/Configuration.h +++ b/config/examples/Creality/CR-10mini/Configuration.h @@ -330,6 +330,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Creality/CR-8/Configuration.h b/config/examples/Creality/CR-8/Configuration.h index 0a111b496..f6ff0072a 100644 --- a/config/examples/Creality/CR-8/Configuration.h +++ b/config/examples/Creality/CR-8/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Creality/Ender-2/Configuration.h b/config/examples/Creality/Ender-2/Configuration.h index 6442a8206..d48ed643a 100644 --- a/config/examples/Creality/Ender-2/Configuration.h +++ b/config/examples/Creality/Ender-2/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Creality/Ender-3/Configuration.h b/config/examples/Creality/Ender-3/Configuration.h index 8a7834f52..e707b28e1 100644 --- a/config/examples/Creality/Ender-3/Configuration.h +++ b/config/examples/Creality/Ender-3/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Creality/Ender-4/Configuration.h b/config/examples/Creality/Ender-4/Configuration.h index e9b16efa1..1da04bc4d 100644 --- a/config/examples/Creality/Ender-4/Configuration.h +++ b/config/examples/Creality/Ender-4/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Einstart-S/Configuration.h b/config/examples/Einstart-S/Configuration.h index 4d289a833..ec63ac46d 100644 --- a/config/examples/Einstart-S/Configuration.h +++ b/config/examples/Einstart-S/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Felix/Configuration.h b/config/examples/Felix/Configuration.h index a99fcb843..1e7f99a20 100644 --- a/config/examples/Felix/Configuration.h +++ b/config/examples/Felix/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Felix/DUAL/Configuration.h b/config/examples/Felix/DUAL/Configuration.h index a8511a932..435bca014 100644 --- a/config/examples/Felix/DUAL/Configuration.h +++ b/config/examples/Felix/DUAL/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/FlashForge/CreatorPro/Configuration.h b/config/examples/FlashForge/CreatorPro/Configuration.h index da17a72c9..64784000f 100644 --- a/config/examples/FlashForge/CreatorPro/Configuration.h +++ b/config/examples/FlashForge/CreatorPro/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/FolgerTech/i3-2020/Configuration.h b/config/examples/FolgerTech/i3-2020/Configuration.h index 3b6e5ab45..56a62ad5e 100644 --- a/config/examples/FolgerTech/i3-2020/Configuration.h +++ b/config/examples/FolgerTech/i3-2020/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Formbot/Raptor/Configuration.h b/config/examples/Formbot/Raptor/Configuration.h index c5c9ecfaa..a57fd8a79 100644 --- a/config/examples/Formbot/Raptor/Configuration.h +++ b/config/examples/Formbot/Raptor/Configuration.h @@ -362,6 +362,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Formbot/T_Rex_2+/Configuration.h b/config/examples/Formbot/T_Rex_2+/Configuration.h index 6fb1d979a..986c828d0 100644 --- a/config/examples/Formbot/T_Rex_2+/Configuration.h +++ b/config/examples/Formbot/T_Rex_2+/Configuration.h @@ -330,6 +330,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Formbot/T_Rex_3/Configuration.h b/config/examples/Formbot/T_Rex_3/Configuration.h index c8da64ccc..3aa3bc947 100644 --- a/config/examples/Formbot/T_Rex_3/Configuration.h +++ b/config/examples/Formbot/T_Rex_3/Configuration.h @@ -325,6 +325,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Geeetech/A10M/Configuration.h b/config/examples/Geeetech/A10M/Configuration.h index 6e0e1f5db..89d9a6ade 100644 --- a/config/examples/Geeetech/A10M/Configuration.h +++ b/config/examples/Geeetech/A10M/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Geeetech/A20M/Configuration.h b/config/examples/Geeetech/A20M/Configuration.h index 57da04a03..88ccfb23c 100644 --- a/config/examples/Geeetech/A20M/Configuration.h +++ b/config/examples/Geeetech/A20M/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Geeetech/GT2560/Configuration.h b/config/examples/Geeetech/GT2560/Configuration.h index 0cdaafdba..55435a9c5 100644 --- a/config/examples/Geeetech/GT2560/Configuration.h +++ b/config/examples/Geeetech/GT2560/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h b/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h index fadf52dd4..000f5597a 100644 --- a/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h +++ b/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Geeetech/MeCreator2/Configuration.h b/config/examples/Geeetech/MeCreator2/Configuration.h index dab2f41b7..3103ed22d 100644 --- a/config/examples/Geeetech/MeCreator2/Configuration.h +++ b/config/examples/Geeetech/MeCreator2/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h index 98191aed0..0f4faf70d 100644 --- a/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h +++ b/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h index 13a6871d4..08b4bde7a 100644 --- a/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h +++ b/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h index 375b1ba78..100c7d7ef 100644 --- a/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h +++ b/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Infitary/i3-M508/Configuration.h b/config/examples/Infitary/i3-M508/Configuration.h index 3c8ea4b9c..b5634860f 100644 --- a/config/examples/Infitary/i3-M508/Configuration.h +++ b/config/examples/Infitary/i3-M508/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/JGAurora/A5/Configuration.h b/config/examples/JGAurora/A5/Configuration.h index 2f2e8fbd8..2540a8e38 100644 --- a/config/examples/JGAurora/A5/Configuration.h +++ b/config/examples/JGAurora/A5/Configuration.h @@ -326,6 +326,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/MakerParts/Configuration.h b/config/examples/MakerParts/Configuration.h index 20b1e86a9..f37d01824 100644 --- a/config/examples/MakerParts/Configuration.h +++ b/config/examples/MakerParts/Configuration.h @@ -341,6 +341,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Malyan/M150/Configuration.h b/config/examples/Malyan/M150/Configuration.h index 2685d68e3..0b004e188 100644 --- a/config/examples/Malyan/M150/Configuration.h +++ b/config/examples/Malyan/M150/Configuration.h @@ -326,6 +326,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Malyan/M200/Configuration.h b/config/examples/Malyan/M200/Configuration.h index 6c2e8429c..5dc755a8c 100644 --- a/config/examples/Malyan/M200/Configuration.h +++ b/config/examples/Malyan/M200/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Micromake/C1/basic/Configuration.h b/config/examples/Micromake/C1/basic/Configuration.h index 1e36c1790..ed0f1371b 100644 --- a/config/examples/Micromake/C1/basic/Configuration.h +++ b/config/examples/Micromake/C1/basic/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Micromake/C1/enhanced/Configuration.h b/config/examples/Micromake/C1/enhanced/Configuration.h index 9f8b7c5a9..7bf6c124f 100644 --- a/config/examples/Micromake/C1/enhanced/Configuration.h +++ b/config/examples/Micromake/C1/enhanced/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Mks/Robin/Configuration.h b/config/examples/Mks/Robin/Configuration.h index aa1827e96..d791ec831 100644 --- a/config/examples/Mks/Robin/Configuration.h +++ b/config/examples/Mks/Robin/Configuration.h @@ -322,6 +322,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Mks/Sbase/Configuration.h b/config/examples/Mks/Sbase/Configuration.h index 7dc3642cf..486c2779b 100644 --- a/config/examples/Mks/Sbase/Configuration.h +++ b/config/examples/Mks/Sbase/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Printrbot/PrintrboardG2/Configuration.h b/config/examples/Printrbot/PrintrboardG2/Configuration.h index 1448ad07a..a2fd1011a 100644 --- a/config/examples/Printrbot/PrintrboardG2/Configuration.h +++ b/config/examples/Printrbot/PrintrboardG2/Configuration.h @@ -322,6 +322,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/RapideLite/RL200/Configuration.h b/config/examples/RapideLite/RL200/Configuration.h index 34057f1a5..c60dbd836 100644 --- a/config/examples/RapideLite/RL200/Configuration.h +++ b/config/examples/RapideLite/RL200/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/RepRapPro/Huxley/Configuration.h b/config/examples/RepRapPro/Huxley/Configuration.h index 30b238bc1..a639e1f6d 100644 --- a/config/examples/RepRapPro/Huxley/Configuration.h +++ b/config/examples/RepRapPro/Huxley/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/RepRapWorld/Megatronics/Configuration.h b/config/examples/RepRapWorld/Megatronics/Configuration.h index 08b7407cf..bbd968246 100644 --- a/config/examples/RepRapWorld/Megatronics/Configuration.h +++ b/config/examples/RepRapWorld/Megatronics/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/RigidBot/Configuration.h b/config/examples/RigidBot/Configuration.h index a60ab22af..bb98e6086 100644 --- a/config/examples/RigidBot/Configuration.h +++ b/config/examples/RigidBot/Configuration.h @@ -324,6 +324,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/SCARA/Configuration.h b/config/examples/SCARA/Configuration.h index a8db4cb88..9fac65aaf 100644 --- a/config/examples/SCARA/Configuration.h +++ b/config/examples/SCARA/Configuration.h @@ -352,6 +352,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/STM32/Black_STM32F407VET6/Configuration.h b/config/examples/STM32/Black_STM32F407VET6/Configuration.h index bde6d9735..edb1bb3e5 100644 --- a/config/examples/STM32/Black_STM32F407VET6/Configuration.h +++ b/config/examples/STM32/Black_STM32F407VET6/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/STM32/STM32F10/Configuration.h b/config/examples/STM32/STM32F10/Configuration.h index 9ab8e0d3c..63982ce26 100644 --- a/config/examples/STM32/STM32F10/Configuration.h +++ b/config/examples/STM32/STM32F10/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/STM32/STM32F4/Configuration.h b/config/examples/STM32/STM32F4/Configuration.h index b7afbd951..b066ddb30 100644 --- a/config/examples/STM32/STM32F4/Configuration.h +++ b/config/examples/STM32/STM32F4/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/STM32/stm32f103ret6/Configuration.h b/config/examples/STM32/stm32f103ret6/Configuration.h index c8233a1f7..4fa289ae2 100644 --- a/config/examples/STM32/stm32f103ret6/Configuration.h +++ b/config/examples/STM32/stm32f103ret6/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Sanguinololu/Configuration.h b/config/examples/Sanguinololu/Configuration.h index 597dc3dfe..bc12e810c 100644 --- a/config/examples/Sanguinololu/Configuration.h +++ b/config/examples/Sanguinololu/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/TheBorg/Configuration.h b/config/examples/TheBorg/Configuration.h index 90c83b452..01a4141c1 100644 --- a/config/examples/TheBorg/Configuration.h +++ b/config/examples/TheBorg/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/TinyBoy2/Configuration.h b/config/examples/TinyBoy2/Configuration.h index f5f093496..8fb827870 100644 --- a/config/examples/TinyBoy2/Configuration.h +++ b/config/examples/TinyBoy2/Configuration.h @@ -343,6 +343,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Tronxy/X1/Configuration.h b/config/examples/Tronxy/X1/Configuration.h index 174333f66..c94792424 100644 --- a/config/examples/Tronxy/X1/Configuration.h +++ b/config/examples/Tronxy/X1/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Tronxy/X3A/Configuration.h b/config/examples/Tronxy/X3A/Configuration.h index 95fd1cb0c..492a058f3 100644 --- a/config/examples/Tronxy/X3A/Configuration.h +++ b/config/examples/Tronxy/X3A/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Tronxy/X5S-2E/Configuration.h b/config/examples/Tronxy/X5S-2E/Configuration.h index 2af36d33d..ef5545876 100644 --- a/config/examples/Tronxy/X5S-2E/Configuration.h +++ b/config/examples/Tronxy/X5S-2E/Configuration.h @@ -323,6 +323,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Tronxy/X5S/Configuration.h b/config/examples/Tronxy/X5S/Configuration.h index fa92e03ec..053566f5c 100644 --- a/config/examples/Tronxy/X5S/Configuration.h +++ b/config/examples/Tronxy/X5S/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Tronxy/XY100/Configuration.h b/config/examples/Tronxy/XY100/Configuration.h index 54e7e47b8..74aa8596c 100644 --- a/config/examples/Tronxy/XY100/Configuration.h +++ b/config/examples/Tronxy/XY100/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/UltiMachine/Archim1/Configuration.h b/config/examples/UltiMachine/Archim1/Configuration.h index 38f435a9e..9317bea65 100644 --- a/config/examples/UltiMachine/Archim1/Configuration.h +++ b/config/examples/UltiMachine/Archim1/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/UltiMachine/Archim2/Configuration.h b/config/examples/UltiMachine/Archim2/Configuration.h index 0238bf274..2ce236a08 100644 --- a/config/examples/UltiMachine/Archim2/Configuration.h +++ b/config/examples/UltiMachine/Archim2/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/VORONDesign/Configuration.h b/config/examples/VORONDesign/Configuration.h index 0f0687b02..82fed83f6 100644 --- a/config/examples/VORONDesign/Configuration.h +++ b/config/examples/VORONDesign/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Velleman/K8200/Configuration.h b/config/examples/Velleman/K8200/Configuration.h index db71aecd1..caddd80f4 100644 --- a/config/examples/Velleman/K8200/Configuration.h +++ b/config/examples/Velleman/K8200/Configuration.h @@ -341,6 +341,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Velleman/K8400/Configuration.h b/config/examples/Velleman/K8400/Configuration.h index 1514fb31d..e4a419608 100644 --- a/config/examples/Velleman/K8400/Configuration.h +++ b/config/examples/Velleman/K8400/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Velleman/K8400/Dual-head/Configuration.h b/config/examples/Velleman/K8400/Dual-head/Configuration.h index 1446e4f46..b381b7222 100644 --- a/config/examples/Velleman/K8400/Dual-head/Configuration.h +++ b/config/examples/Velleman/K8400/Dual-head/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/WASP/PowerWASP/Configuration.h b/config/examples/WASP/PowerWASP/Configuration.h index d780436c0..77257fa26 100644 --- a/config/examples/WASP/PowerWASP/Configuration.h +++ b/config/examples/WASP/PowerWASP/Configuration.h @@ -340,6 +340,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/Wanhao/Duplicator 6/Configuration.h b/config/examples/Wanhao/Duplicator 6/Configuration.h index 75e1368bd..279f048f3 100644 --- a/config/examples/Wanhao/Duplicator 6/Configuration.h +++ b/config/examples/Wanhao/Duplicator 6/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/adafruit/ST7565/Configuration.h b/config/examples/adafruit/ST7565/Configuration.h index b969fb182..b46b0a2ac 100644 --- a/config/examples/adafruit/ST7565/Configuration.h +++ b/config/examples/adafruit/ST7565/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/Anycubic/Kossel/Configuration.h b/config/examples/delta/Anycubic/Kossel/Configuration.h index 9a7ac39d6..073299b5f 100644 --- a/config/examples/delta/Anycubic/Kossel/Configuration.h +++ b/config/examples/delta/Anycubic/Kossel/Configuration.h @@ -336,6 +336,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/FLSUN/auto_calibrate/Configuration.h b/config/examples/delta/FLSUN/auto_calibrate/Configuration.h index 6b254701d..74229f832 100644 --- a/config/examples/delta/FLSUN/auto_calibrate/Configuration.h +++ b/config/examples/delta/FLSUN/auto_calibrate/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/FLSUN/kossel/Configuration.h b/config/examples/delta/FLSUN/kossel/Configuration.h index c486bb2fb..f575c00c5 100644 --- a/config/examples/delta/FLSUN/kossel/Configuration.h +++ b/config/examples/delta/FLSUN/kossel/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/FLSUN/kossel_mini/Configuration.h b/config/examples/delta/FLSUN/kossel_mini/Configuration.h index 478b667e4..3227e476a 100644 --- a/config/examples/delta/FLSUN/kossel_mini/Configuration.h +++ b/config/examples/delta/FLSUN/kossel_mini/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/Geeetech/Rostock 301/Configuration.h b/config/examples/delta/Geeetech/Rostock 301/Configuration.h index a7052f9fe..ac7a72682 100644 --- a/config/examples/delta/Geeetech/Rostock 301/Configuration.h +++ b/config/examples/delta/Geeetech/Rostock 301/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/Hatchbox_Alpha/Configuration.h b/config/examples/delta/Hatchbox_Alpha/Configuration.h index c52b5f38a..0661c9742 100644 --- a/config/examples/delta/Hatchbox_Alpha/Configuration.h +++ b/config/examples/delta/Hatchbox_Alpha/Configuration.h @@ -326,6 +326,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/MKS/SBASE/Configuration.h b/config/examples/delta/MKS/SBASE/Configuration.h index a10d56224..2ec7f71c9 100644 --- a/config/examples/delta/MKS/SBASE/Configuration.h +++ b/config/examples/delta/MKS/SBASE/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/Tevo Little Monster/Configuration.h b/config/examples/delta/Tevo Little Monster/Configuration.h index c9cf25ade..5defdfee9 100644 --- a/config/examples/delta/Tevo Little Monster/Configuration.h +++ b/config/examples/delta/Tevo Little Monster/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/generic/Configuration.h b/config/examples/delta/generic/Configuration.h index 128a19cbd..09485fef6 100644 --- a/config/examples/delta/generic/Configuration.h +++ b/config/examples/delta/generic/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/kossel_mini/Configuration.h b/config/examples/delta/kossel_mini/Configuration.h index cd467bc6b..bc4299de6 100644 --- a/config/examples/delta/kossel_mini/Configuration.h +++ b/config/examples/delta/kossel_mini/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/kossel_pro/Configuration.h b/config/examples/delta/kossel_pro/Configuration.h index 49ef64698..7970656ad 100644 --- a/config/examples/delta/kossel_pro/Configuration.h +++ b/config/examples/delta/kossel_pro/Configuration.h @@ -325,6 +325,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/delta/kossel_xl/Configuration.h b/config/examples/delta/kossel_xl/Configuration.h index ea25f1a3d..067557020 100644 --- a/config/examples/delta/kossel_xl/Configuration.h +++ b/config/examples/delta/kossel_xl/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/gCreate/gMax1.5+/Configuration.h b/config/examples/gCreate/gMax1.5+/Configuration.h index 086aacca5..4539ece28 100644 --- a/config/examples/gCreate/gMax1.5+/Configuration.h +++ b/config/examples/gCreate/gMax1.5+/Configuration.h @@ -326,6 +326,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/makibox/Configuration.h b/config/examples/makibox/Configuration.h index 5ec5977eb..a4b4c5c10 100644 --- a/config/examples/makibox/Configuration.h +++ b/config/examples/makibox/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/tvrrug/Round2/Configuration.h b/config/examples/tvrrug/Round2/Configuration.h index ac206313e..fb20bbabf 100644 --- a/config/examples/tvrrug/Round2/Configuration.h +++ b/config/examples/tvrrug/Round2/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif diff --git a/config/examples/wt150/Configuration.h b/config/examples/wt150/Configuration.h index beb5a1875..a8d04080b 100644 --- a/config/examples/wt150/Configuration.h +++ b/config/examples/wt150/Configuration.h @@ -321,6 +321,7 @@ #define AUTO_POWER_FANS // Turn on PSU if fans need power #define AUTO_POWER_E_FANS #define AUTO_POWER_CONTROLLERFAN + #define AUTO_POWER_CHAMBER_FAN #define POWER_TIMEOUT 30 #endif