From af939c158ac8e774fbdbbfba6908a02a9e26e745 Mon Sep 17 00:00:00 2001 From: TheSFReader Date: Tue, 16 Oct 2018 08:49:51 +0200 Subject: [PATCH] Option for G0 to have a separate feedrate (#12089) --- Marlin/Configuration_adv.h | 6 +++++ Marlin/src/config/default/Configuration_adv.h | 6 +++++ .../AlephObjects/TAZ4/Configuration_adv.h | 6 +++++ .../examples/Anet/A2/Configuration_adv.h | 6 +++++ .../examples/Anet/A2plus/Configuration_adv.h | 6 +++++ .../examples/Anet/A6/Configuration_adv.h | 6 +++++ .../examples/Anet/A8/Configuration_adv.h | 6 +++++ .../BIBO/TouchX/cyclops/Configuration_adv.h | 6 +++++ .../BIBO/TouchX/default/Configuration_adv.h | 6 +++++ .../examples/BQ/Hephestos/Configuration_adv.h | 6 +++++ .../BQ/Hephestos_2/Configuration_adv.h | 6 +++++ .../examples/BQ/WITBOX/Configuration_adv.h | 6 +++++ .../examples/Cartesio/Configuration_adv.h | 6 +++++ .../Creality/CR-10/Configuration_adv.h | 6 +++++ .../Creality/CR-10S/Configuration_adv.h | 6 +++++ .../Creality/CR-10mini/Configuration_adv.h | 6 +++++ .../Creality/CR-8/Configuration_adv.h | 6 +++++ .../Creality/Ender-2/Configuration_adv.h | 6 +++++ .../Creality/Ender-3/Configuration_adv.h | 6 +++++ .../Creality/Ender-4/Configuration_adv.h | 6 +++++ .../examples/Einstart-S/Configuration_adv.h | 6 +++++ .../config/examples/Felix/Configuration_adv.h | 6 +++++ .../FolgerTech/i3-2020/Configuration_adv.h | 6 +++++ .../Formbot/Raptor/Configuration_adv.h | 6 +++++ .../Formbot/T_Rex_2+/Configuration_adv.h | 6 +++++ .../Formbot/T_Rex_3/Configuration_adv.h | 6 +++++ .../Prusa i3 Pro C/Configuration_adv.h | 6 +++++ .../Prusa i3 Pro W/Configuration_adv.h | 6 +++++ .../Infitary/i3-M508/Configuration_adv.h | 6 +++++ .../examples/JGAurora/A5/Configuration_adv.h | 6 +++++ .../examples/MakerParts/Configuration_adv.h | 6 +++++ .../examples/Malyan/M150/Configuration_adv.h | 6 +++++ .../examples/Malyan/M200/Configuration_adv.h | 6 +++++ .../Micromake/C1/enhanced/Configuration_adv.h | 6 +++++ .../examples/Mks/Sbase/Configuration_adv.h | 6 +++++ .../examples/RigidBot/Configuration_adv.h | 6 +++++ .../config/examples/SCARA/Configuration_adv.h | 6 +++++ .../examples/Sanguinololu/Configuration_adv.h | 6 +++++ .../examples/TheBorg/Configuration_adv.h | 6 +++++ .../examples/TinyBoy2/Configuration_adv.h | 6 +++++ .../examples/Tronxy/X3A/Configuration_adv.h | 6 +++++ .../UltiMachine/Archim2/Configuration_adv.h | 6 +++++ .../Velleman/K8200/Configuration_adv.h | 6 +++++ .../Velleman/K8400/Configuration_adv.h | 6 +++++ .../Wanhao/Duplicator 6/Configuration_adv.h | 6 +++++ .../delta/Anycubic/Kossel/Configuration_adv.h | 6 +++++ .../FLSUN/auto_calibrate/Configuration_adv.h | 6 +++++ .../delta/FLSUN/kossel/Configuration_adv.h | 6 +++++ .../FLSUN/kossel_mini/Configuration_adv.h | 6 +++++ .../delta/generic/Configuration_adv.h | 6 +++++ .../delta/kossel_mini/Configuration_adv.h | 6 +++++ .../delta/kossel_xl/Configuration_adv.h | 6 +++++ .../gCreate/gMax1.5+/Configuration_adv.h | 6 +++++ .../examples/makibox/Configuration_adv.h | 6 +++++ .../tvrrug/Round2/Configuration_adv.h | 6 +++++ .../config/examples/wt150/Configuration_adv.h | 6 +++++ Marlin/src/gcode/gcode.cpp | 2 +- Marlin/src/gcode/gcode.h | 2 +- Marlin/src/gcode/motion/G0_G1.cpp | 27 ++++++++++++++++++- 59 files changed, 364 insertions(+), 3 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 8ac532d317..0721b4134b 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1613,9 +1613,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/default/Configuration_adv.h b/Marlin/src/config/default/Configuration_adv.h index 8ac532d317..0721b4134b 100755 --- a/Marlin/src/config/default/Configuration_adv.h +++ b/Marlin/src/config/default/Configuration_adv.h @@ -1613,9 +1613,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h index 5029d6bd50..704793a586 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h index 2b4a860970..ac219c4690 100644 --- a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h index 2b4a860970..ac219c4690 100644 --- a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h index 8dcad0400e..a25231976a 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h index e422387d5c..89505e8cfc 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h index 41c7058aaf..b05d646230 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h index 974039419e..e42efcfbfd 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h index 2d3b24252a..364c311394 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h index 0a4b650376..ce77ab2327 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -1620,9 +1620,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h index 2d3b24252a..364c311394 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Cartesio/Configuration_adv.h b/Marlin/src/config/examples/Cartesio/Configuration_adv.h index 9ca51d6fdd..9fa92f2bab 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration_adv.h +++ b/Marlin/src/config/examples/Cartesio/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h index 0211927b73..e1881e038d 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h @@ -1615,9 +1615,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h index cfcc0df375..da7f48ae91 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h index 40e037c9a6..15f4456b5c 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h index 225e43e483..4ed64a910d 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h index c8fe6aefc0..f04d9bcb2a 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h index f1cd39c313..58db3d4b5a 100644 --- a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h index 4a5119296d..ddc36892ea 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h index 0769a7aa6b..f3349be617 100644 --- a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h +++ b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Felix/Configuration_adv.h b/Marlin/src/config/examples/Felix/Configuration_adv.h index 8f2210a1ef..51d34961de 100644 --- a/Marlin/src/config/examples/Felix/Configuration_adv.h +++ b/Marlin/src/config/examples/Felix/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h index 52827b25cd..26401fee1c 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h b/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h index 0a0c934164..36ae0174ca 100644 --- a/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h +++ b/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h b/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h index b596907785..0c62cbe1f1 100644 --- a/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h +++ b/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h @@ -1616,9 +1616,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h index 6c82a2476f..74443c484c 100644 --- a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h +++ b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h @@ -1617,9 +1617,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h index dd0617d7bf..d5e2a810ad 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h index dd0617d7bf..d5e2a810ad 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h index 76c0e02b5c..6c90d06d53 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h index 41d2e2f736..f5758ef16e 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/MakerParts/Configuration_adv.h b/Marlin/src/config/examples/MakerParts/Configuration_adv.h index 664a4c114e..778969447d 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration_adv.h +++ b/Marlin/src/config/examples/MakerParts/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h index 67e5f56d9e..abcc4bf15b 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h index b06a06ca3c..ecb01a1b18 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h index 1de3daa1c2..98f1609002 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h index a2aead390a..eebd9d5072 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h @@ -1620,9 +1620,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/RigidBot/Configuration_adv.h b/Marlin/src/config/examples/RigidBot/Configuration_adv.h index fe5bea5431..743c74f864 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration_adv.h +++ b/Marlin/src/config/examples/RigidBot/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/SCARA/Configuration_adv.h b/Marlin/src/config/examples/SCARA/Configuration_adv.h index 79b1eac2b4..60f676db6a 100644 --- a/Marlin/src/config/examples/SCARA/Configuration_adv.h +++ b/Marlin/src/config/examples/SCARA/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h index 5c1cf8531c..07bf9761c2 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/TheBorg/Configuration_adv.h b/Marlin/src/config/examples/TheBorg/Configuration_adv.h index 53632ab191..ef82d3fbe9 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration_adv.h +++ b/Marlin/src/config/examples/TheBorg/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h index 97e8d2a709..ad07176bb3 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h index 5a5e6b11f8..62d395d3a9 100644 --- a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h index af755263ad..b31429b925 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h index fa03df008e..9c477bddbf 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h @@ -1625,9 +1625,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h index 234f0a7725..65edb1620f 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h index cb6a534cf9..ace05fd149 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h index d338155c5c..bddd9e849d 100644 --- a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h index b0c792eeb7..1d20e272e1 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h index b0c792eeb7..1d20e272e1 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h index de8490e3c7..ca64018f42 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/delta/generic/Configuration_adv.h b/Marlin/src/config/examples/delta/generic/Configuration_adv.h index de8490e3c7..ca64018f42 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/generic/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h index de8490e3c7..ca64018f42 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h index af6ed44c36..0a2411c019 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h @@ -1614,9 +1614,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h index 1da5c9a4e6..79028c592c 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/makibox/Configuration_adv.h b/Marlin/src/config/examples/makibox/Configuration_adv.h index c9c66bcd3f..fba5e6438d 100644 --- a/Marlin/src/config/examples/makibox/Configuration_adv.h +++ b/Marlin/src/config/examples/makibox/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h index de725f09c1..742fbc9a27 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h @@ -1612,9 +1612,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/config/examples/wt150/Configuration_adv.h b/Marlin/src/config/examples/wt150/Configuration_adv.h index ea83c84315..f76fc27a87 100644 --- a/Marlin/src/config/examples/wt150/Configuration_adv.h +++ b/Marlin/src/config/examples/wt150/Configuration_adv.h @@ -1613,9 +1613,15 @@ /** * CNC G-code options * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. + * Note that G0 feedrates should be used with care for 3D printing (if used at all). + * High feedrates may cause ringing and harm print quality. */ //#define PAREN_COMMENTS // Support for parentheses-delimited comments //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. +//#define G0_FEEDRATE // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves. +#if ENABLED(G0_FEEDRATE) + #define DEFAULT_G0_FEEDRATE 3000 // (mm/m) +#endif /** * User-defined menu items that execute custom GCode diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index f5db858552..868a103436 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -188,7 +188,7 @@ void GcodeSuite::process_parsed_command( case 'G': switch (parser.codenum) { case 0: case 1: G0_G1( // G0: Fast Move, G1: Linear Move - #if IS_SCARA + #if IS_SCARA || ENABLED(G0_FEEDRATE) parser.codenum == 0 #endif ); diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 7cc94ce8d2..81d560d905 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -341,7 +341,7 @@ public: private: static void G0_G1( - #if IS_SCARA + #if IS_SCARA || ENABLED(G0_FEEDRATE) bool fast_move=false #endif ); diff --git a/Marlin/src/gcode/motion/G0_G1.cpp b/Marlin/src/gcode/motion/G0_G1.cpp index 223bd87fb7..be2927b335 100644 --- a/Marlin/src/gcode/motion/G0_G1.cpp +++ b/Marlin/src/gcode/motion/G0_G1.cpp @@ -37,6 +37,10 @@ extern float destination[XYZE]; +#if ENABLED(G0_FEEDRATE) + float saved_g0_feedrate_mm_s = MMM_TO_MMS(DEFAULT_G0_FEEDRATE); +#endif + #if ENABLED(NO_MOTION_BEFORE_HOMING) #define G0_G1_CONDITION !axis_unhomed_error(parser.seen('X'), parser.seen('Y'), parser.seen('Z')) #else @@ -47,11 +51,24 @@ extern float destination[XYZE]; * G0, G1: Coordinated movement of X Y Z E axes */ void GcodeSuite::G0_G1( - #if IS_SCARA + #if IS_SCARA || ENABLED(G0_FEEDRATE) bool fast_move/*=false*/ #endif ) { + #if ENABLED(G0_FEEDRATE) + float saved_g1_feedrate_mm_s; + #endif + if (IsRunning() && G0_G1_CONDITION) { + + #if ENABLED(G0_FEEDRATE) + if (fast_move) { + // Save standard feedrate before setting feedrate to fast/g0 + saved_g1_feedrate_mm_s = feedrate_mm_s; + feedrate_mm_s = saved_g0_feedrate_mm_s; + } + #endif + get_destination_from_command(); // For X Y Z E F #if ENABLED(FWRETRACT) && ENABLED(FWRETRACT_AUTORETRACT) @@ -77,6 +94,14 @@ void GcodeSuite::G0_G1( prepare_move_to_destination(); #endif + #if ENABLED(G0_FEEDRATE) + // save G0 feedrate, and restore standard feedrate as soon as possible + if (fast_move) { + saved_g0_feedrate_mm_s = feedrate_mm_s; + feedrate_mm_s = saved_g1_feedrate_mm_s; + } + #endif + #if ENABLED(NANODLP_Z_SYNC) #if ENABLED(NANODLP_ALL_AXIS) #define _MOVE_SYNC parser.seenval('X') || parser.seenval('Y') || parser.seenval('Z') // For any move wait and output sync message