🏗️ Allow headless Flow Meter (#22234)
This commit is contained in:
parent
8334e92b6f
commit
5026797310
@ -22,26 +22,27 @@
|
|||||||
|
|
||||||
#include "../inc/MarlinConfig.h"
|
#include "../inc/MarlinConfig.h"
|
||||||
|
|
||||||
#if HAS_COOLER
|
#if EITHER(HAS_COOLER, LASER_COOLANT_FLOW_METER)
|
||||||
|
|
||||||
#include "cooler.h"
|
#include "cooler.h"
|
||||||
Cooler cooler;
|
Cooler cooler;
|
||||||
|
|
||||||
uint8_t Cooler::mode = 0;
|
#if HAS_COOLER
|
||||||
uint16_t Cooler::capacity;
|
uint8_t Cooler::mode = 0;
|
||||||
uint16_t Cooler::load;
|
uint16_t Cooler::capacity;
|
||||||
bool Cooler::enabled = false;
|
uint16_t Cooler::load;
|
||||||
|
bool Cooler::enabled = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(LASER_COOLANT_FLOW_METER)
|
#if ENABLED(LASER_COOLANT_FLOW_METER)
|
||||||
bool Cooler::flowmeter = false;
|
bool Cooler::flowmeter = false;
|
||||||
millis_t Cooler::flowmeter_next_ms; // = 0
|
millis_t Cooler::flowmeter_next_ms; // = 0
|
||||||
volatile uint16_t Cooler::flowpulses;
|
volatile uint16_t Cooler::flowpulses;
|
||||||
float Cooler::flowrate;
|
float Cooler::flowrate;
|
||||||
#endif
|
#if ENABLED(FLOWMETER_SAFETY)
|
||||||
|
|
||||||
#if ENABLED(FLOWMETER_SAFETY)
|
|
||||||
bool Cooler::flowsafety_enabled = true;
|
bool Cooler::flowsafety_enabled = true;
|
||||||
bool Cooler::fault = false;
|
bool Cooler::flowfault = false;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // HAS_COOLER
|
#endif // HAS_COOLER || LASER_COOLANT_FLOW_METER
|
||||||
|
@ -94,12 +94,12 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED(FLOWMETER_SAFETY)
|
#if ENABLED(FLOWMETER_SAFETY)
|
||||||
static bool fault; // Flag that the cooler is in a fault state
|
static bool flowfault; // Flag that the cooler is in a fault state
|
||||||
static bool flowsafety_enabled; // Flag to disable the cutter if flow rate is too low
|
static bool flowsafety_enabled; // Flag to disable the cutter if flow rate is too low
|
||||||
static void flowsafety_toggle() { flowsafety_enabled = !flowsafety_enabled; }
|
static void flowsafety_toggle() { flowsafety_enabled = !flowsafety_enabled; }
|
||||||
static bool check_flow_too_low() {
|
static bool check_flow_too_low() {
|
||||||
const bool too_low = flowsafety_enabled && flowrate < (FLOWMETER_MIN_LITERS_PER_MINUTE);
|
const bool too_low = flowsafety_enabled && flowrate < (FLOWMETER_MIN_LITERS_PER_MINUTE);
|
||||||
if (too_low) fault = true;
|
flowfault = too_low;
|
||||||
return too_low;
|
return too_low;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -292,7 +292,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(FLOWMETER_SAFETY)
|
#if ENABLED(FLOWMETER_SAFETY)
|
||||||
if (cooler.fault) {
|
if (cooler.flowfault) {
|
||||||
SERIAL_ECHO_MSG(STR_FLOWMETER_FAULT);
|
SERIAL_ECHO_MSG(STR_FLOWMETER_FAULT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1555,7 +1555,7 @@ void Temperature::manage_heater() {
|
|||||||
#if ENABLED(FLOWMETER_SAFETY)
|
#if ENABLED(FLOWMETER_SAFETY)
|
||||||
if (cutter.enabled() && cooler.check_flow_too_low()) {
|
if (cutter.enabled() && cooler.check_flow_too_low()) {
|
||||||
cutter.disable();
|
cutter.disable();
|
||||||
ui.flow_fault();
|
TERN_(HAS_DISPLAY, ui.flow_fault());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -202,7 +202,8 @@ SDSUPPORT = src_filter=+<src/sd/cardreader.cpp> +<s
|
|||||||
HAS_MEDIA_SUBCALLS = src_filter=+<src/gcode/sd/M32.cpp>
|
HAS_MEDIA_SUBCALLS = src_filter=+<src/gcode/sd/M32.cpp>
|
||||||
GCODE_REPEAT_MARKERS = src_filter=+<src/feature/repeat.cpp> +<src/gcode/sd/M808.cpp>
|
GCODE_REPEAT_MARKERS = src_filter=+<src/feature/repeat.cpp> +<src/gcode/sd/M808.cpp>
|
||||||
HAS_EXTRUDERS = src_filter=+<src/gcode/units/M82_M83.cpp> +<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp>
|
HAS_EXTRUDERS = src_filter=+<src/gcode/units/M82_M83.cpp> +<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp>
|
||||||
HAS_COOLER = src_filter=+<src/feature/cooler.cpp> +<src/gcode/temp/M143_M193.cpp>
|
HAS_COOLER = src_filter=+<src/gcode/temp/M143_M193.cpp>
|
||||||
|
HAS_COOLER|LASER_COOLANT_FLOW_METER = src_filter=+<src/feature/cooler.cpp>
|
||||||
AUTO_REPORT_TEMPERATURES = src_filter=+<src/gcode/temp/M155.cpp>
|
AUTO_REPORT_TEMPERATURES = src_filter=+<src/gcode/temp/M155.cpp>
|
||||||
INCH_MODE_SUPPORT = src_filter=+<src/gcode/units/G20_G21.cpp>
|
INCH_MODE_SUPPORT = src_filter=+<src/gcode/units/G20_G21.cpp>
|
||||||
TEMPERATURE_UNITS_SUPPORT = src_filter=+<src/gcode/units/M149.cpp>
|
TEMPERATURE_UNITS_SUPPORT = src_filter=+<src/gcode/units/M149.cpp>
|
||||||
|
Loading…
Reference in New Issue
Block a user