|
|
@ -68,7 +68,7 @@ |
|
|
|
* 219 z_fade_height (float) |
|
|
|
* |
|
|
|
* MESH_BED_LEVELING: 43 bytes |
|
|
|
* 223 M420 S from mbl.status (bool) |
|
|
|
* 223 M420 S planner.leveling_active (bool) |
|
|
|
* 224 mbl.z_offset (float) |
|
|
|
* 228 GRID_MAX_POINTS_X (uint8_t) |
|
|
|
* 229 GRID_MAX_POINTS_Y (uint8_t) |
|
|
@ -88,7 +88,7 @@ |
|
|
|
* 316 z_values[][] (float x9, up to float x256) +988 |
|
|
|
* |
|
|
|
* AUTO_BED_LEVELING_UBL: 2 bytes |
|
|
|
* 324 G29 A ubl.state.active (bool) |
|
|
|
* 324 G29 A planner.leveling_active (bool) |
|
|
|
* 325 G29 S ubl.state.storage_slot (int8_t) |
|
|
|
* |
|
|
|
* DELTA: 48 bytes |
|
|
@ -202,6 +202,10 @@ MarlinSettings settings; |
|
|
|
#include "../feature/fwretract.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
float new_z_fade_height; |
|
|
|
#endif |
|
|
|
|
|
|
|
/**
|
|
|
|
* Post-process after Retrieve or Reset |
|
|
|
*/ |
|
|
@ -231,7 +235,7 @@ void MarlinSettings::postprocess() { |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
set_z_fade_height(planner.z_fade_height); |
|
|
|
set_z_fade_height(new_z_fade_height); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if HAS_BED_PROBE |
|
|
@ -329,7 +333,7 @@ void MarlinSettings::postprocess() { |
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
const float zfh = planner.z_fade_height; |
|
|
|
#else |
|
|
|
const float zfh = 10.0; |
|
|
|
const float zfh = 0.0; |
|
|
|
#endif |
|
|
|
EEPROM_WRITE(zfh); |
|
|
|
|
|
|
@ -343,7 +347,7 @@ 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 = TEST(mbl.status, MBL_STATUS_HAS_MESH_BIT); |
|
|
|
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.z_offset); |
|
|
@ -406,7 +410,7 @@ void MarlinSettings::postprocess() { |
|
|
|
#endif // AUTO_BED_LEVELING_BILINEAR
|
|
|
|
|
|
|
|
#if ENABLED(AUTO_BED_LEVELING_UBL) |
|
|
|
EEPROM_WRITE(ubl.state.active); |
|
|
|
EEPROM_WRITE(planner.leveling_active); |
|
|
|
EEPROM_WRITE(ubl.state.storage_slot); |
|
|
|
#else |
|
|
|
const bool ubl_active = false; |
|
|
@ -720,7 +724,7 @@ void MarlinSettings::postprocess() { |
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
EEPROM_READ(planner.z_fade_height); |
|
|
|
EEPROM_READ(new_z_fade_height); |
|
|
|
#else |
|
|
|
EEPROM_READ(dummy); |
|
|
|
#endif |
|
|
@ -737,7 +741,7 @@ void MarlinSettings::postprocess() { |
|
|
|
EEPROM_READ(mesh_num_y); |
|
|
|
|
|
|
|
#if ENABLED(MESH_BED_LEVELING) |
|
|
|
mbl.status = leveling_is_on ? _BV(MBL_STATUS_HAS_MESH_BIT) : 0; |
|
|
|
mbl.has_mesh = leveling_is_on; |
|
|
|
mbl.z_offset = dummy; |
|
|
|
if (mesh_num_x == GRID_MAX_POINTS_X && mesh_num_y == GRID_MAX_POINTS_Y) { |
|
|
|
// EEPROM data fits the current mesh
|
|
|
@ -793,7 +797,7 @@ void MarlinSettings::postprocess() { |
|
|
|
} |
|
|
|
|
|
|
|
#if ENABLED(AUTO_BED_LEVELING_UBL) |
|
|
|
EEPROM_READ(ubl.state.active); |
|
|
|
EEPROM_READ(planner.leveling_active); |
|
|
|
EEPROM_READ(ubl.state.storage_slot); |
|
|
|
#else |
|
|
|
uint8_t dummyui8; |
|
|
@ -1156,7 +1160,7 @@ void MarlinSettings::reset() { |
|
|
|
planner.max_jerk[E_AXIS] = DEFAULT_EJERK; |
|
|
|
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
planner.z_fade_height = 0.0; |
|
|
|
new_z_fade_height = 0.0; |
|
|
|
#endif |
|
|
|
|
|
|
|
#if HAS_HOME_OFFSET |
|
|
@ -1556,9 +1560,9 @@ void MarlinSettings::reset() { |
|
|
|
SERIAL_ECHOLNPGM(":"); |
|
|
|
} |
|
|
|
CONFIG_ECHO_START; |
|
|
|
SERIAL_ECHOPAIR(" M420 S", LEVELING_IS_ACTIVE() ? 1 : 0); |
|
|
|
SERIAL_ECHOPAIR(" M420 S", planner.leveling_active ? 1 : 0); |
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
SERIAL_ECHOPAIR(" Z", planner.z_fade_height); |
|
|
|
SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height)); |
|
|
|
#endif |
|
|
|
SERIAL_EOL(); |
|
|
|
|
|
|
@ -1578,7 +1582,7 @@ void MarlinSettings::reset() { |
|
|
|
SERIAL_ECHOLNPGM("Auto Bed Leveling:"); |
|
|
|
} |
|
|
|
CONFIG_ECHO_START; |
|
|
|
SERIAL_ECHOPAIR(" M420 S", LEVELING_IS_ACTIVE() ? 1 : 0); |
|
|
|
SERIAL_ECHOPAIR(" M420 S", planner.leveling_active ? 1 : 0); |
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height)); |
|
|
|
#endif |
|
|
|