Browse Source

Enforce minimum TMC2130 / TMC2208 libs

Scott Lahteine 7 years ago
parent
commit
3ac135cef3
1 changed files with 67 additions and 66 deletions
  1. 67
    66
      Marlin/src/inc/SanityCheck.h

+ 67
- 66
Marlin/src/inc/SanityCheck.h View File

@@ -1393,37 +1393,39 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
1393 1393
  * Make sure HAVE_TMC26X is warranted
1394 1394
  */
1395 1395
 #if ENABLED(HAVE_TMC26X) && !( \
1396
-         ENABLED(  X_IS_TMC26X ) \
1397
-      || ENABLED( X2_IS_TMC26X ) \
1398
-      || ENABLED(  Y_IS_TMC26X ) \
1399
-      || ENABLED( Y2_IS_TMC26X ) \
1400
-      || ENABLED(  Z_IS_TMC26X ) \
1401
-      || ENABLED( Z2_IS_TMC26X ) \
1402
-      || ENABLED( E0_IS_TMC26X ) \
1403
-      || ENABLED( E1_IS_TMC26X ) \
1404
-      || ENABLED( E2_IS_TMC26X ) \
1405
-      || ENABLED( E3_IS_TMC26X ) \
1406
-      || ENABLED( E4_IS_TMC26X ) \
1396
+         ENABLED( X_IS_TMC26X) \
1397
+      || ENABLED(X2_IS_TMC26X) \
1398
+      || ENABLED( Y_IS_TMC26X) \
1399
+      || ENABLED(Y2_IS_TMC26X) \
1400
+      || ENABLED( Z_IS_TMC26X) \
1401
+      || ENABLED(Z2_IS_TMC26X) \
1402
+      || ENABLED(E0_IS_TMC26X) \
1403
+      || ENABLED(E1_IS_TMC26X) \
1404
+      || ENABLED(E2_IS_TMC26X) \
1405
+      || ENABLED(E3_IS_TMC26X) \
1406
+      || ENABLED(E4_IS_TMC26X) \
1407 1407
   )
1408 1408
   #error "HAVE_TMC26X requires at least one TMC26X stepper to be set."
1409 1409
 #endif
1410 1410
 
1411 1411
 /**
1412
- * Make sure HAVE_TMC2130 is warranted
1412
+ * TMC2130 Requirements
1413 1413
  */
1414 1414
 #if ENABLED(HAVE_TMC2130)
1415
-  #if !( ENABLED(  X_IS_TMC2130 ) \
1416
-      || ENABLED( X2_IS_TMC2130 ) \
1417
-      || ENABLED(  Y_IS_TMC2130 ) \
1418
-      || ENABLED( Y2_IS_TMC2130 ) \
1419
-      || ENABLED(  Z_IS_TMC2130 ) \
1420
-      || ENABLED( Z2_IS_TMC2130 ) \
1421
-      || ENABLED( E0_IS_TMC2130 ) \
1422
-      || ENABLED( E1_IS_TMC2130 ) \
1423
-      || ENABLED( E2_IS_TMC2130 ) \
1424
-      || ENABLED( E3_IS_TMC2130 ) \
1425
-      || ENABLED( E4_IS_TMC2130 ) )
1415
+  #if !( ENABLED( X_IS_TMC2130) \
1416
+      || ENABLED(X2_IS_TMC2130) \
1417
+      || ENABLED( Y_IS_TMC2130) \
1418
+      || ENABLED(Y2_IS_TMC2130) \
1419
+      || ENABLED( Z_IS_TMC2130) \
1420
+      || ENABLED(Z2_IS_TMC2130) \
1421
+      || ENABLED(E0_IS_TMC2130) \
1422
+      || ENABLED(E1_IS_TMC2130) \
1423
+      || ENABLED(E2_IS_TMC2130) \
1424
+      || ENABLED(E3_IS_TMC2130) \
1425
+      || ENABLED(E4_IS_TMC2130) )
1426 1426
     #error "HAVE_TMC2130 requires at least one TMC2130 stepper to be set."
1427
+  #elif TMC2130STEPPER_VERSION < 0x020201
1428
+    #error "Update TMC2130Stepper library to 2.2.1 or newer."
1427 1429
   #elif ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP)
1428 1430
     #error "Enable STEALTHCHOP to use HYBRID_THRESHOLD."
1429 1431
   #endif
@@ -1476,38 +1478,37 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
1476 1478
 #endif
1477 1479
 
