Proper M84 that can disable a single stepper and remove it from the ‘homed_axes’ flag
For many years, folks such as “filament friday” “edge of tech” “teaching tech”
the big YOUTUBE sponsors suggest adding M84 X Y E at the end gocde or end print script
This is useful to keep the head from falling on a print if the Z axis falls when powered down.
This is also a useful feature for tramming a bed
Especially with the new touchless sensors on the market that can read bed distance based on the metal surface!
You can home bed, move the nozzle to Z1 disable the X and Y motors and move the head around by hand to either use paper to tram the bed or use the sensor to read bed distance.
After any of these actions however, the flags in 'homed_axes" are not removed, therefore klipper still thinks that X and Y are at the postion it last moved them to.
User starts a print using the flag to check if homed, and the head crashes or could potentially damage the printer!!!
I think it would make sense and be a smart thing and very useful to add a proper M84 with parameters X Y Z E to disable each motor independently, no Flags you will simply run as is and disable all of them.
Granted we could “cheat” and disable all steppers and then just re enable the Z but that seems a little silly if you ask me, since most likely millions of users have the M84 X Y E at the end of there print files already!!!
Happy to discuss, happy to help code and debug (although I am new to klipper and have not dug much into it yet!!)