My Marlin configs for Fabrikator Mini and CTC i3 Pro B
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

screens.h 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. /*************
  2. * screens.h *
  3. *************/
  4. /****************************************************************************
  5. * Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
  6. * Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
  7. * *
  8. * This program is free software: you can redistribute it and/or modify *
  9. * it under the terms of the GNU General Public License as published by *
  10. * the Free Software Foundation, either version 3 of the License, or *
  11. * (at your option) any later version. *
  12. * *
  13. * This program is distributed in the hope that it will be useful, *
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
  16. * GNU General Public License for more details. *
  17. * *
  18. * To view a copy of the GNU General Public License, go to the following *
  19. * location: <https://www.gnu.org/licenses/>. *
  20. ****************************************************************************/
  21. #pragma once
  22. /********************************* DL CACHE SLOTS ******************************/
  23. // In order to reduce SPI traffic, we cache display lists (DL) in RAMG. This
  24. // is done using the CLCD::DLCache class, which takes a unique ID for each
  25. // cache location. These IDs are defined here:
  26. enum {
  27. STATUS_SCREEN_CACHE,
  28. MENU_SCREEN_CACHE,
  29. TUNE_SCREEN_CACHE,
  30. ALERT_BOX_CACHE,
  31. SPINNER_CACHE,
  32. ADVANCED_SETTINGS_SCREEN_CACHE,
  33. MOVE_AXIS_SCREEN_CACHE,
  34. TEMPERATURE_SCREEN_CACHE,
  35. STEPS_SCREEN_CACHE,
  36. MAX_FEEDRATE_SCREEN_CACHE,
  37. MAX_VELOCITY_SCREEN_CACHE,
  38. MAX_ACCELERATION_SCREEN_CACHE,
  39. DEFAULT_ACCELERATION_SCREEN_CACHE,
  40. FLOW_PERCENT_SCREEN_CACHE,
  41. #if HAS_LEVELING
  42. LEVELING_SCREEN_CACHE,
  43. #if HAS_BED_PROBE
  44. ZOFFSET_SCREEN_CACHE,
  45. #endif
  46. #if HAS_MESH
  47. BED_MESH_VIEW_SCREEN_CACHE,
  48. BED_MESH_EDIT_SCREEN_CACHE,
  49. #endif
  50. #endif
  51. #if ENABLED(BABYSTEPPING)
  52. ADJUST_OFFSETS_SCREEN_CACHE,
  53. #endif
  54. #if HAS_TRINAMIC_CONFIG
  55. STEPPER_CURRENT_SCREEN_CACHE,
  56. STEPPER_BUMP_SENSITIVITY_SCREEN_CACHE,
  57. #endif
  58. #if HAS_MULTI_HOTEND
  59. NOZZLE_OFFSET_SCREEN_CACHE,
  60. #endif
  61. #if ENABLED(BACKLASH_GCODE)
  62. BACKLASH_COMPENSATION_SCREEN_CACHE,
  63. #endif
  64. #if HAS_JUNCTION_DEVIATION
  65. JUNC_DEV_SCREEN_CACHE,
  66. #else
  67. JERK_SCREEN_CACHE,
  68. #endif
  69. #if ENABLED(CASE_LIGHT_ENABLE)
  70. CASE_LIGHT_SCREEN_CACHE,
  71. #endif
  72. #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
  73. FILAMENT_MENU_CACHE,
  74. #endif
  75. #if ENABLED(LIN_ADVANCE)
  76. LINEAR_ADVANCE_SCREEN_CACHE,
  77. #endif
  78. #if ENABLED(FILAMENT_RUNOUT_SENSOR)
  79. FILAMENT_RUNOUT_SCREEN_CACHE,
  80. #endif
  81. #if ENABLED(SDSUPPORT)
  82. FILES_SCREEN_CACHE,
  83. #endif
  84. #if ENABLED(CUSTOM_MENU_MAIN)
  85. CUSTOM_USER_MENUS_SCREEN_CACHE,
  86. #endif
  87. CHANGE_FILAMENT_SCREEN_CACHE,
  88. INTERFACE_SETTINGS_SCREEN_CACHE,
  89. INTERFACE_SOUNDS_SCREEN_CACHE,
  90. LOCK_SCREEN_CACHE,
  91. DISPLAY_TIMINGS_SCREEN_CACHE
  92. };
  93. // To save MCU RAM, the status message is "baked" in to the status screen
  94. // cache, so we reserve a large chunk of memory for the DL cache
  95. #define STATUS_SCREEN_DL_SIZE 4096
  96. #define ALERT_BOX_DL_SIZE 3072
  97. #define SPINNER_DL_SIZE 3072
  98. #define FILE_SCREEN_DL_SIZE 4160
  99. #define PRINTING_SCREEN_DL_SIZE 2048
  100. /************************* MENU SCREEN DECLARATIONS *************************/
  101. #include "base_screen.h"
  102. #include "base_numeric_adjustment_screen.h"
  103. #include "dialog_box_base_class.h"
  104. #include "status_screen.h"
  105. #include "main_menu.h"
  106. #include "advanced_settings_menu.h"
  107. #include "tune_menu.h"
  108. #include "boot_screen.h"
  109. #include "about_screen.h"
  110. #include "kill_screen.h"
  111. #include "alert_dialog_box.h"
  112. #include "spinner_dialog_box.h"
  113. #include "restore_failsafe_dialog_box.h"
  114. #include "save_settings_dialog_box.h"
  115. #include "confirm_start_print_dialog_box.h"
  116. #include "confirm_abort_print_dialog_box.h"
  117. #include "confirm_user_request_alert_box.h"
  118. #include "touch_calibration_screen.h"
  119. #include "touch_registers_screen.h"
  120. #include "change_filament_screen.h"
  121. #include "move_axis_screen.h"
  122. #include "steps_screen.h"
  123. #include "feedrate_percent_screen.h"
  124. #include "max_velocity_screen.h"
  125. #include "max_acceleration_screen.h"
  126. #include "default_acceleration_screen.h"
  127. #include "temperature_screen.h"
  128. #include "interface_sounds_screen.h"
  129. #include "interface_settings_screen.h"
  130. #include "lock_screen.h"
  131. #include "endstop_state_screen.h"
  132. #include "display_tuning_screen.h"
  133. #include "media_player_screen.h"
  134. #if ENABLED(PRINTCOUNTER)
  135. #include "statistics_screen.h"
  136. #endif
  137. #if HAS_TRINAMIC_CONFIG
  138. #include "stepper_current_screen.h"
  139. #include "stepper_bump_sensitivity_screen.h"
  140. #endif
  141. #if HAS_MULTI_HOTEND
  142. #include "nozzle_offsets_screen.h"
  143. #endif
  144. #if HAS_LEVELING
  145. #if ENABLED(TOUCH_UI_SYNDAVER_LEVEL)
  146. #include "syndaver_level/leveling_menu.h"
  147. #else
  148. #include "leveling_menu.h"
  149. #endif
  150. #if HAS_BED_PROBE
  151. #include "z_offset_screen.h"
  152. #endif
  153. #if HAS_MESH
  154. #include "bed_mesh_base.h"
  155. #include "bed_mesh_view_screen.h"
  156. #include "bed_mesh_edit_screen.h"
  157. #endif
  158. #endif
  159. #if ENABLED(CALIBRATION_GCODE)
  160. #include "confirm_auto_calibration_dialog_box.h"
  161. #endif
  162. #if ENABLED(BABYSTEPPING)
  163. #include "nudge_nozzle_screen.h"
  164. #endif
  165. #if ENABLED(BACKLASH_GCODE)
  166. #include "backlash_compensation_screen.h"
  167. #endif
  168. #if HAS_JUNCTION_DEVIATION
  169. #include "junction_deviation_screen.h"
  170. #else
  171. #include "jerk_screen.h"
  172. #endif
  173. #if ENABLED(CASE_LIGHT_ENABLE)
  174. #include "case_light_screen.h"
  175. #endif
  176. #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
  177. #include "filament_menu.h"
  178. #endif
  179. #if ENABLED(FILAMENT_RUNOUT_SENSOR)
  180. #include "filament_runout_screen.h"
  181. #endif
  182. #if ENABLED(LIN_ADVANCE)
  183. #include "linear_advance_screen.h"
  184. #endif
  185. #if ENABLED(SDSUPPORT)
  186. #include "files_screen.h"
  187. #endif
  188. #if ENABLED(CUSTOM_MENU_MAIN)
  189. #include "custom_user_menus.h"
  190. #endif
  191. #if ENABLED(TOUCH_UI_DEVELOPER_MENU)
  192. #include "developer_menu.h"
  193. #include "confirm_erase_flash_dialog_box.h"
  194. #include "widget_demo_screen.h"
  195. #include "stress_test_screen.h"
  196. #endif
  197. #if NUM_LANGUAGES > 1
  198. #include "language_menu.h"
  199. #endif