@ -330,6 +330,10 @@ void MarlinSettings::postprocess() {
fwretract . refresh_autoretract ( ) ;
fwretract . refresh_autoretract ( ) ;
# endif
# endif
# if ENABLED(JUNCTION_DEVIATION) && ENABLED(LIN_ADVANCE)
planner . recalculate_max_e_jerk_factor ( ) ;
# endif
// Refresh steps_to_mm with the reciprocal of axis_steps_per_mm
// Refresh steps_to_mm with the reciprocal of axis_steps_per_mm
// and init stepper.count[], planner.position[] with current_position
// and init stepper.count[], planner.position[] with current_position
planner . refresh_positioning ( ) ;
planner . refresh_positioning ( ) ;
@ -411,11 +415,13 @@ void MarlinSettings::postprocess() {
EEPROM_WRITE ( planner . travel_acceleration ) ;
EEPROM_WRITE ( planner . travel_acceleration ) ;
EEPROM_WRITE ( planner . min_feedrate_mm_s ) ;
EEPROM_WRITE ( planner . min_feedrate_mm_s ) ;
EEPROM_WRITE ( planner . min_travel_feedrate_mm_s ) ;
EEPROM_WRITE ( planner . min_travel_feedrate_mm_s ) ;
EEPROM_WRITE ( planner . max_jerk ) ;
# if ENABLED(JUNCTION_DEVIATION)
# if ENABLED(JUNCTION_DEVIATION)
const float planner_max_jerk [ ] = { DEFAULT_XJERK , DEFAULT_YJERK , DEFAULT_ZJERK , DEFAULT_EJERK } ;
EEPROM_WRITE ( planner_max_jerk ) ;
EEPROM_WRITE ( planner . junction_deviation_mm ) ;
EEPROM_WRITE ( planner . junction_deviation_mm ) ;
# else
# else
EEPROM_WRITE ( planner . max_jerk ) ;
dummy = 0.02 ;
dummy = 0.02 ;
EEPROM_WRITE ( dummy ) ;
EEPROM_WRITE ( dummy ) ;
# endif
# endif
@ -1008,11 +1014,12 @@ void MarlinSettings::postprocess() {
EEPROM_READ ( planner . travel_acceleration ) ;
EEPROM_READ ( planner . travel_acceleration ) ;
EEPROM_READ ( planner . min_feedrate_mm_s ) ;
EEPROM_READ ( planner . min_feedrate_mm_s ) ;
EEPROM_READ ( planner . min_travel_feedrate_mm_s ) ;
EEPROM_READ ( planner . min_travel_feedrate_mm_s ) ;
EEPROM_READ ( planner . max_jerk ) ;
# if ENABLED(JUNCTION_DEVIATION)
# if ENABLED(JUNCTION_DEVIATION)
for ( uint8_t q = 4 ; q - - ; ) EEPROM_READ ( dummy ) ;
EEPROM_READ ( planner . junction_deviation_mm ) ;
EEPROM_READ ( planner . junction_deviation_mm ) ;
# else
# else
EEPROM_READ ( planner . max_jerk ) ;
EEPROM_READ ( dummy ) ;
EEPROM_READ ( dummy ) ;
# endif
# endif
@ -1724,13 +1731,14 @@ void MarlinSettings::reset(PORTARG_SOLO) {
planner . travel_acceleration = DEFAULT_TRAVEL_ACCELERATION ;
planner . travel_acceleration = DEFAULT_TRAVEL_ACCELERATION ;
planner . min_feedrate_mm_s = DEFAULT_MINIMUMFEEDRATE ;
planner . min_feedrate_mm_s = DEFAULT_MINIMUMFEEDRATE ;
planner . min_travel_feedrate_mm_s = DEFAULT_MINTRAVELFEEDRATE ;
planner . min_travel_feedrate_mm_s = DEFAULT_MINTRAVELFEEDRATE ;
planner . max_jerk [ X_AXIS ] = DEFAULT_XJERK ;
planner . max_jerk [ Y_AXIS ] = DEFAULT_YJERK ;
planner . max_jerk [ Z_AXIS ] = DEFAULT_ZJERK ;
planner . max_jerk [ E_AXIS ] = DEFAULT_EJERK ;
# if ENABLED(JUNCTION_DEVIATION)
# if ENABLED(JUNCTION_DEVIATION)
planner . junction_deviation_mm = JUNCTION_DEVIATION_MM ;
planner . junction_deviation_mm = JUNCTION_DEVIATION_MM ;
# else
planner . max_jerk [ X_AXIS ] = DEFAULT_XJERK ;
planner . max_jerk [ Y_AXIS ] = DEFAULT_YJERK ;
planner . max_jerk [ Z_AXIS ] = DEFAULT_ZJERK ;
planner . max_jerk [ E_AXIS ] = DEFAULT_EJERK ;
# endif
# endif
# if HAS_HOME_OFFSET
# if HAS_HOME_OFFSET
@ -2135,8 +2143,6 @@ void MarlinSettings::reset(PORTARG_SOLO) {
SERIAL_ECHOPAIR_P ( port , " X " , LINEAR_UNIT ( planner . max_jerk [ X_AXIS ] ) ) ;
SERIAL_ECHOPAIR_P ( port , " X " , LINEAR_UNIT ( planner . max_jerk [ X_AXIS ] ) ) ;
SERIAL_ECHOPAIR_P ( port , " Y " , LINEAR_UNIT ( planner . max_jerk [ Y_AXIS ] ) ) ;
SERIAL_ECHOPAIR_P ( port , " Y " , LINEAR_UNIT ( planner . max_jerk [ Y_AXIS ] ) ) ;
SERIAL_ECHOPAIR_P ( port , " Z " , LINEAR_UNIT ( planner . max_jerk [ Z_AXIS ] ) ) ;
SERIAL_ECHOPAIR_P ( port , " Z " , LINEAR_UNIT ( planner . max_jerk [ Z_AXIS ] ) ) ;
# endif
# if DISABLED(JUNCTION_DEVIATION) || ENABLED(LIN_ADVANCE)
SERIAL_ECHOPAIR_P ( port , " E " , LINEAR_UNIT ( planner . max_jerk [ E_AXIS ] ) ) ;
SERIAL_ECHOPAIR_P ( port , " E " , LINEAR_UNIT ( planner . max_jerk [ E_AXIS ] ) ) ;
# endif
# endif