mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-03 04:31:28 +02:00
The finish photo needs a "printing done, toolhead parked, filament unload not started" moment. stg_cur=22 was meant to be it (#1721) and fires on no model in the field: across 247 support bundles there is not one FINISH PHOTO MOMENT (stage-22), including the 2026-06-13..07-08 window where it was the only pre-FINISH trigger in the code — 104 captures on A1, A1 Mini, H2C, H2D, P1S, P2S, X1C and X2D, all of them the FINISH fallback. A replacement can't be designed from the bundles we have. Out of that window Bambuddy parses only stg_cur and mc_print_sub_stage; every other stage/action field arrives and is dropped unread. The candidates that sound right (print_real_action, mc_action, mc_stage) are absent from A1/A1 Mini/P1S payloads, so none of them can be the universal answer alone. Dump the raw fields for the window between the last object layer and gcode_state=FINISH at DEBUG. Opens on the first end-of-print signal (last layer, progress >= 99, or no remaining time) so a dropped layer_num packet doesn't lose it, logs only what changed frame to frame, closes on the transition out of RUNNING, and arms once per print. Instrumentation only: gated on DEBUG being enabled, read-only against printer state, wrapped so it cannot break ingest, and capped at 400 frames per print. The probed fields are stage codes, counters and bitfields — nothing identifying, and no access code.