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

feat: Implementation of MMU panel to support single-extruder-multi-material printing using the Happy Hare for any MMU/AFC. #2158

Open
wants to merge 32 commits into
base: develop
Choose a base branch
from

Conversation

moggieuk
Copy link

@moggieuk moggieuk commented Mar 1, 2025

Description

The PR adds an additional "MMU" Panel -- very visual and dynamic to both control and monitor state of MMU. This works with Happy Hare for any MMU or AFC (configuration is through klipper extensions). Prerequisite moonraker support has already been incorporated.

Summary:

  • There is one new "MMU" panel and 4 dialogs launched from the main panel menu.
  • If an MMU is not detected then the panel isn't displayed and the only overlap with existing functionality is in the print start dialog which also tests for existence of MMU.
  • The additions are all tested on mobile, tablet and widescreen on dark and light modes.
  • The only "connective tissue" is on the print start dialog where I detect if this is an MMU print and use my "tool mapper" instead of spoolman which will still appear for single color prints in MMU bypass is selected.
  • This integrates with current spoolman functionality. I made one very small change to the spoolman active spool chooser to allow it to be used for selection purposes without setting active spool
  • Finally, the print start functionality relies on some new metadata from moonraker -- that PR has already been merged into the latest moonraker.
  • All strings are tokenized and in locales/en.json.
  • I created one additional mixin (mmu.ts) as a base for Mmu components.
  • If an MMU is not detected then the panel isn't displayed and the only overlap with existing functionality is in the print start dialog which also tests for existence of MMU.

The attached screenshots give a flavor of the main panel and a couple of the dialogs.

Mobile & Desktop Screenshots/Recordings

Here is a non-exhaustive selection of screenshots (some dialogs excluded):

mainsail_promo tool-gate-mapper maintenance gate-map-editor

Development and user testing has been performed on a public discord channel (Mainsail) on: https://discord.gg/98TYYUf6f2

[optional] Are there any post-deployment tasks we need to perform?

  • The functionality will only be seen if popular Happy Hare klipper extension is installed and configured. This populates printer.mmu and printer.mmu_machine printer variables.
  • The latest moonraker is required for the start print mapping to function correct since new metadata has been added.

meteyou and others added 26 commits December 10, 2022 19:27
…material printing using the Happy Hare klipper plug-in. This functionality is disabled if an MMU is not detected.
@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Mar 1, 2025
Copy link
Contributor

github-actions bot commented Mar 1, 2025

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 4

@moggieuk moggieuk changed the title Implementation of MMU panel to support single-extruder-multi-material printing using the Happy Hare for any MMU/AFC. feat: Implementation of MMU panel to support single-extruder-multi-material printing using the Happy Hare for any MMU/AFC. Mar 1, 2025
Copy link
Contributor

github-actions bot commented Mar 1, 2025

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 4

Copy link
Contributor

github-actions bot commented Mar 1, 2025

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 4

Copy link
Contributor

github-actions bot commented Mar 1, 2025

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 4

Copy link
Contributor

github-actions bot commented Mar 1, 2025

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 4

@3DCoded
Copy link

3DCoded commented Mar 1, 2025

+1
This is a great addition to Mainsail and makes managing my MMU much easier.

Copy link
Contributor

github-actions bot commented Mar 1, 2025

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 4

Copy link
Contributor

github-actions bot commented Mar 1, 2025

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:XXL This PR changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants