Skip to content

Commit 47fe4ff

Browse files
committed
Max fan menu
1 parent ad71b81 commit 47fe4ff

File tree

6 files changed

+7
-0
lines changed

6 files changed

+7
-0
lines changed

Marlin/src/gcode/temp/M106_M107.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ void GcodeSuite::M106() {
8383
if (!got_preset && parser.seenval('S'))
8484
speed = parser.value_ushort();
8585

86+
speed = min(speed, (uint16_t) thermalManager.max_fan_speed);
87+
8688
TERN_(FOAMCUTTER_XYUV, speed *= 2.55f); // Get command in % of max heat
8789

8890
// Set speed, with constraint

Marlin/src/lcd/language/language_en.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,7 @@ namespace LanguageNarrow_en {
380380
LSTR MSG_CUTTER = _UxGT("Cutter");
381381
LSTR MSG_LASER = _UxGT("Laser");
382382
LSTR MSG_FAN_SPEED = _UxGT("Fan Speed");
383+
LSTR MSG_MAX_FAN_SPEED = _UxGT("Max Fan Speed");
383384
LSTR MSG_FAN_SPEED_N = _UxGT("Fan Speed ~");
384385
LSTR MSG_STORED_FAN_N = _UxGT("Stored Fan ~");
385386
LSTR MSG_EXTRA_FAN_SPEED = _UxGT("Extra Fan Speed");

Marlin/src/lcd/menu/menu_temperature.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ void menu_temperature() {
241241
singlenozzle_item(7);
242242
#endif
243243

244+
EDIT_ITEM_FAST(percent, MSG_MAX_FAN_SPEED, &Temperature::max_fan_speed, 0, 255);
244245
#endif // HAS_FAN
245246

246247
#if HAS_PREHEAT

Marlin/src/lcd/menu/menu_tune.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ void menu_tune() {
189189
singlenozzle_item(7);
190190
#endif
191191

192+
EDIT_ITEM_FAST(percent, MSG_MAX_FAN_SPEED, &Temperature::max_fan_speed, 0, 255);
192193
#endif // HAS_FAN
193194

194195
//

Marlin/src/module/temperature.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,7 @@ PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
432432
#if HAS_FAN
433433

434434
uint8_t Temperature::fan_speed[FAN_COUNT] = ARRAY_N_1(FAN_COUNT, FAN_OFF_PWM);
435+
uint8_t Temperature::max_fan_speed = 255;
435436

436437
#if ENABLED(EXTRA_FAN_SPEED)
437438

Marlin/src/module/temperature.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,7 @@ class Temperature {
879879

880880
static uint8_t fan_speed[FAN_COUNT];
881881
#define FANS_LOOP(I) for (uint8_t I = 0; I < FAN_COUNT; ++I)
882+
static uint8_t max_fan_speed;
882883

883884
static void set_fan_speed(const uint8_t fan, const uint16_t speed);
884885

0 commit comments

Comments
 (0)