Skip to content

Commit

Permalink
simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkyhead committed Mar 13, 2021
1 parent cc01c82 commit 61565c5
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 144 deletions.
14 changes: 7 additions & 7 deletions Marlin/Configuration_adv.h
Original file line number Diff line number Diff line change
Expand Up @@ -3455,28 +3455,28 @@
//#define CUSTOM_USER_MENU_TITLE "Custom Commands"
#define USER_SCRIPT_DONE "M117 User Script Done"
#define USER_SCRIPT_AUDIBLE_FEEDBACK
//#define USER_SCRIPT_RETURN // Return to status screen after a script
#define CUSTOM_MENU_ONLY_IDLE // Only show custom menu when idle
//#define USER_SCRIPT_RETURN // Return to status screen after a script
#define CUSTOM_MENU_ONLY_IDLE // Only show custom menu when the machine is idle

#define USER_DESC_1 "Home & UBL Info"
#define USER_GCODE_1 "G28\nG29W"
//#define USER_CONFIRM_1 // Show confirmation dialog on user menu actions
//#define USER_CONFIRM_1 // Show a confirmation dialog before this action

#define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL
#define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND)
//#define USER_CONFIRM_2 // Show confirmation dialog on user menu actions
//#define USER_CONFIRM_2

#define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL
#define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND)
//#define USER_CONFIRM_3 // Show confirmation dialog on user menu actions
//#define USER_CONFIRM_3

#define USER_DESC_4 "Heat Bed/Home/Level"
#define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29"
//#define USER_CONFIRM_4 // Show confirmation dialog on user menu actions
//#define USER_CONFIRM_4

#define USER_DESC_5 "Home & Info"
#define USER_GCODE_5 "G28\nM503"
//#define USER_CONFIRM_5 // Show confirmation dialog on user menu actions
//#define USER_CONFIRM_5
#endif

