-
-
Notifications
You must be signed in to change notification settings - Fork 5.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
fan: Support multiple part fans #6282
Conversation
A possible alternative would be to add a T# param to M106. Cura supports cooling fan number using P#, that needs to be configured on the slicer side. |
1947bb0
to
6ddb2af
Compare
Multi extruder setups can have separate part cooling fan for each extruder. This change allows runtime switching between fans using ACTIVATE_FAN command, similar to ACTIVATE_EXTRUDER. The fix is to essentially make [fan] the same as [fan_generic] and use ACTIVATE_FAN to specifcy which fan is the printer fan. Inactive printer fans may be manually controlled using existing SET_FAN_SPEED command. This helps primarliy with PrusaSlicer gcode, that just emits M106 S110; T1; when changing tools. Making emulation with macros quite complex. Signed-off-by: Viesturs Zarins <[email protected]>
Thank you for your contribution to Klipper. Unfortunately, a reviewer has not assigned themselves to this GitHub Pull Request. All Pull Requests are reviewed before merging, and a reviewer will need to volunteer. Further information is available at: https://www.klipper3d.org/CONTRIBUTING.html There are some steps that you can take now:
Unfortunately, if a reviewer does not assign themselves to this GitHub Pull Request then it will be automatically closed. If this happens, then it is a good idea to move further discussion to the Klipper Discourse server. Reviewers can reach out on that forum to let you know if they are interested and when they are available. Best regards, PS: I'm just an automated script, not a human being. |
Unfortunately a reviewer has not assigned themselves to this GitHub Pull Request and it is therefore being closed. It is a good idea to move further discussion to the Klipper Discourse server. Reviewers can reach out on that forum to let you know if they are interested and when they are available. Best regards, PS: I'm just an automated script, not a human being. |
Thanks. Sorry for the delay in responding. As high-level feedback, I'm not sure we should add new commands that are used solely to control the behavior of old g-code commands. That is, M106 and M107 are old poorly defined commands, and I suspect it may be more transparent for users to define their own macros if they need those commands to do something else. For example, something like:
-Kevin |
Thanks for the feedback. Custom macros for each user
Klipper provides better support for M106/M107 for existing slicers
Slicers start using SET_FAN_SPEED / fan_generic for multi material setups
Can you share some guidance where do you see Klipper going? |
Well, if you want my opinion, I'd prefer if slicers didn't mess with the fans at all. That is, I suspect the overwhelming majority of users would get better results if the fan got turned on at an early layer (eg, layer 2) and the fan speed was never changed after that. I suspect I am in the minority with that opinion though. That is, I suspect that the slicers are trying to be way too clever, and I also suspect many users think "too clever" is a good thing. That aside, I agree with your concerns on a lack of standardization. I have the same comments mentioned at #6294 (comment) - I think we should have a consensus on a "vision" before making changes so that we don't inadvertently make the lack of standardization worse. -Kevin |
Multi extruder setups can have separate part cooling fan for each extruder. This change allows runtime switching between fans using ACTIVATE_FAN command, similar to ACTIVATE_EXTRUDER.
The fix is to essentially make [fan] the same as [fan_generic] and use ACTIVATE_FAN to specifcy which fan is the printer fan. Inactive printer fans may be manually controlled using existing SET_FAN_SPEED command.
This helps primarliy with PrusaSlicer gcode, that just emits M106 S110; T1; when changing tools. Making emulation with macros quite complex.