Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bed_mesh: manual probing QoL improvements #555

Closed
wants to merge 3 commits into from

Conversation

Artefact2
Copy link
Contributor

These short commits improve things a little bit when manually probing for a bed mesh.

  • Allow restarting a calibration sequence midway, without klipper panicking to death trying to redefine the NEXT command.
  • Be more consistent in toolhead movements while doing the probing; moving to the first probe point did not respect horizontal_move_z by moving vertically like the other points.
  • Allow saving and restoring the mesh with the MESH_BED_LOAD command. This makes it possible to reuse a previous calibration on multiple prints without having to re-probe (very useful if you probe manually). The command can be put, eg in the slicer's starting g-code section.

Signed-off-by: Romain “Artefact2” Dal Maso artefact2@gmail.com

@Arksine
Copy link
Collaborator

Arksine commented Aug 20, 2018

Just a couple of questions/comments from my perspective:

  • Is there an issue I'm missing with moving the tool directly to the first coordinate at (X,Y,horizontal_move_z) vs lifting z first? Or just for the sake of consistency?

  • I'm currently working on saving/loading state using Kevin's work-save_config branch. I should have something working soon. My plan is to use the current BED_MESH_CALIBRATE gcode and add two parameters.
    BED_MESH_CALIBRATE STORE=<profile_name>
    BED_MESH_CALIBRATE LOAD=<profile_name>
    If no parameters are provided BED_MESH_CALIBRATE will probe and generate the mesh without accessing persistent storage. If STORE is provided it will probe the bed, then use save_config to write the data to a new section [bed_mesh profile_name], or overwrite that section if it exists. If LOAD is provided it will load the profile from persistent memory if it exists, or error out of it doesnt. This would allow users to store profiles at different temperatures or with different parameters.

@Artefact2
Copy link
Contributor Author

Is there an issue I'm missing with moving the tool directly to the first coordinate at (X,Y,horizontal_move_z) vs lifting z first? Or just for the sake of consistency?

Yes, it solved a real issue for me. My printer homes outside the print area, and the bed is held in place with simple paper binder clips. Traveling from the homed position without lifting Z first crashes into the clips. (Because starting a calibration re-homes, you can't lift Z beforehand.)

@KevinOConnor
Copy link
Collaborator

Thanks.

I added your signed-off-by line to the commit message of the first patch (unregister NEXT) and committed it to the master branch.

The second patch (z lift before first probe) looks conceptually good, but (unless I'm missing something) it leaves the head close to the bed after the last probe. I think the z lift should still be present at the end. Perhaps we could abstract out a z_lift() method in the probe class and call it where needed.

The third patch (save/restore mesh) I think should wait for @Arksine . I'm definitely interested in seeing what we can come up with for automated save/restore mechanism.

-Kevin

@Artefact2 Artefact2 closed this Aug 25, 2018
@github-actions github-actions bot locked and limited conversation to collaborators Oct 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants