TFT Presets, Generic options, Sanity checks (#19723)
This commit is contained in:
@ -702,8 +702,10 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#elif PROGRESS_MSG_EXPIRE < 0
|
||||
#error "PROGRESS_MSG_EXPIRE must be greater than or equal to 0."
|
||||
#endif
|
||||
#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_MARLINUI_U8GLIB, HAS_GRAPHICAL_TFT, HAS_MARLINUI_HD44780, EXTENSIBLE_UI)
|
||||
#error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Character LCD, Graphical LCD, TFT, or EXTENSIBLE_UI."
|
||||
#elif ENABLED(LCD_SET_PROGRESS_MANUALLY)
|
||||
#if NONE(HAS_MARLINUI_U8GLIB, HAS_GRAPHICAL_TFT, HAS_MARLINUI_HD44780, EXTENSIBLE_UI)
|
||||
#error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Character LCD, Graphical LCD, TFT, or EXTENSIBLE_UI."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if !HAS_LCD_MENU && ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
|
||||
@ -843,7 +845,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE. Please add it to Configuration_adv.h."
|
||||
#elif ENABLED(EXTRUDER_RUNOUT_PREVENT)
|
||||
#error "EXTRUDER_RUNOUT_PREVENT is incompatible with ADVANCED_PAUSE_FEATURE."
|
||||
#elif ENABLED(PARK_HEAD_ON_PAUSE) && NONE(SDSUPPORT, NEWPANEL, EMERGENCY_PARSER)
|
||||
#elif ENABLED(PARK_HEAD_ON_PAUSE) && NONE(SDSUPPORT, IS_NEWPANEL, EMERGENCY_PARSER)
|
||||
#error "PARK_HEAD_ON_PAUSE requires SDSUPPORT, EMERGENCY_PARSER, or an LCD controller."
|
||||
#elif ENABLED(HOME_BEFORE_FILAMENT_CHANGE) && DISABLED(PAUSE_PARK_NO_STEPPER_TIMEOUT)
|
||||
#error "HOME_BEFORE_FILAMENT_CHANGE requires PAUSE_PARK_NO_STEPPER_TIMEOUT."
|
||||
@ -1026,15 +1028,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
/**
|
||||
* Special tool-changing options
|
||||
*/
|
||||
#if 1 < 0 \
|
||||
+ ENABLED(SINGLENOZZLE) \
|
||||
+ ENABLED(DUAL_X_CARRIAGE) \
|
||||
+ ENABLED(PARKING_EXTRUDER) \
|
||||
+ ENABLED(MAGNETIC_PARKING_EXTRUDER) \
|
||||
+ ENABLED(SWITCHING_TOOLHEAD) \
|
||||
+ ENABLED(MAGNETIC_SWITCHING_TOOLHEAD) \
|
||||
+ ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
|
||||
#error "Please select only one of SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, or ELECTROMAGNETIC_SWITCHING_TOOLHEAD."
|
||||
#if MANY(SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
|
||||
#error "Please select only one of SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, or ELECTROMAGNETIC_SWITCHING_TOOLHEAD."
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -1161,16 +1156,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
/**
|
||||
* Allow only one kinematic type to be defined
|
||||
*/
|
||||
#if 1 < 0 \
|
||||
+ ENABLED(DELTA) \
|
||||
+ ENABLED(MORGAN_SCARA) \
|
||||
+ ENABLED(COREXY) \
|
||||
+ ENABLED(COREXZ) \
|
||||
+ ENABLED(COREYZ) \
|
||||
+ ENABLED(COREYX) \
|
||||
+ ENABLED(COREZX) \
|
||||
+ ENABLED(COREZY) \
|
||||
+ ENABLED(MARKFORGED_XY)
|
||||
#if MANY(DELTA, MORGAN_SCARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY)
|
||||
#error "Please enable only one of DELTA, MORGAN_SCARA, COREXY, COREYX, COREXZ, COREZX, COREYZ, COREZY, or MARKFORGED_XY."
|
||||
#endif
|
||||
|
||||
@ -1210,18 +1196,9 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
* Allow only one probe option to be defined
|
||||
*/
|
||||
#if 1 < 0 \
|
||||
+ ENABLED(PROBE_MANUALLY) \
|
||||
+ ENABLED(FIX_MOUNTED_PROBE) \
|
||||
+ ENABLED(NOZZLE_AS_PROBE) \
|
||||
+ (HAS_Z_SERVO_PROBE && DISABLED(BLTOUCH)) \
|
||||
+ ENABLED(BLTOUCH) && DISABLED(CREALITY_TOUCH) \
|
||||
+ ENABLED(CREALITY_TOUCH) \
|
||||
+ ENABLED(TOUCH_MI_PROBE) \
|
||||
+ ENABLED(SOLENOID_PROBE) \
|
||||
+ ENABLED(Z_PROBE_ALLEN_KEY) \
|
||||
+ ENABLED(Z_PROBE_SLED) \
|
||||
+ ENABLED(RACK_AND_PINION_PROBE) \
|
||||
+ ENABLED(SENSORLESS_PROBING)
|
||||
+ (DISABLED(BLTOUCH) && HAS_Z_SERVO_PROBE) \
|
||||
+ (ENABLED(BLTOUCH) && DISABLED(CREALITY_TOUCH)) \
|
||||
+ COUNT_ENABLED(PROBE_MANUALLY, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, CREALITY_TOUCH, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, RACK_AND_PINION_PROBE, SENSORLESS_PROBING)
|
||||
#error "Please enable only one probe option: PROBE_MANUALLY, SENSORLESS_PROBING, BLTOUCH, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo."
|
||||
#endif
|
||||
|
||||
@ -1391,12 +1368,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
/**
|
||||
* Allow only one bed leveling option to be defined
|
||||
*/
|
||||
#if 1 < 0 \
|
||||
+ ENABLED(AUTO_BED_LEVELING_LINEAR) \
|
||||
+ ENABLED(AUTO_BED_LEVELING_3POINT) \
|
||||
+ ENABLED(AUTO_BED_LEVELING_BILINEAR) \
|
||||
+ ENABLED(AUTO_BED_LEVELING_UBL) \
|
||||
+ ENABLED(MESH_BED_LEVELING)
|
||||
#if MANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL, MESH_BED_LEVELING)
|
||||
#error "Select only one of: MESH_BED_LEVELING, AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_BILINEAR or AUTO_BED_LEVELING_UBL."
|
||||
#endif
|
||||
|
||||
@ -1558,8 +1530,8 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
|
||||
/**
|
||||
* ULTIPANEL encoder
|
||||
*/
|
||||
#if ENABLED(ULTIPANEL) && NONE(NEWPANEL, SR_LCD_2W_NL) && !defined(SHIFT_CLK)
|
||||
#error "ULTIPANEL requires some kind of encoder."
|
||||
#if IS_ULTIPANEL && NONE(IS_NEWPANEL, SR_LCD_2W_NL) && !defined(SHIFT_CLK)
|
||||
#error "ULTIPANEL controllers require some kind of encoder."
|
||||
#endif
|
||||
|
||||
#if ENCODER_PULSES_PER_STEP < 0
|
||||
@ -2237,89 +2209,100 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
|
||||
* Make sure only one display is enabled
|
||||
*/
|
||||
#if 1 < 0 \
|
||||
+ (ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && DISABLED(IS_RRD_SC)) \
|
||||
+ (ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(IS_RRD_FG_SC)) \
|
||||
+ (ENABLED(ULTRA_LCD) && DISABLED(IS_ULTRA_LCD)) \
|
||||
+ ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \
|
||||
+ ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) \
|
||||
+ ENABLED(ULTIPANEL) \
|
||||
+ ENABLED(ULTRA_LCD) \
|
||||
+ (ENABLED(U8GLIB_SSD1306) && DISABLED(IS_U8GLIB_SSD1306)) \
|
||||
+ (ENABLED(MINIPANEL) && NONE(MKS_MINI_12864, ENDER2_STOCKDISPLAY)) \
|
||||
+ (ENABLED(MKS_MINI_12864) && DISABLED(MKS_LCD12864)) \
|
||||
+ (ENABLED(EXTENSIBLE_UI) && DISABLED(IS_EXTUI)) \
|
||||
+ (ENABLED(ULTIPANEL) && DISABLED(IS_ULTIPANEL)) \
|
||||
+ ENABLED(RADDS_DISPLAY) \
|
||||
+ ENABLED(ULTIMAKERCONTROLLER) \
|
||||
+ ENABLED(PANEL_ONE) \
|
||||
+ ENABLED(G3D_PANEL) \
|
||||
+ ENABLED(RIGIDBOT_PANEL) \
|
||||
+ ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) \
|
||||
+ ENABLED(ZONESTAR_LCD) \
|
||||
+ ENABLED(RA_CONTROL_PANEL) \
|
||||
+ ENABLED(LCD_SAINSMART_I2C_1602) \
|
||||
+ ENABLED(LCD_SAINSMART_I2C_2004) \
|
||||
+ ENABLED(LCM1602) \
|
||||
+ ENABLED(LCD_I2C_PANELOLU2) \
|
||||
+ ENABLED(LCD_I2C_VIKI) \
|
||||
+ ENABLED(SAV_3DLCD) \
|
||||
+ ENABLED(FF_INTERFACEBOARD) \
|
||||
+ ENABLED(REPRAPWORLD_GRAPHICAL_LCD) \
|
||||
+ ENABLED(VIKI2) \
|
||||
+ ENABLED(miniVIKI) \
|
||||
+ ENABLED(MAKRPANEL) \
|
||||
+ ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
|
||||
+ ENABLED(BQ_LCD_SMART_CONTROLLER) \
|
||||
+ ENABLED(CARTESIO_UI) \
|
||||
+ ENABLED(LCD_FOR_MELZI) \
|
||||
+ ENABLED(ULTI_CONTROLLER) \
|
||||
+ ENABLED(MKS_LCD12864) \
|
||||
+ ENABLED(ENDER2_STOCKDISPLAY) \
|
||||
+ ENABLED(FYSETC_MINI_12864_X_X) \
|
||||
+ ENABLED(FYSETC_MINI_12864_1_2) \
|
||||
+ ENABLED(FYSETC_MINI_12864_2_0) \
|
||||
+ ENABLED(FYSETC_MINI_12864_2_1) \
|
||||
+ ENABLED(FYSETC_GENERIC_12864_1_1) \
|
||||
+ ENABLED(CR10_STOCKDISPLAY) \
|
||||
+ ENABLED(DWIN_CREALITY_LCD) \
|
||||
+ (DISABLED(IS_LEGACY_TFT) && ENABLED(TFT_GENERIC)) \
|
||||
+ (ENABLED(IS_LEGACY_TFT) && COUNT_ENABLED(TFT_320x240, TFT_320x240_SPI, TFT_480x320, TFT_480x320_SPI)) \
|
||||
+ COUNT_ENABLED(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON, ANYCUBIC_TFT35) \
|
||||
+ COUNT_ENABLED(DGUS_LCD_UI_ORIGIN, DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY) \
|
||||
+ COUNT_ENABLED(ENDER2_STOCKDISPLAY, CR10_STOCKDISPLAY, DWIN_CREALITY_LCD) \
|
||||
+ COUNT_ENABLED(FYSETC_MINI_12864_X_X, FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1, FYSETC_GENERIC_12864_1_1) \
|
||||
+ COUNT_ENABLED(LCD_SAINSMART_I2C_1602, LCD_SAINSMART_I2C_2004) \
|
||||
+ COUNT_ENABLED(MKS_12864OLED, MKS_12864OLED_SSD1306) \
|
||||
+ COUNT_ENABLED(MKS_TS35_V2_0, MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R) \
|
||||
+ COUNT_ENABLED(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C) \
|
||||
+ COUNT_ENABLED(VIKI2, miniVIKI) \
|
||||
+ COUNT_ENABLED(ZONESTAR_12864LCD, ZONESTAR_12864OLED, ZONESTAR_12864OLED_SSD1306) \
|
||||
+ ENABLED(ANET_FULL_GRAPHICS_LCD) \
|
||||
+ ENABLED(AZSMZ_12864) \
|
||||
+ ENABLED(SILVER_GATE_GLCD_CONTROLLER) \
|
||||
+ ENABLED(SAV_3DGLCD) \
|
||||
+ ENABLED(OLED_PANEL_TINYBOY2) \
|
||||
+ ENABLED(MKS_12864OLED) \
|
||||
+ ENABLED(MKS_12864OLED_SSD1306) \
|
||||
+ ENABLED(ZONESTAR_12864LCD) \
|
||||
+ ENABLED(ZONESTAR_12864OLED) \
|
||||
+ ENABLED(ZONESTAR_12864OLED_SSD1306) \
|
||||
+ ENABLED(U8GLIB_SH1106_EINSTART) \
|
||||
+ ENABLED(OVERLORD_OLED) \
|
||||
+ ENABLED(BQ_LCD_SMART_CONTROLLER) \
|
||||
+ ENABLED(CARTESIO_UI) \
|
||||
+ ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
|
||||
+ ENABLED(FF_INTERFACEBOARD) \
|
||||
+ ENABLED(FYSETC_242_OLED_12864) \
|
||||
+ ENABLED(DGUS_LCD_UI_ORIGIN) \
|
||||
+ ENABLED(DGUS_LCD_UI_FYSETC) \
|
||||
+ ENABLED(DGUS_LCD_UI_HIPRECY) \
|
||||
+ ENABLED(G3D_PANEL) \
|
||||
+ ENABLED(LCD_FOR_MELZI) \
|
||||
+ ENABLED(LCD_I2C_PANELOLU2) \
|
||||
+ ENABLED(LCD_I2C_VIKI) \
|
||||
+ ENABLED(LCM1602) \
|
||||
+ ENABLED(LONGER_LK_TFT28) \
|
||||
+ ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) \
|
||||
+ ENABLED(MAKRPANEL) \
|
||||
+ ENABLED(MALYAN_LCD) \
|
||||
+ ENABLED(MKS_LCD12864) \
|
||||
+ ENABLED(OLED_PANEL_TINYBOY2) \
|
||||
+ ENABLED(OVERLORD_OLED) \
|
||||
+ ENABLED(PANEL_ONE) \
|
||||
+ ENABLED(RA_CONTROL_PANEL) \
|
||||
+ ENABLED(RADDS_DISPLAY) \
|
||||
+ ENABLED(REPRAPWORLD_GRAPHICAL_LCD) \
|
||||
+ ENABLED(RIGIDBOT_PANEL) \
|
||||
+ ENABLED(SAV_3DGLCD) \
|
||||
+ ENABLED(SAV_3DLCD) \
|
||||
+ ENABLED(SILVER_GATE_GLCD_CONTROLLER) \
|
||||
+ ENABLED(TFT_TRONXY_X5SA) \
|
||||
+ ENABLED(TOUCH_UI_FTDI_EVE) \
|
||||
+ ENABLED(TFT_320x240) \
|
||||
+ ENABLED(TFT_320x240_SPI) \
|
||||
+ ENABLED(FSMC_GRAPHICAL_TFT) \
|
||||
+ ENABLED(TFT_LVGL_UI_FSMC) \
|
||||
+ ENABLED(TFT_LVGL_UI_SPI) \
|
||||
+ ENABLED(ANYCUBIC_LCD_I3MEGA) \
|
||||
+ ENABLED(ANYCUBIC_LCD_CHIRON) \
|
||||
+ ENABLED(TFTGLCD_PANEL_SPI) \
|
||||
+ ENABLED(TFTGLCD_PANEL_I2C)
|
||||
+ ENABLED(U8GLIB_SH1106_EINSTART) \
|
||||
+ ENABLED(ULTI_CONTROLLER) \
|
||||
+ ENABLED(ULTIMAKERCONTROLLER) \
|
||||
+ ENABLED(ZONESTAR_LCD)
|
||||
#error "Please select only one LCD controller option."
|
||||
#endif
|
||||
|
||||
#undef IS_RRD_SC
|
||||
#undef IS_RRD_FG_SC
|
||||
#undef IS_ULTRA_LCD
|
||||
#undef IS_U8GLIB_SSD1306
|
||||
#undef IS_RRW_KEYPAD
|
||||
#undef IS_EXTUI
|
||||
#undef IS_ULTIPANEL
|
||||
#undef IS_LEGACY_TFT
|
||||
|
||||
#if 1 < ENABLED(LCD_SCREEN_ROT_0) + ENABLED(LCD_SCREEN_ROT_90) + ENABLED(LCD_SCREEN_ROT_180) + ENABLED(LCD_SCREEN_ROT_270)
|
||||
#if ANY(TFT_GENERIC, MKS_TS35_V2_0, MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R, TFT_TRONXY_X5SA, ANYCUBIC_TFT35, ANYCUBIC_TFT35, LONGER_LK_TFT28)
|
||||
#if NONE(TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI)
|
||||
#error "TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI is required for your TFT. Please enable one."
|
||||
#elif 1 < ENABLED(TFT_COLOR_UI) + ENABLED(TFT_CLASSIC_UI) + ENABLED(TFT_LVGL_UI)
|
||||
#error "Please select only one of TFT_COLOR_UI, TFT_CLASSIC_UI, or TFT_LVGL_UI."
|
||||
#endif
|
||||
#elif ANY(TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI)
|
||||
#error "TFT_(COLOR|CLASSIC|LVGL)_UI requires a TFT display to be enabled."
|
||||
#endif
|
||||
|
||||
#if ENABLED(TFT_GENERIC) && NONE(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI)
|
||||
#error "TFT_GENERIC requires either TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI interface."
|
||||
#endif
|
||||
|
||||
#if BOTH(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI)
|
||||
#error "Please enable only one of TFT_INTERFACE_SPI or TFT_INTERFACE_SPI."
|
||||
#endif
|
||||
|
||||
#if MANY(LCD_SCREEN_ROT_0, LCD_SCREEN_ROT_90, LCD_SCREEN_ROT_180, LCD_SCREEN_ROT_270)
|
||||
#error "Please enable only one LCD_SCREEN_ROT_* option: 0, 90, 180, or 270."
|
||||
#endif
|
||||
|
||||
#if MANY(TFT_RES_320x240, TFT_RES_480x272, TFT_RES_480x320)
|
||||
#error "Please select only one of TFT_RES_480x320, TFT_RES_480x320, or TFT_RES_480x272."
|
||||
#endif
|
||||
|
||||
#if HAS_TFT_LVGL_UI && DISABLED(TFT_RES_480x320)
|
||||
#error "(FMSC|SPI)TFT_LVGL_UI requires TFT_RES_480x320."
|
||||
#endif
|
||||
|
||||
#if defined(GRAPHICAL_TFT_UPSCALE) && !WITHIN(GRAPHICAL_TFT_UPSCALE, 2, 3)
|
||||
#error "GRAPHICAL_TFT_UPSCALE must be set to 2 or 3."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Serial displays require a dedicated serial port
|
||||
*/
|
||||
@ -2756,7 +2739,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
|
||||
#error "BLOCK_BUFFER_SIZE must be a power of 2."
|
||||
#endif
|
||||
|
||||
#if ENABLED(LED_CONTROL_MENU) && DISABLED(ULTIPANEL)
|
||||
#if ENABLED(LED_CONTROL_MENU) && !IS_ULTIPANEL
|
||||
#error "LED_CONTROL_MENU requires an LCD controller."
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user