Browse Source

Use count method for kinematic sanity check

Scott Lahteine 8 years ago
parent
commit
40785ce8ac
1 changed files with 32 additions and 5 deletions
  1. 32
    5
      Marlin/SanityCheck.h

+ 32
- 5
Marlin/SanityCheck.h View File

@@ -573,11 +573,38 @@
573 573
 /**
574 574
  * Don't set more than one kinematic type
575 575
  */
576
-#if (ENABLED(DELTA) && (ENABLED(MORGAN_SCARA) || ENABLED(MAKERARM_SCARA) || ENABLED(COREXY) || ENABLED(COREXZ) || ENABLED(COREYZ))) \
577
- || (ENABLED(DELTA) && (ENABLED(MAKERARM_SCARA) || ENABLED(COREXY) || ENABLED(COREXZ) || ENABLED(COREYZ))) \
578
- || (ENABLED(SCARA) && (ENABLED(COREXY) || ENABLED(COREXZ) || ENABLED(COREYZ))) \
579
- || (ENABLED(COREXY) && (ENABLED(COREXZ) || ENABLED(COREYZ))) \
580
- || (ENABLED(COREXZ) && ENABLED(COREYZ))
576
+#define COUNT_KIN_1 0
577
+#if ENABLED(DELTA)
578
+  #define COUNT_KIN_2 INCREMENT(COUNT_KIN_1)
579
+#else
580
+  #define COUNT_KIN_2 COUNT_KIN_1
581
+#endif
582
+#if ENABLED(MORGAN_SCARA)
583
+  #define COUNT_KIN_3 INCREMENT(COUNT_KIN_2)
584
+#else
585
+  #define COUNT_KIN_3 COUNT_KIN_2
586
+#endif
587
+#if ENABLED(MAKERARM_SCARA)
588
+  #define COUNT_KIN_4 INCREMENT(COUNT_KIN_3)
589
+#else
590
+  #define COUNT_KIN_4 COUNT_KIN_3
591
+#endif
592
+#if ENABLED(COREXY)
593
+  #define COUNT_KIN_5 INCREMENT(COUNT_KIN_4)
594
+#else
595
+  #define COUNT_KIN_5 COUNT_KIN_4
596
+#endif
597
+#if ENABLED(COREXZ)
598
+  #define COUNT_KIN_6 INCREMENT(COUNT_KIN_5)
599
+#else
600
+  #define COUNT_KIN_6 COUNT_KIN_5
601
+#endif
602
+#if ENABLED(COREYZ)
603
+  #define COUNT_KIN_7 INCREMENT(COUNT_KIN_6)
604
+#else
605
+  #define COUNT_KIN_7 COUNT_KIN_6
606
+#endif
607
+#if COUNT_KIN_7 > 1
581 608
   #error "Please enable only one of DELTA, MORGAN_SCARA, MAKERARM_SCARA, COREXY, COREXZ, or COREYZ."
582 609
 #endif
583 610
 

Loading…
Cancel
Save