Browse Source

Option for G0 to have a separate feedrate (#12089)

TheSFReader 6 years ago
parent
commit
af939c158a
59 changed files with 364 additions and 3 deletions
  1. 6
    0
      Marlin/Configuration_adv.h
  2. 6
    0
      Marlin/src/config/default/Configuration_adv.h
  3. 6
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  4. 6
    0
      Marlin/src/config/examples/Anet/A2/Configuration_adv.h
  5. 6
    0
      Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
  6. 6
    0
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  7. 6
    0
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  8. 6
    0
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  9. 6
    0
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
  10. 6
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  11. 6
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  12. 6
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  13. 6
    0
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  14. 6
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  15. 6
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  16. 6
    0
      Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
  17. 6
    0
      Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
  18. 6
    0
      Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
  19. 6
    0
      Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
  20. 6
    0
      Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
  21. 6
    0
      Marlin/src/config/examples/Einstart-S/Configuration_adv.h
  22. 6
    0
      Marlin/src/config/examples/Felix/Configuration_adv.h
  23. 6
    0
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  24. 6
    0
      Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
  25. 6
    0
      Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  26. 6
    0
      Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
  27. 6
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  28. 6
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  29. 6
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  30. 6
    0
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  31. 6
    0
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  32. 6
    0
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  33. 6
    0
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  34. 6
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  35. 6
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  36. 6
    0
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  37. 6
    0
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  38. 6
    0
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  39. 6
    0
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  40. 6
    0
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  41. 6
    0
      Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
  42. 6
    0
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  43. 6
    0
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  44. 6
    0
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  45. 6
    0
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  46. 6
    0
      Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h
  47. 6
    0
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  48. 6
    0
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  49. 6
    0
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  50. 6
    0
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  51. 6
    0
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  52. 6
    0
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  53. 6
    0
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  54. 6
    0
      Marlin/src/config/examples/makibox/Configuration_adv.h
  55. 6
    0
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  56. 6
    0
      Marlin/src/config/examples/wt150/Configuration_adv.h
  57. 1
    1
      Marlin/src/gcode/gcode.cpp
  58. 1
    1
      Marlin/src/gcode/gcode.h
  59. 26
    1
      Marlin/src/gcode/motion/G0_G1.cpp

+ 6
- 0
Marlin/Configuration_adv.h View File

@@ -1613,9 +1613,15 @@
1613 1613
 /**
1614 1614
  * CNC G-code options
1615 1615
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1616
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1617
+ * High feedrates may cause ringing and harm print quality.
1616 1618
  */
1617 1619
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1618 1620
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1621
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1622
+#if ENABLED(G0_FEEDRATE)
1623
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1624
+#endif 
1619 1625
 
1620 1626
 /**
1621 1627
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/default/Configuration_adv.h View File

@@ -1613,9 +1613,15 @@
1613 1613
 /**
1614 1614
  * CNC G-code options
1615 1615
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1616
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1617
+ * High feedrates may cause ringing and harm print quality.
1616 1618
  */
1617 1619
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1618 1620
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1621
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1622
+#if ENABLED(G0_FEEDRATE)
1623
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1624
+#endif 
1619 1625
 
1620 1626
 /**
1621 1627
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Anet/A2/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Anet/A6/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Anet/A8/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h View File

@@ -1620,9 +1620,15 @@
1620 1620
 /**
1621 1621
  * CNC G-code options
1622 1622
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1623
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1624
+ * High feedrates may cause ringing and harm print quality.
1623 1625
  */
1624 1626
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1625 1627
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1628
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1629
+#if ENABLED(G0_FEEDRATE)
1630
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1631
+#endif 
1626 1632
 
1627 1633
 /**
1628 1634
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Cartesio/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h View File

@@ -1615,9 +1615,15 @@
1615 1615
 /**
1616 1616
  * CNC G-code options
1617 1617
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1618
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1619
+ * High feedrates may cause ringing and harm print quality.
1618 1620
  */
1619 1621
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1620 1622
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1623
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1624
+#if ENABLED(G0_FEEDRATE)
1625
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1626
+#endif 
1621 1627
 
1622 1628
 /**
1623 1629
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Einstart-S/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Felix/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h View File

@@ -1616,9 +1616,15 @@
1616 1616
 /**
1617 1617
  * CNC G-code options
1618 1618
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1619
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1620
+ * High feedrates may cause ringing and harm print quality.
1619 1621
  */
1620 1622
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1621 1623
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1624
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1625
+#if ENABLED(G0_FEEDRATE)
1626
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1627
+#endif 
1622 1628
 
1623 1629
 /**
1624 1630
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h View File

@@ -1617,9 +1617,15 @@
1617 1617
 /**
1618 1618
  * CNC G-code options
1619 1619
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1620
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1621
+ * High feedrates may cause ringing and harm print quality.
1620 1622
  */
1621 1623
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1622 1624
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1625
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1626
+#if ENABLED(G0_FEEDRATE)
1627
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1628
+#endif 
1623 1629
 
1624 1630
 /**
1625 1631
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/MakerParts/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h View File

@@ -1620,9 +1620,15 @@
1620 1620
 /**
1621 1621
  * CNC G-code options
1622 1622
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1623
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1624
+ * High feedrates may cause ringing and harm print quality.
1623 1625
  */
1624 1626
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1625 1627
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1628
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1629
+#if ENABLED(G0_FEEDRATE)
1630
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1631
+#endif 
1626 1632
 
1627 1633
 /**
1628 1634
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/RigidBot/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/SCARA/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/TheBorg/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h View File

@@ -1625,9 +1625,15 @@
1625 1625
 /**
1626 1626
  * CNC G-code options
1627 1627
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1628
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1629
+ * High feedrates may cause ringing and harm print quality.
1628 1630
  */
1629 1631
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1630 1632
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1633
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1634
+#if ENABLED(G0_FEEDRATE)
1635
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1636
+#endif 
1631 1637
 
1632 1638
 /**
1633 1639
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/delta/generic/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h View File

@@ -1614,9 +1614,15 @@
1614 1614
 /**
1615 1615
  * CNC G-code options
1616 1616
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1617
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1618
+ * High feedrates may cause ringing and harm print quality.
1617 1619
  */
1618 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 1621
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1622
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1623
+#if ENABLED(G0_FEEDRATE)
1624
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1625
+#endif 
1620 1626
 
1621 1627
 /**
1622 1628
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/makibox/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h View File

@@ -1612,9 +1612,15 @@
1612 1612
 /**
1613 1613
  * CNC G-code options
1614 1614
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1615
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1616
+ * High feedrates may cause ringing and harm print quality.
1615 1617
  */
1616 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1619
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1620
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1621
+#if ENABLED(G0_FEEDRATE)
1622
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1623
+#endif 
1618 1624
 
1619 1625
 /**
1620 1626
  * User-defined menu items that execute custom GCode

+ 6
- 0
Marlin/src/config/examples/wt150/Configuration_adv.h View File

@@ -1613,9 +1613,15 @@
1613 1613
 /**
1614 1614
  * CNC G-code options
1615 1615
  * Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc.
1616
+ * Note that G0 feedrates should be used with care for 3D printing (if used at all).
1617
+ * High feedrates may cause ringing and harm print quality.
1616 1618
  */
1617 1619
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1618 1620
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1621
+//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1622
+#if ENABLED(G0_FEEDRATE)
1623
+  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1624
+#endif 
1619 1625
 
1620 1626
 /**
1621 1627
  * User-defined menu items that execute custom GCode

+ 1
- 1
Marlin/src/gcode/gcode.cpp View File

@@ -188,7 +188,7 @@ void GcodeSuite::process_parsed_command(
188 188
     case 'G': switch (parser.codenum) {
189 189
 
190 190
       case 0: case 1: G0_G1(                                      // G0: Fast Move, G1: Linear Move
191
-                        #if IS_SCARA
191
+                        #if IS_SCARA || ENABLED(G0_FEEDRATE)
192 192
                           parser.codenum == 0
193 193
                         #endif
194 194
                       );

+ 1
- 1
Marlin/src/gcode/gcode.h View File

@@ -341,7 +341,7 @@ public:
341 341
 private:
342 342
 
343 343
   static void G0_G1(
344
-    #if IS_SCARA
344
+    #if IS_SCARA || ENABLED(G0_FEEDRATE)
345 345
       bool fast_move=false
346 346
     #endif
347 347
   );

+ 26
- 1
Marlin/src/gcode/motion/G0_G1.cpp View File

@@ -37,6 +37,10 @@
37 37
 
38 38
 extern float destination[XYZE];
39 39
 
40
+#if ENABLED(G0_FEEDRATE)
41
+  float saved_g0_feedrate_mm_s =  MMM_TO_MMS(DEFAULT_G0_FEEDRATE);
42
+#endif
43
+
40 44
 #if ENABLED(NO_MOTION_BEFORE_HOMING)
41 45
   #define G0_G1_CONDITION !axis_unhomed_error(parser.seen('X'), parser.seen('Y'), parser.seen('Z'))
42 46
 #else
@@ -47,11 +51,24 @@ extern float destination[XYZE];
47 51
  * G0, G1: Coordinated movement of X Y Z E axes
48 52
  */
49 53
 void GcodeSuite::G0_G1(
50
-  #if IS_SCARA
54
+  #if IS_SCARA || ENABLED(G0_FEEDRATE)
51 55
     bool fast_move/*=false*/
52 56
   #endif
53 57
 ) {
58
+  #if ENABLED(G0_FEEDRATE)
59
+    float saved_g1_feedrate_mm_s;
60
+  #endif
61
+  
54 62
   if (IsRunning() && G0_G1_CONDITION) {
63
+    
64
+    #if ENABLED(G0_FEEDRATE)
65
+      if (fast_move) {
66
+        // Save standard feedrate before setting feedrate to fast/g0
67
+        saved_g1_feedrate_mm_s = feedrate_mm_s;
68
+        feedrate_mm_s = saved_g0_feedrate_mm_s;
69
+      }
70
+    #endif
71
+
55 72
     get_destination_from_command(); // For X Y Z E F
56 73
 
57 74
     #if ENABLED(FWRETRACT) && ENABLED(FWRETRACT_AUTORETRACT)
@@ -77,6 +94,14 @@ void GcodeSuite::G0_G1(
77 94
       prepare_move_to_destination();
78 95
     #endif
79 96
 
97
+    #if ENABLED(G0_FEEDRATE)
98
+      // save G0 feedrate, and restore standard feedrate as soon as possible 
99
+      if (fast_move) {
100
+        saved_g0_feedrate_mm_s = feedrate_mm_s;
101
+        feedrate_mm_s = saved_g1_feedrate_mm_s;
102
+      }
103
+    #endif
104
+    
80 105
     #if ENABLED(NANODLP_Z_SYNC)
81 106
       #if ENABLED(NANODLP_ALL_AXIS)
82 107
         #define _MOVE_SYNC parser.seenval('X') || parser.seenval('Y') || parser.seenval('Z')  // For any move wait and output sync message

Loading…
Cancel
Save