3.6.0-b2: z-Position wrong after pause
-
I noticed a strange thing. After a pause the extruders are not returning to the correct z-height. With T0 there seems to be a deviation of 0-0.2mm. With T1 the extruder is moving down after a each pause. Sometimes it then gets back to a gigher position.
Here is the logged user position when pausing and resuming
Time 2024-11-19T18:11:14 Job 0:/gcodes/CFFFP_TestPrint-both.gcode Pause: x= 122.426 y= 97.718 u= 286.800 z= 0.200 Resume: x= 122.426 y= 97.718 u= 286.800 z= 0.200 Pause: x= 126.492 y= 118.153 u= 286.800 z= 0.560 Resume: x= 126.492 y= 118.153 u= 286.800 z= 0.560 Pause: x= 122.804 y= 98.097 u= 122.804 z= 1.160 Resume: x= 122.804 y= 98.097 u= 122.804 z= 1.160 Pause: x= 123.204 y= 117.709 u= 123.204 z= 1.160 Resume: x= 123.204 y= 117.709 u= 123.204 z= 1.160 Pause: x= 135.949 y= 117.709 u= 135.949 z= 1.160 Resume: x= 135.949 y= 117.709 u= 135.949 z= 1.160 Pause: x= 123.203 y= 99.036 u= 123.203 z= 0.882 Resume: x= 123.203 y= 99.036 u= 123.203 z= 0.882 Pause: x= 126.975 y= 98.497 u= 126.975 z= 0.586 Resume: x= 126.975 y= 98.497 u= 126.975 z= 0.586 Pause: x= 131.101 y= 98.496 u= 131.101 z= 1.280
During a print move.axes[2].machinePosition (which is z in my case) is permanently jumping, whereas the move.axes[2].userPosition stays constant during a print. Unlike in 3.4.6 the user[2]Position is not equal to the machine[2]Position. For the other axis both values are the same, ignoring round-offs.
For the purpose of this post I changed my pause.g to
set global.pausex=move.axes[0].userPosition set global.pausey=move.axes[1].userPosition set global.pausez=move.axes[2].userPosition set global.pauseu=move.axes[3].userPosition echo >>"0:/sys/0-printlog" "Pause: x= " ^{global.pausex}^ " y= " ^{global.pausey}^ " u= " ^{global.pauseu}^ " z= " ^{global.pausez} G1 X200 M99
So just moves the x-axis out off the way of a test print.
And resume.g toM98 P"00-Functions/CurrentSenseNormal" ; ensure the drivers current and sensitivity is set for normal routines M17 G4 P100 ; ;************************************ echo >>"0:/sys/0-printlog" "Resume: x= " ^{global.pausex}^ " y= " ^{global.pausey}^ " u= " ^{global.pauseu}^ " z= " ^{global.pausez} G1 R1
-