Explorar el Código

G0 feedrate may be fixed or variable (#12172)

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

+ 5
- 3
Marlin/Configuration_adv.h Ver fichero

@@ -1614,9 +1614,11 @@
1614 1614
  */
1615 1615
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1616 1616
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1617
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1618
-#if ENABLED(G0_FEEDRATE)
1619
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1617
+
1618
+// Enable and set a (default) feedrate for all G0 moves
1619
+//#define G0_FEEDRATE 3000 // (mm/m)
1620
+#ifdef G0_FEEDRATE
1621
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1620 1622
 #endif
1621 1623
 
1622 1624
 /**

+ 5
- 3
Marlin/src/config/default/Configuration_adv.h Ver fichero

@@ -1614,9 +1614,11 @@
1614 1614
  */
1615 1615
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1616 1616
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1617
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1618
-#if ENABLED(G0_FEEDRATE)
1619
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1617
+
1618
+// Enable and set a (default) feedrate for all G0 moves
1619
+//#define G0_FEEDRATE 3000 // (mm/m)
1620
+#ifdef G0_FEEDRATE
1621
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1620 1622
 #endif
1621 1623
 
1622 1624
 /**

+ 5
- 3
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Anet/A2/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Anet/A6/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Anet/A8/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/ArmEd/Configuration_adv.h Ver fichero

@@ -1619,9 +1619,11 @@
1619 1619
  */
1620 1620
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1621 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)
1622
+
1623
+// Enable and set a (default) feedrate for all G0 moves
1624
+//#define G0_FEEDRATE 3000 // (mm/m)
1625
+#ifdef G0_FEEDRATE
1626
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1625 1627
 #endif
1626 1628
 
1627 1629
 /**

+ 5
- 3
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 4
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h Ver fichero

@@ -1621,11 +1621,12 @@
1621 1621
  */
1622 1622
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1623 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
1628 1624
 
1625
+// Enable and set a (default) feedrate for all G0 moves
1626
+//#define G0_FEEDRATE 3000 // (mm/m)
1627
+#ifdef G0_FEEDRATE
1628
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1629
+#endif
1629 1630
 /**
1630 1631
  * User-defined menu items that execute custom GCode
1631 1632
  */

+ 5
- 3
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Cartesio/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h Ver fichero

@@ -1616,9 +1616,11 @@
1616 1616
  */
1617 1617
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1618 1618
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1619
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1620
-#if ENABLED(G0_FEEDRATE)
1621
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1619
+
1620
+// Enable and set a (default) feedrate for all G0 moves
1621
+//#define G0_FEEDRATE 3000 // (mm/m)
1622
+#ifdef G0_FEEDRATE
1623
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1622 1624
 #endif
1623 1625
 
1624 1626
 /**

+ 5
- 3
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Einstart-S/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Felix/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h Ver fichero

@@ -1617,9 +1617,11 @@
1617 1617
  */
1618 1618
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1619 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)
1620
+
1621
+// Enable and set a (default) feedrate for all G0 moves
1622
+//#define G0_FEEDRATE 3000 // (mm/m)
1623
+#ifdef G0_FEEDRATE
1624
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1623 1625
 #endif
1624 1626
 
1625 1627
 /**

+ 5
- 3
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h Ver fichero

@@ -1618,9 +1618,11 @@
1618 1618
  */
1619 1619
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1620 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)
1621
+
1622
+// Enable and set a (default) feedrate for all G0 moves
1623
+//#define G0_FEEDRATE 3000 // (mm/m)
1624
+#ifdef G0_FEEDRATE
1625
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1624 1626
 #endif
1625 1627
 
1626 1628
 /**

+ 5
- 3
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/MakerParts/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h Ver fichero

@@ -1621,9 +1621,11 @@
1621 1621
  */
1622 1622
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1623 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)
1624
+
1625
+// Enable and set a (default) feedrate for all G0 moves
1626
+//#define G0_FEEDRATE 3000 // (mm/m)
1627
+#ifdef G0_FEEDRATE
1628
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1627 1629
 #endif
1628 1630
 
1629 1631
 /**

+ 5
- 3
Marlin/src/config/examples/RigidBot/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/SCARA/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/TheBorg/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h Ver fichero

@@ -1626,9 +1626,11 @@
1626 1626
  */
1627 1627
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1628 1628
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1629
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1630
-#if ENABLED(G0_FEEDRATE)
1631
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1629
+
1630
+// Enable and set a (default) feedrate for all G0 moves
1631
+//#define G0_FEEDRATE 3000 // (mm/m)
1632
+#ifdef G0_FEEDRATE
1633
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1632 1634
 #endif
1633 1635
 
1634 1636
 /**

+ 5
- 3
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/delta/generic/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h Ver fichero

@@ -1615,9 +1615,11 @@
1615 1615
  */
1616 1616
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1617 1617
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1618
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1619
-#if ENABLED(G0_FEEDRATE)
1620
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1618
+
1619
+// Enable and set a (default) feedrate for all G0 moves
1620
+//#define G0_FEEDRATE 3000 // (mm/m)
1621
+#ifdef G0_FEEDRATE
1622
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1621 1623
 #endif
1622 1624
 
1623 1625
 /**

+ 5
- 3
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/makibox/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h Ver fichero

@@ -1613,9 +1613,11 @@
1613 1613
  */
1614 1614
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1615 1615
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1616
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1617
-#if ENABLED(G0_FEEDRATE)
1618
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1616
+
1617
+// Enable and set a (default) feedrate for all G0 moves
1618
+//#define G0_FEEDRATE 3000 // (mm/m)
1619
+#ifdef G0_FEEDRATE
1620
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1619 1621
 #endif
