-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] AUTO_BED_LEVELING_BILINEAR save anything to EEPROM does not work with 8x8 or bigger #26144
Comments
#define DWIN_CREALITY_LCD // Creality UI do the same. btw. my fork with a lcd does also the same. so i think it has nothing todo with the lcd/tft/display. |
I have also noticed the same thing. ABL / Bilinear bed leveling does not save after reboot. It should like Manual Mesh and UBL, but haven't been able to get it to save to eeprom. when first starting, going to edit the mesh values it says Mesh Invalid as well. |
Cannot replicate in Simulator with basic Config |
what is see in some cases if i connect fast enough: thats what i see if i connect fast enough:
i tracked it down to
but why? |
I did also the same with a precompiled @mriscoc professional UBL (sorry for pulling you in here mr. mriscoc). set it to 9x9. althought it has a different approach to save some variables and it is ubl compiled it has the same problem. after reboot everything is resetted and i am unable to save any variables to eeprom. they save fine. but after reboot -> reset. edit: interesting is here: 8x8 works. it saves. if you then switch to 9x9, do the mesh, save, reboot -> 8x8 mesh is shown. in my test with stock marlin 8x8 abl did not work. ubl worked completely up to 10x10. |
i´ll dump what i have written on the discord here also. as maybe someone of you did not read it there:
|
I think that you saved the UBL mesh but forgot to save settings (M500). These are two separate EEPROM areas, the settings area saves the slot and the number of mesh points (M500), and the mesh area where the mesh data is stored (G29 S0). So, if you change the size of the mesh or slot number you need to save not only the mesh, but also the settings. |
I did it over the display. -create mesh 8x8, press save on the mesh site then did nothing with terminal here -in the case of your fork- if you mean this. EDIT: Interestingly it works with the professional firmware abl build. EDIT2: Now it also worked for the first time for the UBL build and 9x9. strange. but i had done the 9x9 directly after firmware installation. EDIT3: Now it works with your fork @mriscoc but thats what i expected to be honest as you do your own routine. EDIT4: Went now back to stock marlin and the problem still is the same like initially reported. |
also I received a similar error regarding the eeprom version. which is V87 or something can't remember top off my head. but can that be related, having different eeprom versions. it says something that the version should be updated everytime settings.cpp is changed. funny you should mention watchdog because that's what was suggested here for a similar problem shadow578#37 (comment) |
But well this should not be needed if i install a stock marlin @classicrocker883 ;) I would understand if on makes updates and then a eeprom reset is needed if the contents change. But after the "one" reset everything should be savable that is in settings.cpp declared to be saved. Edit: For the sake of testing i changed the #define EEPROM_VERSION "V88" to #define EEPROM_VERSION "V89". changed nothing. problem persists. |
are you literally doing a |
no. it just was a sumarized short example.. in the "Actual behavior" you see what i do. each separate. |
you only need to compile a stock marlin enable bilinear with 9 grid_max_points_x. connect with terminal. sent reboot printer. |
I don't have this board, so tried with stock creality_v4 (same eeprom) only changing #define MOTHERBOARD from provided configs and GRID_MAX_POINTS_X 8 on second test... still cannot replicate... |
please try 9. i had the hiccup tonight that professional firmware worked with 8. and dont forget to:
|
thats how the eeprom itsself is in the pins file. so the configuration looks the same compared to the V4. |
I used provided configs... difficult to forget what you have already set |
the configs i posted here are the stock configs for the Ender S1 with only the GRID_MAX_POINTS_X changed. besides this i did not change anything. not one file from bugfix-2.1.x download. |
i just went back in my fork (as i have older sources for it and the problem is the same as in stock) to the 07. April 2023. there the problem reproducible already exists. but at that time i had no 10x10 builds for abl. so i even not noticed this. so it is nothing "new" that we have here.. probably was under the radar. |
just to gather some data and document: i now installed a marlin 2.0.8 build from creality adjusted BILINEAR to GRID_MAX_POINTS_X 9. the problem is already there. so it will have been under the radar for years. |
i was now able to catch it with pronterface at is connects way faster so i see the CRC_MISMATCH:
now i will add headers again.. cause i never saw the first part.. will come back with them soon ^^ |
ok i was not able to track it down. but i have done a further counter probe and can say that my LPC1768 aka #define MOTHERBOARD BOARD_BTT_SKR_V1_3 does not have the problem. everything works like it should. there it is:
and aditionally: it can not be my board only that is faulty, as i gave my 10x10 builds to several users and none of them could save to eeprom with it. |
Can you reproduce this on the original board if you add a This may highlight something related to |
i am poking around this everywhere.. |
could be just bad eeprom chip, change it |
have dozens of users that confirmed this. |
both STM and GD? |
i am running a fork for the ender 3 s1 pro and have meanwhile over 250 users on my discord. so a good testing base. but this also happens with stock marlin as i wrote. and my test for this here was made with stock marlin and a encoder display. |
point about changing eepriom chip (to different brand) still stands, will narrow it down a lot |
japp this works @thisiskeithb |
I assumed as much since you had no issues with the SKR 1.3 and that also has an emulated EEPROM. |
Those two i have among my users. but 95% this: MOTHERBOARD_CREALITY_S1_F401RC/MOTHERBOARD BOARD_CREALITY_V24S1_301F4 i think. |
ok... after the whole day of reducing settings.cpp. i have a result. i have it saving now with a 10x10 mesh and BILINEAR. basically i reduced eeprom saving by those unneeded fields in my case. I removed some fields in
and later reads and writes.. it saves. on the way i saw also some reboots when the debug was on.. what i now did was: Disabling MESH_BED_LEVELING Fields (9 dummies):
Disabling Coordinate Fields:
Disabling backlash fields:
And after i disabled TMC it started to save again:
i dont know if the TMC fields are responsible or if it is just a "space" thing and the TMC fields make enough space free then. but it works. i will intersect tomorrow backward and enable the other functions again to see where it beginns. besides this i have ton of debug headers in here. lol i would highly appreciate if someone has an eye on the settings.cpp so that it matches the actual configuration. or if we can start a discussion why some fields always are written/readen although not used. Thank you all so far. |
the backlash fields i could activate again. but if i activate CNC_COORDINATE_SYSTEMS crc sums that can’t be calculated correctly for those maybe? for now i also have let the MESH_BED_LEVELING fields deactivated. i don’t need all three.. so for me no problem. but i think for other users with STANDALONE it could be important. will test tomorrow again. |
also MESH_BED_LEVELING enabling in settings.cpp leads to the same. i mean when using AUTO_BED_LEVELING_BILINEAR. |
Maybe this is related to a very old resolved bug: mriscoc/Ender3V2S1#125 |
This issue has had no activity in the last 60 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 10 days. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
During development i discovered the following odd bug:
When you create a AUTO_BED_LEVELING_BILINEAR build with 8x8 or bigger eeprom saving does not work anymore.
I made this test with a Ender 3 S1 Pro with the Encoder display from the v2 and #define DWIN_CREALITY_LCD_JYERSUI.
There is not one line of code in this project that was changed in marlin code. Configurations attached.
Bug Timeline
new to me
Expected behavior
saving to eeprom is present after reboot of the printer.
Actual behavior
after reboot:
Steps to Reproduce
compile marlin bugfix-2.1.x in its actual state.
AUTO_BED_LEVELING_BILINEAR
withGRID_MAX_POINTS_X 5
do M851 Z2; M500 -> reboot printer M851 shows 2
AUTO_BED_LEVELING_BILINEAR
withGRID_MAX_POINTS_X 8
do M851 Z2; M500 -> reboot printer M851 shows 0
as a counterprobe i did the same with UBL and tested up to 10x10 mesh. everything works as exepected. eeprom save works.
Version of Marlin Firmware
bugfix-2.1.x
Printer model
Ender 3 S1 Pro
Electronics
stock
Add-ons
none
Bed Leveling
ABL Bilinear mesh
Your Slicer
None
Host Software
None
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Configurations.zip
The text was updated successfully, but these errors were encountered: