Skip to content

feat: grow default PTFE frontend size#352

Closed
deimosfr wants to merge 1 commit into
prusa3d:mainfrom
deimosfr:feat/grow_ptfe_frontend_size
Closed

feat: grow default PTFE frontend size#352
deimosfr wants to merge 1 commit into
prusa3d:mainfrom
deimosfr:feat/grow_ptfe_frontend_size

Conversation

@deimosfr

Copy link
Copy Markdown

Related to this post:
https://www.reddit.com/r/prusa3d/comments/1lxgju8/how_i_raised_ptfe_mmu_length_to_5000mm_for_coreone/

having more size helps to achieve alternative setup

@github-actions

github-actions Bot commented Jul 11, 2025

Copy link
Copy Markdown

All values in bytes. Δ Delta to base

ΔFlash ΔSRAM Used Flash Used SRAM Free Flash Free SRAM
0 0 28078 1667 594 893

@deimosfr deimosfr force-pushed the feat/grow_ptfe_frontend_size branch from 89c7490 to 09d900f Compare July 11, 2025 20:06
@gudnimg

gudnimg commented Jul 12, 2025

Copy link
Copy Markdown
Collaborator

There are four unit tests failing:

The following tests FAILED:
	 22 - unload_to_finda::unload_without_FINDA_trigger (Failed)
	 24 - unload_to_finda::unload_repeated (Failed)
	 47 - unload_filament::finda_didnt_trigger_resolve_try_again (Failed)
	 49 - unload_filament::failed_unload_to_finda_0-4_resolve_manual_FINDA_on (Failed)
Errors while running CTest


unload_filament::failed_unload_to_finda_0-4_resolve_manual_FINDA_on
-------------------------------------------------------------------------------
/home/runner/work/Prusa-Firmware-MMU/Prusa-Firmware-MMU/tests/unit/logic/unload_filament/test_unload_filament.cpp:266
...............................................................................
/home/runner/work/Prusa-Firmware-MMU/Prusa-Firmware-MMU/tests/unit/logic/unload_filament/test_unload_filament.cpp:138: FAILED:
  REQUIRE( WhileCondition( uf, [&](uint32_t step) { SimulateUnloadToFINDA(step, 10, 1'000'000); return uf.TopLevelState() == ProgressCode::UnloadingToFinda; }, 200'000) )
with expansion:
  false
  
  
-------------------------------------------------------------------------------
/home/runner/work/Prusa-Firmware-MMU/Prusa-Firmware-MMU/tests/unit/logic/unload_filament/test_unload_filament.cpp:192
...............................................................................

/home/runner/work/Prusa-Firmware-MMU/Prusa-Firmware-MMU/tests/unit/logic/unload_filament/test_unload_filament.cpp:138: FAILED:
  REQUIRE( WhileCondition( uf, [&](uint32_t step) { SimulateUnloadToFINDA(step, 10, 1'000'000); return uf.TopLevelState() == ProgressCode::UnloadingToFinda; }, 200'000) )
with expansion:
  false
  
  
/home/runner/work/Prusa-Firmware-MMU/Prusa-Firmware-MMU/tests/unit/logic/unload_to_finda/test_unload_to_finda.cpp:162
...............................................................................

/home/runner/work/Prusa-Firmware-MMU/Prusa-Firmware-MMU/tests/unit/logic/unload_to_finda/test_unload_to_finda.cpp:200: FAILED:
  REQUIRE_FALSE( WhileCondition(ff, std::bind(SimulateUnloadToFINDA, _1, 10, 150000), unlSteps) )
with expansion:
  !true
  
  
unload_to_finda::unload_without_FINDA_trigger
-------------------------------------------------------------------------------
/home/runner/work/Prusa-Firmware-MMU/Prusa-Firmware-MMU/tests/unit/logic/unload_to_finda/test_unload_to_finda.cpp:79
...............................................................................

/home/runner/work/Prusa-Firmware-MMU/Prusa-Firmware-MMU/tests/unit/logic/unload_to_finda/test_unload_to_finda.cpp:115: FAILED:
  REQUIRE_FALSE( WhileCondition(ff, std::bind(SimulateUnloadToFINDA, _1, 10, 150000), unlSteps) )
with expansion:
  !true

@DRracer

DRracer commented Jul 14, 2025

Copy link
Copy Markdown
Collaborator

It's tempting to play with the config file, isn't it 😉 . However, here are my concerns related to increasing the limit to 5m:

  • Do you realize, that such a long PTFE already causes significant friction and the printer will have a hard time pulling/pushing the filament? Have you actually measured how it behaves? I don't think this is something we want do give to ordinary users in a stock FW in order to prevent bogus bug reports about failed tool changes and blobs on the purge towers. Experienced users who can tune their PTFE tubing correctly can compile their own FW and as long as it keeps its version numbers it will work just fine.
  • I'm not sure if we can step that far in a single move without overflowing inside the MMU FW. This needs to be checked very carefully. Adding a unit test for the motion module would be the appropriate way of doing it. Of course, moves can be split into shorter pieces and appended in the motion module, but that's some extra code which is currently not there.
  • Unit tests are obviously failing, there are some fixed simulation steps roughly tuned for a maximum of 1m distance. This can be fixed easily.

@deimosfr

Copy link
Copy Markdown
Author

I understand your points and I'll close the PR. The rewinding is having regular issues, I won't continue into that direction.

@deimosfr deimosfr closed this Jul 19, 2025
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.

3 participants