-
-
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] M502/M500 when TMC drivers do not have VMOT results in incorrect values being stored in EEPROM #19313
Comments
I think this will give you further issues if you don't "reset" tmc after full power. This was already seen, and reported, by me a "month ago". Some boards keep vmot to 3.3V. To fix this just give 5V to vmot when 12/24V is missing (if your board has possibility to do that). |
You may read #18498 |
This isn't about the initialization, but rather that even though Marlin knows what the values should be for the TMC drivers (in the case of the SpreadCycle/StealthChop these are in |
Fixed by #19364 |
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. |
Bug Description
If a motherboard is powered by USB but the main power supply is not powered on, executing
M500
will save the wrong values into EEPROM.My Configurations
Config.zip
Steps to Reproduce
M502
.M503
and see that there is noM569 S1 T0 E
line in the output. This is the correct behavior.M500
.M503
and see that there still is noM569 S1 T0 E
line.M502
followed byM500
.M503
- there will be aM569 S1 T0 E
line.Expected behavior: [What you expect to happen]
M502
followed byM500
will initialize EEPROM to the values inConfiguration.h
regardless of whether the TMC drivers have full power.Actual behavior: [What actually happens]
Executing
M502
followed byM500
when board is only powered by USB results in different values in EEPROM than if full power is applied.Additional Information
It looks like
MarlinSettings::save()
attempts to fetch the values from the drivers instead of using the cached values that are used byM80
andM122 I
to re-initialize the drivers. I noticed this specifically with StealthChop/Spreadcycle but code review shows that other TMC driver configuration values suffer from the same issue.The text was updated successfully, but these errors were encountered: