QiDi Q2 KAMP not adaptive — G29 override forces full-bed mesh (solution included)

Basic Information:

QiDi Q2
STM32-based MCU
Windows PC
klippy.log (115.3 KB)

QiDi Q2 KAMP Fix: Why “KAMP” Was Not Actually Adaptive, and How I Got It Working

TL;DR -

This issue is specific to the QiDi Q2 Klipper fork and may affect other QiDi printers using the same startup macros.

On my QiDi Q2, the stock QiDi startup path was not using true adaptive KAMP (Klipper Adaptive Meshing & Purging) behavior. With Auto Bed Leveling enabled, the printer always created a fixed 6x4 full bed mesh saved as kamp, even for a very small part. With Auto Bed Leveling disabled, the printer either loaded default or created a new default mesh. Any custom calibrated mesh saved under another name was ignored even if it was manually activated in the UI “Tune>Bed Mesh Controls” tab. The root cause was the QiDi custom G29 macro combined with a modified BED_MESH_CALIBRATE implementation and duplicate macro definitions. To fix this, I remove the BED_MESH_CALIBRATE macro from KAMP_Settings.cfg, and restore proper adaptive bounds logic by modifying the BED_MESH_CALIBRATE macro in Adaptive_Mesh.cfg so probing for the kamp mesh is minimized to the actual print area.

QiDi_Q2_KAMP_reddit_writeup.pdf (240.1 KB)