Skip to content

Fix MMU3 fsensor handling#360

Open
Lapeno89 wants to merge 1 commit into
prusa3d:mainfrom
Lapeno89:fix-mmu3-fsensor
Open

Fix MMU3 fsensor handling#360
Lapeno89 wants to merge 1 commit into
prusa3d:mainfrom
Lapeno89:fix-mmu3-fsensor

Conversation

@Lapeno89
Copy link
Copy Markdown

What I changed:

If the fsensor remains ON, the MMU3 attempts (up to two times) to retract 1 mm of filament.
If the fsensor turns OFF, the filament is fully unloaded.
If it stays ON, an fsensor failure is reported on the printer display.

@github-actions
Copy link
Copy Markdown

All values in bytes. Δ Delta to base

ΔFlash ΔSRAM Used Flash Used SRAM Free Flash Free SRAM
168 8 28332 1681 340 879

@github-actions
Copy link
Copy Markdown

Automated Test Code Coverage Report

View details...

File Lines Exec Cover
src/application.cpp 169 14 8%
src/application.h 3 3 100%
src/hal/circular_buffer.h 52 52 100%
src/hal/eeprom.h 1 0 0%
src/hal/gpio.h 18 7 38%
src/hal/progmem.h 6 6 100%
src/hal/tmc2130.cpp 113 9 7%
src/hal/tmc2130.h 31 27 87%
src/logic/command_base.cpp 139 118 84%
src/logic/command_base.h 4 3 75%
src/logic/cut_filament.cpp 117 80 68%
src/logic/eject_filament.cpp 77 60 77%
src/logic/feed_to_bondtech.cpp 60 57 95%
src/logic/feed_to_bondtech.h 1 1 100%
src/logic/feed_to_finda.cpp 48 45 93%
src/logic/feed_to_finda.h 1 1 100%
src/logic/home.cpp 18 12 66%
src/logic/load_filament.cpp 84 76 90%
src/logic/load_filament.h 1 0 0%
src/logic/move_selector.cpp 21 0 0%
src/logic/no_command.h 2 1 50%
src/logic/retract_from_finda.cpp 27 21 77%
src/logic/retract_from_finda.h 1 1 100%
src/logic/set_mode.cpp 5 0 0%
src/logic/set_mode.h 1 0 0%
src/logic/start_up.cpp 38 26 68%
src/logic/start_up.h 4 4 100%
src/logic/tool_change.cpp 107 85 79%
src/logic/unload_filament.cpp 81 60 74%
src/logic/unload_to_finda.cpp 77 52 67%
src/logic/unload_to_finda.h 1 1 100%
src/modules/axisunit.h 21 21 100%
src/modules/buttons.cpp 11 11 100%
src/modules/buttons.h 7 7 100%
src/modules/crc.h 13 13 100%
src/modules/debouncer.cpp 28 24 85%
src/modules/debouncer.h 7 7 100%
src/modules/finda.cpp 7 3 42%
src/modules/finda.h 2 2 100%
src/modules/fsensor.cpp 6 6 100%
src/modules/fsensor.h 3 3 100%
src/modules/globals.cpp 47 42 89%
src/modules/globals.h 34 24 70%
src/modules/idler.cpp 80 73 91%
src/modules/idler.h 12 12 100%
src/modules/leds.cpp 56 54 96%
src/modules/leds.h 16 15 93%
src/modules/math.h 6 6 100%
src/modules/motion.cpp 59 40 67%
src/modules/motion.h 66 64 96%
src/modules/movable_base.cpp 73 69 94%
src/modules/movable_base.h 16 16 100%
src/modules/permanent_storage.cpp 144 89 61%
src/modules/protocol.cpp 216 184 85%
src/modules/protocol.h 72 70 97%
src/modules/pulley.cpp 26 25 96%
src/modules/pulley.h 9 5 55%
src/modules/pulse_gen.cpp 95 89 93%
src/modules/pulse_gen.h 53 51 96%
src/modules/selector.cpp 69 62 89%
src/modules/selector.h 5 5 100%
src/modules/speed_table.h 26 24 92%
src/modules/user_input.cpp 39 39 100%
src/modules/user_input.h 12 12 100%
src/modules/voltage.cpp 4 0 0%
src/registers.cpp 86 22 25%
src/unit.h 12 12 100%
TOTAL 2746 2023 73%

TOTAL: 2746 lines of code, 2023 lines executed, 73% covered.

@gudnimg
Copy link
Copy Markdown
Collaborator

gudnimg commented Apr 3, 2026

@Lapeno89 thanks for opening a PR. The PR in its current state is not ready for a merge.

  1. The unit tests need to pass to ensure your change is not introducing regressions.

  2. It would also help us reviewers if you would improve the PR description. Like what is the problem this PR is solving exactly (with as much detail as possible)? And how do I reproduce the issue this PR is aiming to fix.

The PR consumes 168 bytes of flash which is a lot when considering how much free flash memory is left. Not a blocker in and of itself, but before we can merge, it would be good to optimize the code as much as possible.

@gudnimg gudnimg self-requested a review April 3, 2026 12:22
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.

2 participants