Maestro pause/resume ends up about 0.5mm above original Z
Not sure why this is happening, the same Pause.g and resume.g worked on a Duet 2 Ethernet. However since I moved the configs to my maestro board pause always ends up way off.
I tested a few times on a first layer and before the pause I'd be at about 0.14 Z and on resume I'd be at around ~0.78 Z.
; pause.g ; called when a print from SD card is paused ; ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 08 2019 00:27:29 GMT-0700 (Pacific Daylight Time) M83 ; relative extruder moves G1 E-5 F3600 ; retract 10mm of filament G91 ; relative positioning G1 Z5 F360 ; lift Z by 5mm G90 ; absolute positioning G1 X0 Y270 F6000 ; go to X=0 Y=0
; resume.g ; called before a print from SD card is resumed ; ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 08 2019 00:28:40 GMT-0700 (Pacific Daylight Time) G1 R1 X0 Y0 Z5 F6000 ; 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 G1 E5 F3600 ; extrude 10mm of filament
; resurrect.g ; File "0:/gcodes/DONE-QUEUED-lock_body_x4.gcode" resume print after print paused M140 P0 S98.0 G10 P0 S261 R261 T0 P0 G29 S1 G92 X131.128 Y182.923 Z0.460 M98 Presurrect-prologue.g M106 P0 S0.00 M106 S0.00 M116 M290 X0.000 Y0.000 Z0.160 G92 E0.00000 M83 M23 0:/gcodes/DONE-QUEUED-lock_body_x4.gcode M26 S14684 P0.000 G0 F6000 Z2.460 G0 F6000 X131.128 Y182.923 G0 F6000 Z0.460 G1 F2300.0 M24
; config.g ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network M550 P"- Maestro! -" ; Set machine name M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S0 ; X Drive 0 goes backwards M569 P1 S1 ; Y Drive 1 goes for M569 P2 S0 ; Z1 Drive 2 goes forwards M569 P3 S1 ; E0 Drive 3 goes forwards M569 P4 S0 ; Z2 Drive 4 goes forwards M584 X0 Y1 Z4:2 E3 ; X on X, Y on Y, Z and Z2 on Z and E1, E0 on E0 M671 X-89:379 Y150:150 S10 ; Z leadscrews are at M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X160 Y200 Z800 E837 ; Set steps per mm e3d M98 Pmotorspeeds.g M84 S60 ; Set idle timeout ; Heaters M307 H0 A344.9 C801.8 D2.3 S1.00 V24.0 B0 M307 H1 A564.3 C278.0 D3.9 S1.00 V23.9 B0 ; Axis Limits M208 X0 Y0 Z-7 S1 ; Set axis minima M208 X300 Y280 Z360 S0 ; Set axis maxima ; Endstops M574 X1 Y1 S0 ; Z-Probe M574 Z1 S2 M558 P1 H2.5 F500 T10000 S0.01 A30 B0 ; X0 Y0 Z1 B1 F160 G31 P500 X17 Y0 Z2.30 ; Set Z probe trigger value, offset and trigger height M557 X20:280 Y10:270 S20 ; mesh M305 P0 T100000 B3988 C0 R2200 ; Set thermistor + ADC parameters for heater 0 M143 H0 S130 ; Set temperature limit for heater 0 to 130C M305 P1 T100000 B4725 C7.060000e-8 R2200 ; Set thermistor + ADC parameters for heater 1 M143 H1 S290 ; Set temperature limit for heater 1 to 290C ; Heaters M305 P0 T100000 B4138 R2200 ; Set thermistor + ADC parameters for heater 0 M305 P1 T100000 B4138 R2200 ; Set thermistor + ADC parameters for heater 1 ; Fans M106 P0 S0 I0 H-1 F60 B0.2 ; Part Fans M106 P1 H1 T55 F60 S1 ; Hotend fan M106 P2 T31:40 H100:101:102 ; 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 M572 D0 S0.05 ;Pressure advance ; Powerloss M911 S21.0 R23.0 P"M913 X0 Y0 G91 M83 G1 Z2 E-2 F7000" ; Set voltage thresholds and actions to run on power loss ; Miscellaneous G29 S1 Pheightmap.csv M501 ; Load saved parameters from non-volatile memory T0
Your resurrect file has a g92 to set the z height and an m290 to do baby stepping. It looks like they may add up to your height difference?
@phaedrux but the resurrect file is automatically generated by the firmware on a pause. Would there be anything i could do other than manually editing on resume?
I'll take a closer look later today when I'm at my laptop. It's a little hard on a phone.
@norbs12 said in Maestro pause/resume ends up about 0.5mm above original Z:
I should probably mention that I replaced a duet 2 ethernet on this printer with a maestro so I could use the duet 2 ethernet on another printer.
The few things i changed after the move to the maestro was:
Uploaded the Maestro firmware (though the duet 2 one seemed to boot).
Disable sensorless homing and used limit switches for X and Y.
Change thermistor settings to work with maestro.
Ran heater autotune again since nothing was heating with the old PID settings.
I don't think any of that would have any affect on pause/resume but I thought I should mention it.
What do you have in your resurrect-prologue?
Note: recent firmware versions write a G92 command containing the coordinates at the time of failure into resurrect.g, just before the call to resurrect-prologue.g. So you may get away without homing axes. But it is still best to home any axes that you can (typically X and Y on a cartesian or CoreXY printer).
So that explains the G92 in resurrect. How are you homing the printer in prologue? Were you using baby stepping on this print before the power loss?
My resurrectprologue.g is empty (well all commented out).
Yes I was using +0.16mm baby stepping, however, this isn't even a power failure. Just a pause and then resume after. There is no need to home anything since the printer is still homed.
I included my resurrect.g because I don't know 100% how the pause/resume process works and thought it might have relevant info since it's generated on pause.
Does the maestro handle pause/resume differently than a duet 2?
Sorry, I missed that detail that it's just a pause and resume. In that case the whole power loss thing doesn't even come into play at all.
Your pause.g and resume.g look a little different than mine. This is what I have.
; pause.g ; called when a print from SD card is paused ; ; generated by RepRapFirmware Configuration Tool on Wed Feb 07 2018 13:21:45 GMT-0600 (CST) G10 ; retract filament G91 ; relative positioning G1 Z5 ; lift Z by 5mm G90 ; absolute positioning G1 X0 Y0 F10000 ; go to X=0 Y=0
Only real difference here is that I'm using firmware retraction so I use G10 to retract. Otherwise it's the same as yours for all intents and purposes.
; resume.g ; called before a print from SD card is resumed ; ; generated by RepRapFirmware Configuration Tool on Wed Feb 07 2018 13:21:45 GMT-0600 (CST) G1 R1 Z5 F10000 ; go to 5mm above position of the last print move G1 R1 ; go back to the last print move G11 ; unretract
And here the difference seems to be the X0 Y0, which I don't have. So maybe give that a try. I can't remember if I changed that or not. There was a bug on resume in one of the last few firmwares that may have caused me to change it. I can't recall.
The G1 R1 documentation doesn't really go into much detail on how it should be used either.
@phaedrux I'll give you version a try later today.
Curious are you on a maestro or a duet? I'm only asking because it worked on a duet.
Duet wifi. I'm not aware of any difference for the maestro in this regard though.
So I got it fixed, but unfortunately I kind of a did the shotgun approach and I could not tell you which one thing fixed it.
Swapped to an SD card that came with the duet, copied all configs (from SD card that wasn't working), added a "G29 S1 Pheightmap.csv" into resume.g (again not sure if necessary), downgraded to latest stable firmware (2.02?).
Works like normal now, I'm curious what was causing it but not curious enough to do all those steps 1 by 1 and try a print each time. I do have a old card though, so I could probably replicate the issue if I wanted to.
Anyways I appreciate your time.
It may be worth updating to the 2.03 beta just to test with everything else as is.
OK, I eventually will. I just need to get some prints done, will tinker more after.