Tweaks to Z fade behavior

This commit is contained in:
Scott Lahteine 2019-09-26 01:15:35 -05:00
parent 1f48eaf03a
commit ee7558a622
4 changed files with 25 additions and 28 deletions

View file

@ -130,23 +130,25 @@ TemporaryBedLevelingState::TemporaryBedLevelingState(const bool enable) : saved(
*/ */
void reset_bed_level() { void reset_bed_level() {
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("reset_bed_level"); if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("reset_bed_level");
set_bed_leveling_enabled(false); #if ENABLED(AUTO_BED_LEVELING_UBL)
#if ENABLED(MESH_BED_LEVELING)
mbl.reset();
#elif ENABLED(AUTO_BED_LEVELING_UBL)
ubl.reset(); ubl.reset();
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR) #else
bilinear_start[X_AXIS] = bilinear_start[Y_AXIS] = set_bed_leveling_enabled(false);
bilinear_grid_spacing[X_AXIS] = bilinear_grid_spacing[Y_AXIS] = 0; #if ENABLED(MESH_BED_LEVELING)
for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) mbl.reset();
for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) { #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
z_values[x][y] = NAN; bilinear_start[X_AXIS] = bilinear_start[Y_AXIS] =
#if ENABLED(EXTENSIBLE_UI) bilinear_grid_spacing[X_AXIS] = bilinear_grid_spacing[Y_AXIS] = 0;
ExtUI::onMeshUpdate(x, y, 0); for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++)
#endif for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) {
} z_values[x][y] = NAN;
#elif ABL_PLANAR #if ENABLED(EXTENSIBLE_UI)
planner.bed_level_matrix.set_to_identity(); ExtUI::onMeshUpdate(x, y, 0);
#endif
}
#elif ABL_PLANAR
planner.bed_level_matrix.set_to_identity();
#endif
#endif #endif
} }

View file

@ -97,9 +97,6 @@
const bool was_enabled = planner.leveling_active; const bool was_enabled = planner.leveling_active;
set_bed_leveling_enabled(false); set_bed_leveling_enabled(false);
storage_slot = -1; storage_slot = -1;
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
planner.set_z_fade_height(10.0);
#endif
ZERO(z_values); ZERO(z_values);
#if ENABLED(EXTENSIBLE_UI) #if ENABLED(EXTENSIBLE_UI)
for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++)

View file

@ -2061,7 +2061,7 @@ void MarlinSettings::postprocess() {
} }
else { else {
ubl.reset(); ubl.reset();
DEBUG_ECHOLNPGM("UBL System reset()"); DEBUG_ECHOLNPGM("UBL reset");
} }
} }
#endif #endif

View file

@ -411,15 +411,13 @@ class Planner {
*/ */
static inline float fade_scaling_factor_for_z(const float &rz) { static inline float fade_scaling_factor_for_z(const float &rz) {
static float z_fade_factor = 1; static float z_fade_factor = 1;
if (z_fade_height) { if (!z_fade_height) return 1;
if (rz >= z_fade_height) return 0; if (rz >= z_fade_height) return 0;
if (last_fade_z != rz) { if (last_fade_z != rz) {
last_fade_z = rz; last_fade_z = rz;
z_fade_factor = 1 - rz * inverse_z_fade_height; z_fade_factor = 1 - rz * inverse_z_fade_height;
}
return z_fade_factor;
} }
return 1; return z_fade_factor;
} }
FORCE_INLINE static void force_fade_recalc() { last_fade_z = -999.999f; } FORCE_INLINE static void force_fade_recalc() { last_fade_z = -999.999f; }