feat(printer): add cooling filter support flag and expose its toggle

cooling_filter_enabled existed as a config option but was shown nowhere,
and there was no capability flag to gate it. The cooling filter and air
filtration are alternative accessories sharing the same duct, so a
printer declares one or the other.

- new hidden printer capability flag support_cooling_filter
- "Use cooling filter" toggle in the Accessory group, shown only when
  the printer supports it; the air-filtration toggle hides in that case
  (no vendor restriction: third-party printers keep air filtration)
- explicit defaults (0) in the common machine base
- H2C declares support_cooling_filter=1 instead of support_air_filtration;
  its start-gcode already carries the cooling-filter conditional, so the
  toggle is functional. On H2C this drops the two exhaust-fan lines that
  air filtration emitted for ABS-class filaments, matching the printer's
  actual duct accessory; H2C is new on this branch so no existing user
  output changes.

Printers without the flag keep exactly the previous accessory UI and
g-code.
This commit is contained in:
SoftFever
2026-07-10 16:38:46 +08:00
parent b12aad6a8c
commit 826e36fb1e
6 changed files with 15 additions and 2 deletions

View File

@@ -4095,6 +4095,11 @@ void PrintConfigDef::init_fff_params()
def->mode=comDevelop;
def->set_default_value(new ConfigOptionBool(true));
// Printer capability flag: switches the accessory UI between air filtration and the cooling filter.
def = this->add("support_cooling_filter", coBool);
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false));
def = this->add("cooling_filter_enabled", coBool);
def->label = L("Use cooling filter");
def->tooltip = L("Enable this if printer support cooling filter");