Skip to content

Commit 40a9fd6

Browse files
committed
clean up checks
1 parent a39c9f1 commit 40a9fd6

File tree

2 files changed

+56
-50
lines changed

2 files changed

+56
-50
lines changed

Marlin/src/inc/Conditionals_adv.h

+12-12
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,17 @@
3838
#ifndef NUM_SERVOS
3939
#define NUM_SERVOS 0
4040
#if HAS_Z_SERVO_PROBE && NUM_SERVOS <= Z_PROBE_SERVO_NR
41-
#undef NUM_SERVOS
42-
#define NUM_SERVOS (Z_PROBE_SERVO_NR + 1)
43-
#endif
41+
#undef NUM_SERVOS
42+
#define NUM_SERVOS (Z_PROBE_SERVO_NR + 1)
43+
#endif
4444
#if ENABLED(CHAMBER_VENT) && NUM_SERVOS <= CHAMBER_VENT_SERVO_NR
45-
#undef NUM_SERVOS
46-
#define NUM_SERVOS (CHAMBER_VENT_SERVO_NR + 1)
47-
#endif
45+
#undef NUM_SERVOS
46+
#define NUM_SERVOS (CHAMBER_VENT_SERVO_NR + 1)
47+
#endif
4848
#if ENABLED(SWITCHING_TOOLHEAD) && NUM_SERVOS <= SWITCHING_TOOLHEAD_SERVO_NR
49-
#undef NUM_SERVOS
50-
#define NUM_SERVOS (SWITCHING_TOOLHEAD_SERVO_NR + 1)
51-
#endif
49+
#undef NUM_SERVOS
50+
#define NUM_SERVOS (SWITCHING_TOOLHEAD_SERVO_NR + 1)
51+
#endif
5252
#if ENABLED(SWITCHING_NOZZLE)
5353
#if NUM_SERVOS <= SWITCHING_NOZZLE_SERVO_NR
5454
#undef NUM_SERVOS
@@ -70,10 +70,10 @@
7070
#endif
7171
#endif
7272
#if ENABLED(SPINDLE_SERVO) && NUM_SERVOS <= SPINDLE_SERVO_NR
73-
#undef NUM_SERVOS
74-
#define NUM_SERVOS (SPINDLE_SERVO_NR + 1)
75-
#endif
73+
#undef NUM_SERVOS
74+
#define NUM_SERVOS (SPINDLE_SERVO_NR + 1)
7675
#endif
76+
#endif // !defined(NUM_SERVOS)
7777

7878
// Convenience override for a BLTouch alone
7979
#if ENABLED(BLTOUCH) && NUM_SERVOS == 1

Marlin/src/inc/SanityCheck.h

+44-38
Original file line numberDiff line numberDiff line change
@@ -1271,29 +1271,37 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
12711271
*/
12721272
#if BOTH(SWITCHING_NOZZLE, MECHANICAL_SWITCHING_NOZZLE)
12731273
#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."
12771279
#elif ENABLED(SINGLENOZZLE)
1278-
#error "SWITCHING_NOZZLE(_MECHANICAL) and SINGLENOZZLE are incompatible."
1280+
#error "MECHANICAL_SWITCHING_NOZZLE and SINGLENOZZLE are incompatible."
12791281
#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)
12941304
#error "SWITCHING_NOZZLE requires SWITCHING_NOZZLE_SERVO_NR."
1295-
#elif NUM_SERVOS < 1
1296-
#error "SWITCHING_NOZZLE requires NUM_SERVOS >= 1."
12971305
#elif SWITCHING_NOZZLE_SERVO_NR == 0 && !PIN_EXISTS(SERVO0)
12981306
#error "SERVO0_PIN must be defined for your SWITCHING_NOZZLE."
12991307
#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
13031311
#elif SWITCHING_NOZZLE_SERVO_NR == 3 && !PIN_EXISTS(SERVO3)
13041312
#error "SERVO3_PIN must be defined for your SWITCHING_NOZZLE."
13051313
#endif
1306-
13071314
#ifdef SWITCHING_NOZZLE_E1_SERVO_NR
13081315
#if SWITCHING_NOZZLE_E1_SERVO_NR == SWITCHING_NOZZLE_SERVO_NR
13091316
#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
13171324
#error "SERVO3_PIN must be defined for your SWITCHING_NOZZLE."
13181325
#endif
13191326
#endif
1320-
#endif
1321-
#endif
1327+
#endif // SWITCHING_NOZZLE
13221328

13231329
/**
13241330
* Single Stepper Dual Extruder with switching servo
13251331
*/
13261332
#if BOTH(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
13271333
#error "Enable only one of SWITCHING_EXTRUDER or MECHANICAL_SWITCHING_EXTRUDER."
1328-
#elif HAS_SWITCHING_EXTRUDER
1334+
#elif ENABLED(MECHANICAL_SWITCHING_EXTRUDER)
13291335
#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."
13311341
#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)
13401343
#if NUM_SERVOS < 1
13411344
#error "SWITCHING_EXTRUDER requires NUM_SERVOS >= 1."
1345+
#elif !defined(SWITCHING_EXTRUDER_SERVO_NR)
1346+
#error "SWITCHING_EXTRUDER requires SWITCHING_EXTRUDER_SERVO_NR."
13421347
#elif SWITCHING_EXTRUDER_SERVO_NR == 0 && !PIN_EXISTS(SERVO0)
13431348
#error "SERVO0_PIN must be defined for your SWITCHING_EXTRUDER."
13441349
#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
13621367
#elif SWITCHING_EXTRUDER_E23_SERVO_NR == SWITCHING_EXTRUDER_SERVO_NR
13631368
#error "SWITCHING_EXTRUDER_E23_SERVO_NR should be a different extruder from SWITCHING_EXTRUDER_SERVO_NR."
13641369
#endif
1370+
#elif EXTRUDERS < 2
1371+
#error "SWITCHING_EXTRUDER requires EXTRUDERS >= 2."
13651372
#endif
1366-
#endif
1367-
#endif
1373+
#endif // SWITCHING_EXTRUDER
13681374

13691375
/**
13701376
* Mixing Extruder requirements
@@ -1377,7 +1383,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
13771383
#elif ENABLED(FILAMENT_WIDTH_SENSOR)
13781384
#error "MIXING_EXTRUDER is incompatible with FILAMENT_WIDTH_SENSOR. Comment out this line to use it anyway."
13791385
#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."
13811387
#elif ENABLED(SINGLENOZZLE)
13821388
#error "MIXING_EXTRUDER is incompatible with SINGLENOZZLE."
13831389
#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
13961402
#elif ENABLED(MIXING_EXTRUDER)
13971403
#error "E_DUAL_STEPPER_DRIVERS is incompatible with MIXING_EXTRUDER."
13981404
#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."
14001406
#endif
14011407
#endif
14021408

@@ -2759,7 +2765,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE, "Movement bounds (X_MIN_POS, X_MAX_POS
27592765
#elif ENABLED(MIXING_EXTRUDER)
27602766
#error "MULTI_NOZZLE_DUPLICATION is incompatible with MIXING_EXTRUDER."
27612767
#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."
27632769
#elif HOTENDS < 2
27642770
#error "MULTI_NOZZLE_DUPLICATION requires 2 or more hotends."
27652771
#endif

0 commit comments

Comments
 (0)