Need help pausing via trigger



  • My goals I am trying to achieve:

    • I want to trigger different triggers with the same endstop input
      e.g .:
      M581 E1 S1 T3 C1
      M581 E1 S1 T4 C0
      T3 = only when printing a file from SD card
      T4 = only trigger if not when printing
      Unfortunately both are always processed, I did not find a way to deactivate T4
    • Deactivate heater T0, T1 without deleting the temperature values
      At resume, both should then be reactivated without manually re-entering temperatures.

    If the water cooling fails, the printer should pause and switch off all heaters.
    Here are my current Marcos:

    ;trigger3.g
    M400
    M25
    
    G10 P0 R-273.15
    G10 P1 R-273.15
    M106 P2 S1.0
    M116
    M106 P2 S0
    
    M118 S"trigger3 NOTAUS PYBOARD WAKÜ"
    M300 S250 P3000
    
    ;trigger4.g
    
    M1
    M144 S1		
    M118 S"trigger4 NOTAUS PYBOARD WAKÜ"
    M300 S250 P3000
    
    ; pause.g
    ; called when a print from SD card is paused
    
    M83            ; relative extruder moves
    G1 E-10 F2400  ; retract 10mm of filament
    G91            ; relative positioning
    G1 Z5 F1800    ; lift Z by 5mm
    G90            ; absolute positioning
    G1 X20 Y5 F9000 ; go to X=20 Y=5
    M300 S250 P3000; spielt Ton ab
    
    ; resume.g
    
    T1 P0
    T0 P0
    T R1
    M116 S3
    M106 R2
    
    M83            		; relative extruder moves
    G1 E10 F2400   		; extrude 10mm of filament
    G1 E3 F150   		; extrude 3mm priming
    G1 E-10 F2400		; retract 10mm of filament
    G4 S1			; Warten 1 sekunde
    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
    G1 E10 F2400   		; extrude 10mm of filament
    
    ; trigger
    M581 E1 S1 T3 C1
    M581 E1 S1 T4 C0
    

    Can anyone help me further?



  • @zerspaner_gerd said in Need help pausing via trigger:

    T4 = only trigger if not when printing

    This is not correct. C1 in M581 means "when printing from SD card", C0 means "anytime"(including printing). So if not printing, T4 will trigger, if printing, both T3 and T4 will.
    I dont know if it works, but you can try deactivate trigger4 in trigger3 by putting this line as first line in trigger3 : M581 E1 S-1 T4 C0



  • @aidar
    Many thanks for your response,

    I tried the following sequences, without success.

    ; trigger3.g
    M400
    M25
    M581 E1 S-1 T4 C0				; trigger4 = DISABLE                        
    
    G10 P0 R-273.15
    G10 P1 R-273.15
    M106 P2 S1.0
    M116
    M106 P2 S0
    
    M118 S"trigger3 NOTAUS PYBOARD WAKÜ"
    M300 S250 P3000
    
    ; trigger3.g
    M400
    M581 E1 S-1 T4 C0				; trigger4 = DISABLE    
    M25
                        
    
    G10 P0 R-273.15
    G10 P1 R-273.15
    M106 P2 S1.0
    M116
    M106 P2 S0
    
    M118 S"trigger3 NOTAUS PYBOARD WAKÜ"
    M300 S250 P3000
    
    ; trigger3.g
    M581 E1 S-1 T4 C0				; trigger4 = DISABLE 
    M400
    M25
                           
    
    G10 P0 R-273.15
    G10 P1 R-273.15
    M106 P2 S1.0
    M116
    M106 P2 S0
    
    M118 S"trigger3 NOTAUS PYBOARD WAKÜ"
    M300 S250 P3000
    


  • @aidar said in Need help pausing via trigger:

    M581 E1 S-1 T4 C0

    Other thing you can try is to put above line to your slicer start script and M581 E1 S1 T4 C0 to slicer end script.



  • @aidar
    Thank you very much, that seems to be working.

    Now I only need one way to pause the temperatures, which is then restored when the print is taken up.

    Bed heater works with M140 S-273 = deactivate and with M144 S1 to activate

    I don't find anything that works for the extruder temperature.

    Apparently nothing has been changed so far, unfortunately:
    https://forum.duet3d.com/topic/8623/rrf-2-02-m703-blocking-or-async/5?_=1578442447151


Log in to reply