Hi, bought an E3D ToolChanger about a month ago, totally new to RRF and duet.
https://github.com/Duet3D/RepRapFirmware/issues/421
I have my esteps calibrated correctly. I can have my printer extrude a given length of filament and the extruded filament will be just under the expected length and it will weigh what I expect it to weigh.
I reduced my extruder jerk, acceleration and max speed to ensure no missed steps.
Nonlinear extrusion is disabled.
However, when I print this part with pressure advance on (set to 1.0, calibrated using this script), it weighs 20% more than I would expect it to weigh based on the total extrusion in the file. If I have pressure advance set to zero, it weighs just under the expected weight.
I've tried with and without retractions, with the slicer set to generate relative moves, and with the slicer set to generate absolute moves.
At the end of the print, the reported extruder position is almost exactly what it is supposed to be.
So, questions:
- Which variable exactly in the code does the reported extruder position come from?
- Can someone give me an introduction to the codebase? Is there developer documentation somewhere?
- Is "COMPENSATE_SPEED_CHANGES" typically enabled by default? I have whatever firmware came on the board.
- Is "stepsPerMm" logged somewhere?
- Is there a way to count total steps on the extruder drive?