Welcome! Log In Create A New Profile

Advanced

EEPROM troubles detected that mess with the printer

Posted by Downunder35m 
EEPROM troubles detected that mess with the printer
January 23, 2016 07:57AM
Again tinkering on my laser cutter got me a new insight to the workings and possible flaws in the Marlin firmware.
Not too sure if the info is of much use for the greater community but for some rare cases that would otherwise need a new controller it might help a lot.

Ok, what happened exactly that I think the EEPROM stuff can wreck your firmware?
Well, not 100% sure if it was an additional "M" when checking machine settings with "M501", saving them or by typing in some out of whack settings in the Pronterface command line.
But I could replicate it now three times already through simple typos while sending manual commands or playing with custom buttons.
It seems that Marlin accepts commands that are not really defined within the firmware, so instead of ignoring a command with the wrong syntax it actually tries to write the bogus somewhere.
And in some cases this causes chaos for all the other stored settings.

What are the symptoms I observed?
To start with the machine did not react as normal during prints.
Axis would suddenly just stutter or the print stops totally for no good reason and resumes a second later - really fun if a powerful laser just sits and ruins your workpiece by burning holes through it.
But in the really bad cases nothing at all would work anymore.
Trying to move an axis always gave "Endstop hit" errors, no matter what direction.
And sometimes the machine would not react at all.
Flashing the firmware from scratch did not help either as by default no EEPROM values are changed.

What are the possible fixes?
As said, flashing your firmware from scratch might not be enough to solve the problem.
I even tried it by first setting all listed EEPROM commands to zero values.
The only thing I found that fixed it for me was to use a sketch from the EEPROM library that allows you to overwrite / delete all EEPROM bytes.
Set to 4096kb instead of the default 512 for the little Arduinos my EEPROM was empty and the firmware install fixed it for good.

I think it would be much better to have an option during a sketch upload to Arduino to actually erase the EEprom if required.
Re: EEPROM troubles detected that mess with the printer
January 23, 2016 06:29PM
Sounds like something I ran into a couple of days ago. I somehow messed up my repetier-firmware, the symptom was that the buffer would empty during curves and the print would come to a standstill - stutter through the rest of the corner then pick up on the straight again. This happened both when printing over USB and when printing form SD card. I tried reflashing the firmware to no avail, installed the previous known good version, also no improvement. I checked all the eeprom values via repetier-host and nothing looked out of whack (what setting could cause the buffer to empty anyway?). Eventually I switched back to Marlin and everything is running normally again.

I should have tried a M502/M500 sequence, but I didn't think of it until later. From what you've seen, it sounds like that may not be enough.
Re: EEPROM troubles detected that mess with the printer
January 24, 2016 12:28AM
No it is not enough sad smiley
I checked all the values I could find and they all were fine, changing them was no problem either.
But only after a "cleanout" of the EEPROM I was able to get the machine working properly again.
All I can guess is that somehow the buffer areas get wrong pinters or access problems.
It is then like the printer can only work one command at a time without stuttering.
Sorry, only registered users may post in this forum.

Click here to login