瀏覽代碼

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

Robby Candra 5 年之前
父節點
當前提交
39105384ba
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 190 行新增150 行删除
  1. 190
    150
      Marlin/src/inc/Conditionals_post.h

+ 190
- 150
Marlin/src/inc/Conditionals_post.h 查看文件

@@ -660,20 +660,22 @@
660 660
  */
661 661
 #if ENABLED(X_DUAL_ENDSTOPS)
662 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 679
     #endif
678 680
     #ifndef X2_MAX_PIN
679 681
       #if X2_USE_ENDSTOP == _XMIN_
@@ -712,23 +714,27 @@
712 714
         #define X2_MAX_PIN E7_DIAG_PIN
713 715
       #endif
714 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 718
       #define X2_MIN_ENDSTOP_INVERTING false
731 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 738
     #ifndef X2_MIN_PIN
733 739
       #if X2_USE_ENDSTOP == _XMIN_
734 740
         #define X2_MIN_PIN X_MIN_PIN
@@ -766,7 +772,9 @@
766 772
         #define X2_MIN_PIN E7_DIAG_PIN
767 773
       #endif
768 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 778
   #endif
771 779
 #endif
772 780
 
@@ -775,20 +783,22 @@
775 783
  */
776 784
 #if ENABLED(Y_DUAL_ENDSTOPS)
777 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 802
     #endif
793 803
     #ifndef Y2_MAX_PIN
794 804
       #if Y2_USE_ENDSTOP == _XMIN_
@@ -827,23 +837,27 @@
827 837
         #define Y2_MAX_PIN E7_DIAG_PIN
828 838
       #endif
829 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 841
       #define Y2_MIN_ENDSTOP_INVERTING false
846 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 861
     #ifndef Y2_MIN_PIN
848 862
       #if Y2_USE_ENDSTOP == _XMIN_
849 863
         #define Y2_MIN_PIN X_MIN_PIN
@@ -881,7 +895,9 @@
881 895
         #define Y2_MIN_PIN E7_DIAG_PIN
882 896
       #endif
883 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 901
   #endif
886 902
 #endif
887 903
 
@@ -891,20 +907,22 @@
891 907
 #if ENABLED(Z_MULTI_ENDSTOPS)
892 908
 
893 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 926
     #endif
909 927
     #ifndef Z2_MAX_PIN
910 928
       #if Z2_USE_ENDSTOP == _XMIN_
@@ -943,23 +961,27 @@
943 961
         #define Z2_MAX_PIN E7_DIAG_PIN
944 962
       #endif
945 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 965
       #define Z2_MIN_ENDSTOP_INVERTING false
962 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 985
     #ifndef Z2_MIN_PIN
964 986
       #if Z2_USE_ENDSTOP == _XMIN_
965 987
         #define Z2_MIN_PIN X_MIN_PIN
@@ -997,25 +1019,29 @@
997 1019
         #define Z2_MIN_PIN E7_DIAG_PIN
998 1020
       #endif
999 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 1025
   #endif
1002 1026
 
1003 1027
   #if NUM_Z_STEPPER_DRIVERS >= 3
1004 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 1045
       #endif
1020 1046
       #ifndef Z3_MAX_PIN
1021 1047
         #if Z3_USE_ENDSTOP == _XMIN_
@@ -1054,23 +1080,27 @@
1054 1080
           #define Z3_MAX_PIN E7_DIAG_PIN
1055 1081
         #endif
1056 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 1084
         #define Z3_MIN_ENDSTOP_INVERTING false
1073 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 1104
       #ifndef Z3_MIN_PIN
1075 1105
         #if Z3_USE_ENDSTOP == _XMIN_
1076 1106
           #define Z3_MIN_PIN X_MIN_PIN
@@ -1108,26 +1138,30 @@
1108 1138
           #define Z3_MIN_PIN E7_DIAG_PIN
1109 1139
         #endif
1110 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 1144
     #endif
1113 1145
   #endif
1114 1146
 
1115 1147
   #if NUM_Z_STEPPER_DRIVERS >= 4
1116 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 1165
       #endif
1132 1166
       #ifndef Z4_MAX_PIN
1133 1167
         #if Z4_USE_ENDSTOP == _XMIN_
@@ -1166,23 +1200,27 @@
1166 1200
           #define Z4_MAX_PIN E7_DIAG_PIN
1167 1201
         #endif
1168 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 1204
         #define Z4_MIN_ENDSTOP_INVERTING false
1185 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 1224
       #ifndef Z4_MIN_PIN
1187 1225
         #if Z4_USE_ENDSTOP == _XMIN_
1188 1226
           #define Z4_MIN_PIN X_MIN_PIN
@@ -1220,7 +1258,9 @@
1220 1258
           #define Z4_MIN_PIN E7_DIAG_PIN
1221 1259
         #endif
1222 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 1264
     #endif
1225 1265
   #endif
1226 1266
 

Loading…
取消
儲存