|
| 1 | +/************* |
| 2 | + * screens.h * |
| 3 | + *************/ |
| 4 | + |
| 5 | +/**************************************************************************** |
| 6 | + * Written By Mark Pelletier 2017 - Aleph Objects, Inc. * |
| 7 | + * Written By Marcio Teixeira 2018 - Aleph Objects, Inc. * |
| 8 | + * * |
| 9 | + * This program is free software: you can redistribute it and/or modify * |
| 10 | + * it under the terms of the GNU General Public License as published by * |
| 11 | + * the Free Software Foundation, either version 3 of the License, or * |
| 12 | + * (at your option) any later version. * |
| 13 | + * * |
| 14 | + * This program is distributed in the hope that it will be useful, * |
| 15 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
| 16 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
| 17 | + * GNU General Public License for more details. * |
| 18 | + * * |
| 19 | + * To view a copy of the GNU General Public License, go to the following * |
| 20 | + * location: <https://www.gnu.org/licenses/>. * |
| 21 | + ****************************************************************************/ |
| 22 | + |
| 23 | +#pragma once |
| 24 | + |
| 25 | + |
| 26 | +/********************************* DL CACHE SLOTS ******************************/ |
| 27 | + |
| 28 | +// In order to reduce SPI traffic, we cache display lists (DL) in RAMG. This |
| 29 | +// is done using the CLCD::DLCache class, which takes a unique ID for each |
| 30 | +// cache location. These IDs are defined here: |
| 31 | + |
| 32 | +enum { |
| 33 | + STATUS_SCREEN_CACHE, |
| 34 | + MENU_SCREEN_CACHE, |
| 35 | + TUNE_SCREEN_CACHE, |
| 36 | + ALERT_BOX_CACHE, |
| 37 | + SPINNER_CACHE, |
| 38 | + ADVANCED_SETTINGS_SCREEN_CACHE, |
| 39 | + MOVE_AXIS_SCREEN_CACHE, |
| 40 | + TEMPERATURE_SCREEN_CACHE, |
| 41 | + STEPS_SCREEN_CACHE, |
| 42 | + MAX_FEEDRATE_SCREEN_CACHE, |
| 43 | + MAX_VELOCITY_SCREEN_CACHE, |
| 44 | + MAX_ACCELERATION_SCREEN_CACHE, |
| 45 | + DEFAULT_ACCELERATION_SCREEN_CACHE, |
| 46 | + FLOW_PERCENT_SCREEN_CACHE, |
| 47 | + LEVELING_SCREEN_CACHE, |
| 48 | + ZOFFSET_SCREEN_CACHE, |
| 49 | + BED_MESH_VIEW_SCREEN_CACHE, |
| 50 | + BED_MESH_EDIT_SCREEN_CACHE, |
| 51 | + STEPPER_CURRENT_SCREEN_CACHE, |
| 52 | + #if HAS_JUNCTION_DEVIATION |
| 53 | + JUNC_DEV_SCREEN_CACHE, |
| 54 | + #else |
| 55 | + JERK_SCREEN_CACHE, |
| 56 | + #endif |
| 57 | + CASE_LIGHT_SCREEN_CACHE, |
| 58 | + FILAMENT_MENU_CACHE, |
| 59 | + LINEAR_ADVANCE_SCREEN_CACHE, |
| 60 | + PREHEAT_MENU_CACHE, |
| 61 | + PREHEAT_TIMER_SCREEN_CACHE, |
| 62 | + LOAD_CHOCOLATE_SCREEN_CACHE, |
| 63 | + MOVE_XYZ_SCREEN_CACHE, |
| 64 | + MOVE_E_SCREEN_CACHE, |
| 65 | + FILES_SCREEN_CACHE, |
| 66 | + INTERFACE_SETTINGS_SCREEN_CACHE, |
| 67 | + INTERFACE_SOUNDS_SCREEN_CACHE, |
| 68 | + LOCK_SCREEN_CACHE, |
| 69 | + DISPLAY_TIMINGS_SCREEN_CACHE |
| 70 | +}; |
| 71 | + |
| 72 | +// To save MCU RAM, the status message is "baked" in to the status screen |
| 73 | +// cache, so we reserve a large chunk of memory for the DL cache |
| 74 | + |
| 75 | +#define STATUS_SCREEN_DL_SIZE 4096 |
| 76 | +#define ALERT_BOX_DL_SIZE 3072 |
| 77 | +#define SPINNER_DL_SIZE 3072 |
| 78 | +#define FILE_SCREEN_DL_SIZE 4160 |
| 79 | +#define PRINTING_SCREEN_DL_SIZE 2048 |
| 80 | + |
| 81 | +/************************* MENU SCREEN DECLARATIONS *************************/ |
| 82 | + |
| 83 | +#include "../generic/base_screen.h" |
| 84 | +#include "../generic/base_numeric_adjustment_screen.h" |
| 85 | +#include "../generic/dialog_box_base_class.h" |
| 86 | +#include "../generic/boot_screen.h" |
| 87 | +#include "../generic/about_screen.h" |
| 88 | +#include "../generic/kill_screen.h" |
| 89 | +#include "../generic/alert_dialog_box.h" |
| 90 | +#include "../generic/spinner_dialog_box.h" |
| 91 | +#include "../generic/restore_failsafe_dialog_box.h" |
| 92 | +#include "../generic/save_settings_dialog_box.h" |
| 93 | +#include "../generic/confirm_start_print_dialog_box.h" |
| 94 | +#include "../generic/confirm_abort_print_dialog_box.h" |
| 95 | +#include "../generic/confirm_user_request_alert_box.h" |
| 96 | +#include "../generic/touch_calibration_screen.h" |
| 97 | +#include "../generic/move_axis_screen.h" |
| 98 | +#include "../generic/steps_screen.h" |
| 99 | +#include "../generic/feedrate_percent_screen.h" |
| 100 | +#include "../generic/max_velocity_screen.h" |
| 101 | +#include "../generic/max_acceleration_screen.h" |
| 102 | +#include "../generic/default_acceleration_screen.h" |
| 103 | +#include "../generic/temperature_screen.h" |
| 104 | +#include "../generic/interface_sounds_screen.h" |
| 105 | +#include "../generic/interface_settings_screen.h" |
| 106 | +#include "../generic/lock_screen.h" |
| 107 | +#include "../generic/endstop_state_screen.h" |
| 108 | +#include "../generic/display_tuning_screen.h" |
| 109 | +#include "../generic/statistics_screen.h" |
| 110 | +#include "../generic/stepper_current_screen.h" |
| 111 | +#include "../generic/leveling_menu.h" |
| 112 | +#include "../generic/z_offset_screen.h" |
| 113 | +#include "../generic/bed_mesh_base.h" |
| 114 | +#include "../generic/bed_mesh_view_screen.h" |
| 115 | +#include "../generic/bed_mesh_edit_screen.h" |
| 116 | +#include "../generic/case_light_screen.h" |
| 117 | +#include "../generic/linear_advance_screen.h" |
| 118 | +#include "../generic/files_screen.h" |
| 119 | +#include "../generic/move_axis_screen.h" |
| 120 | +#include "../generic/flow_percent_screen.h" |
| 121 | +#include "../generic/tune_menu.h" |
| 122 | +#if HAS_JUNCTION_DEVIATION |
| 123 | + #include "../generic/junction_deviation_screen.h" |
| 124 | +#else |
| 125 | + #include "../generic/jerk_screen.h" |
| 126 | +#endif |
| 127 | + |
| 128 | +#include "status_screen.h" |
| 129 | +#include "main_menu.h" |
| 130 | +#include "advanced_settings_menu.h" |
| 131 | +#include "preheat_menu.h" |
| 132 | +#include "preheat_screen.h" |
| 133 | +#include "load_chocolate.h" |
| 134 | +#include "move_xyz_screen.h" |
| 135 | +#include "move_e_screen.h" |
0 commit comments