Adding Probe wizard

This commit is contained in:
Brian Kahl 2021-08-31 10:28:34 -05:00
parent 673bf666b6
commit 6a568c5a20
4 changed files with 26 additions and 5 deletions

View File

@ -1258,17 +1258,21 @@
// Add Probe Z Offset calibration to the Z Probe Offsets menu // Add Probe Z Offset calibration to the Z Probe Offsets menu
#if HAS_BED_PROBE #if HAS_BED_PROBE
//#define PROBE_OFFSET_WIZARD #define PROBE_OFFSET_WIZARD
#if ENABLED(PROBE_OFFSET_WIZARD) #if ENABLED(PROBE_OFFSET_WIZARD)
// //
// Enable to init the Probe Z-Offset when starting the Wizard. // Enable to init the Probe Z-Offset when starting the Wizard.
// Use a height slightly above the estimated nozzle-to-probe Z offset. // Use a height slightly above the estimated nozzle-to-probe Z offset.
// For example, with an offset of -5, consider a starting height of -4. // For example, with an offset of -5, consider a starting height of -4.
// //
//#define PROBE_OFFSET_WIZARD_START_Z -4.0 #define PROBE_OFFSET_WIZARD_START_Z 1.0
// Set a convenient position to do the calibration (probing point and nozzle/bed-distance) // Set a convenient position to do the calibration (probing point and nozzle/bed-distance)
//#define PROBE_OFFSET_WIZARD_XY_POS { X_CENTER, Y_CENTER } #if ANY(Sidekick_289, Sidekick_747)
#define PROBE_OFFSET_WIZARD_XY_POS { X_CENTER, Y_CENTER }
#else
#define PROBE_OFFSET_WIZARD_XY_POS { -4, -4 }
#endif
#endif #endif
#endif #endif

View File

@ -290,6 +290,7 @@ namespace Language_en {
PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~"); PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~");
PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Nozzle Parked"); PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Nozzle Parked");
PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Nozzle Standby"); PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Nozzle Standby");
PROGMEM Language_Str MSG_NOZZLE_CLEAN = _UxGT("Clean Nozzle");
PROGMEM Language_Str MSG_BED = _UxGT("Bed"); PROGMEM Language_Str MSG_BED = _UxGT("Bed");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Enclosure"); PROGMEM Language_Str MSG_CHAMBER = _UxGT("Enclosure");
PROGMEM Language_Str MSG_COOLER = _UxGT("Laser Coolant"); PROGMEM Language_Str MSG_COOLER = _UxGT("Laser Coolant");

View File

@ -385,6 +385,20 @@ void menu_motion() {
GCODES_ITEM(MSG_AUTO_Z_ALIGN, PSTR("G34")); GCODES_ITEM(MSG_AUTO_Z_ALIGN, PSTR("G34"));
#endif #endif
//
// Clean Nozzle
//
#if defined(NOZZLE_CLEAN_FEATURE)
GCODES_ITEM(MSG_NOZZLE_CLEAN, PSTR("G28O\nM117 cleaning Nozzle\nG12\nM77\nM117 Nozzle Clean"));
#endif
//
// Z Probe Wizard
//
#if ENABLED(PROBE_OFFSET_WIZARD)
SUBMENU(MSG_PROBE_WIZARD, goto_probe_offset_wizard);
#endif
// //
// Assisted Bed Tramming // Assisted Bed Tramming
// //

View File

@ -80,7 +80,7 @@ void probe_offset_wizard_menu() {
STATIC_ITEM_P(PSTR("Z="), SS_CENTER, ftostr42_52(current_position.z)); STATIC_ITEM_P(PSTR("Z="), SS_CENTER, ftostr42_52(current_position.z));
STATIC_ITEM(MSG_ZPROBE_ZOFFSET, SS_LEFT, ftostr42_52(calculated_z_offset)); STATIC_ITEM(MSG_ZPROBE_ZOFFSET, SS_LEFT, ftostr42_52(calculated_z_offset));
SUBMENU(MSG_MOVE_1MM, []{ _goto_manual_move_z( 1); }); //SUBMENU(MSG_MOVE_1MM, []{ _goto_manual_move_z( 1); });
SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move_z( 0.1f); }); SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move_z( 0.1f); });
if ((FINE_MANUAL_MOVE) > 0.0f && (FINE_MANUAL_MOVE) < 0.1f) { if ((FINE_MANUAL_MOVE) > 0.0f && (FINE_MANUAL_MOVE) < 0.1f) {
@ -131,6 +131,7 @@ void prepare_for_probe_offset_wizard() {
#endif #endif
// Get X and Y from configuration, or use center // Get X and Y from configuration, or use center
constexpr xy_pos_t wizard_pos = PROBE_OFFSET_WIZARD_XY_POS; constexpr xy_pos_t wizard_pos = PROBE_OFFSET_WIZARD_XY_POS;
constexpr xy_pos_t wizard_pos_center = XY_CENTER;
// Probe for Z reference // Probe for Z reference
ui.wait_for_move = true; ui.wait_for_move = true;
@ -146,7 +147,8 @@ void prepare_for_probe_offset_wizard() {
// Move Nozzle to Probing/Homing Position // Move Nozzle to Probing/Homing Position
ui.wait_for_move = true; ui.wait_for_move = true;
current_position += probe.offset_xy; do_blocking_move_to_xy(wizard_pos_center); // move to center of bed
//current_position += probe.offset_xy;
line_to_current_position(MMM_TO_MMS(XY_PROBE_FEEDRATE)); line_to_current_position(MMM_TO_MMS(XY_PROBE_FEEDRATE));
ui.synchronize(GET_TEXT(MSG_PROBE_WIZARD_MOVING)); ui.synchronize(GET_TEXT(MSG_PROBE_WIZARD_MOVING));
ui.wait_for_move = false; ui.wait_for_move = false;