-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
[BUG] M600 (Filemant Change) not working in filament runout script for mixing extruders #19877
Comments
Is this on bugfix? As it needs tested on bugfix first to verify if it is still a issue or not. |
Yes it's on bugfix-2.0.x |
Last I tested the filament change was designated by the active vtool. Example vtool0 set 100/0 and vtool1 set 0/100 with 0 active e0 is changed with 1 active e1 is changed a similar setup for 3 or more happens. There has been a long running misunderstanding about mixing and it having 1 virtual extruder defined by active vtool. I can load up a test later on my A20T to verify on current bugfix. |
that one got fixed and is working as it should |
Bug #19911 is related to the LCD menu. I’ll have a look at the fix. The problem is that Yes, mixing extruders are tricky. Getting a single extrude from an active vtool may be even impossible for a true mix. IMHO it would be best to keep e.g. #define FILAMENT_RUNOUT_SCRIPT "M600 T%t" |
Sorry if this is the wrong place and I don't fully understand the Github workflow: Thanks |
After some investigation, this bug seems to be a combination of 2 issues. Both are related to mixing extruder configurations.
I’m working on a solution, but there is no official patch right now. You can check out my working branch if you would like to test it / give some feedback. |
#13351 suggests it has been fixed.. perhaps this means the runout sensor works when printing a single colour but if mixing with M163 then in doesn’t work? Unfortunately, I’m not familiar with the Git workflow. Perhaps I’m interested in your branch, but what if there are major advancements in the master branch, does this make its way to forks? |
#13351 has fixed the filament handling commands for mixing extruders. (i.e. use the correct extruder stepper). However there is still an issue with triggering the runout script (e.g. filament change) on mixing extruder setups. Currently the runout script is only triggered for the active extruder (virtual tool), however there is no dedicated (single) extrude for mixing extrudes. And the virtual tool number does not necessarily need to match an actual stepper. My approach is to use the triggering runout sensor as there should be a 1-to-1 match to the extruder stepper. My branch is for development & testing only. After I have done more tests I’ll make a pull request to be merged with the official Marlin repository. However this can take some time. So if you want to help with testing in the meantime you can check out the development branch, do some tests and afterwards switch back to the official Marlin branch. Oversimplified workflow: create development branch -> fix/update & test -> pull request to official bugfix branch -> more testing -> … next release |
I’ll try and check it out. My point being if you make a development branch, it is only bugfixes at the time of the branch right? Also, my issue is, I tried compiling the bugfix branch with the configuration.h example file for A20T i found in configuration branch, then I had homing error when trying to print. So i’m little unsure what I did wrong. If you are able to fix this long running issue and commit to main branch, you’re a god in my eyes. I’ve got some experience in C, but developing firmware feels like a big undertaking. |
Yes, the branch is for fixing one single issue. |
I am in the process of upgrading my Creality CR-X to the latest Marlin 2.0.x-bugfix. Currently, I have working printer profiles for the base CR-X and today I have finished testing also dual filament runout sensor setup. I am also creating a different CR-X setup by using the BigTreeTech ZSYongMix hotend, this one is called CR-X Mix (again both with filament and no filament detection). I can verify that your development code works fine on the CR-X Mix (I have cherry-picked your changes and updated my Marlin codebase). The following scenarios were tested, regarding filament detection (all files sliced with Cura 4.8.0 using a modified CR-X profile):
All these tests were done with the printer performing an advanced park of the nozzle. I will keep using the code as I update the CR-X DWIN ExtUi code because it has some issues detecting clicks on the screen (has nothing to do with the core Marlin runout detection code, is only for CR-X). In any case, your changes make the runout code work as it should when one uses a mixing extruder set-up. |
Thanks for your feedback and excessive testing. Good news to hear it’s also working on other printers. |
the-real-orca's changes or mine? Mine is customized for CR-X. |
I can confirm that the-real-orca's fix works for the geeetech mixing printers. One thing to note however, ( I'm not sure where to report this) And, each sensor can be triggered , no matter which extruder is actively printing. Which is good, |
This issue has had no activity in the last 30 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 7 days. |
Greetings. Has a pull request been made yet for the runout sensor? |
yes. |
This issue has had no activity in the last 30 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 7 days. |
I don't quite understand the pull request. I can see you want to merge 8 commits, have they all been accepted yet? |
The pull request was originally submitted end November. Since then there have been some discussion, changes requests & updates. For the actual merge the 8 commits can be combined to 1 commit. Since December there where no new change requests and the pull request passes all tests, however it has not been merged to the bugfix branch yet. |
hello. any suggestion? thanks in advance |
Are you using the latest firmware from the bugfix 2.0? Another thing to keep in mind: The runout sensor only triggers during a running print. |
hi. thx for answer. c) i changed in Configuration.h only this: #define FILAMENT_RUNOUT_SCRIPT "M600 T%t" // This defines the number of extruders d) in old marlin 1.1.8 message "no filament" is shown on display, if no filament inserted. message is shown always, not only during printing process. also if a print is running, no message if filament connector is disconnected. e) so my question, what other changes are necessary? thanks a lot for your reply in advance. alf |
hi. have anybody configuration files for geeetech A20m or A20T with working filament runout? that means, message "filament runout" on the lcd display AND pausing printer. only marlin 1.1.8 is working, with marlin 2.0 not. i tried often, no success. filament is running out and no stop and no message.. thx. for a link. |
Please post a new bug report, since a PR has already been merged to address the original post. |
Hi. M43 gives me something confusing....
But my runout pins are defined different...
Chris. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Bug Description
Normally M600 falls back to the active extrude if no extrude / tool is specified with
Tx
. This works for single and (basic) multiple extruders, however onceMIXING_EXTRUDER
is enabled an "E stepper not specified" error is thrown if parameterTx
is omitted.I would have expected a similar behavior as for a basic dual extruder setup. Especially if you are using
M600
as the filament runout script.My Configurations
dual extrude setup -> OK
mixing extrude setup -> "E stepper not specified" error
Steps to Reproduce
(or call
M600
via terminal)Expected behavior:
Execute filament change for active extruder. Or even better, execute filament change for triggering extruder.
Actual behavior:
"E stepper not specified" error and print continues (without filament).
Additional Information
I traced this down to different error handling (missing
Tx
) of the functionsget_target_extruder_from_command()
(used with dual extruders) andget_target_e_stepper_from_command()
(used with mixing extruders). Is this intended?Maybe it would be even better to be able to pass the triggering filament sensor to the runout script. e.g.
"M600 T%t"
The text was updated successfully, but these errors were encountered: