FTDI EVE custom user menus (#20518)
This commit is contained in:
parent
36aff1e464
commit
82540be931
@ -0,0 +1,215 @@
|
||||
/**
|
||||
* 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/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if BOTH(TOUCH_UI_FTDI_EVE, CUSTOM_USER_MENUS) && NONE(TOUCH_UI_LULZBOT_BIO, TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
using namespace FTDI;
|
||||
using namespace ExtUI;
|
||||
using namespace Theme;
|
||||
|
||||
#define _ITEM_TAG(N) (10+N)
|
||||
#define _USER_DESC(N) USER_DESC_##N
|
||||
#define _USER_GCODE(N) USER_GCODE_##N
|
||||
#define _USER_ITEM(N) .tag(_ITEM_TAG(N)).button(USER_ITEM_POS(N), _USER_DESC(N))
|
||||
#define _USER_ACTION(N) case _ITEM_TAG(N): injectCommands_P(PSTR(_USER_GCODE(N))); TERN_(USER_SCRIPT_RETURN, GOTO_SCREEN(StatusScreen)); break;
|
||||
|
||||
#define _HAS_1(N) (defined(USER_DESC_##N) && defined(USER_GCODE_##N))
|
||||
#define HAS_USER_ITEM(V...) DO(HAS,||,V)
|
||||
|
||||
void CustomUserMenus::onRedraw(draw_mode_t what) {
|
||||
if (what & BACKGROUND) {
|
||||
CommandProcessor cmd;
|
||||
cmd.cmd(CLEAR_COLOR_RGB(Theme::bg_color))
|
||||
.cmd(CLEAR(true, true, true));
|
||||
}
|
||||
|
||||
#if HAS_USER_ITEM(16, 17, 18, 19, 20)
|
||||
#define _MORE_THAN_FIFTEEN 1
|
||||
#else
|
||||
#define _MORE_THAN_FIFTEEN 0
|
||||
#endif
|
||||
#if _MORE_THAN_FIFTEEN || HAS_USER_ITEM(11, 12, 13, 14, 15)
|
||||
#define _MORE_THAN_TEN 1
|
||||
#else
|
||||
#define _MORE_THAN_TEN 0
|
||||
#endif
|
||||
|
||||
#ifdef TOUCH_UI_PORTRAIT
|
||||
#define GRID_ROWS 11
|
||||
#define GRID_COLS (1 + _MORE_THAN_TEN)
|
||||
#define USER_ITEM_POS(N) BTN_POS((1+((N-1)/10)), ((N-1) % 10 + 1)), BTN_SIZE(1,1)
|
||||
#define BACK_POS BTN_POS(1,11), BTN_SIZE(1,1)
|
||||
#else
|
||||
#if _MORE_THAN_TEN || HAS_USER_ITEM(6, 7, 8, 9, 10)
|
||||
#define _MORE_THAN_FIVE 1
|
||||
#else
|
||||
#define _MORE_THAN_FIVE 0
|
||||
#endif
|
||||
#define GRID_ROWS 6
|
||||
#define GRID_COLS (1 + _MORE_THAN_FIVE + _MORE_THAN_TEN + _MORE_THAN_FIFTEEN)
|
||||
#define USER_ITEM_POS(N) BTN_POS((1+((N-1)/5)), ((N-1) % 5 + 1)), BTN_SIZE(1,1)
|
||||
#define BACK_POS BTN_POS(1,6), BTN_SIZE(GRID_COLS,1)
|
||||
#endif
|
||||
|
||||
if (what & FOREGROUND) {
|
||||
CommandProcessor cmd;
|
||||
cmd.colors(normal_btn)
|
||||
.font(Theme::font_medium)
|
||||
#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
|
||||
.colors(action_btn)
|
||||
.tag(1).button(BACK_POS, GET_TEXT_F(MSG_BACK));
|
||||
}
|
||||
}
|
||||
|
||||
bool CustomUserMenus::onTouchEnd(uint8_t tag) {
|
||||
switch (tag) {
|
||||
#if HAS_USER_ITEM(1)
|
||||
_USER_ACTION(1)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(2)
|
||||
_USER_ACTION(2)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(3)
|
||||
_USER_ACTION(3)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(4)
|
||||
_USER_ACTION(4)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(5)
|
||||
_USER_ACTION(5)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(6)
|
||||
_USER_ACTION(6)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(7)
|
||||
_USER_ACTION(7)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(8)
|
||||
_USER_ACTION(8)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(9)
|
||||
_USER_ACTION(9)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(10)
|
||||
_USER_ACTION(10)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(11)
|
||||
_USER_ACTION(11)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(12)
|
||||
_USER_ACTION(12)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(13)
|
||||
_USER_ACTION(13)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(14)
|
||||
_USER_ACTION(14)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(15)
|
||||
_USER_ACTION(15)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(16)
|
||||
_USER_ACTION(16)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(17)
|
||||
_USER_ACTION(17)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(18)
|
||||
_USER_ACTION(18)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(19)
|
||||
_USER_ACTION(19)
|
||||
#endif
|
||||
#if HAS_USER_ITEM(20)
|
||||
_USER_ACTION(20)
|
||||
#endif
|
||||
|
||||
case 1: GOTO_PREVIOUS(); break;
|
||||
default: return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // TOUCH_UI_FTDI_EVE && CUSTOM_USER_MENUS && !TOUCH_UI_LULZBOT_BIO && !TOUCH_UI_COCOA_PRESS
|
@ -1,3 +1,25 @@
|
||||
/**
|
||||
* 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/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/*****************
|
||||
* main_menu.cpp *
|
||||
*****************/
|
||||
@ -42,7 +64,12 @@ void MainMenu::onRedraw(draw_mode_t what) {
|
||||
#define GRID_COLS 2
|
||||
#define ABOUT_PRINTER_POS BTN_POS(1,1), BTN_SIZE(2,1)
|
||||
#define ADVANCED_SETTINGS_POS BTN_POS(1,2), BTN_SIZE(2,1)
|
||||
#define FILAMENTCHANGE_POS BTN_POS(1,3), BTN_SIZE(2,1)
|
||||
#if ENABLED(CUSTOM_USER_MENUS)
|
||||
#define FILAMENTCHANGE_POS BTN_POS(1,3), BTN_SIZE(1,1)
|
||||
#define CUSTOM_USER_MENUS_POS BTN_POS(2,3), BTN_SIZE(1,1)
|
||||
#else
|
||||
#define FILAMENTCHANGE_POS BTN_POS(1,3), BTN_SIZE(2,1)
|
||||
#endif
|
||||
#define TEMPERATURE_POS BTN_POS(1,4), BTN_SIZE(2,1)
|
||||
#define DISABLE_STEPPERS_POS BTN_POS(1,5), BTN_SIZE(2,1)
|
||||
#define MOVE_AXIS_POS BTN_POS(1,6), BTN_SIZE(1,1)
|
||||
@ -52,17 +79,23 @@ void MainMenu::onRedraw(draw_mode_t what) {
|
||||
#define BACK_POS BTN_POS(1,8), BTN_SIZE(2,1)
|
||||
#else
|
||||
#define GRID_ROWS 5
|
||||
#define GRID_COLS 2
|
||||
#define ADVANCED_SETTINGS_POS BTN_POS(1,1), BTN_SIZE(1,1)
|
||||
#define ABOUT_PRINTER_POS BTN_POS(2,1), BTN_SIZE(1,1)
|
||||
#define AUTO_HOME_POS BTN_POS(1,2), BTN_SIZE(1,1)
|
||||
#define CLEAN_NOZZLE_POS BTN_POS(2,2), BTN_SIZE(1,1)
|
||||
#define MOVE_AXIS_POS BTN_POS(1,3), BTN_SIZE(1,1)
|
||||
#define DISABLE_STEPPERS_POS BTN_POS(2,3), BTN_SIZE(1,1)
|
||||
#define TEMPERATURE_POS BTN_POS(1,4), BTN_SIZE(1,1)
|
||||
#define FILAMENTCHANGE_POS BTN_POS(2,4), BTN_SIZE(1,1)
|
||||
#define LEVELING_POS BTN_POS(1,5), BTN_SIZE(1,1)
|
||||
#define BACK_POS BTN_POS(2,5), BTN_SIZE(1,1)
|
||||
#define GRID_COLS 6
|
||||
#define ADVANCED_SETTINGS_POS BTN_POS(1,1), BTN_SIZE(3,1)
|
||||
#define ABOUT_PRINTER_POS BTN_POS(4,1), BTN_SIZE(3,1)
|
||||
#define AUTO_HOME_POS BTN_POS(1,2), BTN_SIZE(3,1)
|
||||
#define CLEAN_NOZZLE_POS BTN_POS(4,2), BTN_SIZE(3,1)
|
||||
#define MOVE_AXIS_POS BTN_POS(1,3), BTN_SIZE(3,1)
|
||||
#define DISABLE_STEPPERS_POS BTN_POS(4,3), BTN_SIZE(3,1)
|
||||
#if ENABLED(CUSTOM_USER_MENUS)
|
||||
#define TEMPERATURE_POS BTN_POS(1,4), BTN_SIZE(2,1)
|
||||
#define FILAMENTCHANGE_POS BTN_POS(3,4), BTN_SIZE(2,1)
|
||||
#define CUSTOM_USER_MENUS_POS BTN_POS(5,4), BTN_SIZE(2,1)
|
||||
#else
|
||||
#define TEMPERATURE_POS BTN_POS(1,4), BTN_SIZE(3,1)
|
||||
#define FILAMENTCHANGE_POS BTN_POS(4,4), BTN_SIZE(3,1)
|
||||
#endif
|
||||
#define LEVELING_POS BTN_POS(1,5), BTN_SIZE(3,1)
|
||||
#define BACK_POS BTN_POS(4,5), BTN_SIZE(3,1)
|
||||
#endif
|
||||
|
||||
if (what & FOREGROUND) {
|
||||
@ -81,6 +114,9 @@ void MainMenu::onRedraw(draw_mode_t what) {
|
||||
.enabled(TERN_(HAS_LEVELING, 1))
|
||||
.tag( 9).button(LEVELING_POS, GET_TEXT_F(MSG_LEVELING))
|
||||
.tag(10).button(ABOUT_PRINTER_POS, GET_TEXT_F(MSG_INFO_MENU))
|
||||
#if ENABLED(CUSTOM_USER_MENUS)
|
||||
.tag(11).button(CUSTOM_USER_MENUS_POS, GET_TEXT_F(MSG_USER_MENU))
|
||||
#endif
|
||||
.colors(action_btn)
|
||||
.tag(1).button(BACK_POS, GET_TEXT_F(MSG_BACK));
|
||||
}
|
||||
@ -104,6 +140,10 @@ bool MainMenu::onTouchEnd(uint8_t tag) {
|
||||
case 9: GOTO_SCREEN(LevelingMenu); break;
|
||||
#endif
|
||||
case 10: GOTO_SCREEN(AboutScreen); break;
|
||||
#if ENABLED(CUSTOM_USER_MENUS)
|
||||
case 11: GOTO_SCREEN(CustomUserMenus); break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -1,3 +1,25 @@
|
||||
/**
|
||||
* 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/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/***************
|
||||
* screens.cpp *
|
||||
***************/
|
||||
@ -45,88 +67,91 @@ SCREEN_TABLE {
|
||||
DECL_SCREEN(SaveSettingsDialogBox),
|
||||
DECL_SCREEN(ConfirmStartPrintDialogBox),
|
||||
DECL_SCREEN(ConfirmAbortPrintDialogBox),
|
||||
#if ENABLED(CALIBRATION_GCODE)
|
||||
DECL_SCREEN(ConfirmAutoCalibrationDialogBox),
|
||||
#endif
|
||||
#if ENABLED(CALIBRATION_GCODE)
|
||||
DECL_SCREEN(ConfirmAutoCalibrationDialogBox),
|
||||
#endif
|
||||
#if ENABLED(CUSTOM_USER_MENUS)
|
||||
DECL_SCREEN(CustomUserMenus),
|
||||
#endif
|
||||
DECL_SCREEN(SpinnerDialogBox),
|
||||
DECL_SCREEN(AboutScreen),
|
||||
#if ENABLED(PRINTCOUNTER)
|
||||
DECL_SCREEN(StatisticsScreen),
|
||||
#endif
|
||||
#if ENABLED(BABYSTEPPING)
|
||||
DECL_SCREEN(NudgeNozzleScreen),
|
||||
#endif
|
||||
#if ENABLED(PRINTCOUNTER)
|
||||
DECL_SCREEN(StatisticsScreen),
|
||||
#endif
|
||||
#if ENABLED(BABYSTEPPING)
|
||||
DECL_SCREEN(NudgeNozzleScreen),
|
||||
#endif
|
||||
DECL_SCREEN(MoveAxisScreen),
|
||||
DECL_SCREEN(StepsScreen),
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
DECL_SCREEN(StepperCurrentScreen),
|
||||
DECL_SCREEN(StepperBumpSensitivityScreen),
|
||||
#endif
|
||||
#if HAS_LEVELING
|
||||
DECL_SCREEN(LevelingMenu),
|
||||
#if HAS_BED_PROBE
|
||||
DECL_SCREEN(ZOffsetScreen),
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
DECL_SCREEN(StepperCurrentScreen),
|
||||
DECL_SCREEN(StepperBumpSensitivityScreen),
|
||||
#endif
|
||||
#if HAS_MESH
|
||||
DECL_SCREEN(BedMeshScreen),
|
||||
#if HAS_LEVELING
|
||||
DECL_SCREEN(LevelingMenu),
|
||||
#if HAS_BED_PROBE
|
||||
DECL_SCREEN(ZOffsetScreen),
|
||||
#endif
|
||||
#if HAS_MESH
|
||||
DECL_SCREEN(BedMeshScreen),
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_MULTI_HOTEND
|
||||
DECL_SCREEN(NozzleOffsetScreen),
|
||||
#endif
|
||||
#if ENABLED(BACKLASH_GCODE)
|
||||
DECL_SCREEN(BacklashCompensationScreen),
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_MULTI_HOTEND
|
||||
DECL_SCREEN(NozzleOffsetScreen),
|
||||
#endif
|
||||
#if ENABLED(BACKLASH_GCODE)
|
||||
DECL_SCREEN(BacklashCompensationScreen),
|
||||
#endif
|
||||
DECL_SCREEN(FeedratePercentScreen),
|
||||
DECL_SCREEN(MaxVelocityScreen),
|
||||
DECL_SCREEN(MaxAccelerationScreen),
|
||||
DECL_SCREEN(DefaultAccelerationScreen),
|
||||
#if HAS_JUNCTION_DEVIATION
|
||||
DECL_SCREEN(JunctionDeviationScreen),
|
||||
#else
|
||||
DECL_SCREEN(JerkScreen),
|
||||
#endif
|
||||
#if ENABLED(CASE_LIGHT_ENABLE)
|
||||
DECL_SCREEN(CaseLightScreen),
|
||||
#endif
|
||||
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
||||
DECL_SCREEN(FilamentMenu),
|
||||
#endif
|
||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
DECL_SCREEN(FilamentRunoutScreen),
|
||||
#endif
|
||||
#if ENABLED(LIN_ADVANCE)
|
||||
DECL_SCREEN(LinearAdvanceScreen),
|
||||
#endif
|
||||
#if HAS_JUNCTION_DEVIATION
|
||||
DECL_SCREEN(JunctionDeviationScreen),
|
||||
#else
|
||||
DECL_SCREEN(JerkScreen),
|
||||
#endif
|
||||
#if ENABLED(CASE_LIGHT_ENABLE)
|
||||
DECL_SCREEN(CaseLightScreen),
|
||||
#endif
|
||||
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
||||
DECL_SCREEN(FilamentMenu),
|
||||
#endif
|
||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
DECL_SCREEN(FilamentRunoutScreen),
|
||||
#endif
|
||||
#if ENABLED(LIN_ADVANCE)
|
||||
DECL_SCREEN(LinearAdvanceScreen),
|
||||
#endif
|
||||
DECL_SCREEN(TemperatureScreen),
|
||||
DECL_SCREEN(ChangeFilamentScreen),
|
||||
DECL_SCREEN(InterfaceSettingsScreen),
|
||||
DECL_SCREEN(InterfaceSoundsScreen),
|
||||
DECL_SCREEN(LockScreen),
|
||||
#if ENABLED(SDSUPPORT)
|
||||
DECL_SCREEN(FilesScreen),
|
||||
#endif
|
||||
#if ENABLED(SDSUPPORT)
|
||||
DECL_SCREEN(FilesScreen),
|
||||
#endif
|
||||
DECL_SCREEN(EndstopStatesScreen),
|
||||
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||
DECL_SCREEN(BioPrintingDialogBox),
|
||||
DECL_SCREEN(BioConfirmHomeXYZ),
|
||||
DECL_SCREEN(BioConfirmHomeE),
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||
DECL_SCREEN(PreheatMenu),
|
||||
DECL_SCREEN(PreheatTimerScreen),
|
||||
DECL_SCREEN(UnloadCartridgeScreen),
|
||||
DECL_SCREEN(LoadChocolateScreen),
|
||||
DECL_SCREEN(MoveXYZScreen),
|
||||
DECL_SCREEN(MoveEScreen),
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_DEVELOPER_MENU)
|
||||
DECL_SCREEN(DeveloperMenu),
|
||||
DECL_SCREEN(ConfirmEraseFlashDialogBox),
|
||||
DECL_SCREEN(WidgetsScreen),
|
||||
DECL_SCREEN(TouchRegistersScreen),
|
||||
DECL_SCREEN(StressTestScreen),
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||
DECL_SCREEN(BioPrintingDialogBox),
|
||||
DECL_SCREEN(BioConfirmHomeXYZ),
|
||||
DECL_SCREEN(BioConfirmHomeE),
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||
DECL_SCREEN(PreheatMenu),
|
||||
DECL_SCREEN(PreheatTimerScreen),
|
||||
DECL_SCREEN(UnloadCartridgeScreen),
|
||||
DECL_SCREEN(LoadChocolateScreen),
|
||||
DECL_SCREEN(MoveXYZScreen),
|
||||
DECL_SCREEN(MoveEScreen),
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_DEVELOPER_MENU)
|
||||
DECL_SCREEN(DeveloperMenu),
|
||||
DECL_SCREEN(ConfirmEraseFlashDialogBox),
|
||||
DECL_SCREEN(WidgetsScreen),
|
||||
DECL_SCREEN(TouchRegistersScreen),
|
||||
DECL_SCREEN(StressTestScreen),
|
||||
#endif
|
||||
DECL_SCREEN(MediaPlayerScreen),
|
||||
DECL_SCREEN(DisplayTuningScreen)
|
||||
};
|
||||
|
@ -1,3 +1,25 @@
|
||||
/**
|
||||
* 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/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/*************
|
||||
* screens.h *
|
||||
*************/
|
||||
@ -53,59 +75,62 @@ enum {
|
||||
MAX_VELOCITY_SCREEN_CACHE,
|
||||
MAX_ACCELERATION_SCREEN_CACHE,
|
||||
DEFAULT_ACCELERATION_SCREEN_CACHE,
|
||||
#if HAS_LEVELING
|
||||
LEVELING_SCREEN_CACHE,
|
||||
#if HAS_BED_PROBE
|
||||
ZOFFSET_SCREEN_CACHE,
|
||||
#if HAS_LEVELING
|
||||
LEVELING_SCREEN_CACHE,
|
||||
#if HAS_BED_PROBE
|
||||
ZOFFSET_SCREEN_CACHE,
|
||||
#endif
|
||||
#if HAS_MESH
|
||||
BED_MESH_SCREEN_CACHE,
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_MESH
|
||||
BED_MESH_SCREEN_CACHE,
|
||||
#if ENABLED(BABYSTEPPING)
|
||||
ADJUST_OFFSETS_SCREEN_CACHE,
|
||||
#endif
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
STEPPER_CURRENT_SCREEN_CACHE,
|
||||
STEPPER_BUMP_SENSITIVITY_SCREEN_CACHE,
|
||||
#endif
|
||||
#if HAS_MULTI_HOTEND
|
||||
NOZZLE_OFFSET_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(BACKLASH_GCODE)
|
||||
BACKLASH_COMPENSATION_SCREEN_CACHE,
|
||||
#endif
|
||||
#if HAS_JUNCTION_DEVIATION
|
||||
JUNC_DEV_SCREEN_CACHE,
|
||||
#else
|
||||
JERK_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(CASE_LIGHT_ENABLE)
|
||||
CASE_LIGHT_SCREEN_CACHE,
|
||||
#endif
|
||||
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
||||
FILAMENT_MENU_CACHE,
|
||||
#endif
|
||||
#if ENABLED(LIN_ADVANCE)
|
||||
LINEAR_ADVANCE_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
FILAMENT_RUNOUT_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||
PRINTING_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||
PREHEAT_MENU_CACHE,
|
||||
PREHEAT_TIMER_SCREEN_CACHE,
|
||||
UNLOAD_CARTRIDGE_SCREEN_CACHE,
|
||||
LOAD_CHOCOLATE_SCREEN_CACHE,
|
||||
MOVE_XYZ_SCREEN_CACHE,
|
||||
MOVE_E_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(SDSUPPORT)
|
||||
FILES_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(CUSTOM_USER_MENUS)
|
||||
CUSTOM_USER_MENUS_SCREEN_CACHE,
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(BABYSTEPPING)
|
||||
ADJUST_OFFSETS_SCREEN_CACHE,
|
||||
#endif
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
STEPPER_CURRENT_SCREEN_CACHE,
|
||||
STEPPER_BUMP_SENSITIVITY_SCREEN_CACHE,
|
||||
#endif
|
||||
#if HAS_MULTI_HOTEND
|
||||
NOZZLE_OFFSET_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(BACKLASH_GCODE)
|
||||
BACKLASH_COMPENSATION_SCREEN_CACHE,
|
||||
#endif
|
||||
#if HAS_JUNCTION_DEVIATION
|
||||
JUNC_DEV_SCREEN_CACHE,
|
||||
#else
|
||||
JERK_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(CASE_LIGHT_ENABLE)
|
||||
CASE_LIGHT_SCREEN_CACHE,
|
||||
#endif
|
||||
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
||||
FILAMENT_MENU_CACHE,
|
||||
#endif
|
||||
#if ENABLED(LIN_ADVANCE)
|
||||
LINEAR_ADVANCE_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||
FILAMENT_RUNOUT_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_LULZBOT_BIO)
|
||||
PRINTING_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||
PREHEAT_MENU_CACHE,
|
||||
PREHEAT_TIMER_SCREEN_CACHE,
|
||||
UNLOAD_CARTRIDGE_SCREEN_CACHE,
|
||||
LOAD_CHOCOLATE_SCREEN_CACHE,
|
||||
MOVE_XYZ_SCREEN_CACHE,
|
||||
MOVE_E_SCREEN_CACHE,
|
||||
#endif
|
||||
#if ENABLED(SDSUPPORT)
|
||||
FILES_SCREEN_CACHE,
|
||||
#endif
|
||||
CHANGE_FILAMENT_SCREEN_CACHE,
|
||||
INTERFACE_SETTINGS_SCREEN_CACHE,
|
||||
INTERFACE_SOUNDS_SCREEN_CACHE,
|
||||
@ -247,6 +272,14 @@ class ConfirmUserRequestAlertBox : public AlertDialogBox {
|
||||
static void show(const char*);
|
||||
};
|
||||
|
||||
#if ENABLED(CUSTOM_USER_MENUS)
|
||||
class CustomUserMenus : public BaseScreen, public CachedScreen<CUSTOM_USER_MENUS_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
};
|
||||
#endif
|
||||
|
||||
class SpinnerDialogBox : public DialogBoxBaseClass, public CachedScreen<SPINNER_CACHE,SPINNER_DL_SIZE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
@ -496,6 +529,7 @@ class StepsScreen : public BaseNumericAdjustmentScreen, public CachedScreen<STEP
|
||||
#endif
|
||||
|
||||
#if HAS_LEVELING
|
||||
|
||||
class LevelingMenu : public BaseScreen, public CachedScreen<LEVELING_SCREEN_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
@ -511,35 +545,38 @@ class StepsScreen : public BaseNumericAdjustmentScreen, public CachedScreen<STEP
|
||||
#endif
|
||||
|
||||
#if HAS_MESH
|
||||
class BedMeshScreen : public BaseScreen, public CachedScreen<BED_MESH_SCREEN_CACHE> {
|
||||
private:
|
||||
enum MeshOpts {
|
||||
USE_POINTS = 0x01,
|
||||
USE_COLORS = 0x02,
|
||||
USE_TAGS = 0x04,
|
||||
USE_HIGHLIGHT = 0x08,
|
||||
USE_AUTOSCALE = 0x10
|
||||
};
|
||||
|
||||
static uint8_t pointToTag(uint8_t x, uint8_t y);
|
||||
static bool tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y);
|
||||
static float getHightlightedValue();
|
||||
static void drawHighlightedPointValue();
|
||||
static void drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::bed_mesh_t data, uint8_t opts, float autoscale_max = 0.1);
|
||||
static bool isMeshComplete(ExtUI::bed_mesh_t data);
|
||||
class BedMeshScreen : public BaseScreen, public CachedScreen<BED_MESH_SCREEN_CACHE> {
|
||||
private:
|
||||
enum MeshOpts {
|
||||
USE_POINTS = 0x01,
|
||||
USE_COLORS = 0x02,
|
||||
USE_TAGS = 0x04,
|
||||
USE_HIGHLIGHT = 0x08,
|
||||
USE_AUTOSCALE = 0x10
|
||||
};
|
||||
|
||||
public:
|
||||
static void onMeshUpdate(const int8_t x, const int8_t y, const float val);
|
||||
static void onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t);
|
||||
static void onEntry();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchStart(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static uint8_t pointToTag(uint8_t x, uint8_t y);
|
||||
static bool tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y);
|
||||
static float getHightlightedValue();
|
||||
static void drawHighlightedPointValue();
|
||||
static void drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::bed_mesh_t data, uint8_t opts, float autoscale_max = 0.1);
|
||||
static bool isMeshComplete(ExtUI::bed_mesh_t data);
|
||||
|
||||
static void startMeshProbe();
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
public:
|
||||
static void onMeshUpdate(const int8_t x, const int8_t y, const float val);
|
||||
static void onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t);
|
||||
static void onEntry();
|
||||
static void onRedraw(draw_mode_t);
|
||||
static bool onTouchStart(uint8_t tag);
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
|
||||
static void startMeshProbe();
|
||||
};
|
||||
|
||||
#endif // HAS_MESH
|
||||
|
||||
#endif // HAS_LEVELING
|
||||
|
||||
#if ENABLED(BABYSTEPPING)
|
||||
class NudgeNozzleScreen : public BaseNumericAdjustmentScreen, public CachedScreen<ADJUST_OFFSETS_SCREEN_CACHE> {
|
||||
@ -727,6 +764,7 @@ class LockScreen : public BaseScreen, public CachedScreen<LOCK_SCREEN_CACHE> {
|
||||
};
|
||||
|
||||
#if ENABLED(SDSUPPORT)
|
||||
|
||||
class FilesScreen : public BaseScreen, public CachedScreen<FILES_SCREEN_CACHE, FILE_SCREEN_DL_SIZE> {
|
||||
private:
|
||||
#ifdef TOUCH_UI_PORTRAIT
|
||||
@ -761,7 +799,8 @@ class LockScreen : public BaseScreen, public CachedScreen<LOCK_SCREEN_CACHE> {
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // SDSUPPORT
|
||||
|
||||
class EndstopStatesScreen : public BaseScreen, public UncachedScreen {
|
||||
public:
|
||||
@ -779,6 +818,7 @@ class DisplayTuningScreen : public BaseNumericAdjustmentScreen, public CachedScr
|
||||
};
|
||||
|
||||
#if ENABLED(TOUCH_UI_DEVELOPER_MENU)
|
||||
|
||||
class DeveloperMenu : public BaseScreen, public UncachedScreen {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
@ -815,7 +855,8 @@ class DisplayTuningScreen : public BaseNumericAdjustmentScreen, public CachedScr
|
||||
static bool onTouchEnd(uint8_t tag);
|
||||
static void onIdle();
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // TOUCH_UI_DEVELOPER_MENU
|
||||
|
||||
class MediaPlayerScreen : public BaseScreen, public UncachedScreen {
|
||||
private:
|
||||
@ -840,6 +881,7 @@ class MediaPlayerScreen : public BaseScreen, public UncachedScreen {
|
||||
#endif
|
||||
|
||||
#if ENABLED(TOUCH_UI_COCOA_PRESS)
|
||||
|
||||
class PreheatMenu : public BaseScreen, public CachedScreen<PREHEAT_MENU_CACHE> {
|
||||
public:
|
||||
static void onRedraw(draw_mode_t);
|
||||
@ -888,4 +930,5 @@ class MediaPlayerScreen : public BaseScreen, public UncachedScreen {
|
||||
static void onRedraw(draw_mode_t);
|
||||
static void onIdle();
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // TOUCH_UI_COCOA_PRESS
|
||||
|
Loading…
Reference in New Issue
Block a user