Skip to content

Commit 399759a

Browse files
committed
First draft: configure extruder fan speed
1 parent a22155b commit 399759a

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

Marlin/src/lcd/menu/menu_configuration.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,9 @@ void menu_advanced_settings();
354354

355355
#include "../../feature/controllerfan.h"
356356

357+
namespace LanguageNarrow_en {
358+
static LSTR MSG_E_FAN = _UxGT("Extruder fan speed");
359+
}
357360
void menu_controller_fan() {
358361
START_MENU();
359362
BACK_ITEM(MSG_CONFIGURATION);
@@ -363,6 +366,7 @@ void menu_advanced_settings();
363366
EDIT_ITEM_FAST(percent, MSG_CONTROLLER_FAN_SPEED, &controllerFan.settings.active_speed, CONTROLLERFAN_SPEED_MIN, 255);
364367
EDIT_ITEM(uint16_4, MSG_CONTROLLER_FAN_DURATION, &controllerFan.settings.duration, 0, 4800);
365368
}
369+
EDIT_ITEM_FAST(percent, MSG_E_FAN, &Temperature::extruder_fan_speed, 0, 255);
366370
END_MENU();
367371
}
368372

Marlin/src/module/temperature.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,8 @@ PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
362362
uint8_t Temperature::soft_pwm_controller_speed = FAN_OFF_PWM;
363363
#endif
364364

365+
uint8_t Temperature::extruder_fan_speed = EXTRUDER_AUTO_FAN_SPEED;
366+
365367
// Init fans according to whether they're native PWM or Software PWM
366368
#ifdef BOARD_OPENDRAIN_MOSFETS
367369
#define _INIT_SOFT_FAN(P) OUT_WRITE_OD(P, ENABLED(FAN_INVERTING) ? LOW : HIGH)
@@ -1402,7 +1404,7 @@ int16_t Temperature::getHeaterPower(const heater_id_t heater_id) {
14021404
#if ALL(HAS_FANCHECK, HAS_PWMFANCHECK)
14031405
#define _AUTOFAN_SPEED() fan_check.is_measuring() ? 255 : EXTRUDER_AUTO_FAN_SPEED
14041406
#else
1405-
#define _AUTOFAN_SPEED() EXTRUDER_AUTO_FAN_SPEED
1407+
#define _AUTOFAN_SPEED() extruder_fan_speed
14061408
#endif
14071409
#define _AUTOFAN_CASE(N) case N: _UPDATE_AUTO_FAN(E##N, fan_on, _AUTOFAN_SPEED()); break;
14081410
#define _AUTOFAN_NOT(N)

Marlin/src/module/temperature.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,8 @@ class Temperature {
645645
static uint8_t soft_pwm_controller_speed;
646646
#endif
647647

648+
static uint8_t extruder_fan_speed;
649+
648650
#if ALL(HAS_MARLINUI_MENU, PREVENT_COLD_EXTRUSION) && E_MANUAL > 0
649651
static bool allow_cold_extrude_override;
650652
static void set_menu_cold_override(const bool allow) { allow_cold_extrude_override = allow; }

0 commit comments

Comments
 (0)