mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-12 10:21:17 +00:00
Restore the pre-IMEX pressure advance output for non-IMEX printers
Closes review comment 6. The per-tool pressure advance work changed set_pressure_advance() for users who are not using the feature. RepRapFirmware lost its D qualifier when no tool index was supplied: upstream emits M572 D0 S<pa> unconditionally, and a bare M572 applies to whatever tool is currently selected and errors when there is none, so PA started depending on tool-selection state for every RRF user. The D is back, defaulting to 0, and D<tool> is reached only from the IMEX paths. The same rewrite had also changed the comment separator from "<value>; Override" to "<value> ; Override" on the Klipper, RRF, Marlin 2.x and Marlin Legacy branches, so every non-IMEX print of those flavors carried a one-byte diff. Restored. Upstream is internally inconsistent here -- BBL and Repetier do use the spaced form -- and the point is to match it exactly rather than to tidy it. Emitted output for all six flavors with no tool index is now byte-identical to upstream. Verified on a real slice: a Klipper profile emits "SET_PRESSURE_ADVANCE ADVANCE=0.02; Override pressure advance value", an exact string match, with no EXTRUDER= qualifier. The tests were pinning the regressed form and are inverted. Also records at the imex key registrations why they are kept out of the g-code config block, matching the house convention at the other banned keys. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
612e0e3932
commit
5629dd29e9
@@ -6604,7 +6604,12 @@ void PrintConfigDef::init_fff_params()
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
|
||||
// IDEX/IQEX (independent X extruder) — parallel printing support for IDEX/IQEX printers
|
||||
// IDEX/IQEX (independent X extruder) — parallel printing support for IDEX/IQEX printers.
|
||||
// Every key in this group is read at slice time from m_config, and the two per-plate process
|
||||
// keys (imex_parallel_mode, imex_head_filament_map) round-trip through the 3MF's
|
||||
// model_settings.config plate metadata, so none of them needs to appear in the exported
|
||||
// g-code. They all carry non-nil defaults, so emitting them would add a line to every
|
||||
// printer's dump. Kept out of the g-code config block (banned_keys).
|
||||
def = this->add("is_imex", coBool);
|
||||
def->label = L("IMEX Printer");
|
||||
def->tooltip = L("Enable IMEX parallel printing for printers with multiple independent carriages (IDEX, IQEX, and similar).");
|
||||
|
||||
Reference in New Issue
Block a user