Klipper3d / klipper

Klipper is a 3d-printer firmware
GNU General Public License v3.0
8.98k stars 5.17k forks source link

bed_mesh: add support for "rapid" scanning #6617

Closed Arksine closed 1 week ago

Arksine commented 2 weeks ago

This pull request builds on #6610, adding support for optimized travel paths when a rapid_scan is requested. In addition, the probe_finalize() method no longer depends on on the XY coordinates received from the probing procedure to populate the Z matrix.

The final commit in this series updates gnupru to the latest release in ci-install.sh. It appears that version 2023.1 fails due to a missing dependency.

KevinOConnor commented 2 weeks ago

Thanks. I cherry-picked your gcc-pru build patch.

This PR seems good to me. I think we should give a few days for others to comment, but otherwise I'm ready to commit when you are.

Not a "blocker", but have you considered using a webhooks endpoint instead of the BED_MESH_DUMP command (and have graph_mesh.py directly pull the json from the unix domain socket)? The gain would be that it would also enable the web frontends to access all this information in the future. It would also avoid having to describe the low-level details of the command, the file name, file location, file contents to users. Again, not a "blocker".

Thanks again, -Kevin

Arksine commented 2 weeks ago

Not a "blocker", but have you considered using a webhooks endpoint instead of the BED_MESH_DUMP command (and have graph_mesh.py directly pull the json from the unix domain socket)? The gain would be that it would also enable the web frontends to access all this information in the future. It would also avoid having to describe the low-level details of the command, the file name, file location, file contents to users. Again, not a "blocker".

I think this is a good idea. I'll rework BED_MESH_DUMP into a bed_mesh/dump_mesh API request.

c0psrul3 commented 2 weeks ago

:+1: this works great

Arksine commented 1 week ago

I have removed the BED_MESH_DUMP gcode command in favor of a bed_mesh/dump_mesh API. The graph_mesh script can fetch the data in one of three ways:

The json file can be created with the graph_mesh dump <input> command. This allows for users to share the dump when troubleshooting if necessary. The Moonraker connection allows users to run the script on a Desktop class PC enabling animations and live mesh previews.

KevinOConnor commented 1 week ago

Thanks. It looks good to me. If there are no further comments, I'll look to commit in a couple of days.

-Kevin

KevinOConnor commented 1 week ago

Thanks!

-Kevin

Cereal-Killa commented 1 week ago

Question, are there more patches to get the BTT Eddy to work on the official Klipper branch or is this it?

KevinOConnor commented 6 days ago

There are a number of features that have been discussed or are in progress. Here's my understanding of the status:

I expect the above is what most users will expect.

There are a few things in discussion that are not in mainline:

Hope that helps, -Kevin

Cereal-Killa commented 6 days ago

There are a number of features that have been discussed or are in progress. Here's my understanding of the status:

Hope that helps, -Kevin

Absolutely, in this case I'll stick to the BTT branch for the time being, specially due to the homing feature. Thanks Kevin