diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index 3459f36c00..e9f740305c 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -391,11 +391,6 @@ bool pin_is_protected(const int8_t pin) { #endif // AUTO_REPORT_TEMPERATURES && (HAS_TEMP_HOTEND || HAS_TEMP_BED) -#if FAN_COUNT > 0 - #include "gcode/temperature/M106.h" - #include "gcode/temperature/M107.h" -#endif - #if DISABLED(EMERGENCY_PARSER) #include "gcode/control/M108.h" #include "gcode/control/M112.h" diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index fa7a697716..6f9b16f0de 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -124,8 +124,6 @@ extern void gcode_M83(); extern void gcode_M85(); extern void gcode_M92(); extern void gcode_M100(); -extern void gcode_M106(); -extern void gcode_M107(); extern void gcode_M108(); extern void gcode_M110(); extern void gcode_M111(); @@ -509,13 +507,9 @@ void GcodeSuite::process_next_command() { #endif // HAS_TEMP_BED #if FAN_COUNT > 0 - case 106: // M106: Fan On - gcode_M106(); - break; - case 107: // M107: Fan Off - gcode_M107(); - break; - #endif // FAN_COUNT > 0 + case 106: M106(); break; // M106: Fan On + case 107: M107(); break; // M107: Fan Off + #endif #if ENABLED(PARK_HEAD_ON_PAUSE) case 125: // M125: Store current position and move to filament change position diff --git a/Marlin/src/gcode/temperature/M106.h b/Marlin/src/gcode/temperature/M106_M107.cpp similarity index 76% rename from Marlin/src/gcode/temperature/M106.h rename to Marlin/src/gcode/temperature/M106_M107.cpp index 14c1b2ca7d..ce0cca6ef1 100644 --- a/Marlin/src/gcode/temperature/M106.h +++ b/Marlin/src/gcode/temperature/M106_M107.cpp @@ -20,15 +20,32 @@ * */ +#include "../../inc/MarlinConfig.h" + +#if FAN_COUNT > 0 + +#include "../gcode.h" +#include "../../Marlin.h" // for fanSpeeds — should move those to Planner + /** * M106: Set Fan Speed * * S Speed between 0-255 * P Fan index, if more than one fan */ -void gcode_M106() { +void GcodeSuite::M106() { uint16_t s = parser.ushortval('S', 255); NOMORE(s, 255); const uint8_t p = parser.byteval('P', 0); if (p < FAN_COUNT) fanSpeeds[p] = s; } + +/** + * M107: Fan Off + */ +void GcodeSuite::M107() { + const uint16_t p = parser.ushortval('P'); + if (p < FAN_COUNT) fanSpeeds[p] = 0; +} + +#endif // FAN_COUNT > 0 diff --git a/Marlin/src/gcode/temperature/M107.h b/Marlin/src/gcode/temperature/M107.h deleted file mode 100644 index ed95801f65..0000000000 --- a/Marlin/src/gcode/temperature/M107.h +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Marlin 3D Printer Firmware - * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - * - * Based on Sprinter and grbl. - * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - -/** - * M107: Fan Off - */ -void gcode_M107() { - const uint16_t p = parser.ushortval('P'); - if (p < FAN_COUNT) fanSpeeds[p] = 0; -}