|
|
@ -497,8 +497,7 @@
|
|
|
|
SERIAL_ECHOLNPGM("Checking G29 has control of LCD Panel:");
|
|
|
|
SERIAL_ECHOLNPGM("Checking G29 has control of LCD Panel:");
|
|
|
|
wait_for_user = true;
|
|
|
|
wait_for_user = true;
|
|
|
|
while (wait_for_user) {
|
|
|
|
while (wait_for_user) {
|
|
|
|
idle();
|
|
|
|
safe_delay(250);
|
|
|
|
delay(250);
|
|
|
|
|
|
|
|
SERIAL_ECHO((int)ubl_encoderDiff);
|
|
|
|
SERIAL_ECHO((int)ubl_encoderDiff);
|
|
|
|
ubl_encoderDiff = 0;
|
|
|
|
ubl_encoderDiff = 0;
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
@ -644,7 +643,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ubl_has_control_of_lcd_panel = false;
|
|
|
|
ubl_has_control_of_lcd_panel = false;
|
|
|
|
delay(20); // We don't want any switch noise.
|
|
|
|
safe_delay(20); // We don't want any switch noise.
|
|
|
|
|
|
|
|
|
|
|
|
ubl.state.z_offset = measured_z;
|
|
|
|
ubl.state.z_offset = measured_z;
|
|
|
|
|
|
|
|
|
|
|
@ -734,7 +733,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ubl_has_control_of_lcd_panel = false;
|
|
|
|
ubl_has_control_of_lcd_panel = false;
|
|
|
|
restore_ubl_active_state_and_leave();
|
|
|
|
restore_ubl_active_state_and_leave();
|
|
|
|
delay(50); // Debounce the Encoder wheel
|
|
|
|
safe_delay(50); // Debounce the Encoder wheel
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1113,7 +1112,7 @@
|
|
|
|
else
|
|
|
|
else
|
|
|
|
SERIAL_PROTOCOLPGM("In");
|
|
|
|
SERIAL_PROTOCOLPGM("In");
|
|
|
|
SERIAL_PROTOCOLLNPGM("ctive.\n");
|
|
|
|
SERIAL_PROTOCOLLNPGM("ctive.\n");
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
if (ubl.state.eeprom_storage_slot == -1)
|
|
|
|
if (ubl.state.eeprom_storage_slot == -1)
|
|
|
|
SERIAL_PROTOCOLPGM("No Mesh Loaded.");
|
|
|
|
SERIAL_PROTOCOLPGM("No Mesh Loaded.");
|
|
|
@ -1123,7 +1122,7 @@
|
|
|
|
SERIAL_PROTOCOLPGM(" Loaded.");
|
|
|
|
SERIAL_PROTOCOLPGM(" Loaded.");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
|
|
|
|
SERIAL_PROTOCOLPAIR("g29_correction_fade_height : ", ubl.state.g29_correction_fade_height);
|
|
|
|
SERIAL_PROTOCOLPAIR("g29_correction_fade_height : ", ubl.state.g29_correction_fade_height);
|
|
|
@ -1133,13 +1132,13 @@
|
|
|
|
SERIAL_PROTOCOLPGM("z_offset: ");
|
|
|
|
SERIAL_PROTOCOLPGM("z_offset: ");
|
|
|
|
SERIAL_PROTOCOL_F(ubl.state.z_offset, 6);
|
|
|
|
SERIAL_PROTOCOL_F(ubl.state.z_offset, 6);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLPGM("X-Axis Mesh Points at: ");
|
|
|
|
SERIAL_PROTOCOLPGM("X-Axis Mesh Points at: ");
|
|
|
|
for (uint8_t i = 0; i < UBL_MESH_NUM_X_POINTS; i++) {
|
|
|
|
for (uint8_t i = 0; i < UBL_MESH_NUM_X_POINTS; i++) {
|
|
|
|
SERIAL_PROTOCOL_F( ubl.map_x_index_to_bed_location(i), 1);
|
|
|
|
SERIAL_PROTOCOL_F( ubl.map_x_index_to_bed_location(i), 1);
|
|
|
|
SERIAL_PROTOCOLPGM(" ");
|
|
|
|
SERIAL_PROTOCOLPGM(" ");
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
|
|
|
|
|
|
|
@ -1147,7 +1146,7 @@
|
|
|
|
for (uint8_t i = 0; i < UBL_MESH_NUM_Y_POINTS; i++) {
|
|
|
|
for (uint8_t i = 0; i < UBL_MESH_NUM_Y_POINTS; i++) {
|
|
|
|
SERIAL_PROTOCOL_F( ubl.map_y_index_to_bed_location(i), 1);
|
|
|
|
SERIAL_PROTOCOL_F( ubl.map_y_index_to_bed_location(i), 1);
|
|
|
|
SERIAL_PROTOCOLPGM(" ");
|
|
|
|
SERIAL_PROTOCOLPGM(" ");
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
|
|
|
|
|
|
|
@ -1156,13 +1155,13 @@
|
|
|
|
SERIAL_PROTOCOLLNPAIR(" state:", READ(KILL_PIN));
|
|
|
|
SERIAL_PROTOCOLLNPAIR(" state:", READ(KILL_PIN));
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLLNPAIR("ubl_state_at_invocation :", ubl_state_at_invocation);
|
|
|
|
SERIAL_PROTOCOLLNPAIR("ubl_state_at_invocation :", ubl_state_at_invocation);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_PROTOCOLLNPAIR("ubl_state_recursion_chk :", ubl_state_recursion_chk);
|
|
|
|
SERIAL_PROTOCOLLNPAIR("ubl_state_recursion_chk :", ubl_state_recursion_chk);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
SERIAL_PROTOCOLPGM("Free EEPROM space starts at: 0x");
|
|
|
|
SERIAL_PROTOCOLPGM("Free EEPROM space starts at: 0x");
|
|
|
|
prt_hex_word(ubl_eeprom_start);
|
|
|
|
prt_hex_word(ubl_eeprom_start);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
@ -1170,42 +1169,42 @@
|
|
|
|
SERIAL_PROTOCOLPGM("end of EEPROM : ");
|
|
|
|
SERIAL_PROTOCOLPGM("end of EEPROM : ");
|
|
|
|
prt_hex_word(E2END);
|
|
|
|
prt_hex_word(E2END);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLLNPAIR("sizeof(ubl) : ", (int)sizeof(ubl));
|
|
|
|
SERIAL_PROTOCOLLNPAIR("sizeof(ubl) : ", (int)sizeof(ubl));
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_PROTOCOLLNPAIR("z_value[][] size: ", (int)sizeof(z_values));
|
|
|
|
SERIAL_PROTOCOLLNPAIR("z_value[][] size: ", (int)sizeof(z_values));
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLPGM("EEPROM free for UBL: 0x");
|
|
|
|
SERIAL_PROTOCOLPGM("EEPROM free for UBL: 0x");
|
|
|
|
prt_hex_word(k);
|
|
|
|
prt_hex_word(k);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLPGM("EEPROM can hold 0x");
|
|
|
|
SERIAL_PROTOCOLPGM("EEPROM can hold 0x");
|
|
|
|
prt_hex_word(k / sizeof(z_values));
|
|
|
|
prt_hex_word(k / sizeof(z_values));
|
|
|
|
SERIAL_PROTOCOLLNPGM(" meshes.\n");
|
|
|
|
SERIAL_PROTOCOLLNPGM(" meshes.\n");
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLPGM("sizeof(ubl.state) :");
|
|
|
|
SERIAL_PROTOCOLPGM("sizeof(ubl.state) :");
|
|
|
|
prt_hex_word(sizeof(ubl.state));
|
|
|
|
prt_hex_word(sizeof(ubl.state));
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_NUM_X_POINTS ", UBL_MESH_NUM_X_POINTS);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_NUM_X_POINTS ", UBL_MESH_NUM_X_POINTS);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_NUM_Y_POINTS ", UBL_MESH_NUM_Y_POINTS);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_NUM_Y_POINTS ", UBL_MESH_NUM_Y_POINTS);
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_MIN_X ", UBL_MESH_MIN_X);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_MIN_X ", UBL_MESH_MIN_X);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_MIN_Y ", UBL_MESH_MIN_Y);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_MIN_Y ", UBL_MESH_MIN_Y);
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_MAX_X ", UBL_MESH_MAX_X);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_MAX_X ", UBL_MESH_MAX_X);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_MAX_Y ", UBL_MESH_MAX_Y);
|
|
|
|
SERIAL_PROTOCOLPAIR("\nUBL_MESH_MAX_Y ", UBL_MESH_MAX_Y);
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
SERIAL_PROTOCOLPGM("\nMESH_X_DIST ");
|
|
|
|
SERIAL_PROTOCOLPGM("\nMESH_X_DIST ");
|
|
|
|
SERIAL_PROTOCOL_F(MESH_X_DIST, 6);
|
|
|
|
SERIAL_PROTOCOL_F(MESH_X_DIST, 6);
|
|
|
|
SERIAL_PROTOCOLPGM("\nMESH_Y_DIST ");
|
|
|
|
SERIAL_PROTOCOLPGM("\nMESH_Y_DIST ");
|
|
|
|
SERIAL_PROTOCOL_F(MESH_Y_DIST, 6);
|
|
|
|
SERIAL_PROTOCOL_F(MESH_Y_DIST, 6);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
delay(50);
|
|
|
|
safe_delay(50);
|
|
|
|
|
|
|
|
|
|
|
|
if (!ubl.sanity_check())
|
|
|
|
if (!ubl.sanity_check())
|
|
|
|
SERIAL_PROTOCOLLNPGM("Unified Bed Leveling sanity checks passed.");
|
|
|
|
SERIAL_PROTOCOLLNPGM("Unified Bed Leveling sanity checks passed.");
|
|
|
@ -1408,7 +1407,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
delay(20); // We don't want any switch noise.
|
|
|
|
safe_delay(20); // We don't want any switch noise.
|
|
|
|
|
|
|
|
|
|
|
|
z_values[location.x_index][location.y_index] = new_z;
|
|
|
|
z_values[location.x_index][location.y_index] = new_z;
|
|
|
|
|
|
|
|
|
|
|
|