diff --git a/Firmware/mmu2.cpp b/Firmware/mmu2.cpp index 6f120114a..1c47eab24 100644 --- a/Firmware/mmu2.cpp +++ b/Firmware/mmu2.cpp @@ -678,6 +678,7 @@ void MMU2::manage_response(const bool move_axes, const bool turn_off_nozzle) { } StepStatus MMU2::LogicStep() { + CheckUserInput(); // Process any buttons before proceeding with another MMU Query StepStatus ss = logic.Step(); switch (ss) { case Finished: @@ -686,27 +687,23 @@ StepStatus MMU2::LogicStep() { break; case CommandError: ReportError(logic.Error(), ErrorSourceMMU); - CheckUserInput(); break; case CommunicationTimeout: state = xState::Connecting; ReportError(ErrorCode::MMU_NOT_RESPONDING, ErrorSourcePrinter); - CheckUserInput(); break; case ProtocolError: state = xState::Connecting; ReportError(ErrorCode::PROTOCOL_ERROR, ErrorSourcePrinter); - CheckUserInput(); break; case VersionMismatch: StopKeepPowered(); ReportError(ErrorCode::VERSION_MISMATCH, ErrorSourcePrinter); - CheckUserInput(); break; case ButtonPushed: lastButton = logic.Button(); LogEchoEvent("MMU Button pushed"); - CheckUserInput(); + CheckUserInput(); // Process the button immediately break; default: break;