firmware retraction doubling
-
In the gcode there only should be the G10 and No lenght. Have you ensbled Firmware retraction in the slicer?
-
Yes, Firmware retraction is enabled. Slicer is prusaSlicer 2.3
A sample from the GCode file looks like this:
G10 ; retract
G1 X122.454 Y105.324
G11 ; unretract -
Is pressure advance enabled?
it can cause retractions if set high enough.Is firmware retraction enabled in the slicer?
Is reprap flavour selected?If yes to both post the first 100 lines of so of a sliced file.
-
How are you verifying that you're getting 2mm?
-
@Phaedrux said in firmware retraction doubling:
How are you verifying that you're getting 2mm?
On the DWC I can see the Drive amounts reducing by 2mm and then going back up 2mm on unretract.
Note: this is on a mixing head so I have 4 extruder drives. I'm noticing this on the drives that are not active in the current layer/object. -
@OwenD said in firmware retraction doubling:
Is pressure advance enabled?
it can cause retractions if set high enough.Is firmware retraction enabled in the slicer?
Is reprap flavour selected?If yes to both post the first 100 lines of so of a sliced file.
This is on a mixing nozzle with 4 drives (Crane Quad)
Yes pressure advance is enabled:
M572 D0:1:2:3 S0.22:0.22:0.22:0.22firmware retraction is enabled in the slicer
But... I did not have RepRapFirmware as the G-Code flavor. could that be the cause??
-
I did seem to be getting correct gCode:
; Filament gcode
G1 Z0.280 F7800.000
;LAYER_CHANGE
;Z:0.28
;HEIGHT:0.28
; If this isn't the first layer, update the temperature for all tools to the correct temperatureG1 Z0.280 F7800.000
G10 ; retract
G1 X222.625 Y140.000
G11 ; unretract
;HEIGHT:0.280000
;TYPE:Wipe tower
;WIDTH:0.437500
;-------------------------------------
; CP WIPE TOWER FIRST LAYER BRIM START
G1 X222.625 Y151.113 E0.7323 F2400
G1 X220.377 Y151.490 F7000
G1 Y139.623 E0.5735 F2100
G1 X159.623 E2.9362
G1 Y151.490 E0.5735
G1 X220.377 E2.9362
G1 X220.755 Y151.867 F7000
G1 Y139.245 E0.6100 F2100
G1 X159.245 E2.9726
G1 Y151.867 E0.6100
G1 X220.755 E2.9726
G1 X221.132 Y152.245 F7000
G1 Y138.868 E0.6465 F2100
G1 X158.868 E3.0091
G1 Y152.245 E0.6465
G1 X221.132 E3.0091
G1 X221.510 Y152.622 F7000
G1 Y138.490 E0.6830 F2100
G1 X158.490 E3.0456
G1 Y152.622 E0.6830
G1 X221.510 E3.0456
; CP WIPE TOWER FIRST LAYER BRIM END
;-----------------------------------G10 ; retract
G1 X224.185 Y153.297 F7800.000
G11 ; unretract
;TYPE:Skirt
;WIDTH:0.392
;HEIGHT:0.28
G1 F1500.000
G1 X223.860 Y154.015 E0.03045
G1 X223.405 Y154.579 E0.02800
G1 X222.828 Y155.017 E0.02800
G1 X222.163 Y155.304 E0.02800
G1 X221.448 Y155.422 E0.02800
G1 X119.741 Y159.647 E3.93313
G1 X107.567 Y159.496 E0.47043
G1 X106.811 Y159.365 E0.02964
G1 X106.114 Y159.045 E0.02964
G1 X105.314 Y158.314 E0.04187
G1 X104.82 -
Here's the first lines of the gCode file:
I've set up 4 tools, one for each primary color.; generated by PrusaSlicer 2.3.0+ on 2021-02-09 at 00:01:31 UTC
;
; external perimeters extrusion width = 0.39mm
; perimeters extrusion width = 0.39mm
; infill extrusion width = 0.39mm
; solid infill extrusion width = 0.39mm
; top infill extrusion width = 0.35mm
; support material extrusion width = 0.31mm
; first layer extrusion width = 0.39mm; external perimeters extrusion width = 0.39mm
; perimeters extrusion width = 0.39mm
; infill extrusion width = 0.39mm
; solid infill extrusion width = 0.39mm
; top infill extrusion width = 0.35mm
; support material extrusion width = 0.31mm
; first layer extrusion width = 0.39mm; external perimeters extrusion width = 0.39mm
; perimeters extrusion width = 0.39mm
; infill extrusion width = 0.39mm
; solid infill extrusion width = 0.39mm
; top infill extrusion width = 0.35mm
; support material extrusion width = 0.31mm
; first layer extrusion width = 0.39mm; external perimeters extrusion width = 0.39mm
; perimeters extrusion width = 0.39mm
; infill extrusion width = 0.39mm
; solid infill extrusion width = 0.39mm
; top infill extrusion width = 0.35mm
; support material extrusion width = 0.31mm
; first layer extrusion width = 0.39mmM107
;TYPE:Custom
M190 S80 ; wait for first layer bed tempurature
M104 S170 ; set extruder no-ooze temp
G28 ; home all axes
;G29 ; Auto Bed Leveling...
M104 S235 ; Heatup and Purge Nozzle
G92 E0 ; reset extruder
G1 X0 Y0 Z10.0 F5000 ; move to purge positionT0
; bring it up to temperature
G10 P0 R0 S235 ; Wait For Nozzle Heat
M116; machine standard purge - purges all nozzles on the left side of the platter.
M98 PPrint_Start.g; set up the tools for selected colors.. You can define as many as you want,
; just make sure you update their temperatures in the Before layer change G-Code and remove them in the End G-CodeM563 P0 D0:1:2:3 H1 F1
M563 P1 D0:1:2:3 H1 F1
M563 P2 D0:1:2:3 H1 F1
M563 P3 D0:1:2:3 H1 F1;=============== Quad Fustion color support ===============
;Set the color for each of the defined "tools"
M567 P0 E1.0:0.0:0.0:0.00 S"Cyan"
M567 P1 E0.0:1.0:0.0:0.00 S"Magenta"
M567 P2 E0.0:0.00:1.0:0.00 S"yellow"
M567 P3 E0.0:0.0:0.0:1.0 S"White"
;==========================================================;Init the tool temperatures for the first layer and wait.
G10 P0 R0 S235
G10 P1 R0 S235
G10 P2 R0 S235
G10 P3 R0 S235
M116T0 ; Ensure Post Processing Gcode Generator Has something to convert if only one tool is used.
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
T1 -
-
If you send M207 during a print, what does it reply with?
-
So... This is interesting..
I have no config-override.g file in my /sys directory but after I sent an M502 command, G10/G11 worked as expected.....
Is this a hidden file?
-
@nanoplane said in firmware retraction doubling:
So... This is interesting..
I have no config-override.g file in my /sys directory but after I sent an M502 command, G10/G11 worked as expected.....
Is this a hidden file?
IIRC, M3D used to do very strange things with their configuration files. Basically they used to break each section into a separate macro and then call each of those macros from within the config.g file. Is that how yours is set up? If so, it's likely that the changes you make to config.g could be overridden by later macros. I might be best if you post you config.g file and the full code of any macros that are referenced in that file.
-
it was for the 2.0 config, but for the 3.0 update I put everything in the one file. It loads with no errors, but I suspect maybe there was some override file hidden somewhere that had a different M207 command hidden in it??
-
So, it all seems to be working now... not quite sure what happened, but...
Thanks everyone who looked at this and scratched their heads...
--marcel
-
@nanoplane said in firmware retraction doubling:
M98 PPrint_Start.g
Should be quoted
M98 P"Print_Start.g"
-
Thank you.
One more question. does the M207 command need to be sent after the tools are all created?..
I'm still getting the issue that the retract gets reset to 2mm whenever I start a new print from the "initial" state.
my custom gCode for PrusaSlicer at start creates the per color tools and after they start being used M207 command returns 2mm for retract amount even though I'm setting it in the config file to 0.5mm
-
Please share your full config.g you slicer start gcode and any macros you call in it.
Also the results of M122 and M98 P"config.g" please. -
Starting gCode from Prusa Slicer:
M190 S[first_layer_bed_temperature] ; wait for first layer bed temperature
G28 ; home all axes
;G29 ; Auto Bed Leveling...
M104 S[first_layer_temperature] ; Heatup and Purge Nozzle
G92 E0 ; reset extruder
G1 X0 Y0 Z10.0 F5000 ; move to purge positionT0
; bring it up to temperature
G10 P0 R0 S[first_layer_temperature] ; Wait For Nozzle Heat
M116; machine standard purge - purges all nozzles on the left side of the platter.
M98 P"Print_Start.g"; set up the tools for selected colors.. You can define as many as you want,
; just make sure you update their temperatures in the Before layer change G-Code and remove them in the End G-CodeM563 P0 D0:1:2:3 H1 F1
M563 P1 D0:1:2:3 H1 F1
M563 P2 D0:1:2:3 H1 F1
M563 P3 D0:1:2:3 H1 F1;=============== Quad Fustion color support ===============
;Set the color for each of the defined "tools"
M567 P0 E1.0:0.0:0.0:0.00 S"Cyan"
M567 P1 E0.0:1.0:0.0:0.00 ; Magenta
M567 P2 E0.0:0.00:1.0:0.00 ; yellow
M567 P3 E0.0:0.0:0.0:1.0 ; White
;==========================================================;Init the tool temperatures for the first layer and wait.
G10 P0 R0 S[first_layer_temperature]
G10 P1 R0 S[first_layer_temperature]
G10 P2 R0 S[first_layer_temperature]
G10 P3 R0 S[first_layer_temperature]
M116T0 ; Ensure Post Processing Gcode Generator Has something to convert if only one tool is used.
-
Also at the end of a print, custom gCode is:
; remove the extra tools so we restore back to standard
M563 P3 D-1 H-1
M563 P2 D-1 H-1
M563 P1 D-1 H-1M104 S0 ; turn off temperature
G28 X0 ; home X axisM140 S0
M84 ; disable motors
-
What's in M98 PPrint_Start.g?