diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index bb40ce76..13f04557 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -363,6 +363,8 @@ extern uint16_t print_time_remaining_silent; extern uint16_t mcode_in_progress; extern uint16_t gcode_in_progress; +extern bool wizard_active; //autoload temporarily disabled during wizard + #define PRINT_TIME_REMAINING_INIT 0xffff #define PRINT_PERCENT_DONE_INIT 0xff #define PRINTER_ACTIVE (IS_SD_PRINTING || is_usb_printing || isPrintPaused || (custom_message_type == CUSTOM_MSG_TYPE_TEMCAL) || saved_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL) || card.paused || mmu_print_saved) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 73c5070d..2544dce6 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -480,6 +480,8 @@ uint16_t print_time_remaining_normal = PRINT_TIME_REMAINING_INIT; //estimated re uint8_t print_percent_done_silent = PRINT_PERCENT_DONE_INIT; uint16_t print_time_remaining_silent = PRINT_TIME_REMAINING_INIT; //estimated remaining print time in minutes +bool wizard_active = false; //autoload temporarily disabled during wizard + //=========================================================================== //=============================Private Variables============================= //=========================================================================== @@ -7341,7 +7343,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s { if (mcode_in_progress != 600) //M600 not in progress { - if (!moves_planned() && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL)) + if (!moves_planned() && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LCD_COMMAND_V2_CAL) && !wizard_active) { if (fsensor_check_autoload()) { diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7a434a43..26736c95 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -4364,6 +4364,7 @@ void lcd_wizard(int state) { printf_P(PSTR("Wizard state: %d"), state); switch (state) { case 0: // run wizard? + wizard_active = true; wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(_i("Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"), false, true);////MSG_WIZARD_WELCOME c=20 r=7 if (wizard_event) { state = 1; @@ -4516,6 +4517,7 @@ void lcd_wizard(int state) { } if (state != 9) { lcd_show_fullscreen_message_and_wait_P(msg); + wizard_active = false; } lcd_update_enable(true); lcd_return_to_status();