From b13ff8e424bfd69291dc90714d05bd6d0129be82 Mon Sep 17 00:00:00 2001 From: PavelSindler <sindlerpa@gmail.com> Date: Sun, 26 Aug 2018 22:08:52 +0200 Subject: [PATCH] Wait for ok after U0 (unload current filament) command. --- Firmware/mmu.cpp | 9 +++++++-- Firmware/mmu.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 196455db..623574ae 100644 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -180,6 +180,12 @@ void mmu_loop(void) mmu_puts_P(PSTR("C0\n")); //send continue loading mmu_state = 3; } + else if (mmu_cmd == MMU_CMD_U0) + { + printf_P(PSTR("MMU <= 'U0'\n")); + mmu_puts_P(PSTR("U0\n")); //send continue loading + mmu_state = 3; + } mmu_cmd = 0; } else if ((mmu_last_response + 1000) < millis()) //request every 1s @@ -588,9 +594,8 @@ void extr_unload() current_position[E_AXIS] -= 80; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2500 / 60, active_extruder); st_synchronize(); - printf_P(PSTR("U0\n")); - fprintf_P(uart2io, PSTR("U0\n")); + mmu_command(MMU_CMD_U0); // get response manage_response(false, true); diff --git a/Firmware/mmu.h b/Firmware/mmu.h index a24dc4cc..05f8e358 100644 --- a/Firmware/mmu.h +++ b/Firmware/mmu.h @@ -29,6 +29,7 @@ extern int16_t mmu_buildnr; #define MMU_CMD_L3 0x23 #define MMU_CMD_L4 0x24 #define MMU_CMD_C0 0x30 +#define MMU_CMD_U0 0x40 extern int mmu_puts_P(const char* str);