optimisation: reduce code size in MMU filament menus
Change in memory: Flash: -156 bytes SRAM: 0 bytes
This commit is contained in:
parent
1881c5f086
commit
5bf9bf7507
|
|
@ -4811,17 +4811,24 @@ static inline void lcd_mmu_load_to_nozzle_wrapper(uint8_t index){
|
||||||
clearFilamentAction();
|
clearFilamentAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mmu_load_to_nozzle_menu() {
|
// Helper function to save code size by reducing duplicated code
|
||||||
|
// These menus are not time critical
|
||||||
|
static void mmu_common_choose_filament_menu(const char * label, void (*menuAction)(uint8_t))
|
||||||
|
{
|
||||||
MENU_BEGIN();
|
MENU_BEGIN();
|
||||||
ON_MENU_LEAVE(
|
ON_MENU_LEAVE(
|
||||||
clearFilamentAction();
|
clearFilamentAction();
|
||||||
);
|
);
|
||||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||||
for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++)
|
for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++)
|
||||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), i + '1', lcd_mmu_load_to_nozzle_wrapper, i);
|
MENU_ITEM_FUNCTION_NR_P(_T(label), i + '1', menuAction, i);
|
||||||
MENU_END();
|
MENU_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mmu_load_to_nozzle_menu() {
|
||||||
|
mmu_common_choose_filament_menu(MSG_LOAD_FILAMENT, lcd_mmu_load_to_nozzle_wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
static void mmu_eject_filament(uint8_t filament) {
|
static void mmu_eject_filament(uint8_t filament) {
|
||||||
menu_back();
|
menu_back();
|
||||||
MMU2::mmu2.eject_filament(filament, true);
|
MMU2::mmu2.eject_filament(filament, true);
|
||||||
|
|
@ -4831,14 +4838,7 @@ static void mmu_eject_filament(uint8_t filament) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mmu_fil_eject_menu() {
|
static void mmu_fil_eject_menu() {
|
||||||
MENU_BEGIN();
|
mmu_common_choose_filament_menu(MSG_EJECT_FROM_MMU, mmu_eject_filament);
|
||||||
ON_MENU_LEAVE(
|
|
||||||
clearFilamentAction();
|
|
||||||
);
|
|
||||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
|
||||||
for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++)
|
|
||||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FROM_MMU), i + '1', mmu_eject_filament, i);
|
|
||||||
MENU_END();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MMU_HAS_CUTTER
|
#ifdef MMU_HAS_CUTTER
|
||||||
|
|
@ -4847,14 +4847,7 @@ static inline void mmu_cut_filament_wrapper(uint8_t index){
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mmu_cut_filament_menu() {
|
static void mmu_cut_filament_menu() {
|
||||||
MENU_BEGIN();
|
mmu_common_choose_filament_menu(MSG_CUT_FILAMENT, mmu_cut_filament_wrapper);
|
||||||
ON_MENU_LEAVE(
|
|
||||||
clearFilamentAction();
|
|
||||||
);
|
|
||||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
|
||||||
for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++)
|
|
||||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), i + '1', mmu_cut_filament_wrapper, i);
|
|
||||||
MENU_END();
|
|
||||||
}
|
}
|
||||||
#endif //MMU_HAS_CUTTER
|
#endif //MMU_HAS_CUTTER
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue