@@ -1271,29 +1271,33 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1271
1271
*/
1272
1272
#if BOTH(SWITCHING_NOZZLE, MECHANICAL_SWITCHING_NOZZLE)
1273
1273
#error "Enable only one of SWITCHING_NOZZLE or MECHANICAL_SWITCHING_NOZZLE."
1274
- #elif HAS_SWITCHING_NOZZLE
1275
- #if ENABLED(DUAL_X_CARRIAGE)
1276
- #error "SWITCHING_NOZZLE(_MECHANICAL) and DUAL_X_CARRIAGE are incompatible."
1274
+ #elif ENABLED(MECHANICAL_SWITCHING_NOZZLE)
1275
+ #if EXTRUDERS != 2
1276
+ #error "MECHANICAL_SWITCHING_NOZZLE requires exactly 2 EXTRUDERS."
1277
+ #elif ENABLED(DUAL_X_CARRIAGE)
1278
+ #error "MECHANICAL_SWITCHING_NOZZLE and DUAL_X_CARRIAGE are incompatible."
1277
1279
#elif ENABLED(SINGLENOZZLE)
1278
- #error "SWITCHING_NOZZLE(_MECHANICAL) and SINGLENOZZLE are incompatible."
1280
+ #error "MECHANICAL_SWITCHING_NOZZLE and SINGLENOZZLE are incompatible."
1279
1281
#elif HAS_PRUSA_MMU2
1280
- #error "SWITCHING_NOZZLE(_MECHANICAL) and PRUSA_MMU2(S) are incompatible."
1281
- #elif EXTRUDERS != 2
1282
- #error "SWITCHING_NOZZLE(_MECHANICAL) requires exactly 2 EXTRUDERS."
1283
- #endif
1284
-
1285
- #if ENABLED(MECHANICAL_SWITCHING_NOZZLE)
1286
- #ifndef EVENT_GCODE_TOOLCHANGE_T0
1287
- #error "MECHANICAL_SWITCHING_NOZZLE requires EVENT_GCODE_TOOLCHANGE_T0."
1288
- #endif
1289
- #ifndef EVENT_GCODE_TOOLCHANGE_T1
1290
- #error "MECHANICAL_SWITCHING_NOZZLE requires EVENT_GCODE_TOOLCHANGE_T1."
1291
- #endif
1292
- #else
1293
- #ifndef SWITCHING_NOZZLE_SERVO_NR
1282
+ #error "MECHANICAL_SWITCHING_NOZZLE and PRUSA_MMU2(S) are incompatible."
1283
+ #elif !defined(EVENT_GCODE_TOOLCHANGE_T0)
1284
+ #error "MECHANICAL_SWITCHING_NOZZLE requires EVENT_GCODE_TOOLCHANGE_T0."
1285
+ #elif !defined(EVENT_GCODE_TOOLCHANGE_T1)
1286
+ #error "MECHANICAL_SWITCHING_NOZZLE requires EVENT_GCODE_TOOLCHANGE_T1."
1287
+ #endif
1288
+ #elif ENABLED(SWITCHING_NOZZLE)
1289
+ #if EXTRUDERS != 2
1290
+ #error "SWITCHING_NOZZLE requires exactly 2 EXTRUDERS."
1291
+ #elif ENABLED(DUAL_X_CARRIAGE)
1292
+ #error "SWITCHING_NOZZLE and DUAL_X_CARRIAGE are incompatible."
1293
+ #elif ENABLED(SINGLENOZZLE)
1294
+ #error "SWITCHING_NOZZLE and SINGLENOZZLE are incompatible."
1295
+ #elif HAS_PRUSA_MMU2
1296
+ #error "SWITCHING_NOZZLE and PRUSA_MMU2(S) are incompatible."
1297
+ #elif NUM_SERVOS < 1
1298
+ #error "SWITCHING_NOZZLE requires NUM_SERVOS >= 1."
1299
+ #elif !defined(SWITCHING_NOZZLE_SERVO_NR)
1294
1300
#error "SWITCHING_NOZZLE requires SWITCHING_NOZZLE_SERVO_NR."
1295
- #elif NUM_SERVOS < 1
1296
- #error "SWITCHING_NOZZLE requires NUM_SERVOS >= 1."
1297
1301
#elif SWITCHING_NOZZLE_SERVO_NR == 0 && !PIN_EXISTS(SERVO0)
1298
1302
#error "SERVO0_PIN must be defined for your SWITCHING_NOZZLE."
1299
1303
#elif SWITCHING_NOZZLE_SERVO_NR == 1 && !PIN_EXISTS(SERVO1)
@@ -1303,7 +1307,6 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1303
1307
#elif SWITCHING_NOZZLE_SERVO_NR == 3 && !PIN_EXISTS(SERVO3)
1304
1308
#error "SERVO3_PIN must be defined for your SWITCHING_NOZZLE."
1305
1309
#endif
1306
-
1307
1310
#ifdef SWITCHING_NOZZLE_E1_SERVO_NR
1308
1311
#if SWITCHING_NOZZLE_E1_SERVO_NR == SWITCHING_NOZZLE_SERVO_NR
1309
1312
#error "SWITCHING_NOZZLE_E1_SERVO_NR must be different from SWITCHING_NOZZLE_SERVO_NR."
@@ -1317,28 +1320,26 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1317
1320
#error "SERVO3_PIN must be defined for your SWITCHING_NOZZLE."
1318
1321
#endif
1319
1322
#endif
1320
- #endif
1321
- #endif
1323
+ #endif // SWITCHING_NOZZLE
1322
1324
1323
1325
/* *
1324
1326
* Single Stepper Dual Extruder with switching servo
1325
1327
*/
1326
1328
#if BOTH(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
1327
1329
#error "Enable only one of SWITCHING_EXTRUDER or MECHANICAL_SWITCHING_EXTRUDER."
1328
- #elif HAS_SWITCHING_EXTRUDER
1330
+ #elif ENABLED(MECHANICAL_SWITCHING_EXTRUDER)
1329
1331
#if EXTRUDERS < 2
1330
- #error "SWITCHING_EXTRUDER(_MECHANICAL) requires EXTRUDERS >= 2."
1332
+ #error "MECHANICAL_SWITCHING_EXTRUDER requires EXTRUDERS >= 2."
1333
+ #elif !defined(EVENT_GCODE_TOOLCHANGE_T0)
1334
+ #error "MECHANICAL_SWITCHING_EXTRUDER requires EVENT_GCODE_TOOLCHANGE_T0."
1335
+ #elif !defined(EVENT_GCODE_TOOLCHANGE_T1)
1336
+ #error "MECHANICAL_SWITCHING_EXTRUDER requires EVENT_GCODE_TOOLCHANGE_T1."
1331
1337
#endif
1332
- #if ENABLED(MECHANICAL_SWITCHING_EXTRUDER)
1333
- #ifndef EVENT_GCODE_TOOLCHANGE_T0
1334
- #error "MECHANICAL_SWITCHING_EXTRUDER requires EVENT_GCODE_TOOLCHANGE_T0."
1335
- #endif
1336
- #ifndef EVENT_GCODE_TOOLCHANGE_T1
1337
- #error "MECHANICAL_SWITCHING_EXTRUDER requires EVENT_GCODE_TOOLCHANGE_T1."
1338
- #endif
1339
- #else
1338
+ #elif ENABLED(SWITCHING_EXTRUDER)
1340
1339
#if NUM_SERVOS < 1
1341
1340
#error "SWITCHING_EXTRUDER requires NUM_SERVOS >= 1."
1341
+ #elif !defined(SWITCHING_EXTRUDER_SERVO_NR)
1342
+ #error "SWITCHING_EXTRUDER requires SWITCHING_EXTRUDER_SERVO_NR."
1342
1343
#elif SWITCHING_EXTRUDER_SERVO_NR == 0 && !PIN_EXISTS(SERVO0)
1343
1344
#error "SERVO0_PIN must be defined for your SWITCHING_EXTRUDER."
1344
1345
#elif SWITCHING_EXTRUDER_SERVO_NR == 1 && !PIN_EXISTS(SERVO1)
@@ -1362,9 +1363,10 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1362
1363
#elif SWITCHING_EXTRUDER_E23_SERVO_NR == SWITCHING_EXTRUDER_SERVO_NR
1363
1364
#error "SWITCHING_EXTRUDER_E23_SERVO_NR should be a different extruder from SWITCHING_EXTRUDER_SERVO_NR."
1364
1365
#endif
1366
+ #elif EXTRUDERS < 2
1367
+ #error "SWITCHING_EXTRUDER requires EXTRUDERS >= 2."
1365
1368
#endif
1366
- #endif
1367
- #endif
1369
+ #endif // SWITCHING_EXTRUDER
1368
1370
1369
1371
/* *
1370
1372
* Mixing Extruder requirements
@@ -1377,7 +1379,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1377
1379
#elif ENABLED(FILAMENT_WIDTH_SENSOR)
1378
1380
#error "MIXING_EXTRUDER is incompatible with FILAMENT_WIDTH_SENSOR. Comment out this line to use it anyway."
1379
1381
#elif HAS_SWITCHING_EXTRUDER
1380
- #error "MIXING_EXTRUDER is not compatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
1382
+ #error "MIXING_EXTRUDER is incompatible with (MECHANICAL_)SWITCHING_EXTRUDER ."
1381
1383
#elif ENABLED(SINGLENOZZLE)
1382
1384
#error "MIXING_EXTRUDER is incompatible with SINGLENOZZLE."
1383
1385
#elif ENABLED(DISABLE_INACTIVE_EXTRUDER)
@@ -1396,7 +1398,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1396
1398
#elif ENABLED(MIXING_EXTRUDER)
1397
1399
#error "E_DUAL_STEPPER_DRIVERS is incompatible with MIXING_EXTRUDER."
1398
1400
#elif HAS_SWITCHING_EXTRUDER
1399
- #error "E_DUAL_STEPPER_DRIVERS is incompatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
1401
+ #error "E_DUAL_STEPPER_DRIVERS is incompatible with (MECHANICAL_)SWITCHING_EXTRUDER ."
1400
1402
#endif
1401
1403
#endif
1402
1404
@@ -2759,7 +2761,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
2759
2761
#elif ENABLED(MIXING_EXTRUDER)
2760
2762
#error "MULTI_NOZZLE_DUPLICATION is incompatible with MIXING_EXTRUDER."
2761
2763
#elif HAS_SWITCHING_EXTRUDER
2762
- #error "MULTI_NOZZLE_DUPLICATION is incompatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
2764
+ #error "MULTI_NOZZLE_DUPLICATION is incompatible with (MECHANICAL_)SWITCHING_EXTRUDER ."
2763
2765
#elif HOTENDS < 2
2764
2766
#error "MULTI_NOZZLE_DUPLICATION requires 2 or more hotends."
2765
2767
#endif
0 commit comments