borland1
4 years ago
committed by
Scott Lahteine
36 changed files with 440 additions and 367 deletions
@ -1,141 +0,0 @@ |
|||||
/**
|
|
||||
* Marlin 3D Printer Firmware |
|
||||
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|
||||
* |
|
||||
* Based on Sprinter and grbl. |
|
||||
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm |
|
||||
* |
|
||||
* This program is free software: you can redistribute it and/or modify |
|
||||
* it under the terms of the GNU General Public License as published by |
|
||||
* the Free Software Foundation, either version 3 of the License, or |
|
||||
* (at your option) any later version. |
|
||||
* |
|
||||
* This program is distributed in the hope that it will be useful, |
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||
* GNU General Public License for more details. |
|
||||
* |
|
||||
* You should have received a copy of the GNU General Public License |
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||
* |
|
||||
*/ |
|
||||
|
|
||||
//
|
|
||||
// Custom User Menu
|
|
||||
//
|
|
||||
|
|
||||
#include "../../inc/MarlinConfigPre.h" |
|
||||
|
|
||||
#if BOTH(HAS_LCD_MENU, CUSTOM_USER_MENUS) |
|
||||
|
|
||||
#include "menu_item.h" |
|
||||
#include "../../gcode/queue.h" |
|
||||
|
|
||||
#ifdef USER_SCRIPT_DONE |
|
||||
#define _DONE_SCRIPT "\n" USER_SCRIPT_DONE |
|
||||
#else |
|
||||
#define _DONE_SCRIPT "" |
|
||||
#endif |
|
||||
|
|
||||
void _lcd_user_gcode(PGM_P const cmd) { |
|
||||
queue.inject_P(cmd); |
|
||||
TERN_(USER_SCRIPT_AUDIBLE_FEEDBACK, ui.completion_feedback()); |
|
||||
TERN_(USER_SCRIPT_RETURN, ui.return_to_status()); |
|
||||
} |
|
||||
|
|
||||
void menu_user() { |
|
||||
START_MENU(); |
|
||||
BACK_ITEM(MSG_MAIN); |
|
||||
|
|
||||
#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) |
|
||||
USER_ITEM(1); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(2) |
|
||||
USER_ITEM(2); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(3) |
|
||||
USER_ITEM(3); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(4) |
|
||||
USER_ITEM(4); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(5) |
|
||||
USER_ITEM(5); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(6) |
|
||||
USER_ITEM(6); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(7) |
|
||||
USER_ITEM(7); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(8) |
|
||||
USER_ITEM(8); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(9) |
|
||||
USER_ITEM(9); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(10) |
|
||||
USER_ITEM(10); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(11) |
|
||||
USER_ITEM(11); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(12) |
|
||||
USER_ITEM(12); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(13) |
|
||||
USER_ITEM(13); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(14) |
|
||||
USER_ITEM(14); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(15) |
|
||||
USER_ITEM(15); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(16) |
|
||||
USER_ITEM(16); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(17) |
|
||||
USER_ITEM(17); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(18) |
|
||||
USER_ITEM(18); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(19) |
|
||||
USER_ITEM(19); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(20) |
|
||||
USER_ITEM(20); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(21) |
|
||||
USER_ITEM(21); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(22) |
|
||||
USER_ITEM(22); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(23) |
|
||||
USER_ITEM(23); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(24) |
|
||||
USER_ITEM(24); |
|
||||
#endif |
|
||||
#if HAS_USER_ITEM(25) |
|
||||
USER_ITEM(25); |
|
||||
#endif |
|
||||
END_MENU(); |
|
||||
} |
|
||||
|
|
||||
#endif // HAS_LCD_MENU && CUSTOM_USER_MENUS
|
|
Loading…
Reference in new issue