Add a method to refresh bilinear bed level after a change

This commit is contained in:
Scott Lahteine 2017-04-21 22:45:02 -05:00
parent ccda63c473
commit 23cdbbb2d3
2 changed files with 17 additions and 7 deletions

View file

@ -2714,6 +2714,14 @@ static void clean_up_after_endstop_or_probe_move() {
} }
} }
#endif // ABL_BILINEAR_SUBDIVISION #endif // ABL_BILINEAR_SUBDIVISION
// Refresh after other values have been updated
void refresh_bed_level() {
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
bed_level_virt_interpolate();
#endif
}
#endif // AUTO_BED_LEVELING_BILINEAR #endif // AUTO_BED_LEVELING_BILINEAR
/** /**
@ -4730,8 +4738,9 @@ inline void gcode_G28() {
if (!dryrun) extrapolate_unprobed_bed_level(); if (!dryrun) extrapolate_unprobed_bed_level();
print_bilinear_leveling_grid(); print_bilinear_leveling_grid();
refresh_bed_level();
#if ENABLED(ABL_BILINEAR_SUBDIVISION) #if ENABLED(ABL_BILINEAR_SUBDIVISION)
bed_level_virt_interpolate();
bed_level_virt_print(); bed_level_virt_print();
#endif #endif

View file

@ -179,8 +179,8 @@ MarlinSettings settings;
#include "ubl.h" #include "ubl.h"
#endif #endif
#if ENABLED(ABL_BILINEAR_SUBDIVISION) #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
extern void bed_level_virt_interpolate(); extern void refresh_bed_level();
#endif #endif
/** /**
@ -218,6 +218,11 @@ void MarlinSettings::postprocess() {
#if HAS_BED_PROBE #if HAS_BED_PROBE
refresh_zprobe_zoffset(); refresh_zprobe_zoffset();
#endif #endif
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
refresh_bed_level();
//set_bed_leveling_enabled(leveling_is_on);
#endif
} }
#if ENABLED(EEPROM_SETTINGS) #if ENABLED(EEPROM_SETTINGS)
@ -753,10 +758,6 @@ void MarlinSettings::postprocess() {
EEPROM_READ(bilinear_grid_spacing); // 2 ints EEPROM_READ(bilinear_grid_spacing); // 2 ints
EEPROM_READ(bilinear_start); // 2 ints EEPROM_READ(bilinear_start); // 2 ints
EEPROM_READ(bed_level_grid); // 9 to 256 floats EEPROM_READ(bed_level_grid); // 9 to 256 floats
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
bed_level_virt_interpolate();
#endif
//set_bed_leveling_enabled(leveling_is_on);
} }
else // EEPROM data is stale else // EEPROM data is stale
#endif // AUTO_BED_LEVELING_BILINEAR #endif // AUTO_BED_LEVELING_BILINEAR