Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
committed by
Scott Lahteine
parent
e0bed1e344
commit
9ecfa1d252
@ -491,6 +491,7 @@ namespace Language_en {
|
||||
LSTR MSG_BLTOUCH_STOW = _UxGT("Stow");
|
||||
LSTR MSG_BLTOUCH_DEPLOY = _UxGT("Deploy");
|
||||
LSTR MSG_BLTOUCH_SW_MODE = _UxGT("SW-Mode");
|
||||
LSTR MSG_BLTOUCH_SPEED_MODE = _UxGT("High Speed");
|
||||
LSTR MSG_BLTOUCH_5V_MODE = _UxGT("5V-Mode");
|
||||
LSTR MSG_BLTOUCH_OD_MODE = _UxGT("OD-Mode");
|
||||
LSTR MSG_BLTOUCH_MODE_STORE = _UxGT("Mode-Store");
|
||||
|
@ -217,13 +217,13 @@ static void _lcd_level_bed_corners_get_next_position() {
|
||||
|
||||
bool _lcd_level_bed_corners_probe(bool verify=false) {
|
||||
if (verify) do_blocking_move_to_z(current_position.z + LEVEL_CORNERS_Z_HOP); // do clearance if needed
|
||||
TERN_(BLTOUCH_SLOW_MODE, bltouch.deploy()); // Deploy in LOW SPEED MODE on every probe action
|
||||
TERN_(BLTOUCH, if (!bltouch.high_speed_mode) bltouch.deploy()); // Deploy in LOW SPEED MODE on every probe action
|
||||
do_blocking_move_to_z(last_z - LEVEL_CORNERS_PROBE_TOLERANCE, MMM_TO_MMS(Z_PROBE_FEEDRATE_SLOW)); // Move down to lower tolerance
|
||||
if (TEST(endstops.trigger_state(), Z_MIN_PROBE)) { // check if probe triggered
|
||||
endstops.hit_on_purpose();
|
||||
set_current_from_steppers_for_axis(Z_AXIS);
|
||||
sync_plan_position();
|
||||
TERN_(BLTOUCH_SLOW_MODE, bltouch.stow()); // Stow in LOW SPEED MODE on every trigger
|
||||
TERN_(BLTOUCH, if (!bltouch.high_speed_mode) bltouch.stow()); // Stow in LOW SPEED MODE on every trigger
|
||||
// Triggered outside tolerance range?
|
||||
if (ABS(current_position.z - last_z) > LEVEL_CORNERS_PROBE_TOLERANCE) {
|
||||
last_z = current_position.z; // Above tolerance. Set a new Z for subsequent corners.
|
||||
@ -249,7 +249,7 @@ static void _lcd_level_bed_corners_get_next_position() {
|
||||
}
|
||||
idle();
|
||||
}
|
||||
TERN_(BLTOUCH_SLOW_MODE, bltouch.stow());
|
||||
TERN_(BLTOUCH, if (!bltouch.high_speed_mode) bltouch.stow());
|
||||
ui.goto_screen(_lcd_draw_probing);
|
||||
return (probe_triggered);
|
||||
}
|
||||
@ -263,13 +263,14 @@ static void _lcd_level_bed_corners_get_next_position() {
|
||||
do {
|
||||
ui.refresh(LCDVIEW_REDRAW_NOW);
|
||||
_lcd_draw_probing(); // update screen with # of good points
|
||||
do_blocking_move_to_z(SUM_TERN(BLTOUCH_HS_MODE, current_position.z + LEVEL_CORNERS_Z_HOP, 7)); // clearance
|
||||
|
||||
do_blocking_move_to_z(current_position.z + LEVEL_CORNERS_Z_HOP + TERN0(BLTOUCH, bltouch.z_extra_clearance())); // clearance
|
||||
|
||||
_lcd_level_bed_corners_get_next_position(); // Select next corner coordinates
|
||||
current_position -= probe.offset_xy; // Account for probe offsets
|
||||
do_blocking_move_to_xy(current_position); // Goto corner
|
||||
|
||||
TERN_(BLTOUCH_HS_MODE, bltouch.deploy()); // Deploy in HIGH SPEED MODE
|
||||
TERN_(BLTOUCH, if (bltouch.high_speed_mode) bltouch.deploy()); // Deploy in HIGH SPEED MODE
|
||||
if (!_lcd_level_bed_corners_probe()) { // Probe down to tolerance
|
||||
if (_lcd_level_bed_corners_raise()) { // Prompt user to raise bed if needed
|
||||
#if ENABLED(LEVEL_CORNERS_VERIFY_RAISED) // Verify
|
||||
@ -290,10 +291,12 @@ static void _lcd_level_bed_corners_get_next_position() {
|
||||
|
||||
} while (good_points < nr_edge_points); // loop until all points within tolerance
|
||||
|
||||
#if ENABLED(BLTOUCH_HS_MODE)
|
||||
// In HIGH SPEED MODE do clearance and stow at the very end
|
||||
do_blocking_move_to_z(current_position.z + LEVEL_CORNERS_Z_HOP);
|
||||
bltouch.stow();
|
||||
#if ENABLED(BLTOUCH)
|
||||
if (bltouch.high_speed_mode) {
|
||||
// In HIGH SPEED MODE do clearance and stow at the very end
|
||||
do_blocking_move_to_z(current_position.z + LEVEL_CORNERS_Z_HOP);
|
||||
bltouch.stow();
|
||||
}
|
||||
#endif
|
||||
|
||||
ui.goto_screen(_lcd_draw_level_prompt); // prompt for bed leveling
|
||||
|
@ -53,6 +53,8 @@
|
||||
#include "../../libs/buzzer.h"
|
||||
#endif
|
||||
|
||||
#include "../../core/debug_out.h"
|
||||
|
||||
#define HAS_DEBUG_MENU ENABLED(LCD_PROGRESS_BAR_TEST)
|
||||
|
||||
void menu_advanced_settings();
|
||||
@ -217,11 +219,14 @@ void menu_advanced_settings();
|
||||
|
||||
#if ENABLED(BLTOUCH_LCD_VOLTAGE_MENU)
|
||||
void bltouch_report() {
|
||||
SERIAL_ECHOLNPGM("EEPROM Last BLTouch Mode - ", bltouch.last_written_mode);
|
||||
SERIAL_ECHOLNPGM("Configuration BLTouch Mode - " TERN(BLTOUCH_SET_5V_MODE, "5V", "OD"));
|
||||
PGMSTR(mode0, "OD");
|
||||
PGMSTR(mode1, "5V");
|
||||
DEBUG_ECHOPGM("BLTouch Mode: ");
|
||||
DEBUG_ECHOPGM_P(bltouch.od_5v_mode ? mode1 : mode0);
|
||||
DEBUG_ECHOLNPGM(" (Default " TERN(BLTOUCH_SET_5V_MODE, "5V", "OD") ")");
|
||||
char mess[21];
|
||||
strcpy_P(mess, PSTR("BLTouch Mode - "));
|
||||
strcpy_P(&mess[15], bltouch.last_written_mode ? PSTR("5V") : PSTR("OD"));
|
||||
strcpy_P(mess, PSTR("BLTouch Mode: "));
|
||||
strcpy_P(&mess[15], bltouch.od_5v_mode ? mode1 : mode0);
|
||||
ui.set_status(mess);
|
||||
ui.return_to_status();
|
||||
}
|
||||
@ -235,6 +240,9 @@ void menu_advanced_settings();
|
||||
ACTION_ITEM(MSG_BLTOUCH_DEPLOY, bltouch._deploy);
|
||||
ACTION_ITEM(MSG_BLTOUCH_STOW, bltouch._stow);
|
||||
ACTION_ITEM(MSG_BLTOUCH_SW_MODE, bltouch._set_SW_mode);
|
||||
#ifdef BLTOUCH_HS_MODE
|
||||
EDIT_ITEM(bool, MSG_BLTOUCH_SPEED_MODE, &bltouch.high_speed_mode);
|
||||
#endif
|
||||
#if ENABLED(BLTOUCH_LCD_VOLTAGE_MENU)
|
||||
CONFIRM_ITEM(MSG_BLTOUCH_5V_MODE, MSG_BLTOUCH_5V_MODE, MSG_BUTTON_CANCEL, bltouch._set_5V_mode, nullptr, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE));
|
||||
CONFIRM_ITEM(MSG_BLTOUCH_OD_MODE, MSG_BLTOUCH_OD_MODE, MSG_BUTTON_CANCEL, bltouch._set_OD_mode, nullptr, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE));
|
||||
|
@ -36,6 +36,10 @@
|
||||
#include "../../module/probe.h"
|
||||
#include "../../gcode/queue.h"
|
||||
|
||||
#if ENABLED(BLTOUCH)
|
||||
#include "../../feature/bltouch.h"
|
||||
#endif
|
||||
|
||||
//#define DEBUG_OUT 1
|
||||
#include "../../core/debug_out.h"
|
||||
|
||||
@ -51,7 +55,7 @@ static int8_t reference_index; // = 0
|
||||
static bool probe_single_point() {
|
||||
do_blocking_move_to_z(TERN(BLTOUCH, Z_CLEARANCE_DEPLOY_PROBE, Z_CLEARANCE_BETWEEN_PROBES));
|
||||
// Stow after each point with BLTouch "HIGH SPEED" mode for push-pin safety
|
||||
const float z_probed_height = probe.probe_at_point(tramming_points[tram_index], TERN(BLTOUCH_HS_MODE, PROBE_PT_STOW, PROBE_PT_RAISE), 0, true);
|
||||
const float z_probed_height = probe.probe_at_point(tramming_points[tram_index], TERN0(BLTOUCH, bltouch.high_speed_mode) ? PROBE_PT_STOW : PROBE_PT_RAISE, 0, true);
|
||||
z_measured[tram_index] = z_probed_height;
|
||||
if (reference_index < 0) reference_index = tram_index;
|
||||
move_to_tramming_wait_pos();
|
||||
|
Reference in New Issue
Block a user