1620 1622
 
1621 1623
 /**

+ 5
- 3
Marlin/src/config/examples/wt150/Configuration_adv.h Ver fichero

@@ -1614,9 +1614,11 @@
1614 1614
  */
1615 1615
 //#define PAREN_COMMENTS      // Support for parentheses-delimited comments
1616 1616
 //#define GCODE_MOTION_MODES  // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
1617
-//#define G0_FEEDRATE         // Add a G0-specific sticky feedrate, applied to all subsequent G0 moves.
1618
-#if ENABLED(G0_FEEDRATE)
1619
-  #define DEFAULT_G0_FEEDRATE 3000  // (mm/m)
1617
+
1618
+// Enable and set a (default) feedrate for all G0 moves
1619
+//#define G0_FEEDRATE 3000 // (mm/m)
1620
+#ifdef G0_FEEDRATE
1621
+  //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode
1620 1622
 #endif
1621 1623
 
1622 1624
 /**

+ 1
- 1
Marlin/src/gcode/gcode.cpp Ver fichero

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

+ 1
- 1
Marlin/src/gcode/gcode.h Ver fichero

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

+ 30
- 25
Marlin/src/gcode/motion/G0_G1.cpp Ver fichero

@@ -37,40 +37,48 @@
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
-
44
-#if ENABLED(NO_MOTION_BEFORE_HOMING)
45
-  #define G0_G1_CONDITION !axis_unhomed_error(parser.seen('X'), parser.seen('Y'), parser.seen('Z'))
46
-#else
47
-  #define G0_G1_CONDITION true
40
+#if ENABLED(VARIABLE_G0_FEEDRATE)
41
+  float saved_g0_feedrate_mm_s = MMM_TO_MMS(G0_FEEDRATE);
48 42
 #endif
49 43
 
50 44
 /**
51 45
  * G0, G1: Coordinated movement of X Y Z E axes
52 46
  */
53 47
 void GcodeSuite::G0_G1(
54
-  #if IS_SCARA || ENABLED(G0_FEEDRATE)
48
+  #if IS_SCARA || defined(G0_FEEDRATE)
55 49
     bool fast_move/*=false*/
56 50
   #endif
57 51
 ) {
58
-  #if ENABLED(G0_FEEDRATE)
59
-    float saved_g1_feedrate_mm_s;
60
-  #endif
61 52
 
62
-  if (IsRunning() && G0_G1_CONDITION) {
53
+  if (IsRunning()
54
+    #if ENABLED(NO_MOTION_BEFORE_HOMING)
55
+      && !axis_unhomed_error(parser.seen('X'), parser.seen('Y'), parser.seen('Z'))
56
+    #endif
57
+  ) {
58
+
59
+    #ifdef G0_FEEDRATE
60
+      float saved_feedrate_mm_s;
61
+      #if ENABLED(VARIABLE_G0_FEEDRATE)
62
+        if (fast_move) {
63
+          saved_feedrate_mm_s = feedrate_mm_s;      // Back up the (old) motion mode feedrate
64
+          feedrate_mm_s = saved_g0_feedrate_mm_s;   // Get G0 feedrate from last usage
65
+        }
66
+      #endif
67
+    #endif
63 68
 
64
-    #if ENABLED(G0_FEEDRATE)
69
+    get_destination_from_command(); // For X Y Z E F
70
+
71
+    #ifdef G0_FEEDRATE
65 72
       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;
73
+        #if ENABLED(VARIABLE_G0_FEEDRATE)
74
+          saved_g0_feedrate_mm_s = feedrate_mm_s;   // Save feedrate for the next G0
75
+        #else
76
+          saved_feedrate_mm_s = feedrate_mm_s;      // Back up the (new) motion mode feedrate
77
+          feedrate_mm_s = MMM_TO_MMS(G0_FEEDRATE);  // Get the fixed G0 feedrate
78
+        #endif
69 79
       }
70 80
     #endif
71 81
 
72
-    get_destination_from_command(); // For X Y Z E F
73
-
74 82
     #if ENABLED(FWRETRACT) && ENABLED(FWRETRACT_AUTORETRACT)
75 83
 
76 84
       if (MIN_AUTORETRACT <= MAX_AUTORETRACT) {
@@ -94,12 +102,9 @@ void GcodeSuite::G0_G1(
94 102
       prepare_move_to_destination();
95 103
     #endif
96 104
 
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
-      }
105
+    #ifdef G0_FEEDRATE
106
+      // Restore the motion mode feedrate
107
+      if (fast_move) feedrate_mm_s = saved_feedrate_mm_s;
103 108
     #endif
104 109
 
105 110
     #if ENABLED(NANODLP_Z_SYNC)

+ 2
- 0
Marlin/src/inc/SanityCheck.h Ver fichero

@@ -319,6 +319,8 @@
319 319
   #error "PARKING_EXTRUDER_SECURITY_RAISE is now TOOLCHANGE_ZRAISE. Please update your configuration."
320 320
 #elif defined(SWITCHING_TOOLHEAD_SECURITY_RAISE)
321 321
   #error "SWITCHING_TOOLHEAD_SECURITY_RAISE is now TOOLCHANGE_ZRAISE. Please update your configuration."
322
+#elif defined(G0_FEEDRATE) && G0_FEEDRATE == 0
323
+  #error "G0_FEEDRATE is now used to set the G0 feedrate. Please update your configuration."
322 324
 #endif
323 325
 
324 326
 #define BOARD_MKS_13     -47

Loading…
Cancelar
Guardar