BED_MESH_CALIBRATE PROFILE=<name> does not save given profile name

This used to work in some versions before:
Do a bed mesh calibration from the mainsail and give the name of the profile before starting.
Save the config after completion
The profile is saved and available after the restart.

Now:
Do a bed mesh calibration from the mainsail and give the name of the profile before starting.
Save the config after completion
The profile is saved always as “default”.



My version configuration is:

I am new in Klipper/Mainsail, therefore a basic question: Is it wise to always update to versions offered by the Update Manager?

Have you tried with:

BED_MESH_PROFILE SAVE=<name>

?

This works as I can rename the default to whatever name supplied

I do it this way:

BED_MESH_CALIBRATE
BED_MESH_PROFILE SAVE=trex3

Have you tried without the quotation marks

the results:

15:05 bed_mesh_calibrate
.......
15:06 Bed Mesh state has been saved to profile [default]
for the current session. The SAVE_CONFIG command will
update the printer config file and restart the printer
15:08 Bed Mesh state has been saved to profile [a name with spaces]
for the current session. The SAVE_CONFIG command will
update the printer config file and restart the printer.

BED_MESH_CALIBRATE PROFILE=“a profile name”

should, and did in the past create the profile with the specified name, now it always creates the default named profile

Is seems to be abug !

To be honest I never tried this since to my knowledge it was never specified like this. Refer to bed_mesh_calibrate

So its quite easy to say: Not specified = not a bug
Nevertheless it would be interesting if there was a (hidden?) functionality as such but I do not believe. If you check the history of the documentation, there was no change to this paragraph since ages: History for docs/G-Codes.md - Klipper3d/klipper · GitHub

Edit:
And the only change recently to this function was bed_mesh: do not load a profile on startup · Klipper3d/klipper@4df1ade · GitHub but this did not modify the command in question

I am using Klipper and Klipper generates this command, never looked at the spec.

It definitely worked a week ago, when I installed the initial version through sd card image from raspberry pi imager.
It would be somewhat weird that the Klipper developer did this implementation without checking that it is implemented that way.

Just looked at the code:

This functionality is definitely inside the code, but currently not working.

Its actually documentation visible at github:

1 Like

I am not sure how to raise an issue due to the fact that GitHub is not open for public issue raising.

Hmm, just worked for me:

18:17:05  // Mesh Bed Leveling Complete
18:17:05  // Bed Mesh state has been saved to profile [a profile name]
// for the current session. The SAVE_CONFIG command will
// update the printer config file and restart the printer.
18:21:10  $ SAVE_CONFIG

Klipper version: v0.11.0-86-g6026a99a (2023-01-18)

And again with current git:

18:36:00  // Mesh Bed Leveling Complete
18:36:00  // Bed Mesh state has been saved to profile [a profile name2]
// for the current session. The SAVE_CONFIG command will
// update the printer config file and restart the printer.
18:37:49  $ SAVE_CONFIG
18:37:50  // Klipper state: Disconnect
18:37:55  // Klipper state: Ready


I have a long print running gonna test once again.

do I have to flash the printer when downloading the new klipper version?

I tried to recompile after downloading the newest version but make did not find any changes to compile.
so I flashed with the existing hex.

I still have as a result:

Bed Mesh state has been saved to profile [default]
for the current session. The SAVE_CONFIG command will
update the printer config file and restart the printer.

whatever name I give in BED_MESH_CALIBRATE PROFILE=

strange!

Can you please attach the klippy.log?

I booted the printer at 21:50
an issued a mesh bed level with the profile name “NewMeshProfile”

21:51 BED_MESH_CALIBRATE PROFILE=“NewMeshProfile”

after finishing I got :

21:52 Bed Mesh state has been saved to profile [default]
for the current session. The SAVE_CONFIG command will
update the printer config file and restart the printer.

In the klippy.log I do not see any traces of “NewMeshProfile”, nor a start of leveling, just the “complete” message.

klippy.log (134.2 KB)

1 Like

I am running into the same problem.
I can do a bed mesh and save it under ‘default’ but when I go back there is no saved mesh.
I do ‘save config’
I have tried doing it only with klipper screen and my LCD. I am trying it through my browser now.
Each time I ran a bed mesh through my LCD it didn’t save it.
This started after the latest update.

So I now see what they did. You must manually load the mesh before it will show it.
Will I need to change my start code to load the default mesh?

[gcode_macro START_PRINT]
gcode:
G90
SET_GCODE_OFFSET Z=0.0
G28
BED_MESH_PROFILE LOAD=“default”
G1 X15 Y20 Z5 F6000
G1 Z0.15 F300

Post a klippy.log containing the problem

Yes

This klippy.log does not show a SAVE_CONFIG command. Make sure to use standard quotes " and not some fancy quotes.