From 7a1b47c340b357161663be96c6e51d5e580d6972 Mon Sep 17 00:00:00 2001 From: Marek Bel Date: Tue, 26 Feb 2019 11:11:05 +0100 Subject: [PATCH] Convert functions mmu_eject_fil_0 to mmu_eject_fil_4 to template function. --- Firmware/mmu.cpp | 36 ----------------------------- Firmware/mmu.h | 5 ---- Firmware/ultralcd.cpp | 53 ++++++++++++++++++++++++------------------- 3 files changed, 30 insertions(+), 64 deletions(-) diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index 158b3cb7..c77276be 100644 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -1183,42 +1183,6 @@ void extr_adj_4() #endif } - -void mmu_eject_fil_0() -{ -//-// - menu_back(); - mmu_eject_filament(0, true); -} - -void mmu_eject_fil_1() -{ -//-// - menu_back(); - mmu_eject_filament(1, true); -} - -void mmu_eject_fil_2() -{ -//-// - menu_back(); - mmu_eject_filament(2, true); -} - -void mmu_eject_fil_3() -{ -//-// - menu_back(); - mmu_eject_filament(3, true); -} - -void mmu_eject_fil_4() -{ -//-// - menu_back(); - mmu_eject_filament(4, true); -} - void load_all() { #ifndef SNMM diff --git a/Firmware/mmu.h b/Firmware/mmu.h index b2f9cefb..3b0d4186 100644 --- a/Firmware/mmu.h +++ b/Firmware/mmu.h @@ -127,11 +127,6 @@ extern bool mmu_check_version(); extern void mmu_show_warning(); extern void lcd_mmu_load_to_nozzle(uint8_t filament_nr); extern void mmu_eject_filament(uint8_t filament, bool recover); -extern void mmu_eject_fil_0(); -extern void mmu_eject_fil_1(); -extern void mmu_eject_fil_2(); -extern void mmu_eject_fil_3(); -extern void mmu_eject_fil_4(); extern void mmu_continue_loading(); extern void mmu_filament_ramming(); extern void mmu_wait_for_heater_blocking(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 339d5195..00c939bb 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -4745,7 +4745,7 @@ static void lcd_wizard_unload() } else { - mmu_eject_fil_0(); + mmu_eject_filament(0, true); } } else @@ -5717,30 +5717,37 @@ else { } } +template +static void mmu_eject_filament() +{ + menu_back(); + mmu_eject_filament(filament, true); +} + static void mmu_fil_eject_menu() { -//-//if (degHotend0() > EXTRUDE_MINTEMP) -if(bFilamentAction) -{ - MENU_BEGIN(); - MENU_ITEM_BACK_P(_T(MSG_MAIN)); - MENU_ITEM_FUNCTION_P(_i("Eject filament 1"), mmu_eject_fil_0); - MENU_ITEM_FUNCTION_P(_i("Eject filament 2"), mmu_eject_fil_1); - MENU_ITEM_FUNCTION_P(_i("Eject filament 3"), mmu_eject_fil_2); - MENU_ITEM_FUNCTION_P(_i("Eject filament 4"), mmu_eject_fil_3); - MENU_ITEM_FUNCTION_P(_i("Eject filament 5"), mmu_eject_fil_4); - MENU_END(); -} -else { - eFilamentAction=e_FILAMENT_ACTION_mmuEject; - bFilamentFirstRun=false; - if(target_temperature[0]>=EXTRUDE_MINTEMP) - { - bFilamentPreheatState=true; - mFilamentItem(target_temperature[0],target_temperature_bed); - } - else mFilamentMenu(); - } + if(bFilamentAction) + { + MENU_BEGIN(); + MENU_ITEM_BACK_P(_T(MSG_MAIN)); + MENU_ITEM_FUNCTION_P(_i("Eject filament 1"), mmu_eject_filament<0>); + MENU_ITEM_FUNCTION_P(_i("Eject filament 2"), mmu_eject_filament<1>); + MENU_ITEM_FUNCTION_P(_i("Eject filament 3"), mmu_eject_filament<2>); + MENU_ITEM_FUNCTION_P(_i("Eject filament 4"), mmu_eject_filament<3>); + MENU_ITEM_FUNCTION_P(_i("Eject filament 5"), mmu_eject_filament<4>); + MENU_END(); + } + else + { + eFilamentAction=e_FILAMENT_ACTION_mmuEject; + bFilamentFirstRun=false; + if(target_temperature[0]>=EXTRUDE_MINTEMP) + { + bFilamentPreheatState=true; + mFilamentItem(target_temperature[0],target_temperature_bed); + } + else mFilamentMenu(); + } } #ifdef SNMM