Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is pretty easy to edit. I'm not sure I understand all of the intent of different things, so please be critical.
The babystepping code M290 does work for me. "Up" raises the Z up, giving more room for the filament. "Down" smooshes it down. While you are printing, you can tap these buttons to move the Z by 0.025mm. It also updates M851 Z.
We really need some feedback to tell us how far it has moved. Especially since there is a delay between pressing the button, and getting any change. I didn't see a good way to just update that in the status/config menu, but I want to be able to see what it's at. So I added
M503; *status
. Unfortunately, I think that's a lot of extra back and forth with Marlin, and it totally screws up the console log. I'd love it if you had a better way to get the offset returned from M290 into the M851 spot on the config page (or even show it on the control tab) to provide feedback on how far we've moved.I also did the absolutely easiest thing and just hard coded it to 0.025mm up/down. It doesn't make sense to use the same increments as the movements, but maybe there is an intuitive way to allow it to be adjustable. Otherwise, 0.025mm is about as close as I can hope to get while printing on the fly anyway. Maybe a third button, where we have a single increment button, and the text changes to show which increment we are using, and it would toggle between 0.0125/0.025/0.05?
The other obvious problem I see with this is that not all printers have babystepping enabled. IDK if it will just silently fail, or if there's a way we can determine if it didn't work, and then tell the user?
I also added some stuff to the .gitignore, and I added the term UBL to the front Enable/Disable buttons. Feel free to keep or reject those too.