Why does custom button keeps triggering after is triggered once?
-
Hey All!
I have the Orbiter V2 with Orbiter filament sensor, which has 2 button outputs, 1 triggers when filament is loaded, one is triggered by hand.
I have configured them so that the buttons trigger macros, which execute scripts.
i have verified the scripts to be working in a previous forum post, but when the button/ macro is triggered once, it keeps on triggering again and again..
The only way to reset it is to restart the mainboard..
Any ideas why this could be happening??
Config;
; Custom buttons M950 J1 C"^io2.in" ; define logical input for E1 filamentsensor M581 P1 T2 S0 R2 ; define trigger for filament auto load (trigger2.g) M581 P1 T4 S1 R1 ; define trigger for filament runout (trigger4.g) M950 J2 C"^io3.in" ; define logical input for E1 filament unload M581 P2 T3 S0 R2 ; define trigger for filament auto unload (trigger3.g)
Trigger2;
;E1 Autoload filament macro ; T0 ; select tool 0 M291 P"Filament autoloading!" S0 T3 ; display message M302 P0 S10 R10 ; lower min cold extrusion T0 G4 S1 ; wait for one second G1 E15 F500 ; load filament inside the gears ; New material type M291 R"Autoload filament" P"What material type do you want to load" S4 K{"PLA","PETG","ASA","Flex","Nylon","Other", "Cancel"} ; Display user prompt if input = 0 ; If answer is PLA --> M109 S200 ; set hotend temperature and wait set global.loadedfilament = "PLA" ; Set loaded material to PLA elif input = 1 ; If answer is PETG --> M109 S245 ; set hotend temperature and wait set global.loadedfilament = "PETG" ; Set loaded material to PETG elif input = 2 ; If answer is ASA --> M109 S260 ; set hotend temperature and wait set global.loadedfilament = "ASA" ; Set loaded material to ASA elif input = 3 ; If answer is Flex --> M109 S250 ; set hotend temperature and wait set global.loadedfilament = "Flex" ; Set loaded material to Flex elif input = 4 ; If answer is Nylon --> M109 S275 ; set hotend temperature and wait set global.loadedfilament = "Nylon" ; Set loaded material to Nylon elif input = 5 ; If answer is Nylon --> M291 R"Autoload filament" P"What temperature does your filament need?" L180 H300 S5 M109 S{input} set global.loadedfilament = "Custom" ; Set loaded material to Nylon set global.customfilamenttemp = {input} ;endif ; loading G1 E85 F1500 ; extrude fast G1 E25 F300 ; purge 25mm M400 ; start purging loop while true M291 R"Autoload filament" P"Is the correct color filament coming out of the nozzle?" S4 K{"Yes","No"} ; Display user prompt if input = 0 ; If answer is yes --> break ; Filament load successful, so skip to end of loop G1 E20 F300 ; Move Z by 5mm, normally this would be an extra purge. M400 ; Wait for E to complete ; end loop M104 S0 ; set hotend temperature to 0 M302 P0 S170 R170 ; disable cold extrusion M291 P"Filament autoload succesfull!" S0 T3 ; display message
Trigger 3;
;E1 Auto unload filament macro ; T0 ; select tool 0 G91 ; Relative coordinates M300 S4000 P100 ; play beep sound M291 P"Filament unloading!" S0 T3 ; display message ; Heat up hotend to loaded filament temperature if global.loadedfilament = "PLA" ; If answer is PLA --> M109 S200 ; set hotend temperature and wait elif global.loadedfilament = "PETG" ; If answer is PETG --> M109 S245 ; set hotend temperature and wait elif global.loadedfilament = "ASA" ; If answer is ASA --> M109 S260 ; set hotend temperature and wait elif global.loadedfilament = "Flex" ; If answer is Flex --> M109 S250 ; set hotend temperature and wait elif global.loadedfilament = "Nylon" ; If answer is Nylon --> M109 S275 ; set hotend temperature and wait elif global.loadedfilament = "Custom" ; If answer is Custom --> M109 S{global.customfilamenttemp} ; set hotend temperature and wait ;endif ; unloading sequence G0 E5 ; Purge 5mm G0 E-10 F3600 ; extract filament to cold end G4 S5 ; wait for 3 seconds G0 E5 F3600 ; push back the filament to strive stringing G0 E-15 F3000 ; Extract fast in the cold zone (15/115mm) G0 E-40 F500 ; continue extraction slow allow filament to be cooled enough before reaches the gears (55/115mm) G0 E-75 F1500 ; Extract fast out of extruder (115/115mm) + 20mm extra M104 S0 ; set hotend temperature to 0 M291 P"Filament unload complete!" S0 T3 ; display message
Trigger4;
; Triggered on filament runout ; set global.inFilamentError=true M25 ; pause print set global.inFilamentError=false G60 S0 ; Save position to slot 0 G1 E-10 F3600 ; retract 10mm of filament M568 A1 ; set tool to standby temp G91 ; relative positioning G1 Z5 F360 ; lift Z by 5mm G90 ; absolute positioning G1 X0 Y0 F3000 ; Move to front of bed M291 P"Filament runout detected, proceed?" R"Filament runout" S2 M302 P1 ; Allow cold extrusion G1 E-150 F3000 ; Unwind the filament 400mm M291 P"Remove remaining filament, insert new filament and continue" R"filament runout" S2 G1 E100 F1500 ; extrude fast G1 E25 F300 ; purge 25mm M568 A2 ; Set active temperature of the active tool M116 ; wait until hotend reaches set temperature M302 P0 ; Disable cold extrusion G1 E20 F60 ; Prime the nozzle a little bit M291 P"Remove the extruded string and click to continue" R"Filament Runout" S2 G1 R1 X0 Y0 Z5 F9000 ; go to 5mm above position of the last print move G1 R1 X0 Y0 Z0 ; go back to the last print move M24 ; resume print
-
Did you ever find a solution to this? I'm getting ready to setup my orbiter filament sensor.