🔧 Fix Speed/Flow edit options (#27863)
Some checks failed
CI - Build Tests / Build Test (push) Waiting to run
CI - Unit Tests / Unit Test (push) Waiting to run
CI - Validate Pins Files / Validate Pins Files (push) Has been cancelled

Fixes #27849
This commit is contained in:
Scott Lahteine 2025-05-18 21:13:30 -05:00 committed by GitHub
parent 88a8e2127d
commit ade6dbf01e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 23 additions and 22 deletions

View file

@ -1673,11 +1673,12 @@
#endif // HAS_DISPLAY
#if HAS_FEEDRATE_EDIT
// Some displays offer Feedrate / Flow editing.
#if ANY(HAS_MARLINUI_MENU, DWIN_CREALITY_LCD, DWIN_LCD_PROUI, MALYAN_LCD, TOUCH_SCREEN, ULTIPANEL_FEEDMULTIPLY)
#define SPEED_EDIT_MIN 10 // (%) Feedrate percentage edit range minimum
#define SPEED_EDIT_MAX 999 // (%) Feedrate percentage edit range maximum
#endif
#if HAS_FLOW_EDIT
#if ANY(HAS_MARLINUI_MENU, DWIN_CREALITY_LCD, DWIN_LCD_PROUI, MALYAN_LCD, TOUCH_SCREEN)
#define FLOW_EDIT_MIN 10 // (%) Flow percentage edit range minimum
#define FLOW_EDIT_MAX 999 // (%) Flow percentage edit range maximum
#endif

View file

@ -667,9 +667,6 @@
#if HAS_EXTRUDERS && ANY(HAS_MARLINUI_MENU, DWIN_CREALITY_LCD, DWIN_LCD_PROUI, MALYAN_LCD, TOUCH_SCREEN)
#define HAS_FLOW_EDIT 1
#endif
#if ANY(HAS_MARLINUI_MENU, ULTIPANEL_FEEDMULTIPLY, DWIN_CREALITY_LCD, DWIN_LCD_PROUI, MALYAN_LCD, TOUCH_SCREEN)
#define HAS_FEEDRATE_EDIT 1
#endif
/**
* TFT Displays

View file

@ -560,11 +560,6 @@
#undef Z_CLEARANCE_DEPLOY_PROBE
#endif
#if !(ANY(HAS_BED_PROBE, BACKLASH_GCODE) || (ENABLED(EXTENSIBLE_UI) && ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)))
#undef Z_PROBE_FEEDRATE_FAST
#undef Z_PROBE_FEEDRATE_SLOW
#endif
/**
* Z_CLEARANCE_FOR_HOMING
*/

View file

@ -105,6 +105,10 @@
#endif
#endif
#if !(ANY(HAS_BED_PROBE, BACKLASH_GCODE) || (ENABLED(EXTENSIBLE_UI) && ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)))
#undef Z_PROBE_FEEDRATE_FAST
#undef Z_PROBE_FEEDRATE_SLOW
#endif
#if !HAS_BED_PROBE
#undef BABYSTEP_ZPROBE_OFFSET
#undef PROBING_USE_CURRENT_HOME

View file

@ -887,14 +887,14 @@ namespace ExtUI {
y_target = MESH_MIN_Y + pos.y * (MESH_Y_DIST);
if (x_target != current_position.x || y_target != current_position.y) {
// If moving across bed, raise nozzle to safe height over bed
feedrate_mm_s = MMM_TO_MMS(Z_PROBE_FEEDRATE_FAST);
feedrate_mm_s = z_probe_fast_mm_s;
destination.set(current_position.x, current_position.y, Z_CLEARANCE_BETWEEN_PROBES);
prepare_line_to_destination();
if (XY_PROBE_FEEDRATE_MM_S) feedrate_mm_s = XY_PROBE_FEEDRATE_MM_S;
destination.set(x_target, y_target);
prepare_line_to_destination();
}
feedrate_mm_s = MMM_TO_MMS(Z_PROBE_FEEDRATE_FAST);
feedrate_mm_s = z_probe_fast_mm_s;
destination.z = z;
prepare_line_to_destination();
#else

View file

@ -230,11 +230,12 @@ static void _lcd_goto_next_corner() {
);
}
// Probe down and return 'true' if the probe triggered
bool _lcd_bed_tramming_probe(const bool verify=false) {
if (verify) line_to_z(current_position.z + (BED_TRAMMING_Z_HOP)); // do clearance if needed
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 - BED_TRAMMING_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
if (verify) line_to_z(current_position.z + (BED_TRAMMING_Z_HOP)); // Do clearance if needed
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 - BED_TRAMMING_PROBE_TOLERANCE, z_probe_slow_mm_s); // Move down to lower tolerance
if (TEST(endstops.trigger_state(), Z_MIN_PROBE)) { // Probe triggered?
endstops.hit_on_purpose();
set_current_from_steppers_for_axis(Z_AXIS);
sync_plan_position();
@ -251,10 +252,10 @@ static void _lcd_goto_next_corner() {
if (TERN0(NEEDS_PROBE_DEPLOY, good_points == nr_edge_points - 1))
do_z_clearance(BED_TRAMMING_Z_HOP);
return true; // probe triggered
return true; // Triggered
}
line_to_z(last_z); // go back to tolerance middle point before raise
return false; // probe not triggered
line_to_z(last_z); // Go back to tolerance middle point before raise
return false; // Not triggered
}
bool _lcd_bed_tramming_raise() {

View file

@ -1990,7 +1990,7 @@ void prepare_line_to_destination() {
*/
feedRate_t get_homing_bump_feedrate(const AxisEnum axis) {
#if HOMING_Z_WITH_PROBE
if (axis == Z_AXIS) return MMM_TO_MMS(Z_PROBE_FEEDRATE_SLOW);
if (axis == Z_AXIS) return z_probe_slow_mm_s;
#endif
static const uint8_t homing_bump_divisor[] PROGMEM = HOMING_BUMP_DIVISOR;
uint8_t hbd = pgm_read_byte(&homing_bump_divisor[axis]);

View file

@ -71,7 +71,10 @@ extern xyz_pos_t cartes;
#define XY_PROBE_FEEDRATE_MM_S PLANNER_XY_FEEDRATE_MM_S
#endif
#if HAS_BED_PROBE
#ifdef Z_PROBE_FEEDRATE_SLOW
constexpr feedRate_t z_probe_slow_mm_s = MMM_TO_MMS(Z_PROBE_FEEDRATE_SLOW);
#endif
#ifdef Z_PROBE_FEEDRATE_FAST
constexpr feedRate_t z_probe_fast_mm_s = MMM_TO_MMS(Z_PROBE_FEEDRATE_FAST);
#endif

View file

@ -854,7 +854,7 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/, const_float_t z_min_p
// Probe downward slowly to find the bed
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Slow Probe:");
if (try_to_probe(PSTR("SLOW"), z_probe_low_point, MMM_TO_MMS(Z_PROBE_FEEDRATE_SLOW), sanity_check)) return NAN;
if (try_to_probe(PSTR("SLOW"), z_probe_low_point, z_probe_slow_mm_s, sanity_check)) return NAN;
TERN_(MEASURE_BACKLASH_WHEN_PROBING, backlash.measure_with_probe());