Pause.g Resume.g problems
-
This is just weird. If i create a macro for resume in which i have :
T0 ; activate tool again
M116 ; wait for all temperatures.
M98 P"homex.g" ;
M98 P"homey.g" ;
M106 P0 T1 ; restores the previous fan speed
G1 E10 F3600 ; extrude 10mm of filament
G1 R1 X0 Y0 Z5 F4000 ; go to 5mm above position of the last print move
G1 R1 X0 Y0 ; go back to the last print move
M83 ; relative extruder movesIt does all it should but then it just moves above the print and pauses.
Then i have to push the "Resume" button in the interface. It homes again and then starts printing....but if i dont run the macro first it doesnt home or wait for the tool to heat up. It just moves above the print and then throws an error messeage. I realy dont know what to do . Im fighting it for the last 4 days. -
The button is checking to see if any axis are unhomed and will not run if it's unhommed. Which is why when you force resume.g to run and it runs the homing macros you can then use the button the second time.
Can you try splitting out the homing from the resume.g file?
As I suggested before, create a macro that contains a G92 command to set the current location for X Y Z. If your pause.g moves the axis to a certain location, and your axis stay stable when the motors are off, then you can use that same position. No rehoming needed.
Then you can run that macro to set the axis as homed, and then you can use the resume button. Remove any homing calls from resume.g.
-
@Phaedrux I will definetly try that and let you know. CAn i have one more question? When pausing i would like to turn off the part cooling fan but also somehow save the value it was on so i can resume cooling when resuming the print. I was trying to figure it out using M106 R1 or R2 but no luck so far. Thanks
-
I would have thought M106 R1 or R2 would have worked. How are you turning the fan off in pause.g? M107?
-
@Phaedrux M106 S0
-
Try using M107 in pause.g to turn off the fan and then M106 R1 to return it to it's last speed in resume.g
-
@Phaedrux said in Pause.g Resume.g problems:
M107
I put M107 is the pause.g but the cooling fan still didnt turn back on . Dont understand why. Also i have tried the G92 but it didnt have any effect, when pressing the resume button the print head just went above the print and then i got the "G0/G1: insufficient axes homed" error again.
Here is what i changed
; pause.g
; called when a print from SD card is paused
;
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 X20 Y525 F6000 ; go to X=20 Y=525
M18 X Y E ;turn off X,Y,E steppers
G10 P0 R20 ; Set standby temp of tool 0 to 20*
T-1 ; put tools in standby
M107 ; FAN off; resume.g
; called before a print from SD card is resumed
G92 X20 Y525 ; axis position
T0 ; activate tool again
M116 ; wait for all temperatures.
G1 E20 F500 ; extrude 10mm of filament
G1 R1 X0 Y0 Z5 F4000 ; go to 5mm above position of the last print move
G1 R1 X0 Y0 ; go back to the last print move
M83 ; relative extruder moves
M106 R1 ; FAN on -
Don't put G92 into the resume.g file. As I said, put it in a separate macro and then run that manually before pressing resume button.
-
@Phaedrux Yeah that works. But i cant figure out that print fan, any ideas?
-
Post your config.g
-
Here
; Configuration file for Duet Ethernet (firmware version 1.16 or older)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Thu May 03 2018 12:19:37 GMT+0200 (Střední Evropa (letní čas)); General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Network
M111 S0 ; Debug off
M550 Deluxe600 ; Machine name (can be anything you like)
M551 inman. ; Machine password (used when you connect Duet Web Control or via FTP)
M540 PBE:EF:DE:AD:FE:ED ; MAC Address (only needed if you have more than one Duet 0.6 or 0.8.5 on the same network)
M552 S1 ; IP address (0 = use DHCP)
M554 192.168.0.220 ; Gateway (not used yet)
M553 P255.255.255.0 ; Netmask
M555 P2 ; Set output to look like Marlin
M575 P1 B57600 S1 ; Set auxiliary serial port baud rate and require checksum (for PanelDue); Drives
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 Z16 X16 Y16 I1 ; Configure microstepping with interpolation
M350 E32 I0 ; Configure microstepping without interpolation
M92 X50 Y50 Z800 E280 ; Set steps per mm
M566 X480 Y480 Z19.2 E270 ; Set maximum instantaneous speed changes (mm/min)
M203 X12000 Y12000 Z720 E7200 ; Set maximum speeds (mm/min)
M201 X1000 Y1000 Z850 E5000 ; Set accelerations (mm/s^2)
M906 X1650 Y1650 Z1650 E700 I1 ; Set motor currents (mA) and motor idle factor in per cent
M84 S5 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S0 ; Set axis minima
M208 X545 Y545 Z700 S0 ; Set axis maxima; Endstops
M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y2 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"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" A2 H3 F100 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 X0 Y0 Z1.45 ; set Z probe trigger value, offset and trigger height
M557 X0:500 Y40:500 S100:100 ; define mesh grid; 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
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S100 ; set temperature limit for heater 0 to 100C
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; 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
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S1 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 S0.5 H1 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" Q500 ; create fan 2 (bed) on pin fan2 and set its frequency
M106 P2 S1 H0 T50; Tools
M563 P0 D0 H1 ; 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;LED control
M950 P5 C"e1heat" ;set e1heat as a GPIO output pin
M501
M107 -
@Deluxe-600 said in Pause.g Resume.g problems:
G31 X0 Y0 Z1.45 ; set Z probe trigger value, offset and trigger height
You may want to add your X Y offset for your BLTouch. Unexpected things can happen if you don't.
@Deluxe-600 said in Pause.g Resume.g problems:
; Tools
M563 P0 D0 H1 ; Define tool 0Try adding F0 to your tool definition to make sure it's using fan0 for the part fan.
-
@Phaedrux The bl touch has a mechanical offset so its ok, but thank you . I added the F0 to the tool definition (now looking like this"M563 P0 D0 H1 F0" correct?) . Doesnt seem to change anything, the fan still doesnt turn back up. Any other ideas what could i try? This is realy strange.
-
How did you set the fan speed before the pause: did you use M106 with or without the P parameter? If you used it without (the usual way that slicers generate it) then your pause/resume code looks OK to me.
-
@dc42 Its set by the Slicer. So no ideas? Ow man
-
Well didnt know this would be such a problem
-
an you share a sample gcode file? What slicer?
-
@Phaedrux Hi.
Im using PrusaSlicer for slicing.
Here is a gcode i tried printing.
test 1_0.3mm_PLA_MK3.gcode -
So basically it turns the fan on with M106 S255 and leaves it on a full power for the duration of the print and then turns it off at the end.
If that's normally the case, as a work around, why not just set the fan speed to 100% in resume.g?
-
Now that 3.2 is released can you test with that?