Skip to content
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

Fix MMU tool change #4810

Open
wants to merge 1 commit into
base: MK3
Choose a base branch
from
Open

Conversation

3d-gussner
Copy link
Collaborator

Fix Tool change be4104a

At some point we broke the tool change. It shows always ?><new tool number> even when the tool is known.
The tool has been reset all the time even during a tool change while unloading and not ONLY when a final UNLOAD has been requested.

Starting with F1 loaded:
MMU_F1_loaded

Then change from T0 to T1

Before:
MMU_Change_from_1_to_2_before

After:
MMU_Change_from_1_to_2_after

Tested on MK404

Test steps to the second commit:

  1. Flash FW.3.14.0

  2. Connect with serial terminal

  3. Enable MMU

  4. After power up the printer doesn't know which filament is loaded and shows F?

  5. Preheat the nozzle only Settings -> Temperature -> Nozzle

  6. Send T0 to load the filament from slot 1 on the MMU

  7. Now you can see on LCD F1

  8. Send T1 to load the 2nd filament

  9. This will unload the first filament and then load the second

  10. During this operation watch the LCD screen
    12.1. It witches from F1 to ?>2 and finally shows F2 when the T1 command has finished

  11. The ? indicates that the filament slot is UNKNOWN
    13.1. This is correctly shown when the printer starts up
    13.2. BUT it should show during the filament change {current known filament}>{new selected filament}.
    This has been working with FW 3.12.2 and MMU 1.0.6 and got broken with FW3.13.x and MMU 3.x.x

  12. Flash firmware with this PR

  13. repeat steps 2 to 12

  14. Now you see it switching from F1 to 1>2 and finally shows F2 when the T1 command has finished
    16.1 This is the desired output.

Reasons why that happens is that the current firmware "always" reset the filament to UNKNOWN when unload is executed.
The UNKNOWN state should ONLY be set when the filament actually is unknown, which means unloaded for real and not only if the unload of the filament is temporary to be able to load next filament.

Copy link

github-actions bot commented Nov 8, 2024

All values in bytes. Δ Delta to base

Target ΔFlash ΔSRAM Used Flash Used SRAM Free Flash Free SRAM
MK3S_MULTILANG 0 0 248044 5654 5908 2538
MK3_MULTILANG 0 0 247420 5663 6532 2529

@3d-gussner 3d-gussner requested a review from gudnimg November 8, 2024 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant