|
@ -438,7 +438,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
#if ENABLED(MIN_SOFTWARE_ENDSTOPS) && DISABLED(MIN_SOFTWARE_ENDSTOP_Z) |
|
|
#if ENABLED(MIN_SOFTWARE_ENDSTOPS) && DISABLED(MIN_SOFTWARE_ENDSTOP_Z) |
|
|
#if IS_KINEMATIC |
|
|
#if IS_KINEMATIC |
|
|
#error "MIN_SOFTWARE_ENDSTOPS on DELTA/SCARA also requires MIN_SOFTWARE_ENDSTOP_Z." |
|
|
#error "MIN_SOFTWARE_ENDSTOPS on DELTA/SCARA also requires MIN_SOFTWARE_ENDSTOP_Z." |
|
|
#elif DISABLED(MIN_SOFTWARE_ENDSTOP_X) && DISABLED(MIN_SOFTWARE_ENDSTOP_Y) |
|
|
#elif DISABLED(MIN_SOFTWARE_ENDSTOP_X, MIN_SOFTWARE_ENDSTOP_Y) |
|
|
#error "MIN_SOFTWARE_ENDSTOPS requires at least one of the MIN_SOFTWARE_ENDSTOP_[XYZ] options." |
|
|
#error "MIN_SOFTWARE_ENDSTOPS requires at least one of the MIN_SOFTWARE_ENDSTOP_[XYZ] options." |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
@ -446,7 +446,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
#if ENABLED(MAX_SOFTWARE_ENDSTOPS) && DISABLED(MAX_SOFTWARE_ENDSTOP_Z) |
|
|
#if ENABLED(MAX_SOFTWARE_ENDSTOPS) && DISABLED(MAX_SOFTWARE_ENDSTOP_Z) |
|
|
#if IS_KINEMATIC |
|
|
#if IS_KINEMATIC |
|
|
#error "MAX_SOFTWARE_ENDSTOPS on DELTA/SCARA also requires MAX_SOFTWARE_ENDSTOP_Z." |
|
|
#error "MAX_SOFTWARE_ENDSTOPS on DELTA/SCARA also requires MAX_SOFTWARE_ENDSTOP_Z." |
|
|
#elif DISABLED(MAX_SOFTWARE_ENDSTOP_X) && DISABLED(MAX_SOFTWARE_ENDSTOP_Y) |
|
|
#elif DISABLED(MAX_SOFTWARE_ENDSTOP_X, MAX_SOFTWARE_ENDSTOP_Y) |
|
|
#error "MAX_SOFTWARE_ENDSTOPS requires at least one of the MAX_SOFTWARE_ENDSTOP_[XYZ] options." |
|
|
#error "MAX_SOFTWARE_ENDSTOPS requires at least one of the MAX_SOFTWARE_ENDSTOP_[XYZ] options." |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
@ -495,7 +495,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
* Progress Bar |
|
|
* Progress Bar |
|
|
*/ |
|
|
*/ |
|
|
#if ENABLED(LCD_PROGRESS_BAR) |
|
|
#if ENABLED(LCD_PROGRESS_BAR) |
|
|
#if DISABLED(SDSUPPORT) && DISABLED(LCD_SET_PROGRESS_MANUALLY) |
|
|
#if DISABLED(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) |
|
|
#error "LCD_PROGRESS_BAR requires SDSUPPORT or LCD_SET_PROGRESS_MANUALLY." |
|
|
#error "LCD_PROGRESS_BAR requires SDSUPPORT or LCD_SET_PROGRESS_MANUALLY." |
|
|
#elif !HAS_CHARACTER_LCD |
|
|
#elif !HAS_CHARACTER_LCD |
|
|
#error "LCD_PROGRESS_BAR requires a character LCD." |
|
|
#error "LCD_PROGRESS_BAR requires a character LCD." |
|
@ -603,7 +603,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
#error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 4 requires FIL_RUNOUT5_PIN." |
|
|
#error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 4 requires FIL_RUNOUT5_PIN." |
|
|
#elif NUM_RUNOUT_SENSORS > 5 && !PIN_EXISTS(FIL_RUNOUT6) |
|
|
#elif NUM_RUNOUT_SENSORS > 5 && !PIN_EXISTS(FIL_RUNOUT6) |
|
|
#error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 5 requires FIL_RUNOUT6_PIN." |
|
|
#error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 5 requires FIL_RUNOUT6_PIN." |
|
|
#elif DISABLED(SDSUPPORT) && DISABLED(PRINTJOB_TIMER_AUTOSTART) |
|
|
#elif DISABLED(SDSUPPORT, PRINTJOB_TIMER_AUTOSTART) |
|
|
#error "FILAMENT_RUNOUT_SENSOR requires SDSUPPORT or PRINTJOB_TIMER_AUTOSTART." |
|
|
#error "FILAMENT_RUNOUT_SENSOR requires SDSUPPORT or PRINTJOB_TIMER_AUTOSTART." |
|
|
#elif DISABLED(ADVANCED_PAUSE_FEATURE) |
|
|
#elif DISABLED(ADVANCED_PAUSE_FEATURE) |
|
|
static_assert(NULL == strstr(FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with FILAMENT_RUNOUT_SENSOR."); |
|
|
static_assert(NULL == strstr(FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with FILAMENT_RUNOUT_SENSOR."); |
|
@ -618,7 +618,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
#error "ADVANCED_PAUSE_FEATURE currently requires an LCD controller or EMERGENCY_PARSER." |
|
|
#error "ADVANCED_PAUSE_FEATURE currently requires an LCD controller or EMERGENCY_PARSER." |
|
|
#elif ENABLED(EXTRUDER_RUNOUT_PREVENT) |
|
|
#elif ENABLED(EXTRUDER_RUNOUT_PREVENT) |
|
|
#error "EXTRUDER_RUNOUT_PREVENT is incompatible with ADVANCED_PAUSE_FEATURE." |
|
|
#error "EXTRUDER_RUNOUT_PREVENT is incompatible with ADVANCED_PAUSE_FEATURE." |
|
|
#elif ENABLED(PARK_HEAD_ON_PAUSE) && DISABLED(SDSUPPORT) && DISABLED(NEWPANEL) && DISABLED(EMERGENCY_PARSER) |
|
|
#elif ENABLED(PARK_HEAD_ON_PAUSE) && DISABLED(SDSUPPORT, NEWPANEL, EMERGENCY_PARSER) |
|
|
#error "PARK_HEAD_ON_PAUSE requires SDSUPPORT, EMERGENCY_PARSER, or an LCD controller." |
|
|
#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) |
|
|
#elif ENABLED(HOME_BEFORE_FILAMENT_CHANGE) && DISABLED(PAUSE_PARK_NO_STEPPER_TIMEOUT) |
|
|
#error "HOME_BEFORE_FILAMENT_CHANGE requires PAUSE_PARK_NO_STEPPER_TIMEOUT." |
|
|
#error "HOME_BEFORE_FILAMENT_CHANGE requires PAUSE_PARK_NO_STEPPER_TIMEOUT." |
|
@ -935,7 +935,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
* Delta requirements |
|
|
* Delta requirements |
|
|
*/ |
|
|
*/ |
|
|
#if ENABLED(DELTA) |
|
|
#if ENABLED(DELTA) |
|
|
#if DISABLED(USE_XMAX_PLUG) && DISABLED(USE_YMAX_PLUG) && DISABLED(USE_ZMAX_PLUG) |
|
|
#if DISABLED(USE_XMAX_PLUG, USE_YMAX_PLUG, USE_ZMAX_PLUG) |
|
|
#error "You probably want to use Max Endstops for DELTA!" |
|
|
#error "You probably want to use Max Endstops for DELTA!" |
|
|
#elif ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(AUTO_BED_LEVELING_BILINEAR) && !UBL_SEGMENTED |
|
|
#elif ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(AUTO_BED_LEVELING_BILINEAR) && !UBL_SEGMENTED |
|
|
#error "ENABLE_LEVELING_FADE_HEIGHT on DELTA requires AUTO_BED_LEVELING_BILINEAR or AUTO_BED_LEVELING_UBL." |
|
|
#error "ENABLE_LEVELING_FADE_HEIGHT on DELTA requires AUTO_BED_LEVELING_BILINEAR or AUTO_BED_LEVELING_UBL." |
|
@ -1241,7 +1241,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
/**
|
|
|
/**
|
|
|
* ULTIPANEL encoder |
|
|
* ULTIPANEL encoder |
|
|
*/ |
|
|
*/ |
|
|
#if ENABLED(ULTIPANEL) && DISABLED(NEWPANEL) && DISABLED(SR_LCD_2W_NL) && !defined(SHIFT_CLK) |
|
|
#if ENABLED(ULTIPANEL) && DISABLED(NEWPANEL, SR_LCD_2W_NL) && !defined(SHIFT_CLK) |
|
|
#error "ULTIPANEL requires some kind of encoder." |
|
|
#error "ULTIPANEL requires some kind of encoder." |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
@ -1253,7 +1253,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
* SAV_3DGLCD display options |
|
|
* SAV_3DGLCD display options |
|
|
*/ |
|
|
*/ |
|
|
#if ENABLED(SAV_3DGLCD) |
|
|
#if ENABLED(SAV_3DGLCD) |
|
|
#if DISABLED(U8GLIB_SSD1306) && DISABLED(U8GLIB_SH1106) |
|
|
#if DISABLED(U8GLIB_SSD1306, U8GLIB_SH1106) |
|
|
#error "Enable a SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106." |
|
|
#error "Enable a SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106." |
|
|
#elif BOTH(U8GLIB_SSD1306, U8GLIB_SH1106) |
|
|
#elif BOTH(U8GLIB_SSD1306, U8GLIB_SH1106) |
|
|
#error "Only enable one SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106." |
|
|
#error "Only enable one SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106." |
|
@ -1502,7 +1502,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
* Endstop Tests |
|
|
* Endstop Tests |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
|
|
|
#define _PLUG_UNUSED_TEST(AXIS,PLUG) (DISABLED(USE_##PLUG##MIN_PLUG) && DISABLED(USE_##PLUG##MAX_PLUG) && !(ENABLED(AXIS##_DUAL_ENDSTOPS) && WITHIN(AXIS##2_USE_ENDSTOP, _##PLUG##MAX_, _##PLUG##MIN_))) |
|
|
#define _PLUG_UNUSED_TEST(AXIS,PLUG) (DISABLED(USE_##PLUG##MIN_PLUG, USE_##PLUG##MAX_PLUG) && !(ENABLED(AXIS##_DUAL_ENDSTOPS) && WITHIN(AXIS##2_USE_ENDSTOP, _##PLUG##MAX_, _##PLUG##MIN_))) |
|
|
#define _AXIS_PLUG_UNUSED_TEST(AXIS) (_PLUG_UNUSED_TEST(AXIS,X) && _PLUG_UNUSED_TEST(AXIS,Y) && _PLUG_UNUSED_TEST(AXIS,Z)) |
|
|
#define _AXIS_PLUG_UNUSED_TEST(AXIS) (_PLUG_UNUSED_TEST(AXIS,X) && _PLUG_UNUSED_TEST(AXIS,Y) && _PLUG_UNUSED_TEST(AXIS,Z)) |
|
|
|
|
|
|
|
|
// At least 3 endstop plugs must be used
|
|
|
// At least 3 endstop plugs must be used
|
|
@ -1758,7 +1758,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
+ ENABLED(G3D_PANEL) \ |
|
|
+ ENABLED(G3D_PANEL) \ |
|
|
+ (ENABLED(MINIPANEL) && DISABLED(MKS_MINI_12864)) \ |
|
|
+ (ENABLED(MINIPANEL) && DISABLED(MKS_MINI_12864)) \ |
|
|
+ ENABLED(MKS_MINI_12864) \ |
|
|
+ ENABLED(MKS_MINI_12864) \ |
|
|
+ (ENABLED(REPRAPWORLD_KEYPAD) && DISABLED(CARTESIO_UI) && DISABLED(ZONESTAR_LCD)) \ |
|
|
+ (ENABLED(REPRAPWORLD_KEYPAD) && DISABLED(CARTESIO_UI, ZONESTAR_LCD)) \ |
|
|
+ ENABLED(RIGIDBOT_PANEL) \ |
|
|
+ ENABLED(RIGIDBOT_PANEL) \ |
|
|
+ ENABLED(RA_CONTROL_PANEL) \ |
|
|
+ ENABLED(RA_CONTROL_PANEL) \ |
|
|
+ ENABLED(LCD_SAINSMART_I2C_1602) \ |
|
|
+ ENABLED(LCD_SAINSMART_I2C_1602) \ |
|
@ -1766,7 +1766,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS |
|
|
+ ENABLED(LCM1602) \ |
|
|
+ ENABLED(LCM1602) \ |
|
|
+ ENABLED(LCD_I2C_PANELOLU2) \ |
|
|
+ ENABLED(LCD_I2C_PANELOLU2) \ |
|
|
+ ENABLED(LCD_I2C_VIKI) \ |
|
|
+ ENABLED(LCD_I2C_VIKI) \ |
|
|
+ (ENABLED(U8GLIB_SSD1306) && DISABLED(OLED_PANEL_TINYBOY2) && DISABLED(MKS_12864OLED_SSD1306)) \ |
|
|
+ (ENABLED(U8GLIB_SSD1306) && DISABLED(OLED_PANEL_TINYBOY2, MKS_12864OLED_SSD1306)) \ |
|
|
+ ENABLED(SAV_3DLCD) \ |
|
|
+ ENABLED(SAV_3DLCD) \ |
|
|
+ ENABLED(BQ_LCD_SMART_CONTROLLER) \ |
|
|
+ ENABLED(BQ_LCD_SMART_CONTROLLER) \ |
|
|
+ ENABLED(SAV_3DGLCD) \ |
|
|
+ ENABLED(SAV_3DGLCD) \ |
|
|