Welcome! Log In Create A New Profile

Advanced

Preserve UBL Mesh Between Firmware Updates

Posted by brucehvn 
Preserve UBL Mesh Between Firmware Updates
July 02, 2017 03:25AM
Just curious if there is any way to preserve the UBL mesh values when I update the firmware? I am running the 1.1.x-bugfix branch and that means there are frequent updates, but so far it seems like when I load new firmware, the mesh gets set back to all zeros. If I record the values of the mesh before updating, is there an easy way for me to manually enter them in after the new firmware is on there?

Bruce
Re: Preserve UBL Mesh Between Firmware Updates
July 02, 2017 10:30AM
The mesh values should be preserved across firmware updates in most cases. The mesh data is deliberately saved at the end of the EEPROM just to insure that a change in the EEPROM data format doesn't have an impact on it. With a firmware change, you may lose your configuration information for UBL. ie. It may not automatically load a mesh and you may have to reset your Fade Height. But the mesh data should be there under most cases. Just do a G29 L1 T (assuming your mesh is in slot 1) and see if it is there.

(I'm guessing when you say the mesh goes to all zero's is that you typically save the mesh with G29 A (UBL active) and the last used mesh is automatically loaded. If that part of the configuration information is lost... The mesh is probably still there. You can force it to load by doing a G29 L1 T

But... there is a fall back position too. You can save your mesh data to your host computer by doing a G29 S-1 This will generate the GCode to reconstruct the mesh at a future point in time. You just save the output of the G29 S-1 and print it later as a GCode file. If you have a finely tuned mesh... It just makes sense to save a copy of it on your host computer.

Edited 1 time(s). Last edit at 07/02/2017 10:33AM by Roxy.
Re: Preserve UBL Mesh Between Firmware Updates
July 02, 2017 04:52PM
Thanks Roxy. This will be very helpful.

So when I usually save my mesh, I do a G29 S which then says it is saving to mesh 0. So I assume the commands you listed above would be G29 L0 T and G29 S-0?

What is the fade height and where is it set?

If I do a M502/M500 to pull in some changed values from the configuration.h, would that wipe out the mesh, or is it still preserved?
Re: Preserve UBL Mesh Between Firmware Updates
July 02, 2017 11:06PM
Quote
brucehvn
Thanks Roxy. This will be very helpful.
You are welcome.
Quote
brucehvn
So when I usually save my mesh, I do a G29 S which then says it is saving to mesh 0. So I assume the commands you listed above would be G29 L0 T and G29 S-0?
Yes. But no minus sign on the 0 Do a G29 S0
Quote
brucehvn
What is the fade height and where is it set?
Oh! Read the documentation. Fade Height is a very powerful concept. With the Mesh Bed Leveling schemes, you can set the distance to eleminate any correction. The default for UBL is 10.0 mm. You set it with G29 F 10.0
At a layer height of 0.00 you get 100% correction added in. At a layer height of 10.0mm you get 0% correction. The correction 'Fades' as the layer height increases.
Quote
brucehvn
If I do a M502/M500 to pull in some changed values from the configuration.h, would that wipe out the mesh, or is it still preserved?
The mesh data is preserved. (Assuming you don't change the mesh dimenstions.) It will be there. It is saved in the free space at the end of the EEPROM.

Edited 2 time(s). Last edit at 07/02/2017 11:09PM by Roxy.
Re: Preserve UBL Mesh Between Firmware Updates
July 02, 2017 11:26PM
Which documentation is up-to-date? I was reading at [marlinfw.org] but that doesn't have anything about fade height or the other two commands you mentioned.

BTW, when I do a G29 S-0, it just saves the mesh again. It doesn't print out the gcode to recreate it.

I'm using the 1.1.x-bugfix branch.
Re: Preserve UBL Mesh Between Firmware Updates
July 03, 2017 12:45AM
Yeah... I said:
Quote
Roxy
But... there is a fall back position too. You can save your mesh data to your host computer by doing a G29 S-1
I did not say to do a G29 S-0.

The code is well documented... Check out: [github.com] And when it comes to the G26 part of the process... The same thing applies. Look at the front end of the G26 source file for exact information on how to use it: [github.com]
Sorry, only registered users may post in this forum.

Click here to login