IDEX Setup Macro Issues
-
@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. d**n. 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. d**n. 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.