Add sandbox-verified fix bundle for customisable QidiBox firmware (9 fixes) — coded by Hermes AI, NOT hardware-tested - #128
Open
kgrames wants to merge 2 commits into
Conversation
…ant, not hardware-tested)
Author
|
Hi @vega-d (and any other maintainers) — gentle bump on this one, since the repo has been quiet for a few weeks. Confirming it is ready for review from our side:
Happy to adjust code style, split the PR, add docs, or provide detail on any individual fix. Thanks for your time! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
customisable_qidibox_firmware/sandbox-fixes-2026-08-05/— a patch set on top of the community.so → .pyswap with 9 fixes (6 fork-independent + 3 mainline-drift shims).*.sobackups, follow the install checklist, and test one change at a time. Community testing reports are very welcome.Fix inventory
buffer_pinconfig option (auto-generated box.cfg always emits it; without this the .py swap fails to boot)get_temp_by_num()None → 190 °C default (front-panel unload crash)note_kinematic_activity()→get_last_move_time()(removed from mainline)note_filament_present(eventtime, bool)signatureset_box_temp:box_max_tempsKeyError + temp_info None guards (BOX_TEMP_SET crash with no box detected)_00-suffix int-normalization + 2× None-temp guards (retry-button crash)heater.set_can_wait()guarded withhasattr(QIDI-fork-only API — TOOL_CHANGE_START crashes mainline)filament_list_pathconfig option (hardcoded/home/mks/...path broke non-QIDI hosts) + 3× None-guards (button_extruder_load ×2, QDE_004_009 retry path)G1 E25 F300→G1 E-25 F300inUNLOAD_FILAMENT(stock unload extruded 25 mm instead of retracting — verified against QIDI's own generated template)Install checklist (all items verified REQUIRED in sandbox)
box_macros.cfgmust be present — registeredCLEAR_FLUSHrunsBOX_CLEAR_FLUSH; without it flushing silently no-ops (clogged nozzle / color bleed risk).officiall_filas_list.cfg+filament_list_pathin[box_extras]— temp lookups read this file; the hardcoded default path only exists on QIDI printers.[filament_switch_sensor fila]section must exist (macros referenceSENSOR=fila; missing → SET_FILAMENT_SENSOR error → shutdown).[box_extras]pins (real, from QIDI's own template):b_button_pin: ^mcu_box1:PB1,b_endstop_pin: mcu_box1:PA9,e_endstop_pin: mcu_box1:PA10,buffer_pin: ^mcu_box1:PB0.Full checklist + verification method: see the branch README.
What was NOT fixed (stock-firmware side)
.somodule, not the community.py. Sandbox confirmed the.pypath handles M104 S0 + re-heat cleanly, but the.sobehavior needs QIDI.EXTRUSION_AND_FLUSHhardcodes ~180 mm of purge per change — separate config-level change.How it was verified (reproducible)
-d dict -o out -i gcode), synthesized STM32-pin dictionary, 3 virtual MCUs.QIDI_PROBE_PIN_2,BED_MESH_CLEAR,CLEAR_MOTION_DATA.