PFW-1503 Fix an issue where the menu is dismissed in First layer calibraiton

When the extruder lifts up after completing the Purge line,
 the baby stepping is not allowed for a short time. This dismisses
 the menu. We don't want this behavior, so only apply the Z-axis requirement
 when printing.

 Change in memory:
 Flash: +8 bytes
 SRAM: 0 bytes
This commit is contained in:
Guðni Már Gilbert 2023-03-18 12:47:40 +00:00
parent e40d8ebbcc
commit 942021cb2b
2 changed files with 6 additions and 4 deletions

View File

@ -373,7 +373,9 @@ bool check_fsensor();
//! 1) Z-axis position is less than 2.0mm (only allowed during the first couple of layers)
//! 2) Not allowed during Homing (printer busy)
//! 3) Not allowed during Mesh Bed Leveling (printer busy)
//! 4) Allowed if there are queued blocks OR there is a print job running
//! 4) Allowed if:
//! - First Layer Calibration is running
//! - OR there are queued blocks, printJob is running and it's not paused, and Z-axis position is less than 2.0mm (only allowed during the first couple of layers)
bool babystep_allowed();
extern void calculate_extruder_multipliers();

View File

@ -549,9 +549,9 @@ bool check_fsensor() {
}
bool __attribute__((noinline)) babystep_allowed() {
return ( (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU)
&& !homing_flag && !mesh_bed_leveling_flag
&& ( blocks_queued() || lcd_commands_type == LcdCommands::Layer1Cal || ( !isPrintPaused && printJobOngoing() ))
return ( !homing_flag
&& !mesh_bed_leveling_flag
&& ( lcd_commands_type == LcdCommands::Layer1Cal || ( blocks_queued() && !isPrintPaused && printJobOngoing() && (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU)))
);
}