Hi,
Thanks for response.
I had checked Printer::setDestinationStepsFromGCode(GCode *com).
I'm sure this function can create new PrintLine , and after this , Extruder's step() has called , but the motor still not work.
I will keep looking for the reason.
I found another problem.
These are my operations:
1.G28(Home)
2.M280 S1(set to ditto mode)
3.Extruder 5mm(G90 + G0 E5)
X Axis will do a error moving action.
I found this cause from M280
After PrintLine::moveRelativeDistanceInSteps
destinationSteps[X_AXIS] will be set to a negative integer
After G0 E** is sent , this value will become a new X moving target(currentPositionSteps[X_AXIS]=0 , destinationSteps[X_AXIS]=-XXXX)
I add a code to M280 like this :
Printer::currentPositionSteps[X_AXIS] = Printer::xMinSteps;
Printer:: destinationSteps[X_AXIS] = Printer::xMinSteps; // add this line
The problem seems to be resolved.
Is this a correct modification?