Files
bambuddy/backend
maziggy 4fc72c0ddb fix(h2c): send physical nozzle IDs for both carriages, not extruder indices (#2800)
The first pass at the H2C rack mapping had both of its hardware-derived
    values wrong, and the reporter's follow-up A/B on real hardware settled
    them.

    The rack does not feed extruder 0. A mixed-nozzle plate extracted as
    slots=[0, -1, -1, 1] with rack position 17 dispatched as
    [17, -1, -1, 1], and the rack nozzle printed several millimetres above
    the bed. The rack is extruder 1.

    Correcting only that is not enough. The fixed hotend answers to physical
    ID 1, not to its extruder index of 0, and forwarding the index produced
    [0, -1, -1, 17] -- a command the printer rejected outright rather than
    mis-printing. Translating both carriages gives [1, -1, -1, 17], and the
    same sliced file then cleaned, levelled and printed on the correct
    nozzle at the correct Z through to completion.

    Both values agree with three native Bambu Studio captures from the same
    machine, which carry [1, 17, ...] and [17, 1, ...] depending on filament
    slot order.

    An extruder index naming neither carriage now omits the field instead of
    reaching the wire as a physical ID that identifies no nozzle. The
    fixed-hotend-only path is unchanged but no longer a guess: Bambu Studio
    sends no nozzle_mapping at all for such a plate, which is what Bambuddy
    already did.

    Reported, diagnosed and hardware-verified by @tru3l3gend, who ran the
    mixed-nozzle A/B on both nozzles and captured what Bambu Studio sends
    for fixed-only and mixed plates.
2026-08-15 14:54:04 +02:00
..