Closed DRracer closed 1 year ago
Holding all 3 buttons on the MMU before the selftest will trigger a comple EEPROM erase.
I doubt that is possible to implement. I think we can only sense when one button is pressed at a time. If multiple buttons are pressed, you either get one of the buttons instead of both or you go to an invalid voltage and no button is considered pressed.
The MMU will perform a snake effect on the LEDs and then restart.
But why? Aren't we really tight on flash at the moment? Can't we just turn on all LEDs or something like that?
@leptun good point with the button: in such a case we need to settle with the left most button which is the least used one.
Snake: actually, that alone takes 72 bytes. I can remove that of course :wink:
Proposal: Instead of using a button on the MMU unit, why not use only the X2a from the printer? Could we maybe add a button in the factory reset menu for resetting the mmu settings?
Snake: I guess we could keep it until we need more flash
[x] HW solution: Holding the LEFT button on the MMU before the selftest will trigger a comple EEPROM erase (As noted by @leptun, we cannot reliably check for >1 buttons pressed at once.). Since the left button is the least used, let's use it for invoking the HW EEPROM clear upon MMU start. The MMU will perform a snake effect on the LEDs and then restart. If there was a faulty unit having all the buttons pressed continously, such a unit will end up in a boot loop only doing the snake LED pattern.
[x] SW solution
X0
command on the protocol has been hijacked to perform an EEPROM reset as well if the value is correct. The "ultimate" value has been chosen as42
, i.e. sendingX2a
should erase the whole EEPROM and the MMU will restart.MMU-193
CPU FLASH: +178B