Here's what I have for my start/Tool Change/end code now. It still hasn't resolved the issue. I hear it pulsing 8 times when it should be 7, after that I eventually get an unknown command T0 probably in my tool change code
My Start Code:
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S150 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling
M140 S{first_layer_bed_temperature[0]} ; set final bed temp
G4 S30 ; allow partial nozzle warmup
G28 ; home all axis
G29 ; auto bed levelling
G1 Z50 F240
G1 X2.0 Y10 F3000
M104 S{first_layer_temperature[0]} ; set final nozzle temp
M190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize
M109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize
;G1 Z0.28 F240
G0 Y220 F2000 ; press button
G4 P3500 ; wait for 7 pulses
G0 Y217 F2000 ; unpress button
G4 P2000 ; wait for it to home
Tool Change Code:
M83 ; turn relative distances for the extruder
; unload extruder {previous_extruder}
G92 E0
; go to holding position to unload the stock extruder
G0 Y217 F2000 ; <<----- EDIT THIS LINE TO SET THE INITIAL LOCATION OF THE BUTTON
; if this is the first load, then don't unload
G91 ; move to relative mode
M83
; load extruder #{next_extruder}
M117 Loading Tool T{next_extruder}
{if previous_extruder>-1}
; back out the filament for cutting
G0 E-20 F500 ; retract a bit, adjust this to tune waste
; <<<< insert mechanical cutter code here! >>>>
;<<< Start Of Tip Shaping- Remove If No Cutter! >>>
M109 R180; cool down to prevent swelling
;M302 S0 ; enable cold extrusion
M106 S255
G0 E20 F1500 ;
G0 E-5 F500 ;
M109 R165; cool down to prevent swelling
G0 E5 F1500 ;
G0 E-1 F500 ;
M109 R155; cool down to prevent swelling
G0 E1 F1500 ;
G0 E-25 F500 ;
M109 R150; cool down to prevent swelling
G0 E24 F1500 ; last tip dip with cold tip
G0 E-24 ; last tip dip with cold tip
M109 R180; ok... go back up in temp so we can move the extruder
G0 E-80 F500 ; back out of the extruder
G92 E0
M104 S[temperature];
;<<< End Of Tip Shaping >>>
; we skipped to here if it was extruder -1
{endif}
{if previous_extruder>-1}
; retract it back out of the extruder
G92 E0
G0 E-100 F2000
G92 E0
G0 E-100 F2000
G92 E0
G0 E-100 F2000
G92 E0
G0 E-100 F2000
G92 E0
G0 E-40 F2000
G92 E0
G0 E-30 F2000 ; <<<---- if mechanical cutter, change to a positive value of at least 5mm
G92 E0
; ok - out of extruder - press button to remove it all the way
G91 ; move to relative mode
M82
; we skipped to here if it was extruder -1
{endif}
; press the button to select the new extruder
G0 Y3 F2000
{if next_extruder==0}
G4 P500 ; dwell for .5 seconds - adjust this to match your machines single pulse time
{endif}
{if next_extruder==1}
G4 P1000 ; dwell for 1.0 seconds - adjust this to match your machines two pulse time
{endif}
{if next_extruder==2}
G4 P1500 ; dwell for 1.5 seconds - adjust this to match your machines three pulse time
{endif}
{if next_extruder==3}
G4 P2000 ; dwell for 2.0 seconds - adjust this to match your machines four pulse time
{endif}
G0 Y-3
G4 P2000 ; wait for cutter to work
; ok command selected - back out filament if needed after cut
{if previous_extruder>-1}
G0 Y3 F2000 ;
G4 P4500 ;
G0 Y-3;
G4 P400
{endif}
G0 Y3 F2000 ;
G4 P4500 ;
G0 E25 F1500; <<<--- adjust this E value to tune extruder loading
G0 Y-3;
G4 P400
G92 E0
G90 ; move back to absolute mode
M83 ; but make sure the extruder stays in relative
; reload filament all the way into extruder
G92 E0
G0 E100 F2000
G92 E0
G0 E100 F2000
G92 E0
G0 E100 F2000
G92 E0
G0 E100 F2000
G92 E0
G0 E15 F2000 ; <<<<<----------- EDIT THIS DISTANCE TO FINE TUNE THE FILAMENT LOADING TO STOP BLOBBING OR UNDEREXTRUSION
G92 E0
M83 ; turn relative distances for the extruder
;M302 S180 ; prevent cold extrusion
M117 3D Chameleon Tool T{next_extruder}
End Code:
G92 E0
G0 E-2 F2400; retract to prevent blobbing
G92 E0
; go to holding position to unload the stock extruder
G0 X210 Y217 F10000 ; <<----- EDIT THIS LINE TO SET THE INITIAL LOCATION OF THE BUTTON
G91 ; move to relative mode
M83
;
; add tip shaping here
G92 E0;
; back out the filament
G0 E-25 F500 ; retract a bit, adjust this to tune waste
; <<<< insert mechanical cutter code here instead if you have one! >>>>
G0 E25 F1500 ;
G0 E-5 F500 ;
G0 E5 F1500 ;
G0 E-1 F500 ;
G0 E1 F1500 ;
G0 E-25 F500 ;
M106 S255
M109 S180; cool down to prevent swelling
G0 E24 F1500 ; last tip dip with cold tip
G0 E-24 F500 ; last tip dip with cold tip
M109 S150; cool down to prevent swelling
M109 S180; ok... go back up in temp so we can move the extruder
G0 E-100 F1500 ; back out of the extruder
G92 E0
G0 E-100 F1500 ; back out of the extruder
G92 E0
M107 ;
G92 E0
G0 Y3 F2000
G0 E-75 F1500 ; continue to back out of the extruder
G4 P13000
G0 Y-3
G4 P400
G90
M83
END_PRINT
{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F600 ; Move print head up{endif}
G1 X5 Y{150} ; present print
{if max_layer_z < max_print_height-10}G1 Z{z_offset+min(max_layer_z+70, max_print_height-10)} F600 ; Move print head further up{endif}
{if max_layer_z < max_print_height*0.6}G1 Z{max_print_height*0.6} F600 ; Move print head further up{endif}
M140 S0 ; turn off heatbed
M104 S0 ; turn off temperature
M107 ; turn off fan
M84 X Y E ; disable motors