prusa3d / Prusa-Firmware

Firmware for Original Prusa i3 3D printer by PrusaResearch
GNU General Public License v3.0
2.02k stars 1.05k forks source link

:construction: WIP: MMU: Allow reading/writing registers while handling a non-idle error #4561

Closed gudnimg closed 5 months ago

gudnimg commented 9 months ago

Draft for now... this uses a bit more Flash than I'd hoped.

Fixes #4558

Steps to reproduce a problem:

  1. Send toolchange command to the printer e.g. T0
  2. Hold the Idler in place until you get a "Idler cannot home" error.
  3. Select 'Tune' button
  4. Select 'Done' button (you need to click it 3 times to exit the menu)
  5. Printer is in a 'frozen' state.

Change in memory: Flash: +136 bytes SRAM: +1 byte

github-actions[bot] commented 9 months ago

All values in bytes. Δ Delta to base

Target ΔFlash ΔSRAM Used Flash Used SRAM Free Flash Free SRAM
MK3S_MULTILANG 136 1 246870 5657 7082 2535
MK3_MULTILANG 136 1 246160 5664 7792 2528
gudnimg commented 8 months ago

It would be nice to have this in 3.14.0 but we should not rush this.

gudnimg commented 6 months ago

I don't see this being easy to unit test. Next weekend, I'll try find time to look into what the changes look like to disable the button during printing as a workaround. If I recall correctly... it won't work since the buttons are set at compile time but I may be remembering wrong.

I'd really like to mitigate this in 3.14 so some prints are saved.

3d-gussner commented 6 months ago

@DRracer @gudnimg What is the status here?

gudnimg commented 6 months ago

@DRracer @gudnimg What is the status here?

Currently the PR is on hold until the changes are unit tested on the MK4 side. I’m not sure if I will be able to finish that any time soon :(

gudnimg commented 5 months ago

Closing this as updating the MK4 unit tests will just take me too much time at the moment