Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    M25 doesn't pause the print ?

    Beta Firmware
    2
    7
    177
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Ntrack
      Ntrack last edited by

      I'm using M25 to pause print in a trigger file when a sensor detects that the tool change wasn't executed correctly . The trigger is executed , printer executes the moves that I have in pause.g file , then it just continues the print.The pause button dissapears from the panel due, if I try to send m25 from console it returns " Error: M25: Printing is already paused!!" I tried to send M226 from console but nothing happened.

      The expected behaviour shoud be :check the sensor-execute pause.g - pause the print.

      dc42 1 Reply Last reply Reply Quote 0
      • dc42
        dc42 administrators @Ntrack last edited by

        Firmware version?

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • Ntrack
          Ntrack last edited by

          3.0 rc1 on a duet wifi+ duex. I know it may not make a lot of sense my first post so these are the relevant files :
          config.g

          ; Configuration file for Duet WiFi (firmware version 3)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v2.1.3 on Fri Nov 29 2019 18:20:35 GMT+0000 (Greenwich Mean Time)
          
          ; General preferences
          G90                                                                       ; send absolute coordinates...
          M83                                                                      ; ...but relative extruder moves
          M550 P"Duet MMU"                                          ; set printer name
          
          ; Network
          M552 S1                                                             ; enable network
          M586 P0 S1                                                       ; enable HTTP
          M586 P1 S0                                                        ; disable FTP
          M586 P2 S0                                                       ; disable Telnet
          
          ; Drives
          
          M569 P0 Y3:3:1 F12 S1                               ; physical drive 0 goes forwards Selector (U)
          M569 P1 S0		                                       ; physical drive 1 goes backwards Tumbler (W)  
          M569 P2 R-1                                                 ; Z drive disabled (I burnt the driver) 
          M569 P3 Y3:3:1 F12 S1                               ; physical drive 3 goes forwards Extruder (E)
          M569 P4 Y3:3:1 F12 S1                               ; physical drive 4 goes forwards X axis (X)
          M569 P5 Y3:3:1 F2 S1                                 ; physical drive 5 goes forwards Z axis (Z1)
          M569 P6 Y3:3:1 F2 S1                                 ; physical drive 6 goes forwards Z axis (Z2)	
          M569 P7 Y3:3:1 F12 S0                               ; physical drive 7 goes backwards Y axis (Y)
          M569 P8 Y3:3:1 F12 S0                               ; physical drive 8 goes backwards Filament drive axis mmu (V)
          
          M584 U0 W1 E3 X4 Z5:6 Y7 V8 A3 P7        	                                ; set drive mapping
          M350 X16 Y16 Z16 E16 A16 U16 V16 W16 I1  	          	          	; Configure microstepping with interpolation
          M92 X200 Y200 Z400 E473 A473 U400 V140 W26			   		; Set steps per mm
          M566 X800 Y800 Z60 E3000 A3000 U400 V2000 W2000 P1                       	; Set maximum instantaneous speed changes (mm/min)
          M203 X12000 Y12000 Z900 E6000 A7200 U5000 V10000 W20000                     	; Set maximum speeds (mm/min)
          M201 X6000 Y6000 Z200 E5000 A2500 U500 V2000 W2000                      	; Set accelerations (mm/s^2)
          M204 P600 T3000									; Set accelerations (mm/s^2) for print and travel moves
          M906 X1500 Y1500 Z600 E600 A600 U1200 V1300 W1300 I30                     	; Set motor currents (mA) and motor idle factor in per cent
          M84 S30                                          				; Set idle timeout
          
          ; Axis Limits
          M208 X0 Y0 Z0 U0 V-1000 A-1000 W0 S1 					       	; Set axis minima
          M208 X247 Y210 Z246.60 U75 V1000 A1000 W78 S0     			        ; Set axis maxima
          
          ; Endstops
          M574 U1 W1 S3				        ; configure mmu2 sensorless endstops for selector (u) and tumbler (W)
          M574 V2 S1 p"zstop"				   ; configure mmu2 filament feeder endstops at max end active-high
          M574 A2 S1 P"!e0stop"		    ; configure false extruder axis endstop at max end active-low, also split to xstop
          M574 X1 S1 P"e1stop"                            ; configure active-high endstop for low end on X via pin e1stop
          M574 Y1 S1 P"ystop"                              ; configure active-high endstop for low end on Y via pin ystop
          M574 Z1 S2                                                          ; configure Z-probe endstop for low end on Z
          
          
          ; Z-Probe
          M950 S0 C"duex.pwm5"                                        	                ; create servo pin 0 for BLTouch
          M558 P9 C"^zprobe.in" H5 F600 T9000            ; set Z probe type to bltouch and the dive height + speeds
          G31 P500 X0 Y0 Z2.5                                             ; set Z probe trigger value, offset and trigger height
          M557 X15:215 Y15:195 S20                                             ; define mesh grid
          G31 P25 X29 Y0 Z1.02                            	     ; set Z probe trigger value, offset and trigger height
          M557 X29:242 Y0:210 P7:7							; define mesh grid
          M671 X-48:285 Y105:105 S2			     ; leadscrews at rear left middle and right middle
          
          ; Heaters
          M308 S0 P"bedtemp" Y"thermistor" T100000 B4138             ; configure sensor 0 as thermistor on pin bedtemp
          M950 H0 C"bedheat" T0                                    ; create bed heater output on bedheat and map it to sensor 0
          M143 H0 S120                                                         ; set temperature limit for heater 0 to 120C
          M307 H0 B0 S1.00                                     ; disable bang-bang mode for the nozzle heater and set PWM limit
          M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8                ; configure sensor 1 as thermistor on pin e0temp
          M950 H1 C"e0heat" T1              ; create nozzle heater output on e0heat and map it to sensor 1
          M143 H1 S280                                                    ; set temperature limit for heater 1 to 280C
          M307 H1 B0 S1.00                ; disable bang-bang mode for the nozzle heater and set PWM limit
          
          ; Fans
          M950 F0 C"fan0" Q500                                    ; create fan 0 on pin fan0 and set its frequency
          M106 P0 S0 H-1                                       set fan 0 value. Thermostatic control is turned off
          M950 F1 C"fan1" Q500                                      ; create fan 1 on pin fan1 and set its frequency
          M106 P1 S1 H1 T45                                     ; set fan 1 value. Thermostatic control is turned on
          
          ; Tools
          M563 P0 D0 H1 F0                                                                ; define tool 0
          G10 P0 X0 Y0 Z0                                                                 ; set tool 0 axis offsets
          G10 P0 R0 S0                               ; set initial tool 0 active and standby temperatures to 0C
          M563 P1 D0 H1 F0                                                                ; define tool 1
          G10 P1 X0 Y0 Z0                                                                 ; set tool 1 axis offsets
          G10 P1 R0 S0                                          ; set initial tool 1 active and standby temperatures to 0C
          M563 P2 D0 H1 F0                                                                ; define tool 2
          G10 P2 X0 Y0 Z0                                                                 ; set tool 2 axis offsets
          G10 P2 R0 S0                                         ; set initial tool 2 active and standby temperatures to 0C
          M563 P3 D0 H1 F0                                                                ; define tool 3
          G10 P3 X0 Y0 Z0                                                                 ; set tool 3 axis offsets
          G10 P3 R0 S0                                    ; set initial tool 3 active and standby temperatures to 0C
          M563 P4 D0 H1 F0                                                                ; define tool 4
          G10 P4 X0 Y0 Z0                                                                 ; set tool 4 axis offsets
          G10 P4 R0 S0                                       ; set initial tool 4 active and standby temperatures to 0C
          
          
          ; Custom settings are not defined
          
          ; Miscellaneous
          M18 G92 G1 H2 Z0.002 G90					; energise z motors
          M501                                               		; load saved parameters from non-volatile memory
          M911 S21 R23 P"M913 X0 Y0 G91 M83 G1 Z2 E-5 F1000"  ; set voltage thresholds and actions to run on power loss
          
          M581 P"zstop" T7 C0								; activate trigger 6 on rising edge 
          M582 T7			 				; check filament sensor to confirm extruder is unloaded
          M581 P"nil" T7 C0		 						; deactivate trigger 6
          
          M581 P"!e0stop" T6 C0		 						; activate trigger 6 on rising edge 
          M582 T6			 	 		; check filament sensor to confirm extruder is unloaded
          M581 P"nil" T6 C0		 						; deactivate trigger 6
          
          1 Reply Last reply Reply Quote 0
          • Ntrack
            Ntrack last edited by

            tpre0.g

            ; called before tool 0 is selected
            
            M574 V2 S1 P"zstop"		; set V axis max endstop to switched high 
            M581 P"zstop" T7 C0		; activate trigger 7 on raising edge
            M582 T7			 	; check finda sensor to confirm no filament is loaded
            M581 P"nil" T7 C0	 	; deactivate trigger 7
            G1 U1 F2000           		     ; move selector to T0 position
            G1 W4 F10000	      		; move idler to T0 position
            M400		     	                 ; wait for moves to stop
            M98 P"loadselector.g"
            M98 P"loadextruder.g"
            

            loadselector.g

            G91				; relative moves
            G1 V300 H1 F1440                ; feed filament to finda sensor
            G92 V0				; force V to 0mm
            G1 V100 H1  F1440		; feed a bit more to reliably switch sensor 
            G92 V0				; force V to 0mm
            G1 V30 H0 F2000			; feed filament to reach ptfe tube
            G92 V0				; force V to 0mm
            M400				; wait for moves to finish
            M581 P"!zstop" T2 C0		; activate trigger 2 on falling edge
            M582 T2			 	; check finda sensor to confirm loading successful
            M581 P"nil" T2 C0	 	; deactivate trigger 2
            M400				; wait for moves to finish
            G90
            

            loadextruder.g

            G91
            M574 V2 S1 P"!xstop" 		; set V axis max endstop to switched low
            M574 A2 S1 P"!e0stop"		; set A(extruder) axis max endstop to switched low
            G1 H1 V390 F6000		; fast feed filament into the tube (set this 30-40mm shorter than the actual length of ptfe tube)
            G1 H1 V600 A600 F3000	        ; fast feed filament into extruder (feed filament with both mmu and extruder until filament sensor triggers)
            G92 V0 A0			; force V and A to 0mm
            M400				; wait for moves to finish
            M581 P"e0stop" T3 C0		; activate trigger 2 on falling edge
            M582 T3				; check filament sensor to confirm loading successful
            M581 P"nil" T3 C0	 	; deactivate trigger 	
            M400				; wait for moves to finish
            G1 H2 V5 A5 F720		; feed 5mm filament into extruder gears
            G90				; absolute moves
            

            tpost0.g

            M116 P0				; wait for nozzle heat up
            G1 W78 F10000			; move W to safe position
            

            tfree0.g

            G1 W4 F10000				 ; select T0 with idler
            M98 P"unloadextruder.g"
            M98 P"unloadselector.g"
            

            trigger2.g

            M25
            M291 P"MMU loading failure detected" S3
            

            trigger3.g

            M25
            M291 P"Extruder loading failure detected" S2
            

            trigger4.g

            M25
            M291 P"Extruder unloading failure detected" S2
            

            trigger5.g

            M25
            M291 P"MMU unloading failure detected" S2
            

            trigger6.g

            M584 P3
            M291 P"Extruder loaded. MMU homing not allowed.Please unload extruder manually." S2
            M25
            

            trigger7.g

            M584 P3
            M291 P"MMU loaded. MMU operations not allowed.Please unload MMU manually." S2
            M25
            

            Fun fact, I also have a trigger10.g, just to test if the limit of 9 triggers still applies , and it works :
            trigger10.g

            M584 P7 
            G28 UVWA
            

            Trigger10 is used by homemmu.g :

            ;M291 P"(Re)home MMU?" S3
            
            M574 V2 S1 p"zstop"			; configure mmu2 filament feeder endstops at max end active-high
            M574 A2 S1 P"!e0stop"				; configure false extruder axis endstop at max end active-low
            
            M581 P"zstop" T7 C0							; activate trigger 6 on rising edge 
            M582 T7			 			; check filament sensor to confirm selector is unloaded
            M581 P"nil" T7 C0		 						; deactivate trigger 6
            
            M581 P"!e0stop" T6 C0		 						; activate trigger 6 on rising edge 
            M582 T6			 	 		; check filament sensor to confirm extruder is unloaded
            M581 P"nil" T6 C0		 						; deactivate trigger 6
            
            M581 P"!zstop+e0stop" T10 C0
            M582 T10
            M581 P"nil" T10 C0	
            

            pause.g

            ; pause.g
            ; called when a print from SD card is paused
            ;
            ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:36:05 GMT+0000 (Greenwich Mean Time)
            M83            ; relative extruder moves
            G1 E-10 F3600  ; retract 10mm of filament
            G91            ; relative positioning
            G1 Z5 F360     ; lift Z by 5mm
            G90            ; absolute positioning
            G1 X0 Y220 F6000 ; go to X=0 Y=0
            
            
            1 Reply Last reply Reply Quote 0
            • dc42
              dc42 administrators last edited by

              Thanks, this is on my list to investigate.

              MaxTriggers is set to 16 in RRF3 for Duet 2.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              1 Reply Last reply Reply Quote 0
              • dc42
                dc42 administrators last edited by dc42

                There was a problem with using M25 while the machine was doing a tool change. Please try the Duet2CombinedFirmware.bin file at https://www.dropbox.com/sh/3azy1njy3ayjsbp/AACquxr2m00eV568RZg5QG5wa?dl=0.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • Ntrack
                  Ntrack last edited by

                  M25 during tool change works now, thank you.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post
                  Unless otherwise noted, all forum content is licensed under CC-BY-SA