diff --git a/Firmware/mmu2.cpp b/Firmware/mmu2.cpp index c40856687..df2e093ad 100644 --- a/Firmware/mmu2.cpp +++ b/Firmware/mmu2.cpp @@ -555,6 +555,7 @@ void MMU2::manage_response(const bool move_axes, const bool turn_off_nozzle) { st_synchronize(); return; case VersionMismatch: // this basically means the MMU will be disabled until reconnected + CheckUserInput(); return; case CommunicationTimeout: case CommandError: @@ -597,6 +598,7 @@ StepStatus MMU2::LogicStep() { case VersionMismatch: StopKeepPowered(); ReportError(ErrorCode::VERSION_MISMATCH); + CheckUserInput(); break; default: break; diff --git a/Firmware/mmu2/errors_list.h b/Firmware/mmu2/errors_list.h index 827fd8385..7d7f94a0f 100644 --- a/Firmware/mmu2/errors_list.h +++ b/Firmware/mmu2/errors_list.h @@ -110,7 +110,7 @@ static const constexpr uint16_t errorCodes[] PROGMEM = { ERR_SYSTEM_INVALID_TOOL, ERR_SYSTEM_QUEUE_FULL, ERR_SYSTEM_FW_UPDATE_NEEDED, - ERR_SYSTEM_FW_UPDATE_NEEDED, + ERR_SYSTEM_FW_RUNTIME_ERROR, ERR_SYSTEM_UNLOAD_MANUALLY }; diff --git a/Firmware/mmu2_error_converter.cpp b/Firmware/mmu2_error_converter.cpp index 4db7c83f3..a450e848c 100644 --- a/Firmware/mmu2_error_converter.cpp +++ b/Firmware/mmu2_error_converter.cpp @@ -249,7 +249,7 @@ Buttons ButtonPressed(uint16_t ec) { break; case ERR_SYSTEM_FW_UPDATE_NEEDED: switch (buttonSelectedOperation) { - case ButtonOperations::DisableMMU: // "Restart MMU" + case ButtonOperations::DisableMMU: // "Disable" return DisableMMU; default: break;