diff --git a/rrf2.x/sys/bed.g b/rrf2.x/sys/bed.g new file mode 100644 index 0000000000000000000000000000000000000000..f8e50939fed7117caa2c0e567c5e64ff246980dc --- /dev/null +++ b/rrf2.x/sys/bed.g @@ -0,0 +1,13 @@ +; Bed Mesh Leveling + +G28 Z + +G1 S2 Z3 F5000 ; lift Z 3mm + +G29 + +;disable mesh leveling, needs to be enabled at the start of your print and disabled again when finished. +G29 S2 + +; Park the head +G1 X150 Y-49 F50000 diff --git a/rrf2.x/sys/brush.g b/rrf2.x/sys/brush.g new file mode 100644 index 0000000000000000000000000000000000000000..dae40ba54e4ecf5e643ed5d25c5561ad03946b06 --- /dev/null +++ b/rrf2.x/sys/brush.g @@ -0,0 +1,19 @@ +;Drop Bed +G91 +G1 Z2 F2000 +G90 + +;brush in +G1 X-32.5 Y124 F50000 +G1 X-35.5 Y155 F50000 +G1 X-38.5 Y124 F50000 +G1 X-41.5 Y155 F50000 + +;Brush Out +G1 X-41.5 Y155 F50000 +G1 X-32.5 Y150 F50000 +G1 X-41.5 Y145 F50000 +G1 X-32.5 Y140 F50000 +G1 X-41.5 Y135 F50000 +G1 X-32.5 Y130 F50000 +G1 X-41.5 Y125 F50000 diff --git a/rrf2.x/sys/cancel.g b/rrf2.x/sys/cancel.g new file mode 100644 index 0000000000000000000000000000000000000000..399433a8c360790709098e303c4c3dce91271421 --- /dev/null +++ b/rrf2.x/sys/cancel.g @@ -0,0 +1,12 @@ +; Disable Mesh Compensation. +G29 S2 + +; purge tool +;M98 Ppurge.g + +; park tool +T-1 + +; Heaters off +;M0 + diff --git a/rrf2.x/sys/config.g b/rrf2.x/sys/config.g new file mode 100644 index 0000000000000000000000000000000000000000..8278ba8811a88aae91e8545fe2610444cce47285 --- /dev/null +++ b/rrf2.x/sys/config.g @@ -0,0 +1,124 @@ +; Configurat; Configuration file for Duet WiFi / Ethernet +; executed by the firmware on start-up + +; General preferences +M111 S0 ; Debugging off +G21 ; Work in millimetres +G90 ; Send absolute coordinates... +M83 ; ...but relative extruder moves +M555 P2 ; Set firmware compatibility to look like Marlin + +; Network +; Read https://duet3d.dozuki.com/Wiki/Gcode#Section_M587_Add_WiFi_host_network_to_remembered_list_or_list_remembered_networks +M550 P"ToolChanger" ; Set machine name +M552 S1 ; Enable Networking +M586 P0 S1 ; Enable HTTP +M586 P1 S0 ; Disable FTP +M586 P2 S0 ; Disable Telnet + +M667 S1 ; Select CoreXY mode + +; Endstops +M574 X1 Y1 S3 ; Set X / Y endstop stall detection +M574 Z1 S2 ; Set Z endstop probe +M558 P7 X0 Y0 Z2 H3 F360 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds +G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height +M557 X10:290 Y20:180 S40 ; Define mesh grid + +; Drive direction +M569 P0 S0 ; Drive 0 X +M569 P1 S0 ; Drive 1 Y +M569 P2 S1 ; Drive 2 Z +M569 P3 S0 ; Drive 3 E0 +M569 P4 S0 ; Drive 4 E1 +M569 P5 S1 ; Drive 5 E2 +M569 P6 S1 ; Drive 6 E3 +M569 P7 S0 ; Drive 7 COUPLER +M569 P8 S0 ; Drive 8 UNUSED +M569 P9 S0 ; Drive 9 UNUSED + +M584 X0 Y1 Z2 C7 E3:4:5:6 ; Apply custom drive mapping +M208 X-35:328.5 Y-49:243 Z0:300 C0:260 S0 ; Set axis maxima & minima +M350 C8 I0 ; Configure microstepping without interpolation +M350 X16 Y16 Z16 E16:16:16:16 I1 ; Configure microstepping with interpolation +M92 X100 Y100 Z1600 C100 E834:834:834:834 ; Set steps per mm +M566 X400 Y400 Z8 C2 E2:2:2:2 ; Set maximum instantaneous speed changes (mm/min) +M203 X35000 Y35000 Z1200 C5000 E5000:5000:5000:5000 ; Set maximum speeds (mm/min) +M201 X6000 Y6000 Z400 C400 E2500:2500:2500:2500 ; Set accelerations (mm/s^2) +M906 X2000 Y2000 Z1330 C400 E1680:1680:1680:1680 I30 ; Set motor currents (mA) and motor idle factor in percent +M84 S120 ; Set idle timeout + +;Stall Detection +M915 C S5 F0 H200 ; Coupler + +;Stall Detection +M915 X Y S5 F0 H400 ; X / Y Axes + +; Heaters +M305 P0 T100000 B4725 C7.06e-8 ; Set thermistor +M143 H0 S225 ; Set temperature limit for heater 0 to 225C + +M305 S"T0" P1 T100000 B4725 C7.06e-8 ; Set thermistor +M143 H1 S300 ; Set temperature limit for heater 1 to 300C + +M305 S"T1" P2 T100000 B4725 C7.06e-8 ; Set thermistor +M143 H2 S300 ; Set temperature limit for heater 2 to 300C + +M305 S"T2" P3 T100000 B4725 C7.06e-8 ;Set thermistor +M143 H3 S300 ; Set temperature limit for heater 3 to 300C + +M305 S"T3" P4 T100000 B4725 C7.06e-8 ; Set thermistor +M143 H4 S300 ; Set temperature limit for heater 4 to 300C + + +; Tools +M563 P0 S"T0" D0 H1 F2 ; Define tool 0 +G10 P0 X0 Y0 Z0 ; Reset tool 0 axis offsets +G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C + +M563 P1 S"T1" D1 H2 F4 ; Define tool 1 +G10 P1 X0 Y0 Z0 ; Reset tool 1 axis offsets +G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C + +M563 P2 S"T2" D2 H3 F6 ; Define tool 2 +G10 P2 X0 Y0 Z0 ; Reset tool 2 axis offsets +G10 P2 R0 S0 ; Reset initial tool 2 active and standby temperatures to 0C + +M563 P3 S"T3" D3 H4 F8 ; Define tool 3 +G10 P3 X0 Y0 Z0 ; Reset tool 3 axis offsets +G10 P3 R0 S0 ; Reset initial tool 3 active and standby temperatures to 0C + +; Fans +M106 P0 S0 ; UNUSED +M106 P1 S255 H1 T70 ; T0 HE +M106 P2 S0 ; T0 PCF +M106 P3 S255 H2 T70 ; T1 HE +M106 P4 S0 ; T1 PCF +M106 P5 S255 H3 T70 ; T2 HE +M106 P6 S0 ; T2 PCF +M106 P7 S255 H4 T70 ; T3 HE +M106 P8 S0 ; T3 PCF + +M593 F50 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) +;M376 H15 ; bed compensation taper + +;tool offsets +; !ESTIMATED! offsets for: +; V6-tool: X-9 Y39 Z-5 +; Volcano-tool: X-9 Y39 Z-13.5 +; Hemera-tool: X-37.5 Y43.5 Z-6 + +G10 P0 X-9 Y39 Z-5 ; T0 +G10 P1 X-9 Y39 Z-5 ; T1 +G10 P2 X-9 Y39 Z-5 ; T2 +G10 P3 X-9 Y39 Z-5 ; T3 + +;deselect tools +T-1 + +;M572 D0 S0.2 ; pressure advance T0 +;M572 D1 S0.2 ; pressure advance T1 +;M572 D2 S0.2 ; pressure advance T2 +;M572 D3 S0.2 ; pressure advance T3 + +M501; load config-override.g diff --git a/rrf2.x/sys/homeall.g b/rrf2.x/sys/homeall.g new file mode 100644 index 0000000000000000000000000000000000000000..b19066f424a87e2cab4e3ebc647c87d24a34d8ba --- /dev/null +++ b/rrf2.x/sys/homeall.g @@ -0,0 +1,12 @@ +; homeall.g +; called to home all axes + +M98 Phomec.g ; Home C (ToolHead) + +M98 Phomey.g ; Home Y + +M98 Phomex.g ; Home X + +M98 Phomez.g ; Home Z + +G1 X150 Y-47 F15000 ; Park diff --git a/rrf2.x/sys/homec.g b/rrf2.x/sys/homec.g new file mode 100644 index 0000000000000000000000000000000000000000..584642c810e257b4d4bb69f00fb801d5131a1225 --- /dev/null +++ b/rrf2.x/sys/homec.g @@ -0,0 +1,13 @@ +; homec.g +; called to home the C axis (coupler) + +;crashc +G92 C260 +M913 C40 ; C MOTOR TO 40% CURRENT +G1 C-260 F2400 ; drive the C-axis to the stop +M913 C100 ; C MOTOR TO 100% CURRENT +G1 C1 F50000 +G92 C0 + +;Open Coupler +M98 P/macros/Coupler - Unlock diff --git a/rrf2.x/sys/homex.g b/rrf2.x/sys/homex.g new file mode 100644 index 0000000000000000000000000000000000000000..ce3bde5d83c2a6dec4c22c3c25cd2cccf87ac0a0 --- /dev/null +++ b/rrf2.x/sys/homex.g @@ -0,0 +1,25 @@ +; homex.g +; called to home the x axis + +G91 ; use relative positioning + +G1 S2 X0.5 Y-0.5 F10000 ; energise to avaoid false triggers during sensorless homing + +M400 ; make sure everything has stopped before we make changes +G4 P100 ; wait 100ms + +M913 X25 Y25 ; drop motor currents to 50% +M915 H200 X Y S4 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered + +G1 S2 Z3 F5000 ; lift Z 3mm +G1 S1 X-400 F3000 ; move left 400mm, stopping at the endstop +G1 S1 X2 F2000 ; move away from end +G1 S2 Z-3 F1200 ; lower Z +G90 ; back to absolute positioning + +M400 ; make sure everything has stopped before we reset the motor currents +G4 P100 ; wait 100ms +M913 X100 Y100 ; motor currents back to 100% + + + diff --git a/rrf2.x/sys/homey.g b/rrf2.x/sys/homey.g new file mode 100644 index 0000000000000000000000000000000000000000..ea56edfc8cb92835dd98a55f7b699f3bb949ab23 --- /dev/null +++ b/rrf2.x/sys/homey.g @@ -0,0 +1,24 @@ +; homey.g +; called to home the Y axis + +G91 ; use relative positioning + +G1 S2 X0.5 Y-0.5 F10000 ; energise to avaoid false triggers during sensorless homing + +M400 ; make sure everything has stopped before we make changes +G4 P100 ; wait 100ms + +M913 X20 Y20 ; drop motor currents to 20% +M915 H200 X Y S3 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered + + +G1 S2 Z3 F5000 ; lift Z 3mm +G1 S1 Y-400 F3000 ; move to the front 400mm, stopping at the endstop +G1 S1 Y2 F2000 ; move away from end +G1 S2 Z-3 F1200 ; lower Z +G90 ; back to absolute positioning + +M400 ; make sure everything has stopped before we reset the motor currents +G4 P100 ; wait 100ms +M913 X100 Y100 ; motor currents back to 100% + diff --git a/rrf2.x/sys/homez.g b/rrf2.x/sys/homez.g new file mode 100644 index 0000000000000000000000000000000000000000..5a91dd29686030cae0876abce8dd99879a9b4f6a --- /dev/null +++ b/rrf2.x/sys/homez.g @@ -0,0 +1,28 @@ +; homez.g +; called to home the Z axis + +T-1 ;just in case there is a tool coupled, go try to drop it at the dock + +M98 P/macros/Coupler - Unlock ;Open Coupler + +G91 ; Relative mode +G1 S2 Z5 F5000 ; Lower the bed +G90 ; back to absolute positioning + +G1 X150 Y100 F50000 ; Position the endstop above the bed centre + +G91 ; Relative mode + +G4 P500 ; wait 500msec +G1 Z-300 S1 F1000 ; Move Z down until the switch triggers (first pass) + +G4 P500 ; wait 500msec +G1 Z5 F5000 ; Lift Z + +G4 P500 ; wait 500msec +G1 Z-300 S1 F300 ; Move Z down until the switch triggers (second pass) + +G4 P500 ; wait 500msec +G1 Z5 F5000 ; Drop the Bed + +G90 ; Back to absolute positioning diff --git a/rrf2.x/sys/pause.g b/rrf2.x/sys/pause.g new file mode 100644 index 0000000000000000000000000000000000000000..a48390872851089523b115d7504c2bd8ceb6003b --- /dev/null +++ b/rrf2.x/sys/pause.g @@ -0,0 +1,4 @@ +G91 ; use relative positioning +G1 S2 Z5 F5000 ; lift Z 5mm +G90 ; back to absolute positioning +G1 X-10 Y200 F50000 ; move out the way. diff --git a/rrf2.x/sys/prime.g b/rrf2.x/sys/prime.g new file mode 100644 index 0000000000000000000000000000000000000000..fde98ec745c9d574de148fb7854797b81b250666 --- /dev/null +++ b/rrf2.x/sys/prime.g @@ -0,0 +1,31 @@ +;brush in +G1 X-32.5 Y124 F50000 +G1 X-35.5 Y155 F50000 +G1 X-38.5 Y124 F50000 +G1 X-41.5 Y155 F50000 + +;Park for prime/purge +G1 X-37.5 Y176 F50000 + +;Prime +G92 E0 +G1 E10 F200 +G1 F50 +G1 E5 F50 +G1 E-0.25 F200 +G92 E0 +;G4 S2 + +;Run Out +G1 X-37.5 Y160 F50000 + +;Brush Out +G1 X-41.5 Y155 F50000 +G1 X-32.5 Y150 F50000 +G1 X-41.5 Y145 F50000 +G1 X-32.5 Y140 F50000 +G1 X-41.5 Y135 F50000 +G1 X-32.5 Y130 F50000 +G1 X-41.5 Y125 F50000 + + diff --git a/rrf2.x/sys/purge.g b/rrf2.x/sys/purge.g new file mode 100644 index 0000000000000000000000000000000000000000..15b476c5b68aa8f9dad432edb5f9583cfeb17478 --- /dev/null +++ b/rrf2.x/sys/purge.g @@ -0,0 +1,31 @@ +;brush in +G1 X-41.5 Y125 F50000 +G1 X-32.5 Y130 F50000 +G1 X-41.5 Y135 F50000 +G1 X-32.5 Y140 F50000 +G1 X-41.5 Y145 F50000 +G1 X-32.5 Y150 F50000 +G1 X-41.5 Y155 F50000 + +;Park for prime/purge +G1 X-37.5 Y176 F50000 + +;Purge +G92 E0 +G1 F200 +G1 E12 F200 +G92 E0 +G1 E-8 F2750 +G4 S4 + +;Run Out +G1 X-37.5 Y160 F50000 + +;Brush Out +G1 X-41.5 Y155 F50000 +G1 X-38.5 Y124 F50000 +G1 X-35.5 Y155 F50000 +G1 X-32.5 Y124 F50000 + + + diff --git a/rrf2.x/sys/tfree0.g b/rrf2.x/sys/tfree0.g new file mode 100644 index 0000000000000000000000000000000000000000..01f826ddd94c455b6fa0db25abe66cdf1a0c78a8 --- /dev/null +++ b/rrf2.x/sys/tfree0.g @@ -0,0 +1,27 @@ +; tfree0.g +; called when tool 0 is freed + +;Drop the bed +G91 +G1 Z4 F1000 +G90 + +;mesh levelling off +G29 S2 + +;Purge nozzle +;M98 Ppurge.g + +;Move In +G53 G1 X-10.5 Y150 F50000 +G53 G1 Y220 F50000 +G53 G1 Y242 F5000 + +;Open Coupler +M98 P/macros/Coupler - Unlock + +;fan off +M106 P2 S0 + +;Move Out +G53 G1 Y175 F50000 diff --git a/rrf2.x/sys/tfree1.g b/rrf2.x/sys/tfree1.g new file mode 100644 index 0000000000000000000000000000000000000000..78a236d540b211428974599e8108e5239326149b --- /dev/null +++ b/rrf2.x/sys/tfree1.g @@ -0,0 +1,27 @@ +; tfree1.g +; called when tool 1 is freed + +;Drop the bed +G91 +G1 Z4 F1000 +G90 + +;mesh levelling off +G29 S2 + +;Purge nozzle +;M98 Ppurge.g + +;Move In +G53 G1 X79.5 Y150 F50000 +G53 G1 Y220 F50000 +G53 G1 Y242 F5000 + +;Open Coupler +M98 P/macros/Coupler - Unlock + +;fan off +M106 P4 S0 + +;Move Out +G53 G1 Y175 F50000 diff --git a/rrf2.x/sys/tfree2.g b/rrf2.x/sys/tfree2.g new file mode 100644 index 0000000000000000000000000000000000000000..dd90414be8048350a60dcfc12dc8f332f770d064 --- /dev/null +++ b/rrf2.x/sys/tfree2.g @@ -0,0 +1,27 @@ +; tfree2.g +; called when tool 2 is freed + +;Drop the bed +G91 +G1 Z4 F1000 +G90 + +;mesh levelling off +G29 S2 + +;Purge nozzle +;M98 Ppurge.g + +;Move In +G53 G1 X214.5 Y150 F50000 +G53 G1 Y220 F50000 +G53 G1 Y242 F5000 + +;Open Coupler +M98 P/macros/Coupler - Unlock + +;fan off +M106 P6 S0 + +;Move Out +G53 G1 Y175 F50000 diff --git a/rrf2.x/sys/tfree3.g b/rrf2.x/sys/tfree3.g new file mode 100644 index 0000000000000000000000000000000000000000..1febb5aa3eea99ae25dbce4e63a010d312fd996e --- /dev/null +++ b/rrf2.x/sys/tfree3.g @@ -0,0 +1,27 @@ +; tfree3.g +; called when tool 3 is freed + +;Drop the bed +G91 +G1 Z4 F1000 +G90 + +;mesh levelling off +G29 S2 + +;Purge nozzle +;M98 Ppurge.g + +;Move In +G53 G1 X304.5 Y150 F50000 +G53 G1 Y220 F50000 +G53 G1 Y242 F5000 + +;Open Coupler +M98 P/macros/Coupler - Unlock + +;fan off +M106 P8 S0 + +;Move Out +G53 G1 Y175 F50000 diff --git a/rrf2.x/sys/tpost0.g b/rrf2.x/sys/tpost0.g new file mode 100644 index 0000000000000000000000000000000000000000..9f33335d43d3f8652b8568cf3b355a8ee43826d1 --- /dev/null +++ b/rrf2.x/sys/tpost0.g @@ -0,0 +1,14 @@ +; tpost0.g +; called after tool 0 has been selected + +;heatup +M116 P0 + +;prime nozzle +;M98 Pprime.g + +;mesh levelling on +G29 S1 + +;PCF fan on +M106 P2 R2 diff --git a/rrf2.x/sys/tpost1.g b/rrf2.x/sys/tpost1.g new file mode 100644 index 0000000000000000000000000000000000000000..032a275b4c316619cd4ad4b3306e3ac8015628e3 --- /dev/null +++ b/rrf2.x/sys/tpost1.g @@ -0,0 +1,14 @@ +; tpost1.g +; called after tool 1 has been selected + +;heatup +M116 P1 + +;prime nozzle +;M98 Pprime.g + +;mesh levelling on +G29 S1 + +;PCF fan on +M106 P4 R2 diff --git a/rrf2.x/sys/tpost2.g b/rrf2.x/sys/tpost2.g new file mode 100644 index 0000000000000000000000000000000000000000..27a088572b93f3af54d14d61c31c9881bf2a202d --- /dev/null +++ b/rrf2.x/sys/tpost2.g @@ -0,0 +1,14 @@ +; tpost2.g +; called after tool 2 has been selected + +;heatup +M116 P2 + +;prime nozzle +;M98 Pprime.g + +;mesh levelling on +G29 S1 + +;PCF fan on +M106 P6 R2 diff --git a/rrf2.x/sys/tpost3.g b/rrf2.x/sys/tpost3.g new file mode 100644 index 0000000000000000000000000000000000000000..0f5a270a703f841f2e80bb590e238875406a4a15 --- /dev/null +++ b/rrf2.x/sys/tpost3.g @@ -0,0 +1,14 @@ +; tpost3.g +; called after tool 3 has been selected + +;heatup +M116 P3 + +;prime nozzle +;M98 Pprime.g + +;mesh levelling on +G29 S1 + +;PCF fan on +M106 P8 R2 diff --git a/rrf2.x/sys/tpre0.g b/rrf2.x/sys/tpre0.g new file mode 100644 index 0000000000000000000000000000000000000000..2d49ba9e59d104c3a879cbd41c7a5e0e1588e9fa --- /dev/null +++ b/rrf2.x/sys/tpre0.g @@ -0,0 +1,27 @@ +; tpre0.g +; called before tool 0 is selected + +;Unlock Coupler +M98 P/macros/Coupler - Unlock + +;Move to location +G1 X-10.5 Y200 F50000 + +;Move in +G1 Y230 F50000 + +;Collect +G1 Y242.5 F2500 + +;Close Coupler +M98 P/macros/Coupler - Lock + +;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool! +G91 +G1 Z10 F1000 +G90 + +;Move Out +G1 Y150 F4000 + diff --git a/rrf2.x/sys/tpre1.g b/rrf2.x/sys/tpre1.g new file mode 100644 index 0000000000000000000000000000000000000000..872aad229cc890886de490ddf0410dbce264ed24 --- /dev/null +++ b/rrf2.x/sys/tpre1.g @@ -0,0 +1,26 @@ +; tpre1.g +; called before tool 1 is selected + +;Unlock Coupler +M98 P/macros/Coupler - Unlock + +;Move to location +G1 X79.5 Y200 F50000 + +;Move in +G1 Y230 F50000 + +;Collect +G1 Y242.5 F2500 + +;Close Coupler +M98 P/macros/Coupler - Lock + +;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool! +G91 +G1 Z10 F1000 +G90 + +;Move Out +G1 Y150 F4000 diff --git a/rrf2.x/sys/tpre2.g b/rrf2.x/sys/tpre2.g new file mode 100644 index 0000000000000000000000000000000000000000..ec04300c882289ddf32911b450cb6449adf50766 --- /dev/null +++ b/rrf2.x/sys/tpre2.g @@ -0,0 +1,26 @@ +; tpre2.g +; called before tool 2 is selected + +;Unlock Coupler +M98 P/macros/Coupler - Unlock + +;Move to location +G1 X214.5 Y200 F50000 + +;Move in +G1 Y230 F50000 + +;Collect +G1 Y242.5 F2500 + +;Close Coupler +M98 P/macros/Coupler - Lock + +;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool! +G91 +G1 Z10 F1000 +G90 + +;Move Out +G1 Y150 F4000 diff --git a/rrf2.x/sys/tpre3.g b/rrf2.x/sys/tpre3.g new file mode 100644 index 0000000000000000000000000000000000000000..c594f4e295d3000bda2d8c89577d300c78c20fb5 --- /dev/null +++ b/rrf2.x/sys/tpre3.g @@ -0,0 +1,27 @@ +; tpre3.g +; called before tool 3 is selected + +;Unlock Coupler +M98 P/macros/Coupler - Unlock + +;Move to location +G1 X304.5 Y200 F50000 + +;Move in +G1 Y230 F50000 + +;Collect +G1 Y242.5 F2500 + +;Close Coupler +M98 P/macros/Coupler - Lock + +;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool! +G91 +G1 Z10 F1000 +G90 + +;Move Out +G1 Y150 F4000 +