1478 1480
 /**
1479
- * Make sure HAVE_TMC2208 is warranted
1480
- */
1481
-#if ENABLED(HAVE_TMC2208) && !( \
1482
-       ENABLED(  X_IS_TMC2208 ) \
1483
-    || ENABLED( X2_IS_TMC2208 ) \
1484
-    || ENABLED(  Y_IS_TMC2208 ) \
1485
-    || ENABLED( Y2_IS_TMC2208 ) \
1486
-    || ENABLED(  Z_IS_TMC2208 ) \
1487
-    || ENABLED( Z2_IS_TMC2208 ) \
1488
-    || ENABLED( E0_IS_TMC2208 ) \
1489
-    || ENABLED( E1_IS_TMC2208 ) \
1490
-    || ENABLED( E2_IS_TMC2208 ) \
1491
-    || ENABLED( E3_IS_TMC2208 ) )
1492
-  #error "HAVE_TMC2208 requires at least one TMC2208 stepper to be set."
1493
-#endif
1494
-
1495
-/**
1496
- * TMC2208 software UART and ENDSTOP_INTERRUPTS both use pin change interrupts (PCI)
1497
- */
1498
-#if ENABLED(HAVE_TMC2208) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !( \
1499
-       defined(X_HARDWARE_SERIAL ) \
1500
-    || defined(X2_HARDWARE_SERIAL) \
1501
-    || defined(Y_HARDWARE_SERIAL ) \
1502
-    || defined(Y2_HARDWARE_SERIAL) \
1503
-    || defined(Z_HARDWARE_SERIAL ) \
1504
-    || defined(Z2_HARDWARE_SERIAL) \
1505
-    || defined(E0_HARDWARE_SERIAL) \
1506
-    || defined(E1_HARDWARE_SERIAL) \
1507
-    || defined(E2_HARDWARE_SERIAL) \
1508
-    || defined(E3_HARDWARE_SERIAL) \
1509
-    || defined(E4_HARDWARE_SERIAL) )
1510
-  #error "select hardware UART for TMC2208 to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE."
1481
+ * TMC2208 Requirements
1482
+ */
1483
+#if ENABLED(HAVE_TMC2208)
1484
+  #if !( ENABLED( X_IS_TMC2208) \
1485
+      || ENABLED(X2_IS_TMC2208) \
1486
+      || ENABLED( Y_IS_TMC2208) \
1487
+      || ENABLED(Y2_IS_TMC2208) \
1488
+      || ENABLED( Z_IS_TMC2208) \
1489
+      || ENABLED(Z2_IS_TMC2208) \
1490
+      || ENABLED(E0_IS_TMC2208) \
1491
+      || ENABLED(E1_IS_TMC2208) \
1492
+      || ENABLED(E2_IS_TMC2208) \
1493
+      || ENABLED(E3_IS_TMC2208) \
1494
+      || ENABLED(E4_IS_TMC2208 ) )
1495
+    #error "HAVE_TMC2208 requires at least one TMC2208 stepper to be set."
1496
+  #elif ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && \  // Software UART and ENDSTOP_INTERRUPTS both use Pin Change interrupts (PCI)
1497
+      !( defined( X_HARDWARE_SERIAL) \
1498
+      || defined(X2_HARDWARE_SERIAL) \
1499
+      || defined( Y_HARDWARE_SERIAL) \
1500
+      || defined(Y2_HARDWARE_SERIAL) \
1501
+      || defined( Z_HARDWARE_SERIAL) \
1502
+      || defined(Z2_HARDWARE_SERIAL) \
1503
+      || defined(E0_HARDWARE_SERIAL) \
1504
+      || defined(E1_HARDWARE_SERIAL) \
1505
+      || defined(E2_HARDWARE_SERIAL) \
1506
+      || defined(E3_HARDWARE_SERIAL) \
1507
+      || defined(E4_HARDWARE_SERIAL) )
1508
+    #error "Select *_HARDWARE_SERIAL to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE."
1509
+  #elif TMC2208STEPPER_VERSION < 0x000101
1510
+    #error "Update TMC2130Stepper library to 0.1.1 or newer."
1511
+  #endif
1511 1512
 #endif
1512 1513
 
1513 1514
 #if ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP)
@@ -1522,17 +1523,17 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
1522 1523
  * Make sure HAVE_L6470DRIVER is warranted
1523 1524
  */
1524 1525
 #if ENABLED(HAVE_L6470DRIVER) && !( \
1525
-         ENABLED(  X_IS_L6470 ) \
1526
-      || ENABLED( X2_IS_L6470 ) \
1527
-      || ENABLED(  Y_IS_L6470 ) \
1528
-      || ENABLED( Y2_IS_L6470 ) \
1529
-      || ENABLED(  Z_IS_L6470 ) \
1530
-      || ENABLED( Z2_IS_L6470 ) \
1531
-      || ENABLED( E0_IS_L6470 ) \
1532
-      || ENABLED( E1_IS_L6470 ) \
1533
-      || ENABLED( E2_IS_L6470 ) \
1534
-      || ENABLED( E3_IS_L6470 ) \
1535
-      || ENABLED( E4_IS_L6470 ) \
1526
+         ENABLED( X_IS_L6470) \
1527
+      || ENABLED(X2_IS_L6470) \
1528
+      || ENABLED( Y_IS_L6470) \
1529
+      || ENABLED(Y2_IS_L6470) \
1530
+      || ENABLED( Z_IS_L6470) \
1531
+      || ENABLED(Z2_IS_L6470) \
1532
+      || ENABLED(E0_IS_L6470) \
1533
+      || ENABLED(E1_IS_L6470) \
1534
+      || ENABLED(E2_IS_L6470) \
1535
+      || ENABLED(E3_IS_L6470) \
1536
+      || ENABLED(E4_IS_L6470) \
1536 1537
   )
1537 1538
   #error "HAVE_L6470DRIVER requires at least one L6470 stepper to be set."
1538 1539
 #endif

Loading…
Cancel
Save