@@ -1193,29 +1193,31 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
1193
1193
/* *
1194
1194
* A Dual Nozzle carriage with switching servo
1195
1195
*/
1196
- #if ENABLED(SWITCHING_NOZZLE)
1196
+ #if BOTH(SWITCHING_NOZZLE, MECHANICAL_SWITCHING_NOZZLE)
1197
+ #error "Enable only one of SWITCHING_NOZZLE or MECHANICAL_SWITCHING_NOZZLE."
1198
+ #elif HAS_SWITCHING_NOZZLE
1197
1199
#if ENABLED(DUAL_X_CARRIAGE)
1198
- #error "SWITCHING_NOZZLE and DUAL_X_CARRIAGE are incompatible."
1200
+ #error "SWITCHING_NOZZLE(_MECHANICAL) and DUAL_X_CARRIAGE are incompatible."
1199
1201
#elif ENABLED(SINGLENOZZLE)
1200
- #error "SWITCHING_NOZZLE and SINGLENOZZLE are incompatible."
1202
+ #error "SWITCHING_NOZZLE(_MECHANICAL) and SINGLENOZZLE are incompatible."
1201
1203
#elif HAS_PRUSA_MMU2
1202
- #error "SWITCHING_NOZZLE and PRUSA_MMU2(S) are incompatible."
1204
+ #error "SWITCHING_NOZZLE(_MECHANICAL) and PRUSA_MMU2(S) are incompatible."
1203
1205
#elif EXTRUDERS != 2
1204
- #error "SWITCHING_NOZZLE requires exactly 2 EXTRUDERS."
1205
- #elif NUM_SERVOS < 1 && DISABLED(SWITCHING_NOZZLE_MECHANICAL)
1206
- #error "SWITCHING_NOZZLE requires NUM_SERVOS >= 1."
1206
+ #error "SWITCHING_NOZZLE(_MECHANICAL) requires exactly 2 EXTRUDERS."
1207
1207
#endif
1208
-
1209
- #if ENABLED(SWITCHING_NOZZLE_MECHANICAL )
1208
+
1209
+ #if ENABLED(MECHANICAL_SWITCHING_NOZZLE )
1210
1210
#ifndef EVENT_GCODE_TOOLCHANGE_T0
1211
- #error "SWITCHING_NOZZLE_MECHANICAL require EVENT_GCODE_TOOLCHANGE_T0"
1211
+ #error "MECHANICAL_SWITCHING_NOZZLE requires EVENT_GCODE_TOOLCHANGE_T0. "
1212
1212
#endif
1213
1213
#ifndef EVENT_GCODE_TOOLCHANGE_T1
1214
- #error "SWITCHING_NOZZLE_MECHANICAL require EVENT_GCODE_TOOLCHANGE_T1"
1214
+ #error "MECHANICAL_SWITCHING_NOZZLE requires EVENT_GCODE_TOOLCHANGE_T1. "
1215
1215
#endif
1216
1216
#else
1217
1217
#ifndef SWITCHING_NOZZLE_SERVO_NR
1218
1218
#error "SWITCHING_NOZZLE requires SWITCHING_NOZZLE_SERVO_NR."
1219
+ #elif NUM_SERVOS < 1
1220
+ #error "SWITCHING_NOZZLE requires NUM_SERVOS >= 1."
1219
1221
#elif SWITCHING_NOZZLE_SERVO_NR == 0 && !PIN_EXISTS(SERVO0)
1220
1222
#error "SERVO0_PIN must be defined for your SWITCHING_NOZZLE."
1221
1223
#elif SWITCHING_NOZZLE_SERVO_NR == 1 && !PIN_EXISTS(SERVO1)
@@ -1245,16 +1247,18 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
1245
1247
/* *
1246
1248
* Single Stepper Dual Extruder
1247
1249
*/
1248
- #if ENABLED(SWITCHING_EXTRUDER)
1250
+ #if BOTH(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
1251
+ #error "Enable only one of SWITCHING_EXTRUDER or MECHANICAL_SWITCHING_EXTRUDER."
1252
+ #elif HAS_SWITCHING_EXTRUDER
1249
1253
#if EXTRUDERS < 2
1250
- #error "SWITCHING_EXTRUDER require 2 or more EXTRUDERS "
1254
+ #error "SWITCHING_EXTRUDER(_MECHANICAL) requires EXTRUDERS >= 2. "
1251
1255
#endif
1252
- #if ENABLED(SWITCHING_EXTRUDER_MECHANICAL )
1256
+ #if ENABLED(MECHANICAL_SWITCHING_EXTRUDER )
1253
1257
#ifndef EVENT_GCODE_TOOLCHANGE_T0
1254
- #error "SWITCHING_EXTRUDER_MECHANICAL require EVENT_GCODE_TOOLCHANGE_T0"
1258
+ #error "MECHANICAL_SWITCHING_EXTRUDER requires EVENT_GCODE_TOOLCHANGE_T0. "
1255
1259
#endif
1256
1260
#ifndef EVENT_GCODE_TOOLCHANGE_T1
1257
- #error "SWITCHING_EXTRUDER_MECHANICAL require EVENT_GCODE_TOOLCHANGE_T1"
1261
+ #error "MECHANICAL_SWITCHING_EXTRUDER requires EVENT_GCODE_TOOLCHANGE_T1. "
1258
1262
#endif
1259
1263
#else
1260
1264
#if NUM_SERVOS < 1
@@ -1296,8 +1300,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
1296
1300
#error "You must set MIXING_STEPPERS >= 2 for a mixing extruder."
1297
1301
#elif ENABLED(FILAMENT_WIDTH_SENSOR)
1298
1302
#error "MIXING_EXTRUDER is incompatible with FILAMENT_WIDTH_SENSOR. Comment out this line to use it anyway."
1299
- #elif ENABLED(SWITCHING_EXTRUDER)
1300
- #error "Please select either MIXING_EXTRUDER or SWITCHING_EXTRUDER, not both ."
1303
+ #elif HAS_SWITCHING_EXTRUDER
1304
+ #error "MIXING_EXTRUDER is not compatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
1301
1305
#elif ENABLED(SINGLENOZZLE)
1302
1306
#error "MIXING_EXTRUDER is incompatible with SINGLENOZZLE."
1303
1307
#elif ENABLED(DISABLE_INACTIVE_EXTRUDER)
@@ -1315,8 +1319,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
1315
1319
#error "E_DUAL_STEPPER_DRIVERS can only be used with EXTRUDERS set to 1."
1316
1320
#elif ENABLED(MIXING_EXTRUDER)
1317
1321
#error "E_DUAL_STEPPER_DRIVERS is incompatible with MIXING_EXTRUDER."
1318
- #elif ENABLED(SWITCHING_EXTRUDER)
1319
- #error "E_DUAL_STEPPER_DRIVERS is incompatible with SWITCHING_EXTRUDER."
1322
+ #elif HAS_SWITCHING_EXTRUDER
1323
+ #error "E_DUAL_STEPPER_DRIVERS is incompatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
1320
1324
#endif
1321
1325
#endif
1322
1326
@@ -2525,8 +2529,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
2525
2529
#error "MULTI_NOZZLE_DUPLICATION is incompatible with DUAL_X_CARRIAGE."
2526
2530
#elif ENABLED(MIXING_EXTRUDER)
2527
2531
#error "MULTI_NOZZLE_DUPLICATION is incompatible with MIXING_EXTRUDER."
2528
- #elif ENABLED(SWITCHING_EXTRUDER)
2529
- #error "MULTI_NOZZLE_DUPLICATION is incompatible with SWITCHING_EXTRUDER."
2532
+ #elif HAS_SWITCHING_EXTRUDER
2533
+ #error "MULTI_NOZZLE_DUPLICATION is incompatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
2530
2534
#elif HOTENDS < 2
2531
2535
#error "MULTI_NOZZLE_DUPLICATION requires 2 or more hotends."
2532
2536
#endif
0 commit comments