Pārlūkot izejas kodu

🐛 Fix Air Assist (#22159)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Mike La Spina 4 gadus atpakaļ
vecāks
revīzija
135801d9a6
Revīzijas autora e-pasta adrese nav piesaistīta nevienam kontam

+ 25
- 35
Marlin/src/gcode/control/M7-M9.cpp Parādīt failu

20
  *
20
  *
21
  */
21
  */
22
 
22
 
23
-#include "../../inc/MarlinConfig.h"
23
+#include "../../inc/MarlinConfigPre.h"
24
 
24
 
25
-#if ENABLED(COOLANT_CONTROL)
25
+#if ANY(COOLANT_MIST, COOLANT_FLOOD, AIR_ASSIST)
26
 
26
 
27
 #include "../gcode.h"
27
 #include "../gcode.h"
28
 #include "../../module/planner.h"
28
 #include "../../module/planner.h"
37
   }
37
   }
38
 #endif
38
 #endif
39
 
39
 
40
-#if ENABLED(COOLANT_FLOOD)
40
+#if EITHER(COOLANT_FLOOD, AIR_ASSIST)
41
+
42
+  #if ENABLED(AIR_ASSIST)
43
+    #include "../../feature/spindle_laser.h"
44
+  #endif
45
+
41
   /**
46
   /**
42
-   * M8: Flood Coolant On
47
+   * M8: Flood Coolant / Air Assist ON
43
    */
48
    */
44
   void GcodeSuite::M8() {
49
   void GcodeSuite::M8() {
45
-    planner.synchronize();                              // Wait for move to arrive
46
-    WRITE(COOLANT_FLOOD_PIN, !(COOLANT_FLOOD_INVERT));  // Turn on Flood coolant
50
+    planner.synchronize();                            // Wait for move to arrive
51
+    #if ENABLED(COOLANT_FLOOD)
52
+      WRITE(COOLANT_FLOOD_PIN, !(COOLANT_FLOOD_INVERT)); // Turn on Flood coolant
53
+    #endif
54
+    #if ENABLED(AIR_ASSIST)
55
+      cutter.air_assist_enable();                     // Turn on Air Assist
56
+    #endif
47
   }
57
   }
58
+
48
 #endif
59
 #endif
49
 
60
 
50
 /**
61
 /**
51
- * M9: Coolant OFF
62
+ * M9: Coolant / Air Assist OFF
52
  */
63
  */
53
 void GcodeSuite::M9() {
64
 void GcodeSuite::M9() {
54
-  planner.synchronize();                            // Wait for move to arrive
65
+  planner.synchronize();                              // Wait for move to arrive
55
   #if ENABLED(COOLANT_MIST)
66
   #if ENABLED(COOLANT_MIST)
56
-    WRITE(COOLANT_MIST_PIN, COOLANT_MIST_INVERT);   // Turn off Mist coolant
67
+    WRITE(COOLANT_MIST_PIN, COOLANT_MIST_INVERT);     // Turn off Mist coolant
57
   #endif
68
   #endif
58
   #if ENABLED(COOLANT_FLOOD)
69
   #if ENABLED(COOLANT_FLOOD)
59
-    WRITE(COOLANT_FLOOD_PIN, COOLANT_FLOOD_INVERT); // Turn off Flood coolant
70
+    WRITE(COOLANT_FLOOD_PIN, COOLANT_FLOOD_INVERT);   // Turn off Flood coolant
71
+  #endif
72
+  #if ENABLED(AIR_ASSIST)
73
+    cutter.air_assist_disable();                      // Turn off Air Assist
60
   #endif
74
   #endif
61
 }
75
 }
62
 
76
 
63
-#endif // COOLANT_CONTROL
64
-
65
-#if ENABLED(AIR_ASSIST)
66
-
67
-#include "../gcode.h"
68
-#include "../../module/planner.h"
69
-#include "../../feature/spindle_laser.h"
70
-
71
-/**
72
- * M8: Air Assist On
73
- */
74
-void GcodeSuite::M8() {
75
-  planner.synchronize();
76
-  cutter.air_assist_enable();   // Turn on Air Assist pin
77
-}
78
-
79
-/**
80
- * M9: Air Assist Off
81
- */
82
-void GcodeSuite::M9() {
83
-  planner.synchronize();
84
-  cutter.air_assist_disable();  // Turn off Air Assist pin
85
-}
86
-
87
-#endif // AIR_ASSIST
77
+#endif // COOLANT_MIST | COOLANT_FLOOD | AIR_ASSIST

+ 15
- 12
Marlin/src/gcode/gcode.cpp Parādīt failu

441
         case 3: M3_M4(false); break;                              // M3: Turn ON Laser | Spindle (clockwise), set Power | Speed
441
         case 3: M3_M4(false); break;                              // M3: Turn ON Laser | Spindle (clockwise), set Power | Speed
442
         case 4: M3_M4(true ); break;                              // M4: Turn ON Laser | Spindle (counter-clockwise), set Power | Speed
442
         case 4: M3_M4(true ); break;                              // M4: Turn ON Laser | Spindle (counter-clockwise), set Power | Speed
