From 326c8492b53cea2bd964f646f43b6fe1170e71e9 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 21 Feb 2019 00:38:10 +0100 Subject: [PATCH 1/2] Move extruder forth and back after filament detected by sensor to detect bad load. --- Firmware/mmu.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 5e1e5471a..2cb654085 100644 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -1418,11 +1418,16 @@ static void load_more() { for (uint8_t i = 0; i < MMU_IDLER_SENSOR_ATTEMPTS_NR; i++) { - if (PIN_GET(IR_SENSOR_PIN) == 0) return; + if (PIN_GET(IR_SENSOR_PIN) == 0) break; DEBUG_PRINTF_P(PSTR("Additional load attempt nr. %d\n"), i); mmu_command(MmuCmd::C0); manage_response(true, true, MMU_LOAD_MOVE); } + current_position[E_AXIS] += 60; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], MMU_LOAD_FEEDRATE, active_extruder); + current_position[E_AXIS] -= 58; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], MMU_LOAD_FEEDRATE, active_extruder); + st_synchronize(); } void mmu_continue_loading() From 8b858286ac5a27a90b2ff1eec3e06b5df7c3e7a2 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Thu, 21 Feb 2019 02:30:01 +0100 Subject: [PATCH 2/2] Document. --- Firmware/mmu.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 2cb654085..a51b708f2 100644 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -1414,6 +1414,12 @@ bFilamentAction=false; } } +//! @brief load more +//! +//! Try to feed more filament from MMU if it is not detected by filament sensor. +//! Move filament back and forth to nozzle in order to detect jam. +//! If PTFE tube is jammed, this cause filament to be unloaded and no longer +//! detected by pulley IR sensor in next step. static void load_more() { for (uint8_t i = 0; i < MMU_IDLER_SENSOR_ATTEMPTS_NR; i++)