Browse Source

🏗️ Allow headless Flow Meter (#22234)

Mike La Spina 4 years ago
parent
commit
c0ecc6625f
No account linked to committer's email address

+ 12
- 11
Marlin/src/feature/cooler.cpp View File

22
 
22
 
23
 #include "../inc/MarlinConfig.h"
23
 #include "../inc/MarlinConfig.h"
24
 
24
 
25
-#if HAS_COOLER
25
+#if EITHER(HAS_COOLER, LASER_COOLANT_FLOW_METER)
26
 
26
 
27
 #include "cooler.h"
27
 #include "cooler.h"
28
 Cooler cooler;
28
 Cooler cooler;
29
 
29
 
30
-uint8_t Cooler::mode = 0;
31
-uint16_t Cooler::capacity;
32
-uint16_t Cooler::load;
33
-bool Cooler::enabled = false;
30
+#if HAS_COOLER
31
+  uint8_t Cooler::mode = 0;
32
+  uint16_t Cooler::capacity;
33
+  uint16_t Cooler::load;
34
+  bool Cooler::enabled = false;
35
+#endif
34
 
36
 
35
 #if ENABLED(LASER_COOLANT_FLOW_METER)
37
 #if ENABLED(LASER_COOLANT_FLOW_METER)
36
   bool Cooler::flowmeter = false;
38
   bool Cooler::flowmeter = false;
37
   millis_t Cooler::flowmeter_next_ms; // = 0
39
   millis_t Cooler::flowmeter_next_ms; // = 0
38
   volatile uint16_t Cooler::flowpulses;
40
   volatile uint16_t Cooler::flowpulses;
39
   float Cooler::flowrate;
41
   float Cooler::flowrate;
42
+  #if ENABLED(FLOWMETER_SAFETY)
43
+    bool Cooler::flowsafety_enabled = true;
44
+    bool Cooler::flowfault = false;
45
+  #endif
40
 #endif
46
 #endif
41
 
47
 
42
-#if ENABLED(FLOWMETER_SAFETY)
43
-  bool Cooler::flowsafety_enabled = true;
44
-  bool Cooler::fault = false;
45
-#endif
46
-
47
-#endif // HAS_COOLER
48
+#endif // HAS_COOLER || LASER_COOLANT_FLOW_METER

+ 3
- 3
Marlin/src/feature/cooler.h View File

94
     }
94
     }
95
 
95
 
96
     #if ENABLED(FLOWMETER_SAFETY)
96
     #if ENABLED(FLOWMETER_SAFETY)
97
-      static bool fault;                // Flag that the cooler is in a fault state
98
-      static bool flowsafety_enabled;   // Flag to disable the cutter if flow rate is too low
97
+      static bool flowfault;                // Flag that the cooler is in a fault state
98
+      static bool flowsafety_enabled;       // Flag to disable the cutter if flow rate is too low
99
       static void flowsafety_toggle()   { flowsafety_enabled = !flowsafety_enabled; }
99
       static void flowsafety_toggle()   { flowsafety_enabled = !flowsafety_enabled; }
100
       static bool check_flow_too_low() {
100
       static bool check_flow_too_low() {
101
         const bool too_low = flowsafety_enabled && flowrate < (FLOWMETER_MIN_LITERS_PER_MINUTE);
101
         const bool too_low = flowsafety_enabled && flowrate < (FLOWMETER_MIN_LITERS_PER_MINUTE);
102
-        if (too_low) fault = true;
102
+        flowfault =  too_low;
103
         return too_low;
103
         return too_low;
104
       }
104
       }
105
     #endif
105
     #endif

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

292
   #endif
292
   #endif
293
 
293
 
294
   #if ENABLED(FLOWMETER_SAFETY)
294
   #if ENABLED(FLOWMETER_SAFETY)
295
-    if (cooler.fault) {
295
+    if (cooler.flowfault) {
296
       SERIAL_ECHO_MSG(STR_FLOWMETER_FAULT);
296
       SERIAL_ECHO_MSG(STR_FLOWMETER_FAULT);
297
       return;
297
       return;
298
     }
298
     }

+ 1
- 1
Marlin/src/module/temperature.cpp View File

1608
     #if ENABLED(FLOWMETER_SAFETY)
1608
     #if ENABLED(FLOWMETER_SAFETY)
1609
       if (cutter.enabled() && cooler.check_flow_too_low()) {
1609
       if (cutter.enabled() && cooler.check_flow_too_low()) {
1610
         cutter.disable();
1610
         cutter.disable();
1611
-        ui.flow_fault();
1611
+        TERN_(HAS_DISPLAY, ui.flow_fault());
1612
       }
1612
       }
1613
     #endif
1613
     #endif
1614
   #endif
1614
   #endif

+ 2
- 1
ini/features.ini View File

202
 HAS_MEDIA_SUBCALLS                     = src_filter=+<src/gcode/sd/M32.cpp>
202
 HAS_MEDIA_SUBCALLS                     = src_filter=+<src/gcode/sd/M32.cpp>
203
 GCODE_REPEAT_MARKERS                   = src_filter=+<src/feature/repeat.cpp> +<src/gcode/sd/M808.cpp>
203
 GCODE_REPEAT_MARKERS                   = src_filter=+<src/feature/repeat.cpp> +<src/gcode/sd/M808.cpp>
204
 HAS_EXTRUDERS                          = src_filter=+<src/gcode/units/M82_M83.cpp> +<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp>
204
 HAS_EXTRUDERS                          = src_filter=+<src/gcode/units/M82_M83.cpp> +<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp>
205
-HAS_COOLER                             = src_filter=+<src/feature/cooler.cpp> +<src/gcode/temp/M143_M193.cpp>
205
+HAS_COOLER                             = src_filter=+<src/gcode/temp/M143_M193.cpp>
206
+HAS_COOLER|LASER_COOLANT_FLOW_METER    = src_filter=+<src/feature/cooler.cpp>
206
 AUTO_REPORT_TEMPERATURES               = src_filter=+<src/gcode/temp/M155.cpp>
207
 AUTO_REPORT_TEMPERATURES               = src_filter=+<src/gcode/temp/M155.cpp>
207
 INCH_MODE_SUPPORT                      = src_filter=+<src/gcode/units/G20_G21.cpp>
208
 INCH_MODE_SUPPORT                      = src_filter=+<src/gcode/units/G20_G21.cpp>
208
 TEMPERATURE_UNITS_SUPPORT              = src_filter=+<src/gcode/units/M149.cpp>
209
 TEMPERATURE_UNITS_SUPPORT              = src_filter=+<src/gcode/units/M149.cpp>

Loading…
Cancel
Save