@@ -1271,29 +1271,37 @@ 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 !defined(EVENT_GCODE_TOOLCHANGE_T0)
1298
+ #error "SWITCHING_NOZZLE requires EVENT_GCODE_TOOLCHANGE_T0."
1299
+ #elif !defined(EVENT_GCODE_TOOLCHANGE_T1)
1300
+ #error "SWITCHING_NOZZLE requires EVENT_GCODE_TOOLCHANGE_T1."
1301
+ #elif NUM_SERVOS < 1
1302
+ #error "SWITCHING_NOZZLE requires NUM_SERVOS >= 1."
1303
+ #elif !defined(SWITCHING_NOZZLE_SERVO_NR)
1294
1304
#error "SWITCHING_NOZZLE requires SWITCHING_NOZZLE_SERVO_NR."
1295
- #elif NUM_SERVOS < 1
1296
- #error "SWITCHING_NOZZLE requires NUM_SERVOS >= 1."
1297
1305
#elif SWITCHING_NOZZLE_SERVO_NR == 0 && !PIN_EXISTS(SERVO0)
1298
1306
#error "SERVO0_PIN must be defined for your SWITCHING_NOZZLE."
1299
1307
#elif SWITCHING_NOZZLE_SERVO_NR == 1 && !PIN_EXISTS(SERVO1)
@@ -1303,7 +1311,6 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1303
1311
#elif SWITCHING_NOZZLE_SERVO_NR == 3 && !PIN_EXISTS(SERVO3)
1304
1312
#error "SERVO3_PIN must be defined for your SWITCHING_NOZZLE."
1305
1313
#endif
1306
-
1307
1314
#ifdef SWITCHING_NOZZLE_E1_SERVO_NR
1308
1315
#if SWITCHING_NOZZLE_E1_SERVO_NR == SWITCHING_NOZZLE_SERVO_NR
1309
1316
#error "SWITCHING_NOZZLE_E1_SERVO_NR must be different from SWITCHING_NOZZLE_SERVO_NR."
@@ -1317,28 +1324,26 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1317
1324
#error "SERVO3_PIN must be defined for your SWITCHING_NOZZLE."
1318
1325
#endif
1319
1326
#endif
1320
- #endif
1321
- #endif
1327
+ #endif // SWITCHING_NOZZLE
1322
1328
1323
1329
/* *
1324
1330
* Single Stepper Dual Extruder with switching servo
1325
1331
*/
1326
1332
#if BOTH(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
1327
1333
#error "Enable only one of SWITCHING_EXTRUDER or MECHANICAL_SWITCHING_EXTRUDER."
1328
- #elif HAS_SWITCHING_EXTRUDER
1334
+ #elif ENABLED(MECHANICAL_SWITCHING_EXTRUDER)
1329
1335
#if EXTRUDERS < 2
1330
- #error "SWITCHING_EXTRUDER(_MECHANICAL) requires EXTRUDERS >= 2."
1336
+ #error "MECHANICAL_SWITCHING_EXTRUDER requires EXTRUDERS >= 2."
1337
+ #elif !defined(EVENT_GCODE_TOOLCHANGE_T0)
1338
+ #error "MECHANICAL_SWITCHING_EXTRUDER requires EVENT_GCODE_TOOLCHANGE_T0."
1339
+ #elif !defined(EVENT_GCODE_TOOLCHANGE_T1)
1340
+ #error "MECHANICAL_SWITCHING_EXTRUDER requires EVENT_GCODE_TOOLCHANGE_T1."
1331
1341
#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
1342
+ #elif ENABLED(SWITCHING_EXTRUDER)
1340
1343
#if NUM_SERVOS < 1
1341
1344
#error "SWITCHING_EXTRUDER requires NUM_SERVOS >= 1."
1345
+ #elif !defined(SWITCHING_EXTRUDER_SERVO_NR)
1346
+ #error "SWITCHING_EXTRUDER requires SWITCHING_EXTRUDER_SERVO_NR."
1342
1347
#elif SWITCHING_EXTRUDER_SERVO_NR == 0 && !PIN_EXISTS(SERVO0)
1343
1348
#error "SERVO0_PIN must be defined for your SWITCHING_EXTRUDER."
1344
1349
#elif SWITCHING_EXTRUDER_SERVO_NR == 1 && !PIN_EXISTS(SERVO1)
@@ -1362,9 +1367,10 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1362
1367
#elif SWITCHING_EXTRUDER_E23_SERVO_NR == SWITCHING_EXTRUDER_SERVO_NR
1363
1368
#error "SWITCHING_EXTRUDER_E23_SERVO_NR should be a different extruder from SWITCHING_EXTRUDER_SERVO_NR."
1364
1369
#endif
1370
+ #elif EXTRUDERS < 2
1371
+ #error "SWITCHING_EXTRUDER requires EXTRUDERS >= 2."
1365
1372
#endif
1366
- #endif
1367
- #endif
1373
+ #endif // SWITCHING_EXTRUDER
1368
1374
1369
1375
/* *
1370
1376
* Mixing Extruder requirements
@@ -1377,7 +1383,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1377
1383
#elif ENABLED(FILAMENT_WIDTH_SENSOR)
1378
1384
#error "MIXING_EXTRUDER is incompatible with FILAMENT_WIDTH_SENSOR. Comment out this line to use it anyway."
1379
1385
#elif HAS_SWITCHING_EXTRUDER
1380
- #error "MIXING_EXTRUDER is not compatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
1386
+ #error "MIXING_EXTRUDER is incompatible with (MECHANICAL_)SWITCHING_EXTRUDER ."
1381
1387
#elif ENABLED(SINGLENOZZLE)
1382
1388
#error "MIXING_EXTRUDER is incompatible with SINGLENOZZLE."
1383
1389
#elif ENABLED(DISABLE_INACTIVE_EXTRUDER)
@@ -1396,7 +1402,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
1396
1402
#elif ENABLED(MIXING_EXTRUDER)
1397
1403
#error "E_DUAL_STEPPER_DRIVERS is incompatible with MIXING_EXTRUDER."
1398
1404
#elif HAS_SWITCHING_EXTRUDER
1399
- #error "E_DUAL_STEPPER_DRIVERS is incompatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
1405
+ #error "E_DUAL_STEPPER_DRIVERS is incompatible with (MECHANICAL_)SWITCHING_EXTRUDER ."
1400
1406
#endif
1401
1407
#endif
1402
1408
@@ -2759,7 +2765,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
2759
2765
#elif ENABLED(MIXING_EXTRUDER)
2760
2766
#error "MULTI_NOZZLE_DUPLICATION is incompatible with MIXING_EXTRUDER."
2761
2767
#elif HAS_SWITCHING_EXTRUDER
2762
- #error "MULTI_NOZZLE_DUPLICATION is incompatible with SWITCHING_EXTRUDER(_MECHANICAL) ."
2768
+ #error "MULTI_NOZZLE_DUPLICATION is incompatible with (MECHANICAL_)SWITCHING_EXTRUDER ."
2763
2769
#elif HOTENDS < 2
2764
2770
#error "MULTI_NOZZLE_DUPLICATION requires 2 or more hotends."
2765
2771
#endif
0 commit comments