Always report position on config load/reset

This commit is contained in:
Scott Lahteine 2017-12-10 20:24:13 -06:00
parent dc9e469c4c
commit ccca1ade2d
3 changed files with 16 additions and 18 deletions

View File

@ -373,7 +373,7 @@ void report_current_position();
#endif #endif
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
void set_z_fade_height(const float zfh); void set_z_fade_height(const float zfh, const bool do_report=true);
#endif #endif
#if ENABLED(X_DUAL_ENDSTOPS) #if ENABLED(X_DUAL_ENDSTOPS)

View File

@ -2475,7 +2475,9 @@ static void clean_up_after_endstop_or_probe_move() {
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
void set_z_fade_height(const float zfh) { void set_z_fade_height(const float zfh, const bool do_report/*=true*/) {
if (planner.z_fade_height == zfh) return; // do nothing if no change
const bool level_active = planner.leveling_active; const bool level_active = planner.leveling_active;
@ -2497,6 +2499,7 @@ static void clean_up_after_endstop_or_probe_move() {
#endif #endif
); );
#endif #endif
if (do_report) report_current_position();
} }
} }

View File

@ -215,14 +215,12 @@ MarlinSettings settings;
float new_z_fade_height; float new_z_fade_height;
#endif #endif
#if ENABLED(CNC_COORDINATE_SYSTEMS)
bool position_changed;
#endif
/** /**
* Post-process after Retrieve or Reset * Post-process after Retrieve or Reset
*/ */
void MarlinSettings::postprocess() { void MarlinSettings::postprocess() {
const float oldpos[] = { current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] };
// steps per s2 needs to be updated to agree with units per s2 // steps per s2 needs to be updated to agree with units per s2
planner.reset_acceleration_rates(); planner.reset_acceleration_rates();
@ -232,10 +230,6 @@ void MarlinSettings::postprocess() {
recalc_delta_settings(); recalc_delta_settings();
#endif #endif
// Refresh steps_to_mm with the reciprocal of axis_steps_per_mm
// and init stepper.count[], planner.position[] with current_position
planner.refresh_positioning();
#if ENABLED(PIDTEMP) #if ENABLED(PIDTEMP)
thermalManager.updatePID(); thermalManager.updatePID();
#endif #endif
@ -248,7 +242,7 @@ void MarlinSettings::postprocess() {
#endif #endif
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
set_z_fade_height(new_z_fade_height); set_z_fade_height(new_z_fade_height, false); // false = no report
#endif #endif
#if ENABLED(AUTO_BED_LEVELING_BILINEAR) #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
@ -260,12 +254,13 @@ void MarlinSettings::postprocess() {
stepper.refresh_motor_power(); stepper.refresh_motor_power();
#endif #endif
#if ENABLED(CNC_COORDINATE_SYSTEMS) // Refresh steps_to_mm with the reciprocal of axis_steps_per_mm
if (position_changed) { // and init stepper.count[], planner.position[] with current_position
report_current_position(); planner.refresh_positioning();
position_changed = false;
} // Various factors can change the current position
#endif if (memcmp(oldpos, current_position, sizeof(oldpos)))
report_current_position();
} }
#if ENABLED(EEPROM_SETTINGS) #if ENABLED(EEPROM_SETTINGS)
@ -1121,7 +1116,7 @@ void MarlinSettings::postprocess() {
// //
#if ENABLED(CNC_COORDINATE_SYSTEMS) #if ENABLED(CNC_COORDINATE_SYSTEMS)
position_changed = select_coordinate_system(-1); // Go back to machine space (void)select_coordinate_system(-1); // Go back to machine space
EEPROM_READ(coordinate_system); // 27 floats EEPROM_READ(coordinate_system); // 27 floats
#else #else
for (uint8_t q = 27; q--;) EEPROM_READ(dummy); for (uint8_t q = 27; q--;) EEPROM_READ(dummy);