bed_mesh: Added PROFILE name option (#4522)

Added optional PROFILE parameter to allow bed_mesh_calibrate to
save the mesh directly into the provided profile name instead of
default. If omitted, it will be stored in default.

Signed-off-by: Randell L Hodges <rhodges@taxfodder.com>
This commit is contained in:
Randell Hodges 2021-08-17 14:30:14 -05:00 committed by GitHub
parent 8ad5cbfff5
commit f313a2294a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 5 deletions

View File

@ -347,13 +347,17 @@ are identified in green.
### Calibration
`BED_MESH_CALIBRATE METHOD=[manual | automatic] [<probe_parameter>=<value>]
`BED_MESH_CALIBRATE PROFILE=name METHOD=[manual | automatic] [<probe_parameter>=<value>]
[<mesh_parameter>=<value>]`\
_Default Profile: default_\
_Default Method: automatic if a probe is detected, otherwise manual_
Initiates the probing procedure for Bed Mesh Calibration. If `METHOD=manual`
is selected then manual probing will occur. When switching between automatic
and manual probing the generated mesh points will automatically be adjusted.
Initiates the probing procedure for Bed Mesh Calibration.
The mesh will be saved into a profile specified by the `PROFILE` parameter,
or `default` if unspecified. If `METHOD=manual` is selected then manual probing
will occur. When switching between automatic and manual probing the generated
mesh points will automatically be adjusted.
It is possible to specify mesh parameters to modify the probed area. The
following parameters are available:

View File

@ -265,6 +265,7 @@ class BedMeshCalibrate:
self.mesh_config = collections.OrderedDict()
self._init_mesh_config(config)
self._generate_points(config.error)
self._profile_name = None
self.orig_points = self.points
self.probe_helper = probe.ProbePointsHelper(
config, self.probe_finalize, self._get_adjusted_points())
@ -573,6 +574,7 @@ class BedMeshCalibrate:
return adj_pts
cmd_BED_MESH_CALIBRATE_help = "Perform Mesh Bed Leveling"
def cmd_BED_MESH_CALIBRATE(self, gcmd):
self._profile_name = gcmd.get('PROFILE', "default")
self.bedmesh.set_mesh(None)
self.update_config(gcmd)
self.probe_helper.start_probe(gcmd)
@ -693,7 +695,7 @@ class BedMeshCalibrate:
raise self.gcode.error(str(e))
self.bedmesh.set_mesh(z_mesh)
self.gcode.respond_info("Mesh Bed Leveling Complete")
self.bedmesh.save_profile("default")
self.bedmesh.save_profile(self._profile_name)
def _dump_points(self, probed_pts, corrected_pts, offsets):
# logs generated points with offset applied, points received
# from the finalize callback, and the list of corrected points