Issue with volumetric extrusion and power-down safe state
-
Hi there,
i found a problem with the current power down safe state with volumetric extrusion enabled in RRF 3.0 on Duet2 ethernet.
current implementation will create an output similiar to the following
; File "0:/gcodes/3DBenchy.gcode" resume print after power failure at 2020-01-11 17:53 G21 M140 P0 S65.0 T-1 P0 G92 X367.515 Y204.243 Z10.700 G60 S1 G10 P0 S220 R220 T0 P0 M98 P"resurrect-prologue.g" M116 M290 X0.000 Y0.000 Z0.000 R0 T-1 P0 T0 P6 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00 G54 M200 D0.155 M106 S0.86 M106 P0 S0.86 M106 P2 S0.00 M116 G92 E0.00000 M83 M23 "0:/gcodes/3DBenchy.gcode" M26 S559573 G0 F6000 Z12.700 G0 F6000 X367.515 Y204.243 G0 F6000 Z10.700 G1 F2520.0 P0 G21 M24
Where M200 is 0.155, which is equal to the internal factor but not the filament diameter.
The line of code from github :
buf.catf("%c%.03f", c, (double)volumetricExtrusionFactors[i]);
which should be
buf.catf("%c%.03f", c, (double)(2.0/sqrtf(volumetricExtrusionFactors[i] * Pi)));
Hope this will help you in fixing it.
Tim