Skip to content

Commit 5eee8f6

Browse files
ladismrkoljkpishere
authored andcommitted
Add Chamber servo vent, auto fan (MarlinFirmware#19519)
1 parent 96218fa commit 5eee8f6

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

Marlin/src/module/temperature.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -1210,13 +1210,13 @@ void Temperature::manage_heater() {
12101210
#if CHAMBER_FAN_MODE == 0
12111211
fan_chamber_pwm = CHAMBER_FAN_BASE
12121212
#elif CHAMBER_FAN_MODE == 1
1213-
fan_chamber_pwm = (temp_chamber.celsius > temp_chamber.target) ? (CHAMBER_FAN_BASE) + (CHAMBER_FAN_FACTOR) * (temp_chamber.celsius - temp_chamber.target) : 0;
1213+
fan_chamber_pwm = temp_chamber.celsius > temp_chamber.target ? CHAMBER_FAN_BASE + ((temp_chamber.celsius - temp_chamber.target) * CHAMBER_FAN_FACTOR ) : 0;
12141214
#elif CHAMBER_FAN_MODE == 2
12151215
fan_chamber_pwm = (CHAMBER_FAN_BASE) + (CHAMBER_FAN_FACTOR) * ABS(temp_chamber.celsius - temp_chamber.target);
12161216
if (temp_chamber.soft_pwm_amount)
12171217
fan_chamber_pwm += (CHAMBER_FAN_FACTOR) * 2;
12181218
#endif
1219-
NOMORE(fan_chamber_pwm, 225);
1219+
fan_chamber_pwm = _MIN(225, fan_chamber_pwm);
12201220
thermalManager.set_fan_speed(2, fan_chamber_pwm); // TODO: instead of fan 2, set to chamber fan
12211221
#endif
12221222

@@ -1261,13 +1261,7 @@ void Temperature::manage_heater() {
12611261
next_chamber_check_ms = ms + CHAMBER_CHECK_INTERVAL;
12621262

12631263
if (WITHIN(temp_chamber.celsius, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) {
1264-
if (flag_chamber_excess_heat) {
1265-
temp_chamber.soft_pwm_amount = 0;
1266-
#if ENABLED(CHAMBER_VENT)
1267-
if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, temp_chamber.celsius <= temp_chamber.target ? 0 : 90);
1268-
#endif
1269-
}
1270-
else {
1264+
if (!flag_chamber_excess_heat){
12711265
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
12721266
if (temp_chamber.celsius >= temp_chamber.target + TEMP_CHAMBER_HYSTERESIS)
12731267
temp_chamber.soft_pwm_amount = 0;
@@ -1280,6 +1274,12 @@ void Temperature::manage_heater() {
12801274
if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, 0);
12811275
#endif
12821276
}
1277+
else {
1278+
temp_chamber.soft_pwm_amount = 0;
1279+
#if ENABLED(CHAMBER_VENT)
1280+
if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, temp_chamber.celsius <= temp_chamber.target ? 0 : 90);
1281+
#endif
1282+
}
12831283
}
12841284
else {
12851285
temp_chamber.soft_pwm_amount = 0;

0 commit comments

Comments
 (0)