IDEX Setup Macro Issues
-
@RogerPodacter Hmmm right now I'm not seeing anything stick out to me. The gcode file looks mostly fine now, and the T0/T1 sections all look expected to me (it does look like in the new gcode file T0 is used to print both calibration set's first layers, but that shouldn't be causing tool changing issues).
Any chance you can try and upload a video or two of the tool changing behavior using the above print file and tool change files?
If, without a print running, if you select T0, jog it to the center of the machine, and then select T1 - what happens? Same for T1 - select it, jog to the machine center, and select T0 - what happens? Same behavior or different? Perhaps possible to upload quick videos of that as well?
Not a huge help, but here is how my machine responds after doing the above test for T0 - first run is from my posted files from earlier, second run I include restore points commands (copied from your tpost files).
https://www.youtube.com/watch?v=9vC4J3762Sk
https://www.youtube.com/watch?v=87awKG0txCY -
@sebkritikel thanks this is a bit helpful.
if i start out and home all axes so all is good, then move Tool 0 to X100 mm within the bed area. if i then select T0 tool again to park it, it crashes into the left going to -100mm. almost as if it mirrored the coordinates.
Here is a video:
https://www.youtube.com/watch?v=veS7V6F3ttgEDIT: i learned that if i remove the tfree0.g file, nothing at all happens when i change tools to T0. as soon as i add back tfree0.g, it crashes left into X-100mm.
Its related to G1 R2 store point, but i dont understand why or how.tpost0.g
; tpost0.g ; called after tool 0 has been selected ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 09 2022 21:54:57 GMT-0400 (Eastern Daylight Time) ; Wait for set temperatures to be reached M106 R2 ; restore print cooling fan speed M116 P0 ; wait for tool 0 heaters to reach operating temperature M83 ; relative extruder movement G1 E0.5 F3600 ; extrude 2mm G1 R2 X0 Y0 Z2 ; restore position 2mm above G1 R2 X0 Y0 Z0 ; restore position
tfree0.g
; tfree0.g ; called when tool 0 is freed ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 09 2022 21:54:57 GMT-0400 (Eastern Daylight Time) M83 ; relative extruder movement G1 E-2 F3600 ; retract 2mm M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G1 Z3 F500 ; up 3mm G90 ; absolute axis movement G1 H2 X0 F6000 ; park the X carriage at -48mm
tpre0.g
; tpre0.g ; called before tool 0 is selected ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 09 2022 21:54:57 GMT-0400 (Eastern Daylight Time) ; Put G/M Codes in here to run when Tool 0 is about to be activated if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed || !move.axes[3].homed G28
tpost1.g
; tpost1.g ; called after tool 1 has been selected ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 09 2022 21:54:57 GMT-0400 (Eastern Daylight Time) ; Wait for set temperatures to be reached M106 R2 ; restore print cooling fan speed M116 P1 ; wait for tool 1 heaters to reach operating temperature M83 ; relative extruder movement G1 E0.5 F3600 ; extrude 2mm G1 R2 X0 Y0 Z2 ; restore position 2mm above G1 R2 X0 Y0 Z0 ; restore position
tfree1.g
; tfree1.g ; called when tool 1 is freed ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 09 2022 21:54:57 GMT-0400 (Eastern Daylight Time) M83 ; relative extruder movement G1 E-2 F3600 ; retract 2mm M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G1 Z3 F500 ; up 3mm G90 ; absolute axis movement G1 H2 U379 F6000 ; park the U carriage at +248mm
tpre1.g
; tpre1.g ; called before tool 1 is selected ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 09 2022 21:54:57 GMT-0400 (Eastern Daylight Time) ; Put G/M Codes in here to run when Tool 0 is about to be activated ;G1 U380 F6000 ; move the head away from the print ;M208 Z-0.3 ; Temporarily change limit to acount for Tool 1 higher Z offset
-
sorry to spam this thread, but this likely seems like a bug in RRF, perhaps related to Dual Markforged IDEX kinematics.
for my last example above, when i start the X carriage at 100mm and deselect Tool 0, it crashes into the left at -100mm. but that is because i was also at Y100mm.
if i start out at X100 Y20, deselect Tool 0, the X carriage now crashes into the left to -20mm. it seems to be something related to the kinematics not properly compensating during an IDEX tool change. i could be wrong here but so far that's what i am seeing.
-
@RogerPodacter here are my Idex macros maybe that will help.
; tpre0.g ; called before tool 0 is selected ; ; generated by RepRapFirmware Configuration Tool v3.3.14 on Wed Nov 16 2022 15:37:20 GMT+0100 (Mitteleuropäische Normalzeit) ; tpre0.g ; called before tool 0 is selected ; If the printer hasn't been homed, home it if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed || !move.axes[3].homed G28
; tpost0.g ; called after tool 0 has been selected ; ; generated by RepRapFirmware Configuration Tool v3.3.14 on Wed Nov 16 2022 15:37:20 GMT+0100 (Mitteleuropäische Normalzeit) ; Wait for set temperatures to be reached M116 P0 M106 R2 ; restore print cooling fan speed M116 P0 ; wait for tool 0 heaters to reach operating temperature M83 ; relative extruder movement G1 E0.5 F3600 ; extrude 2mm
; tfree0.g ; called when tool 0 is freed ; ; generated by RepRapFirmware Configuration Tool v3.3.14 on Wed Nov 16 2022 15:37:20 GMT+0100 (Mitteleuropäische Normalzeit) M83 ; relative extruder movement G1 E-0.5 F3600 ; retract 2mm M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G53 Z3 F500 ; up 3mm G90 ; absolute axis movement G1 X-400 F3600 ; park the X carriage at -48mm G53 Z-3 F500
; tpre1.g ; called before tool 1 is selected ; ; generated by RepRapFirmware Configuration Tool v3.3.14 on Wed Nov 16 2022 15:37:20 GMT+0100 (Mitteleuropäische Normalzeit) ; If the printer hasn't been homed, home it if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed || !move.axes[3].homed G28
; tpost1.g ; called after tool 1 has been selected ; ; generated by RepRapFirmware Configuration Tool v3.3.14 on Wed Nov 16 2022 15:37:20 GMT+0100 (Mitteleuropäische Normalzeit) ; Wait for set temperatures to be reached M116 P1 M106 R2 ; restore print cooling fan speed M116 P1 ; wait for tool 1 heaters to reach operating temperature M83 ; relative extruder movement G1 E0.5 F3600 ; extrude 2mm
; tfree1.g ; called when tool 1 is freed ; ; generated by RepRapFirmware Configuration Tool v3.3.14 on Wed Nov 16 2022 15:37:20 GMT+0100 (Mitteleuropäische Normalzeit) M83 ; relative extruder movement G1 E-0.5 F3600 ; retract 2mm M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G53 Z3 F500 ; up 3mm G90 ; absolute axis movement G1 U400 F6000 ; park the U carriage at +355mm G53 Z-3 F500
-
@Proschi78 thanks, i'm fairly confident now this is surely a bug. in your tfree0.g file the line where you park the carriage G1 U400 F6000 ; park the U carriage at +355mm, for some reason the X and Y axes become "separated" or independent, and the U, X and Y axis dont compensate for each other during motion. this only happens during a tool change.
if i park my X and U carriage at any location during a tool change, the U carriage is not properly held in place as the X moves to some location. similarly when i was parking X and U and NOT specifying a Y coordinate, the axis somehow loses position and doesnt correct for the Y location. its really strange but thats the best description i can give.
perhaps i can get a better video.
-
-
@Proschi78 thank you so much. removing that H2 seems to have fixed almost all of my issues. damn. let me try running some tests and see how this is working.
-
-
@RogerPodacter said in IDEX Setup Macro Issues:
@Proschi78 thank you so much. removing that H2 seems to have fixed almost all of my issues. damn. let me try running some tests and see how this is working.
Hope it fixes it! Its been a second since I reviewed the why for the H2 in my files, but I could see how in a CoreXYish/Markforged that would mess you up FWIW I use the more Cartesian IDEX approach - I'll have to keep an eye out for differences like that in the future. Some similar discussion on 'H2' here: https://forum.duet3d.com/topic/29180/possible-bug-observed-after-v3-3-to-3-4-1-update/5?_=1672696734502
Glad someone was able to find the issue!
-
@sebkritikel I think the H2 command is to be used to move axes that are not homed.
-
@Proschi78 said in IDEX Setup Macro Issues:
@sebkritikel I think the H2 command is to be used to move axes that are not homed.
Correct, it's normally used only in homing files and for testing purposes.