Skip to content

Commit f43310f

Browse files
committed
First draft: configure extruder fan speed
1 parent 2486487 commit f43310f

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
@@ -408,6 +408,8 @@ PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
408408
uint8_t Temperature::soft_pwm_controller_speed = FAN_OFF_PWM;
409409
#endif
410410

411+
uint8_t Temperature::extruder_fan_speed = EXTRUDER_AUTO_FAN_SPEED;
412+
411413
// Init fans according to whether they're native PWM or Software PWM
412414
#ifdef BOARD_OPENDRAIN_MOSFETS
413415
#define _INIT_SOFT_FAN(P) OUT_WRITE_OD(P, ENABLED(FAN_INVERTING) ? LOW : HIGH)
@@ -1460,7 +1462,7 @@ int16_t Temperature::getHeaterPower(const heater_id_t heater_id) {
14601462
#if ALL(HAS_FANCHECK, HAS_PWMFANCHECK)
14611463
#define _AUTOFAN_SPEED() fan_check.is_measuring() ? 255 : EXTRUDER_AUTO_FAN_SPEED
14621464
#else
1463-
#define _AUTOFAN_SPEED() EXTRUDER_AUTO_FAN_SPEED
1465+
#define _AUTOFAN_SPEED() extruder_fan_speed
14641466
#endif
14651467
#define _AUTOFAN_CASE(N) case N: _UPDATE_AUTO_FAN(E##N, fan_on, _AUTOFAN_SPEED()); break;
14661468
#define _AUTOFAN_NOT(N)

Marlin/src/module/temperature.h

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

650+
static uint8_t extruder_fan_speed;
651+
650652
#if ALL(HAS_MARLINUI_MENU, PREVENT_COLD_EXTRUSION) && E_MANUAL > 0
651653
static bool allow_cold_extrude_override;
652654
static void set_menu_cold_override(const bool allow) { allow_cold_extrude_override = allow; }

0 commit comments

Comments
 (0)