From 4b9d1b9f260589e5e758bcc90968535cab7bdfa4 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 16 Sep 2017 23:25:01 -0500 Subject: [PATCH] Move M80-M81 to cpp --- Marlin/src/Marlin.cpp | 16 ----- Marlin/src/gcode/control/M80.h | 56 ---------------- .../src/gcode/control/{M81.h => M80_M81.cpp} | 64 ++++++++++++++++++- Marlin/src/gcode/gcode.cpp | 14 +--- 4 files changed, 66 insertions(+), 84 deletions(-) delete mode 100644 Marlin/src/gcode/control/M80.h rename Marlin/src/gcode/control/{M81.h => M80_M81.cpp} (54%) diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index 5259e3315..4b1ac1df7 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -177,16 +177,6 @@ static millis_t stepper_inactive_time = (DEFAULT_STEPPER_DEACTIVE_TIME) * 1000UL float z_endstop_adj; #endif -#if HAS_POWER_SWITCH - bool powersupply_on = - #if ENABLED(PS_DEFAULT_OFF) - false - #else - true - #endif - ; -#endif - #if ENABLED(FILAMENT_RUNOUT_SENSOR) static bool filament_ran_out = false; #endif @@ -369,12 +359,6 @@ bool pin_is_protected(const int8_t pin) { return false; } -#if HAS_POWER_SWITCH - #include "gcode/control/M80.h" -#endif - -#include "gcode/control/M81.h" - #include "gcode/units/M82_M83.h" #include "gcode/control/M18_M84.h" diff --git a/Marlin/src/gcode/control/M80.h b/Marlin/src/gcode/control/M80.h deleted file mode 100644 index 7f6a2775a..000000000 --- a/Marlin/src/gcode/control/M80.h +++ /dev/null @@ -1,56 +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 . - * - */ - -/** - * M80 : Turn on the Power Supply - * M80 S : Report the current state and exit - */ -void gcode_M80() { - - // S: Report the current power supply state and exit - if (parser.seen('S')) { - serialprintPGM(powersupply_on ? PSTR("PS:1\n") : PSTR("PS:0\n")); - return; - } - - OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE); // GND - - /** - * If you have a switch on suicide pin, this is useful - * if you want to start another print with suicide feature after - * a print without suicide... - */ - #if HAS_SUICIDE - OUT_WRITE(SUICIDE_PIN, HIGH); - #endif - - #if ENABLED(HAVE_TMC2130) - delay(100); - tmc2130_init(); // Settings only stick when the driver has power - #endif - - powersupply_on = true; - - #if ENABLED(ULTIPANEL) - LCD_MESSAGEPGM(WELCOME_MSG); - #endif -} diff --git a/Marlin/src/gcode/control/M81.h b/Marlin/src/gcode/control/M80_M81.cpp similarity index 54% rename from Marlin/src/gcode/control/M81.h rename to Marlin/src/gcode/control/M80_M81.cpp index 9944eced2..a5164a1a7 100644 --- a/Marlin/src/gcode/control/M81.h +++ b/Marlin/src/gcode/control/M80_M81.cpp @@ -20,12 +20,74 @@ * */ +#include "../gcode.h" +#include "../../module/temperature.h" +#include "../../module/stepper.h" + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(ULTIPANEL) + #include "../../lcd/ultralcd.h" +#endif + +#if HAS_POWER_SWITCH + + // Could be moved to a feature, but this is all the data + bool powersupply_on = + #if ENABLED(PS_DEFAULT_OFF) + false + #else + true + #endif + ; + + #if ENABLED(HAVE_TMC2130) + #include "../../feature/tmc2130.h" + #endif + + /** + * M80 : Turn on the Power Supply + * M80 S : Report the current state and exit + */ + void GcodeSuite::M80() { + + // S: Report the current power supply state and exit + if (parser.seen('S')) { + serialprintPGM(powersupply_on ? PSTR("PS:1\n") : PSTR("PS:0\n")); + return; + } + + OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE); // GND + + /** + * If you have a switch on suicide pin, this is useful + * if you want to start another print with suicide feature after + * a print without suicide... + */ + #if HAS_SUICIDE + OUT_WRITE(SUICIDE_PIN, HIGH); + #endif + + #if ENABLED(HAVE_TMC2130) + delay(100); + tmc2130_init(); // Settings only stick when the driver has power + #endif + + powersupply_on = true; + + #if ENABLED(ULTIPANEL) + LCD_MESSAGEPGM(WELCOME_MSG); + #endif + } + +#endif // HAS_POWER_SWITCH + /** * M81: Turn off Power, including Power Supply, if there is one. * * This code should ALWAYS be available for EMERGENCY SHUTDOWN! */ -void gcode_M81() { +void GcodeSuite::M81() { thermalManager.disable_all_heaters(); stepper.finish_and_disable(); diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 9698998fa..dc47ff426 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -117,8 +117,6 @@ void GcodeSuite::dwell(millis_t time) { // Placeholders for non-migrated codes // extern void gcode_M18_M84(); -extern void gcode_M80(); -extern void gcode_M81(); extern void gcode_M82(); extern void gcode_M83(); extern void gcode_M85(); @@ -492,16 +490,10 @@ void GcodeSuite::process_next_command() { #endif // BARICUDA #if HAS_POWER_SWITCH + case 80: M80(); break; // M80: Turn on Power Supply + #endif - case 80: // M80: Turn on Power Supply - gcode_M80(); - break; - - #endif // HAS_POWER_SWITCH - - case 81: // M81: Turn off Power, including Power Supply, if possible - gcode_M81(); - break; + case 81: M81(); break; // M81: Turn off Power, including Power Supply, if possible case 82: // M82: Set E axis normal mode (same as other axes) gcode_M82();