QiDi Q2 KAMP not actually adaptive — figured out why and fixed it
I finally figured out why KAMP on my QiDi Q2 was not behaving adaptively even though it appeared to be installed and active.
On my printer (QiDi Q2 running KLP_MCU_THR_V2_1.0.5), enabling Auto Bed Leveling always produced a fixed 6x4 full-bed mesh saved as kamp, even for very small print objects. Custom meshes saved under other names were ignored during print startup, and the active mesh shown in the UI did not actually control what mesh was used.
After digging through the QiDi macros and testing different startup conditions, I found several issues:
- QiDi overrides standard Klipper behavior using a custom
G29macro - only
defaultandkampare used in the startup path - there were duplicate
BED_MESH_CALIBRATEmacros - the adaptive bounds logic had been modified so probing was effectively forced to near full-bed height
I fixed it by:
- removing the duplicate macro definition
- restoring proper adaptive bounds logic
- moving the active adaptive implementation into
Adaptive_Mesh.cfg
KAMP now probes only the actual print area plus margin as expected.
Full write-up with testing details, macro analysis, and working fix:
https://klipper.discourse.group/uploads/short-url/h9rVAzqVa7DWysdEv4eskySxgq9.pdf