Merge pull request #8456 from thinkyhead/bf2_wednesday_tweaks

[2.0] No retroactive adjustment with M851 Z
This commit is contained in:
Scott Lahteine
2017-11-18 04:49:53 -06:00
committed by GitHub
6 changed files with 8 additions and 63 deletions

View File

@@ -247,10 +247,6 @@ void MarlinSettings::postprocess() {
set_z_fade_height(new_z_fade_height);
#endif
#if HAS_BED_PROBE
refresh_zprobe_zoffset();
#endif
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
refresh_bed_level();
//set_bed_leveling_enabled(leveling_is_on);
@@ -355,9 +351,8 @@ void MarlinSettings::postprocess() {
sizeof(mbl.z_values) == GRID_MAX_POINTS * sizeof(mbl.z_values[0][0]),
"MBL Z array is the wrong size."
);
const bool leveling_is_on = mbl.has_mesh;
const uint8_t mesh_num_x = GRID_MAX_POINTS_X, mesh_num_y = GRID_MAX_POINTS_Y;
EEPROM_WRITE(leveling_is_on);
EEPROM_WRITE(mbl.has_mesh);
EEPROM_WRITE(mbl.z_offset);
EEPROM_WRITE(mesh_num_x);
EEPROM_WRITE(mesh_num_y);

View File

@@ -640,42 +640,6 @@ float probe_pt(const float &rx, const float &ry, const bool stow, const uint8_t
return measured_z;
}
void refresh_zprobe_zoffset(const bool no_babystep/*=false*/) {
static float last_zoffset = NAN;
if (!isnan(last_zoffset)) {
#if ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(BABYSTEP_ZPROBE_OFFSET) || ENABLED(DELTA)
const float diff = zprobe_zoffset - last_zoffset;
#endif
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
// Correct bilinear grid for new probe offset
if (diff) {
for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++)
for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++)
z_values[x][y] -= diff;
}
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
bed_level_virt_interpolate();
#endif
#endif
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
if (!no_babystep && planner.leveling_active)
thermalManager.babystep_axis(Z_AXIS, -LROUND(diff * planner.axis_steps_per_mm[Z_AXIS]));
#else
UNUSED(no_babystep);
#endif
#if ENABLED(DELTA) // correct the delta_height
delta_height -= diff;
#endif
}
last_zoffset = zprobe_zoffset;
}
#if HAS_Z_SERVO_ENDSTOP
void servo_probe_init() {

View File

@@ -34,7 +34,6 @@ float probe_pt(const float &rx, const float &ry, const bool, const uint8_t, cons
#if HAS_BED_PROBE
extern float zprobe_zoffset;
void refresh_zprobe_zoffset(const bool no_babystep=false);
#define DEPLOY_PROBE() set_probe_deployed(true)
#define STOW_PROBE() set_probe_deployed(false)
#else