/**
Expand Down
174 changes: 37 additions & 137 deletions Marlin/src/lcd/menu/menu_custom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,194 +46,94 @@ void _lcd_user_gcode(PGM_P const cmd) {
void menu_user() {
START_MENU();
BACK_ITEM(MSG_MAIN);
#if ENABLED(CUSTOM_USER_MENU_CONFIRM)
#define USER_ITEM_CONFIRM(N) SUBMENU_P(PSTR(USER_DESC_##N), []{ MenuItem_confirm::confirm_screen( \
[]{ \
_lcd_user_gcode(PSTR(USER_GCODE_##N _DONE_SCRIPT)); \
ui.goto_previous_screen(); \
}, \
ui.goto_previous_screen, \
PSTR(USER_DESC_##N "?") \
); \
});
#endif

#define USER_ITEM(N) ACTION_ITEM_P(PSTR(USER_DESC_##N), []{ _lcd_user_gcode(PSTR(USER_GCODE_##N _DONE_SCRIPT)); });
#define GCODE_LAMBDA(N) []{ _lcd_user_gcode(PSTR(USER_GCODE_##N _DONE_SCRIPT)); }
#define _USER_ITEM(N) ACTION_ITEM_P(PSTR(USER_DESC_##N), GCODE_LAMBDA(N));
#define _USER_ITEM_CONFIRM(N) \
SUBMENU_P(PSTR(USER_DESC_##N), []{ \
MenuItem_confirm::confirm_screen( \
GCODE_LAMBDA(N), \
ui.goto_previous_screen, \
PSTR(USER_DESC_##N "?") \
); \
})

#define USER_ITEM(N) do{ if (ENABLED(USER_CONFIRM_##N)) _USER_ITEM_CONFIRM(N); else _USER_ITEM(N); }while(0)

#if HAS_USER_ITEM(1)
#if ENABLED(USER_CONFIRM_1)
USER_ITEM_CONFIRM(1);
#else
USER_ITEM(1);
#endif
USER_ITEM(1);
#endif
#if HAS_USER_ITEM(2)
#if ENABLED(USER_CONFIRM_2)
USER_ITEM_CONFIRM(2);
#else
USER_ITEM(2);
#endif
USER_ITEM(2);
#endif
#if HAS_USER_ITEM(3)
#if ENABLED(USER_CONFIRM_3)
USER_ITEM_CONFIRM(3);
#else
USER_ITEM(3);
#endif
USER_ITEM(3);
#endif
#if HAS_USER_ITEM(4)
#if ENABLED(USER_CONFIRM_4)
USER_ITEM_CONFIRM(4);
#else
USER_ITEM(4);
#endif
USER_ITEM(4);
#endif
#if HAS_USER_ITEM(5)
#if ENABLED(USER_CONFIRM_5)
USER_ITEM_CONFIRM(5);
#else
USER_ITEM(5);
#endif
USER_ITEM(5);
#endif
#if HAS_USER_ITEM(6)
#if ENABLED(USER_CONFIRM_6)
USER_ITEM_CONFIRM(6);
#else
USER_ITEM(6);
#endif
USER_ITEM(6);
#endif
#if HAS_USER_ITEM(7)
#if ENABLED(USER_CONFIRM_7)
USER_ITEM_CONFIRM(7);
#else
USER_ITEM(7);
#endif
USER_ITEM(7);
#endif
#if HAS_USER_ITEM(8)
#if ENABLED(USER_CONFIRM_8)
USER_ITEM_CONFIRM(8);
#else
USER_ITEM(8);
#endif
USER_ITEM(8);
#endif
#if HAS_USER_ITEM(9)
#if ENABLED(USER_CONFIRM_9)
USER_ITEM_CONFIRM(9);
#else
USER_ITEM(9);
#endif
USER_ITEM(9);
#endif
#if HAS_USER_ITEM(10)
#if ENABLED(USER_CONFIRM_10)
USER_ITEM_CONFIRM(10);
#else
USER_ITEM(10);
#endif
USER_ITEM(10);
#endif
#if HAS_USER_ITEM(11)
#if ENABLED(USER_CONFIRM_11)
USER_ITEM_CONFIRM(11);
#else
USER_ITEM(11);
#endif
USER_ITEM(11);
#endif
#if HAS_USER_ITEM(12)
#if ENABLED(USER_CONFIRM_12)
USER_ITEM_CONFIRM(12);
#else
USER_ITEM(12);
#endif
USER_ITEM(12);
#endif
#if HAS_USER_ITEM(13)
#if ENABLED(USER_CONFIRM_13)
USER_ITEM_CONFIRM(13);
#else
USER_ITEM(13);
#endif
USER_ITEM(13);
#endif
#if HAS_USER_ITEM(14)
#if ENABLED(USER_CONFIRM_14)
USER_ITEM_CONFIRM(14);
#else
USER_ITEM(14);
#endif
USER_ITEM(14);
#endif
#if HAS_USER_ITEM(15)
#if ENABLED(USER_CONFIRM_15)
USER_ITEM_CONFIRM(15);
#else
USER_ITEM(15);
#endif
USER_ITEM(15);
#endif
#if HAS_USER_ITEM(16)
#if ENABLED(USER_CONFIRM_16)
USER_ITEM_CONFIRM(16);
#else
USER_ITEM(16);
#endif
USER_ITEM(16);
#endif
#if HAS_USER_ITEM(17)
#if ENABLED(USER_CONFIRM_17)
USER_ITEM_CONFIRM(17);
#else
USER_ITEM(17);
#endif
USER_ITEM(17);
#endif
#if HAS_USER_ITEM(18)
#if ENABLED(USER_CONFIRM_18)
USER_ITEM_CONFIRM(18);
#else
USER_ITEM(18);
#endif
USER_ITEM(18);
#endif
#if HAS_USER_ITEM(19)
#if ENABLED(USER_CONFIRM_19)
USER_ITEM_CONFIRM(19);
#else
USER_ITEM(19);
#endif
USER_ITEM(19);
#endif
#if HAS_USER_ITEM(20)
#if ENABLED(USER_CONFIRM_20)
USER_ITEM_CONFIRM(20);
#else
USER_ITEM(20);
#endif
USER_ITEM(20);
#endif
#if HAS_USER_ITEM(21)
#if ENABLED(USER_CONFIRM_21)
USER_ITEM_CONFIRM(21);
#else
USER_ITEM(21);
#endif
USER_ITEM(21);
#endif
#if HAS_USER_ITEM(22)
#if ENABLED(USER_CONFIRM_22)
USER_ITEM_CONFIRM(22);
#else
USER_ITEM(22);
#endif
USER_ITEM(22);
#endif
#if HAS_USER_ITEM(23)
#if ENABLED(USER_CONFIRM_23)
USER_ITEM_CONFIRM(23);
#else
USER_ITEM(23);
#endif
USER_ITEM(23);
#endif
#if HAS_USER_ITEM(24)
#if ENABLED(USER_CONFIRM_24)
USER_ITEM_CONFIRM(24);
#else
USER_ITEM(24);
#endif
USER_ITEM(24);
#endif
#if HAS_USER_ITEM(25)
#if ENABLED(USER_CONFIRM_25)
USER_ITEM_CONFIRM(25);
#else
USER_ITEM(25);
#endif
USER_ITEM(25);
#endif
END_MENU();
}
Expand Down

0 comments on commit 61565c5

Please sign in to comment.