-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
kinematics: add duplication/mirror modes to idex_mode #4464
Conversation
Add duplication and mirror modes to idex_modes. Allows hybrid-corexy and hybrid-corexz to use these modes.
This video shows the functionality of IDEX mods on a test device for Cartesian printers.I used this files for configuraation: IDEX_mode.cfg Test description: M605 S1 - AUTO-PARK test of automatic exchange of T0 / T1 including z-hop and switching of fan X1 / X2 for print cooling. M605 S2 - DUPLICATION test of setting carriages offset and synchronization T0 / T1 including both fans X1 and X2 M605 S3 - MIRRORED test of setting carriages offset and synchronization T0 / T1 including synchronization of both fans X1 and X2 M605 S0 - FULL-CONTROL test of functionality of full control T0 / T1 including and switching of fan X1 / X2 for print cooling. Everything has run several times and I haven't notice any bug in the mods and functionality. For my part, I recommend adding these modes to FW Klipper. |
Fix get_status to be called without eventtime parameter. Merge a143921
Thanks. Sorry for the delay in responding. In general, it looks fine to me. Some high-level questions:
Thanks again, |
Thank you for your comments. No problem for the delay.
The only reason is that duplication and mirroring mode always activate the carriage 0. So if one set the parameter MODE, the parameter CARRIAGE is automatically ignored or must raise an error if the value is not 0.
A shorter syntax than
Ok. For
This PR only adds the duplication and mirroring modes which are not usable without synchronisation of the extruders but this PR stand on it's own code wise. The documentation I want to produce interferes in some way with #4508. As the config sample does. |
FWIW, I find the comparisons to True/False (eg,
That's fine with me. One thing we need to figure out, though, is if we want to merge this prior to v0.10.0 release or after. I'm fine with merging before the release, but then we should also have a solution for #4489 before the release. Alternatively, we can look to merge this after the release - in October/November. Thanks. |
I would consider the bypass with the |
I'm not sure what you're proposing. -Kevin |
Hi @KevinOConnor Unfortunately, I'm not a programmer, but I offer you help with testing just like I offered @Tircown, with which I work hard to tune the macro M605 Snnn configuration for the Klipper. Thanks |
Concerning the conflicting documentation, I say we should merge in the code in this pr with it's appropriate documentation. I am still working on my pr, specifically a mechanism for easily adjusting the alignment of the extruders. Since my PR mainly focuses on files, samples, and documentation for calibrating an IDEX printer, it shouldn't interfere to much with whatever work is introduced here. I will make whatever adjustments are necessary to my pr to after this one is merged. |
@Tircown I just realised that this won't work for Cartesian IDEX printers (like the one I am building). Reason I'm saying this is: Cartesian handles the dual carriage stuff separately, and doesn't use the |
I might have missed something, is there a second PR for cartesian kinematics or is that planned for later after this one is merged? The video in the first comment shows the function on a cartesian printer but it appears the new idex_modes only apply to the two hybrid core kinematics. |
I do think it would be useful to merge this support into Klipper. If there is still interest in working on this then please update it to the latest code and I will prioritize a review of this work. Thanks, |
Thank you. I will do the changes in the next days. |
Hi @KevinOConnor For these IDEX modes: I did not find any printing error.I can also provide very sophisticated macros for dual_carriage and M605 mods. |
- Following comment 911859551: replacement of A==True and A is False by the more common syntax if A and if not A. - Add of linebreaks to suit the rule of 80char or less per line
Ready for a new revision step. |
Hi @KevinOConnor and @Tircown Note: if printing ends with X2 carriage, then G28 is performed with X2 on which, however there is no BL-Touch (Z-probe). I have to solve this with
|
Thanks. In general, it looks good to me and I think it would be useful to merge this functionality into the Klipper master branch. I have some high-level comments and questions:
Cheers, |
Thanks.
|
Looks like the github bot marked this as idle and auto-closed it. Looks like really useful functionality though, maybe one of the key patches to making IDEX more useful and mainstream. @Tircown / @KevinOConnor - I'm interested in testing this on a Hybrid-CoreXY IDEX (a Double Dragon), across all modes. Before I begin, do you have any suggestions for what to focus on here, with regard to testing, to help this get towards mergeable? Thanks. |
I'd really like this feature to not get buried and forgotten about. I've got an IDEX printer and i'd really like this feature. |
It's a pity that the additional modes are not implemented. Icing on the cake.... |
We have made IDEX printer. And Laker made working idex klipper. Can someone check it? there used code from here, and added cartesian kinematics. All IDEX works. Mirror, duplaication and 2 color printing. Input shaping also works for 2 heads. pls check it. |
I actually just got idex printer, and coming from other klipper based printer I am very surprised to find out that klipper does not yet support all idex modes. |
it would be interesting to see support for duplication and mirroring in idex klipper |
From what I am aware @Laker87 is still working on proper support. |
We need testers for Lakers fork. I'll do it as soon as possible, anyone else? |
Is it officially ready for testing ? |
Aon3D has been running a bunch of machines on a fork I made from @Tircown 's branch over the last several months without much trouble. I'll look into rebasing our custom stuff onto Laker's and have our test eng. put it through paces if it's ready for testing. I've been putting off polishing my own code well enough to upstream so I'd love to draft off Laker's efforts |
Cartesian kinematics support was added by me and it works fine. Already tested by many people. |
@Laker87 thanks a lot for your time and efforts. I hope your pull request gets implemented in the main branch! Someone should re-open this issue. |
Hi @Laker87 I tested her for @Tircown already in 2021 here: #4464 (comment) Otherwise, I can confirm that it works without problems. We all have to wait. -Cheers |
I have created a macro for sync carriage exchange, just using idex_mode duplication. |
@DrumClock what fork should I use to test / use it? I was under the impression that Tircown's fork only supports coreXY, not cartesian. |
Test files for cartesian kinematics provided directly by @Tircown and I don't have permission to redistribute them. |
I don't have Tircown's cartesian implementation, I added it by myself. |
Is there any PR on a horizon then ? Not sure if I should checkout other branches/repos or just wait and test when there is PR opened. |
Hi, I'm sorry. So in that case there are two different versions. https://github.com/DrumClock/my_config Hopefully they will be useful to someone. |
Is there anything new or a working version to test? |
Is there any update on the Cartesian duplication and mirror modes. I have 4 IDEX waiting on Klipper and at least one manufacturer. |
@Laker87 did you happen to add examples to your fork as to how to add mirror and duplicate modes into your config? |
Use SET_DUAL_CARRIAGE_MODE MODE=DUPLICATION for duplication mode or SET_DUAL_CARRIAGE_MODE MODE=MIRRORED for mirrored mode in your start g-code. |
Any update on this? |
Klipper already supports IDEX mode |
@DrumClock my mistake, not the idex mode, but the dual gantry mode which I am interested in. Sorry maybe I wrote a comment to the wrong PR |
@TheOnlyBeardedBeast I'm not aware of those modes being tested for Dual Gantry kinematics in Klipper. My patch with the base DG kins lives here: |
@zruncho3d thanks, in the second half of this year I am planning to build a dual gantry trident based on the dueling zero, can I contact you in need of any advice / help? |
Great! In that case, post on the Dueling-X user project thread in the DoomCube discord. A few people are building Dueling Tridents using the parts from https://github.com/zruncho3d/DuelingX (the generalization of Dueling Zero). Let's move any conversation there, given this is a closed GitHub thread, for a different kind of kinematics. |
Add duplication and mirror modes to idex_modes.
Allows hybrid-corexy and hybrid-corexz to use these modes.
Idex_mode avoids collisions if the user correctly sets the position_min and position_max for stepper_x and dual_carriage.
Do not merge before PR
#4445#4489. I will add a sample configuration and a document on how to set the IDEX parameters.Signed-off-by: Fabrice GALLET [email protected]