Browse Source

Permit independent X2,Y2,Z2,Z3,Z4 endstop inverting (#18481)

Robby Candra 5 years ago
parent
commit
39105384ba
No account linked to committer's email address
1 changed files with 190 additions and 150 deletions
  1. 190
    150
      Marlin/src/inc/Conditionals_post.h

+ 190
- 150
Marlin/src/inc/Conditionals_post.h View File

660
  */
660
  */
661
 #if ENABLED(X_DUAL_ENDSTOPS)
661
 #if ENABLED(X_DUAL_ENDSTOPS)
662
   #if X_HOME_DIR > 0
662
   #if X_HOME_DIR > 0
663
-    #if X2_USE_ENDSTOP == _XMIN_
664
-      #define X2_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
665
-    #elif X2_USE_ENDSTOP == _XMAX_
666
-      #define X2_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
667
-    #elif X2_USE_ENDSTOP == _YMIN_
668
-      #define X2_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
669
-    #elif X2_USE_ENDSTOP == _YMAX_
670
-      #define X2_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
671
-    #elif X2_USE_ENDSTOP == _ZMIN_
672
-      #define X2_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
673
-    #elif X2_USE_ENDSTOP == _ZMAX_
674
-      #define X2_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
675
-    #else
676
-      #define X2_MAX_ENDSTOP_INVERTING false
663
+    #ifndef X2_MAX_ENDSTOP_INVERTING
664
+      #if X2_USE_ENDSTOP == _XMIN_
665
+        #define X2_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
666
+      #elif X2_USE_ENDSTOP == _XMAX_
667
+        #define X2_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
668
+      #elif X2_USE_ENDSTOP == _YMIN_
669
+        #define X2_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
670
+      #elif X2_USE_ENDSTOP == _YMAX_
671
+        #define X2_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
672
+      #elif X2_USE_ENDSTOP == _ZMIN_
673
+        #define X2_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
674
+      #elif X2_USE_ENDSTOP == _ZMAX_
675
+        #define X2_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
676
+      #else
677
+        #define X2_MAX_ENDSTOP_INVERTING false
678
+      #endif
677
     #endif
679
     #endif
678
     #ifndef X2_MAX_PIN
680
     #ifndef X2_MAX_PIN
679
       #if X2_USE_ENDSTOP == _XMIN_
681
       #if X2_USE_ENDSTOP == _XMIN_
712
         #define X2_MAX_PIN E7_DIAG_PIN
714
         #define X2_MAX_PIN E7_DIAG_PIN
713
       #endif
715
       #endif
714
     #endif
716
     #endif
715
-    #define X2_MIN_ENDSTOP_INVERTING false
716
-  #else
717
-    #if X2_USE_ENDSTOP == _XMIN_
718
-      #define X2_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
719
-    #elif X2_USE_ENDSTOP == _XMAX_
720
-      #define X2_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
721
-    #elif X2_USE_ENDSTOP == _YMIN_
722
-      #define X2_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
723
-    #elif X2_USE_ENDSTOP == _YMAX_
724
-      #define X2_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
725
-    #elif X2_USE_ENDSTOP == _ZMIN_
726
-      #define X2_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
727
-    #elif X2_USE_ENDSTOP == _ZMAX_
728
-      #define X2_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
729
-    #else
717
+    #ifndef X2_MIN_ENDSTOP_INVERTING
730
       #define X2_MIN_ENDSTOP_INVERTING false
718
       #define X2_MIN_ENDSTOP_INVERTING false
731
     #endif
719
     #endif
720
+  #else
721
+    #ifndef X2_MIN_ENDSTOP_INVERTING
722
+      #if X2_USE_ENDSTOP == _XMIN_
723
+        #define X2_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
724
+      #elif X2_USE_ENDSTOP == _XMAX_
725
+        #define X2_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
726
+      #elif X2_USE_ENDSTOP == _YMIN_
727
+        #define X2_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
728
+      #elif X2_USE_ENDSTOP == _YMAX_
729
+        #define X2_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
730
+      #elif X2_USE_ENDSTOP == _ZMIN_
731
+        #define X2_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
732
+      #elif X2_USE_ENDSTOP == _ZMAX_
733
+        #define X2_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
734
+      #else
735
+        #define X2_MIN_ENDSTOP_INVERTING false
736
+      #endif
737
+    #endif
732
     #ifndef X2_MIN_PIN
738
     #ifndef X2_MIN_PIN
733
       #if X2_USE_ENDSTOP == _XMIN_
739
       #if X2_USE_ENDSTOP == _XMIN_
734
         #define X2_MIN_PIN X_MIN_PIN
740
         #define X2_MIN_PIN X_MIN_PIN
766
         #define X2_MIN_PIN E7_DIAG_PIN
772
         #define X2_MIN_PIN E7_DIAG_PIN
767
       #endif
773
       #endif
768
     #endif
774
     #endif
769
-    #define X2_MAX_ENDSTOP_INVERTING false
775
+    #ifndef X2_MAX_ENDSTOP_INVERTING
776
+      #define X2_MAX_ENDSTOP_INVERTING false
777
+    #endif
770
   #endif
778
   #endif
771
 #endif
779
 #endif
772
 
780
 
775
  */
783
  */
776
 #if ENABLED(Y_DUAL_ENDSTOPS)
784
 #if ENABLED(Y_DUAL_ENDSTOPS)
777
   #if Y_HOME_DIR > 0
785
   #if Y_HOME_DIR > 0
778
-    #if Y2_USE_ENDSTOP == _XMIN_
779
-      #define Y2_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
780
-    #elif Y2_USE_ENDSTOP == _XMAX_
781
-      #define Y2_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
782
-    #elif Y2_USE_ENDSTOP == _YMIN_
783
-      #define Y2_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
784
-    #elif Y2_USE_ENDSTOP == _YMAX_
785
-      #define Y2_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
786
-    #elif Y2_USE_ENDSTOP == _ZMIN_
787
-      #define Y2_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
788
-    #elif Y2_USE_ENDSTOP == _ZMAX_
789
-      #define Y2_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
790
-    #else
791
-      #define Y2_MAX_ENDSTOP_INVERTING false
786
+    #ifndef Y2_MAX_ENDSTOP_INVERTING
787
+      #if Y2_USE_ENDSTOP == _XMIN_
788
+        #define Y2_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
789
+      #elif Y2_USE_ENDSTOP == _XMAX_
790
+        #define Y2_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
791
+      #elif Y2_USE_ENDSTOP == _YMIN_
792
+        #define Y2_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
793
+      #elif Y2_USE_ENDSTOP == _YMAX_
794
+        #define Y2_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
795
+      #elif Y2_USE_ENDSTOP == _ZMIN_
796
+        #define Y2_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
797
+      #elif Y2_USE_ENDSTOP == _ZMAX_
798
+        #define Y2_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
799
+      #else
800
+        #define Y2_MAX_ENDSTOP_INVERTING false
801
+      #endif
792
     #endif
802
     #endif
793
     #ifndef Y2_MAX_PIN
803
     #ifndef Y2_MAX_PIN
794
       #if Y2_USE_ENDSTOP == _XMIN_
804
       #if Y2_USE_ENDSTOP == _XMIN_
827
         #define Y2_MAX_PIN E7_DIAG_PIN
837
         #define Y2_MAX_PIN E7_DIAG_PIN
828
       #endif
838
       #endif
829
     #endif
839
     #endif
830
-    #define Y2_MIN_ENDSTOP_INVERTING false
831
-  #else
832
-    #if Y2_USE_ENDSTOP == _XMIN_
833
-      #define Y2_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
834
-    #elif Y2_USE_ENDSTOP == _XMAX_
835
-      #define Y2_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
836
-    #elif Y2_USE_ENDSTOP == _YMIN_
837
-      #define Y2_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
838
-    #elif Y2_USE_ENDSTOP == _YMAX_
839
-      #define Y2_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
840
-    #elif Y2_USE_ENDSTOP == _ZMIN_
841
-      #define Y2_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
842
-    #elif Y2_USE_ENDSTOP == _ZMAX_
843
-      #define Y2_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
844
-    #else
840
+    #ifndef Y2_MIN_ENDSTOP_INVERTING
845
       #define Y2_MIN_ENDSTOP_INVERTING false
841
       #define Y2_MIN_ENDSTOP_INVERTING false
846
     #endif
842
     #endif
843
+  #else
844
+    #ifndef Y2_MIN_ENDSTOP_INVERTING
845
+      #if Y2_USE_ENDSTOP == _XMIN_
846
+        #define Y2_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
847
+      #elif Y2_USE_ENDSTOP == _XMAX_
848
+        #define Y2_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
849
+      #elif Y2_USE_ENDSTOP == _YMIN_
850
+        #define Y2_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
851
+      #elif Y2_USE_ENDSTOP == _YMAX_
852
+        #define Y2_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
853
+      #elif Y2_USE_ENDSTOP == _ZMIN_
854
+        #define Y2_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
855
+      #elif Y2_USE_ENDSTOP == _ZMAX_
856
+        #define Y2_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
857
+      #else
858
+        #define Y2_MIN_ENDSTOP_INVERTING false
859
+      #endif
860
+    #endif
847
     #ifndef Y2_MIN_PIN
861
     #ifndef Y2_MIN_PIN
848
       #if Y2_USE_ENDSTOP == _XMIN_
862
       #if Y2_USE_ENDSTOP == _XMIN_
849
         #define Y2_MIN_PIN X_MIN_PIN
863
         #define Y2_MIN_PIN X_MIN_PIN
881
         #define Y2_MIN_PIN E7_DIAG_PIN
895
         #define Y2_MIN_PIN E7_DIAG_PIN
882
       #endif
896
       #endif
883
     #endif
897
     #endif
884
-    #define Y2_MAX_ENDSTOP_INVERTING false
898
+    #ifndef Y2_MAX_ENDSTOP_INVERTING
899
+      #define Y2_MAX_ENDSTOP_INVERTING false
900
+    #endif
885
   #endif
901
   #endif
886
 #endif
902
 #endif
887
 
903
 
891
 #if ENABLED(Z_MULTI_ENDSTOPS)
907
 #if ENABLED(Z_MULTI_ENDSTOPS)
892
 
908
 
893
   #if Z_HOME_DIR > 0
909
   #if Z_HOME_DIR > 0
894
-    #if Z2_USE_ENDSTOP == _XMIN_
895
-      #define Z2_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
896
-    #elif Z2_USE_ENDSTOP == _XMAX_
897
-      #define Z2_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
898
-    #elif Z2_USE_ENDSTOP == _YMIN_
899
-      #define Z2_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
900
-    #elif Z2_USE_ENDSTOP == _YMAX_
901
-      #define Z2_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
902
-    #elif Z2_USE_ENDSTOP == _ZMIN_
903
-      #define Z2_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
904
-    #elif Z2_USE_ENDSTOP == _ZMAX_
905
-      #define Z2_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
906
-    #else
907
-      #define Z2_MAX_ENDSTOP_INVERTING false
910
+    #ifndef Z2_MAX_ENDSTOP_INVERTING
911
+      #if Z2_USE_ENDSTOP == _XMIN_
912
+        #define Z2_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
913
+      #elif Z2_USE_ENDSTOP == _XMAX_
914
+        #define Z2_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
915
+      #elif Z2_USE_ENDSTOP == _YMIN_
916
+        #define Z2_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
917
+      #elif Z2_USE_ENDSTOP == _YMAX_
918
+        #define Z2_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
919
+      #elif Z2_USE_ENDSTOP == _ZMIN_
920
+        #define Z2_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
921
+      #elif Z2_USE_ENDSTOP == _ZMAX_
922
+        #define Z2_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
923
+      #else
924
+        #define Z2_MAX_ENDSTOP_INVERTING false
925
+      #endif
908
     #endif
926
     #endif
909
     #ifndef Z2_MAX_PIN
927
     #ifndef Z2_MAX_PIN
910
       #if Z2_USE_ENDSTOP == _XMIN_
928
       #if Z2_USE_ENDSTOP == _XMIN_
943
         #define Z2_MAX_PIN E7_DIAG_PIN
961
         #define Z2_MAX_PIN E7_DIAG_PIN
944
       #endif
962
       #endif
945
     #endif
963
     #endif
946
-    #define Z2_MIN_ENDSTOP_INVERTING false
947
-  #else
948
-    #if Z2_USE_ENDSTOP == _XMIN_
949
-      #define Z2_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
950
-    #elif Z2_USE_ENDSTOP == _XMAX_
951
-      #define Z2_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
952
-    #elif Z2_USE_ENDSTOP == _YMIN_
953
-      #define Z2_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
954
-    #elif Z2_USE_ENDSTOP == _YMAX_
955
-      #define Z2_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
956
-    #elif Z2_USE_ENDSTOP == _ZMIN_
957
-      #define Z2_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
958
-    #elif Z2_USE_ENDSTOP == _ZMAX_
959
-      #define Z2_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
960
-    #else
964
+    #ifndef Z2_MIN_ENDSTOP_INVERTING
961
       #define Z2_MIN_ENDSTOP_INVERTING false
965
       #define Z2_MIN_ENDSTOP_INVERTING false
962
     #endif
966
     #endif
967
+  #else
968
+    #ifndef Z2_MIN_ENDSTOP_INVERTING
969
+      #if Z2_USE_ENDSTOP == _XMIN_
970
+        #define Z2_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
971
+      #elif Z2_USE_ENDSTOP == _XMAX_
972
+        #define Z2_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
973
+      #elif Z2_USE_ENDSTOP == _YMIN_
974
+        #define Z2_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
975
+      #elif Z2_USE_ENDSTOP == _YMAX_
976
+        #define Z2_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
977
+      #elif Z2_USE_ENDSTOP == _ZMIN_
978
+        #define Z2_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
979
+      #elif Z2_USE_ENDSTOP == _ZMAX_
980
+        #define Z2_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
981
+      #else
982
+        #define Z2_MIN_ENDSTOP_INVERTING false
983
+      #endif
984
+    #endif
963
     #ifndef Z2_MIN_PIN
985
     #ifndef Z2_MIN_PIN
964
       #if Z2_USE_ENDSTOP == _XMIN_
986
       #if Z2_USE_ENDSTOP == _XMIN_
965
         #define Z2_MIN_PIN X_MIN_PIN
987
         #define Z2_MIN_PIN X_MIN_PIN
997
         #define Z2_MIN_PIN E7_DIAG_PIN
1019
         #define Z2_MIN_PIN E7_DIAG_PIN
998
       #endif
1020
       #endif
999
     #endif
1021
     #endif
1000
-    #define Z2_MAX_ENDSTOP_INVERTING false
1022
+    #ifndef Z2_MAX_ENDSTOP_INVERTING
1023
+      #define Z2_MAX_ENDSTOP_INVERTING false
1024
+    #endif
1001
   #endif
1025
   #endif
1002
 
1026
 
1003
   #if NUM_Z_STEPPER_DRIVERS >= 3
1027
   #if NUM_Z_STEPPER_DRIVERS >= 3
1004
     #if Z_HOME_DIR > 0
1028
     #if Z_HOME_DIR > 0
1005
-      #if Z3_USE_ENDSTOP == _XMIN_
1006
-        #define Z3_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
1007
-      #elif Z3_USE_ENDSTOP == _XMAX_
1008
-        #define Z3_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
1009
-      #elif Z3_USE_ENDSTOP == _YMIN_
1010
-        #define Z3_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
1011
-      #elif Z3_USE_ENDSTOP == _YMAX_
1012
-        #define Z3_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
1013
-      #elif Z3_USE_ENDSTOP == _ZMIN_
1014
-        #define Z3_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
1015
-      #elif Z3_USE_ENDSTOP == _ZMAX_
1016
-        #define Z3_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
1017
-      #else
1018
-        #define Z3_MAX_ENDSTOP_INVERTING false
1029
+      #ifndef Z3_MAX_ENDSTOP_INVERTING
1030
+        #if Z3_USE_ENDSTOP == _XMIN_
1031
+          #define Z3_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
1032
+        #elif Z3_USE_ENDSTOP == _XMAX_
1033
+          #define Z3_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
1034
+        #elif Z3_USE_ENDSTOP == _YMIN_
1035
+          #define Z3_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
1036
+        #elif Z3_USE_ENDSTOP == _YMAX_
1037
+          #define Z3_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
1038
+        #elif Z3_USE_ENDSTOP == _ZMIN_
1039
+          #define Z3_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
1040
+        #elif Z3_USE_ENDSTOP == _ZMAX_
1041
+          #define Z3_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
1042
+        #else
1043
+          #define Z3_MAX_ENDSTOP_INVERTING false
1044
+        #endif
1019
       #endif
1045
       #endif
1020
       #ifndef Z3_MAX_PIN
1046
       #ifndef Z3_MAX_PIN
1021
         #if Z3_USE_ENDSTOP == _XMIN_
1047
         #if Z3_USE_ENDSTOP == _XMIN_
1054
           #define Z3_MAX_PIN E7_DIAG_PIN
1080
           #define Z3_MAX_PIN E7_DIAG_PIN
1055
         #endif
1081
         #endif
1056
       #endif
1082
       #endif
1057
-      #define Z3_MIN_ENDSTOP_INVERTING false
1058
-    #else
1059
-      #if Z3_USE_ENDSTOP == _XMIN_
1060
-        #define Z3_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
1061
-      #elif Z3_USE_ENDSTOP == _XMAX_
1062
-        #define Z3_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
1063
-      #elif Z3_USE_ENDSTOP == _YMIN_
1064
-        #define Z3_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
1065
-      #elif Z3_USE_ENDSTOP == _YMAX_
1066
-        #define Z3_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
1067
-      #elif Z3_USE_ENDSTOP == _ZMIN_
1068
-        #define Z3_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
1069
-      #elif Z3_USE_ENDSTOP == _ZMAX_
1070
-        #define Z3_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
1071
-      #else
1083
+      #ifndef Z3_MIN_ENDSTOP_INVERTING
1072
         #define Z3_MIN_ENDSTOP_INVERTING false
1084
         #define Z3_MIN_ENDSTOP_INVERTING false
1073
       #endif
1085
       #endif
1086
+    #else
1087
+      #ifndef Z3_MIN_ENDSTOP_INVERTING
1088
+        #if Z3_USE_ENDSTOP == _XMIN_
1089
+          #define Z3_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
1090
+        #elif Z3_USE_ENDSTOP == _XMAX_
1091
+          #define Z3_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
1092
+        #elif Z3_USE_ENDSTOP == _YMIN_
1093
+          #define Z3_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
1094
+        #elif Z3_USE_ENDSTOP == _YMAX_
1095
+          #define Z3_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
1096
+        #elif Z3_USE_ENDSTOP == _ZMIN_
1097
+          #define Z3_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
1098
+        #elif Z3_USE_ENDSTOP == _ZMAX_
1099
+          #define Z3_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
1100
+        #else
1101
+          #define Z3_MIN_ENDSTOP_INVERTING false
1102
+        #endif
1103
+      #endif
1074
       #ifndef Z3_MIN_PIN
1104
       #ifndef Z3_MIN_PIN
1075
         #if Z3_USE_ENDSTOP == _XMIN_
1105
         #if Z3_USE_ENDSTOP == _XMIN_
1076
           #define Z3_MIN_PIN X_MIN_PIN
1106
           #define Z3_MIN_PIN X_MIN_PIN
1108
           #define Z3_MIN_PIN E7_DIAG_PIN
1138
           #define Z3_MIN_PIN E7_DIAG_PIN
1109
         #endif
1139
         #endif
1110
       #endif
1140
       #endif
1111
-      #define Z3_MAX_ENDSTOP_INVERTING false
1141
+      #ifndef Z3_MAX_ENDSTOP_INVERTING
1142
+        #define Z3_MAX_ENDSTOP_INVERTING false
1143
+      #endif
1112
     #endif
1144
     #endif
1113
   #endif
1145
   #endif
1114
 
1146
 
1115
   #if NUM_Z_STEPPER_DRIVERS >= 4
1147
   #if NUM_Z_STEPPER_DRIVERS >= 4
1116
     #if Z_HOME_DIR > 0
1148
     #if Z_HOME_DIR > 0
1117
-      #if Z4_USE_ENDSTOP == _XMIN_
1118
-        #define Z4_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
1119
-      #elif Z4_USE_ENDSTOP == _XMAX_
1120
-        #define Z4_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
1121
-      #elif Z4_USE_ENDSTOP == _YMIN_
1122
-        #define Z4_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
1123
-      #elif Z4_USE_ENDSTOP == _YMAX_
1124
-        #define Z4_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
1125
-      #elif Z4_USE_ENDSTOP == _ZMIN_
1126
-        #define Z4_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
1127
-      #elif Z4_USE_ENDSTOP == _ZMAX_
1128
-        #define Z4_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
1129
-      #else
1130
-        #define Z4_MAX_ENDSTOP_INVERTING false
1149
+      #ifndef Z4_MAX_ENDSTOP_INVERTING
1150
+        #if Z4_USE_ENDSTOP == _XMIN_
1151
+          #define Z4_MAX_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
1152
+        #elif Z4_USE_ENDSTOP == _XMAX_
1153
+          #define Z4_MAX_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
1154
+        #elif Z4_USE_ENDSTOP == _YMIN_
1155
+          #define Z4_MAX_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
1156
+        #elif Z4_USE_ENDSTOP == _YMAX_
1157
+          #define Z4_MAX_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
1158
+        #elif Z4_USE_ENDSTOP == _ZMIN_
1159
+          #define Z4_MAX_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
1160
+        #elif Z4_USE_ENDSTOP == _ZMAX_
1161
+          #define Z4_MAX_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
1162
+        #else
1163
+          #define Z4_MAX_ENDSTOP_INVERTING false
1164
+        #endif
1131
       #endif
1165
       #endif
1132
       #ifndef Z4_MAX_PIN
1166
       #ifndef Z4_MAX_PIN
1133
         #if Z4_USE_ENDSTOP == _XMIN_
1167
         #if Z4_USE_ENDSTOP == _XMIN_
1166
           #define Z4_MAX_PIN E7_DIAG_PIN
1200
           #define Z4_MAX_PIN E7_DIAG_PIN
1167
         #endif
1201
         #endif
1168
       #endif
1202
       #endif
1169
-      #define Z4_MIN_ENDSTOP_INVERTING false
1170
-    #else
1171
-      #if Z4_USE_ENDSTOP == _XMIN_
1172
-        #define Z4_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
1173
-      #elif Z4_USE_ENDSTOP == _XMAX_
1174
-        #define Z4_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
1175
-      #elif Z4_USE_ENDSTOP == _YMIN_
1176
-        #define Z4_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
1177
-      #elif Z4_USE_ENDSTOP == _YMAX_
1178
-        #define Z4_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
1179
-      #elif Z4_USE_ENDSTOP == _ZMIN_
1180
-        #define Z4_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
1181
-      #elif Z4_USE_ENDSTOP == _ZMAX_
1182
-        #define Z4_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
1183
-      #else
1203
+      #ifndef Z4_MIN_ENDSTOP_INVERTING
1184
         #define Z4_MIN_ENDSTOP_INVERTING false
1204
         #define Z4_MIN_ENDSTOP_INVERTING false
1185
       #endif
1205
       #endif
1206
+    #else
1207
+      #ifndef Z4_MIN_ENDSTOP_INVERTING
1208
+        #if Z4_USE_ENDSTOP == _XMIN_
1209
+          #define Z4_MIN_ENDSTOP_INVERTING X_MIN_ENDSTOP_INVERTING
1210
+        #elif Z4_USE_ENDSTOP == _XMAX_
1211
+          #define Z4_MIN_ENDSTOP_INVERTING X_MAX_ENDSTOP_INVERTING
1212
+        #elif Z4_USE_ENDSTOP == _YMIN_
1213
+          #define Z4_MIN_ENDSTOP_INVERTING Y_MIN_ENDSTOP_INVERTING
1214
+        #elif Z4_USE_ENDSTOP == _YMAX_
1215
+          #define Z4_MIN_ENDSTOP_INVERTING Y_MAX_ENDSTOP_INVERTING
1216
+        #elif Z4_USE_ENDSTOP == _ZMIN_
1217
+          #define Z4_MIN_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING
1218
+        #elif Z4_USE_ENDSTOP == _ZMAX_
1219
+          #define Z4_MIN_ENDSTOP_INVERTING Z_MAX_ENDSTOP_INVERTING
1220
+        #else
1221
+          #define Z4_MIN_ENDSTOP_INVERTING false
1222
+        #endif
1223
+      #endif
1186
       #ifndef Z4_MIN_PIN
1224
       #ifndef Z4_MIN_PIN
1187
         #if Z4_USE_ENDSTOP == _XMIN_
1225
         #if Z4_USE_ENDSTOP == _XMIN_
1188
           #define Z4_MIN_PIN X_MIN_PIN
1226
           #define Z4_MIN_PIN X_MIN_PIN
1220
           #define Z4_MIN_PIN E7_DIAG_PIN
1258
           #define Z4_MIN_PIN E7_DIAG_PIN
1221
         #endif
1259
         #endif
1222
       #endif
1260
       #endif
1223
-      #define Z4_MAX_ENDSTOP_INVERTING false
1261
+      #ifndef Z4_MAX_ENDSTOP_INVERTING
1262
+        #define Z4_MAX_ENDSTOP_INVERTING false
1263
+      #endif
1224
     #endif
1264
     #endif
1225
   #endif
1265
   #endif
1226
 
1266
 

Loading…
Cancel
Save