position[E_AXIS]=target[E_AXIS];// Behave as if the move really took place, but ignore E part
if(thermalManager.tooColdToExtrude(extruder)){
de=0;// no difference
position[E_AXIS]=target[E_AXIS];// Behave as if the move really took place, but ignore E part
#if ENABLED(LIN_ADVANCE)
de=0;// no difference
position_float[E_AXIS]=e;
#if ENABLED(LIN_ADVANCE)
de_float=0;
position_float[E_AXIS]=e;
#endif
de_float=0;
SERIAL_ECHO_START();
#endif
SERIAL_ECHOLNPGM(MSG_ERR_COLD_EXTRUDE_STOP);
SERIAL_ECHO_START();
}
SERIAL_ECHOLNPGM(MSG_ERR_COLD_EXTRUDE_STOP);
}
#endif // PREVENT_COLD_EXTRUSION
#if ENABLED(PREVENT_LENGTHY_EXTRUDE)
#if ENABLED(PREVENT_LENGTHY_EXTRUDE)
if(labs(de)>(int32_t)axis_steps_per_mm[E_AXIS_N]*(EXTRUDE_MAXLENGTH)){// It's not important to get max. extrusion length in a precision < 1mm, so save some cycles and cast to int
constint32_tde_mm=labs(de*e_factor);
if(de_mm>(int32_t)axis_steps_per_mm[E_AXIS_N]*(EXTRUDE_MAXLENGTH)){// It's not important to get max. extrusion length in a precision < 1mm, so save some cycles and cast to int
position[E_AXIS]=target[E_AXIS];// Behave as if the move really took place, but ignore E part
position[E_AXIS]=target[E_AXIS];// Behave as if the move really took place, but ignore E part