443
         case 5: M5(); break;                                      // M5: Turn OFF Laser | Spindle
443
         case 5: M5(); break;                                      // M5: Turn OFF Laser | Spindle
444
-        #if ENABLED(AIR_EVACUATION)
445
-          case 10: M10(); break;                                  // M10: Vacuum or Blower motor ON
446
-          case 11: M11(); break;                                  // M11: Vacuum or Blower motor OFF
447
-        #endif
448
       #endif
444
       #endif
449
 
445
 
450
-      #if ENABLED(COOLANT_CONTROL)
451
-        #if ENABLED(COOLANT_MIST)
452
-          case 7: M7(); break;                                    // M7: Mist coolant ON
453
-        #endif
454
-        #if ENABLED(COOLANT_FLOOD)
455
-          case 8: M8(); break;                                    // M8: Flood coolant ON
456
-        #endif
457
-        case 9: M9(); break;                                      // M9: Coolant OFF
446
+      #if ENABLED(COOLANT_MIST)
447
+        case 7: M7(); break;                                      // M7: Coolant Mist ON
448
+      #endif
449
+
450
+      #if EITHER(AIR_ASSIST, COOLANT_FLOOD)
451
+        case 8: M8(); break;                                      // M8: Air Assist / Coolant Flood ON
452
+      #endif
453
+
454
+      #if EITHER(AIR_ASSIST, COOLANT_CONTROL)
455
+        case 9: M9(); break;                                      // M9: Air Assist / Coolant OFF
456
+      #endif
457
+
458
+      #if ENABLED(AIR_EVACUATION)
459
+        case 10: M10(); break;                                    // M10: Vacuum or Blower motor ON
460
+        case 11: M11(); break;                                    // M11: Vacuum or Blower motor OFF
458
       #endif
461
       #endif
459
 
462
 
460
       #if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER)
463
       #if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER)

+ 14
- 11
Marlin/src/gcode/gcode.h Parādīt failu

564
   #if HAS_CUTTER
564
   #if HAS_CUTTER
565
     static void M3_M4(const bool is_M4);
565
     static void M3_M4(const bool is_M4);
566
     static void M5();
566
     static void M5();
567
-    #if ENABLED(AIR_EVACUATION)
568
-      static void M10();
569
-      static void M11();
570
-    #endif
571
   #endif
567
   #endif
572
 
568
 
573
-  #if ENABLED(COOLANT_CONTROL)
574
-    #if ENABLED(COOLANT_MIST)
575
-      static void M7();
576
-    #endif
577
-    #if ENABLED(COOLANT_FLOOD)
578
-      static void M8();
579
-    #endif
569
+  #if ENABLED(COOLANT_MIST)
570
+    static void M7();
571
+  #endif
572
+
573
+  #if EITHER(AIR_ASSIST, COOLANT_FLOOD)
574
+    static void M8();
575
+  #endif
576
+
577
+  #if EITHER(AIR_ASSIST, COOLANT_CONTROL)
580
     static void M9();
578
     static void M9();
581
   #endif
579
   #endif
582
 
580
 
581
+  #if ENABLED(AIR_EVACUATION)
582
+    static void M10();
583
+    static void M11();
584
+  #endif
585
+
583
   #if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER)
586
   #if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER)
584
     static void M12();
587
     static void M12();
585
   #endif
588
   #endif

+ 1
- 1
ini/features.ini Parādīt failu

166
 SD_ABORT_ON_ENDSTOP_HIT                = src_filter=+<src/gcode/config/M540.cpp>
166
 SD_ABORT_ON_ENDSTOP_HIT                = src_filter=+<src/gcode/config/M540.cpp>
167
 BAUD_RATE_GCODE                        = src_filter=+<src/gcode/config/M575.cpp>
167
 BAUD_RATE_GCODE                        = src_filter=+<src/gcode/config/M575.cpp>
168
 HAS_SMART_EFF_MOD                      = src_filter=+<src/gcode/config/M672.cpp>
168
 HAS_SMART_EFF_MOD                      = src_filter=+<src/gcode/config/M672.cpp>
169
-COOLANT_CONTROL                        = src_filter=+<src/gcode/control/M7-M9.cpp>
169
+COOLANT_CONTROL|AIR_ASSIST             = src_filter=+<src/gcode/control/M7-M9.cpp>
170
 AIR_EVACUATION                         = src_filter=+<src/gcode/control/M10-M11.cpp>
170
 AIR_EVACUATION                         = src_filter=+<src/gcode/control/M10-M11.cpp>
171
 HAS_SOFTWARE_ENDSTOPS                  = src_filter=+<src/gcode/control/M211.cpp>
171
 HAS_SOFTWARE_ENDSTOPS                  = src_filter=+<src/gcode/control/M211.cpp>
172
 HAS_DUPLICATION_MODE                   = src_filter=+<src/gcode/control/M605.cpp>
172
 HAS_DUPLICATION_MODE                   = src_filter=+<src/gcode/control/M605.cpp>

Notiek ielāde…
Atcelt
Saglabāt