I would like the ability to extrude while running PID_CALIBRATE. I can run PID_CALIBRATE all I want and the extruder temperature looks nice and consistent when I am pushing 5 mm³/s but when I am pushing 15 mm³/s or more I can see the tuning struggle to keep temperature. No, it is not part cooling fan causing this. The current way it works is fine for your Ender 3s back in the day that were printing slow but printers are a lot faster now with higher speeds and accelerations pushing a lot more plastic. This issue is really apparent on hotends like the Phaetus Dragon UHF where the heater and thermistor are on opposite sides of the filament path. Add in a PT100, which is my setup, and the limitations of the current implementation of PID Calibrate become apparent.
Adding a VOLUME=15 to provide the command a mm³/s value could be one way of doing this.
PID_CALIBRATE HEATER=extruder TARGET=245 VOLUME=15
A better way of implementing this would be to allow PID_CALIBRATE to run while printing. Currently it pauses the print when executed. Documentation could provide a vase mode cylinder that would allow for a consistent volumetric flow. This is not out of the ordinary for klipper. Look no further than the Pressure Advance documentation.
But lets be real here, the current way things work is “good enough”. We are not talking about swings of 5C here. More like 2-2.5C at 15-20 mm³/s on my setup. Just like tuning Pressure Advance to 0.0X is “good enough” but tuning it to 0.0XX is better.