[2.0.x] SWITCHING_TOOLHEAD (#11623)

This commit is contained in:
Kevin
2018-09-08 08:43:24 +02:00
committed by Scott Lahteine
parent f417408df1
commit e25d2ae4a2
74 changed files with 1376 additions and 15 deletions

View File

@@ -711,6 +711,37 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
#endif
#endif
/**
* Switching Toolhead requirements
*/
#if ENABLED(SWITCHING_TOOLHEAD)
#if ENABLED(DUAL_X_CARRIAGE)
#error "SWITCHING_TOOLHEAD and DUAL_X_CARRIAGE are incompatible."
#elif ENABLED(SINGLENOZZLE)
#error "SWITCHING_TOOLHEAD and SINGLENOZZLE are incompatible."
#elif ENABLED(PARKING_EXTRUDER)
#error "SWITCHING_TOOLHEAD and PARKING_EXTRUDER are incompatible."
#elif !defined(SWITCHING_TOOLHEAD_SERVO_NR)
#error "SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_SERVO_NR."
#elif EXTRUDERS < 2
#error "SWITCHING_TOOLHEAD requires at least 2 EXTRUDERS."
#elif NUM_SERVOS < (SWITCHING_TOOLHEAD_SERVO_NR - 1)
#if SWITCHING_TOOLHEAD_SERVO_NR == 0
#error "A SWITCHING_TOOLHEAD_SERVO_NR of 0 requires NUM_SERVOS >= 1."
#elif SWITCHING_TOOLHEAD_SERVO_NR == 1
#error "A SWITCHING_TOOLHEAD_SERVO_NR of 1 requires NUM_SERVOS >= 2."
#elif SWITCHING_TOOLHEAD_SERVO_NR == 2
#error "A SWITCHING_TOOLHEAD_SERVO_NR of 2 requires NUM_SERVOS >= 3."
#elif SWITCHING_TOOLHEAD_SERVO_NR == 3
#error "A SWITCHING_TOOLHEAD_SERVO_NR of 3 requires NUM_SERVOS >= 4."
#endif
#elif !defined(SWITCHING_TOOLHEAD_SECURITY_RAISE)
#error "SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_SECURITY_RAISE."
#elif SWITCHING_TOOLHEAD_SECURITY_RAISE < 0
#error "SWITCHING_TOOLHEAD _SECURITY_RAISE must be 0 or higher."
#endif
#endif
/**
* Part-Cooling Fan Multiplexer requirements
*/
@@ -732,8 +763,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
/**
* Servo deactivation depends on servo endstops, switching nozzle, or switching extruder
*/
#if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) && !HAS_Z_SERVO_PROBE && !defined(SWITCHING_NOZZLE_SERVO_NR) && !defined(SWITCHING_EXTRUDER_SERVO_NR)
#error "Z_PROBE_SERVO_NR, switching nozzle, or switching extruder is required for DEACTIVATE_SERVOS_AFTER_MOVE."
#if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) && !HAS_Z_SERVO_PROBE && !defined(SWITCHING_NOZZLE_SERVO_NR) && !defined(SWITCHING_EXTRUDER_SERVO_NR) && !defined(SWITCHING_TOOLHEAD_SERVO_NR)
#error "Z_PROBE_SERVO_NR, switching nozzle, switching toolhead or switching extruder is required for DEACTIVATE_SERVOS_AFTER_MOVE."
#endif
/**