Fix recursion

This commit is contained in:
Alex Voinea 2022-11-24 16:15:51 +01:00
parent 32673e1681
commit 83c9e946e4
1 changed files with 6 additions and 0 deletions

View File

@ -823,6 +823,7 @@ void print_stop();
void lcd_commands()
{
// printf_P(PSTR("lcd_commands begin, lcd_commands_type=%u, lcd_commands_step=%u\n"), (uint8_t)lcd_commands_type, lcd_commands_step);
if (planner_aborted) {
// we are still within an aborted command. do not process any LCD command until we return
return;
@ -1016,7 +1017,10 @@ void lcd_commands()
lcd_commands_step = 3;
break;
case 3:
lcd_update_enabled = false; //hack to avoid lcd_update recursion.
lcd_show_fullscreen_message_and_wait_P(_T(MSG_NOZZLE_CNG_READ_HELP));
lcd_update_enabled = true;
lcd_draw_update = 2; //force lcd clear and update after the stack unwinds.
enquecommand_P(PSTR("G28W"));
enquecommand_P(PSTR("G1 X125 Y10 Z150 F1000"));
enquecommand_P(PSTR("M109 S280"));
@ -1033,6 +1037,7 @@ void lcd_commands()
//|tightend to specs?
//| Yes No
enquecommand_P(PSTR("M84 XY"));
lcd_update_enabled = false; //hack to avoid lcd_update recursion.
if (lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_NOZZLE_CNG_CHANGED), false) == LCD_LEFT_BUTTON_CHOICE) {
#ifdef TEMP_MODEL
//enquecommand_P(PSTR("M310 S1"));
@ -1042,6 +1047,7 @@ void lcd_commands()
setTargetHotendSafe(0,0);
lcd_commands_step = 1;
}
lcd_update_enabled = true;
break;
case 1:
lcd_setstatuspgm(MSG_WELCOME);