Browse Source

Tweaks to endstops code

Scott Lahteine 5 years ago
parent
commit
e874f9664c
2 changed files with 34 additions and 33 deletions
  1. 33
    30
      Marlin/src/module/endstops.cpp
  2. 1
    3
      Marlin/src/module/motion.cpp

+ 33
- 30
Marlin/src/module/endstops.cpp View File

@@ -775,99 +775,102 @@ void Endstops::update() {
775 775
     static uint8_t local_LED_status = 0;
776 776
     uint16_t live_state_local = 0;
777 777
 
778
+    #define ES_GET_STATE(S) if (READ(S##_PIN)) SBI(live_state_local, S)
779
+
778 780
     #if HAS_X_MIN
779
-      if (READ(X_MIN_PIN)) SBI(live_state_local, X_MIN);
781
+      ES_GET_STATE(X_MIN);
780 782
     #endif
781 783
     #if HAS_X_MAX
782
-      if (READ(X_MAX_PIN)) SBI(live_state_local, X_MAX);
784
+      ES_GET_STATE(X_MAX);
783 785
     #endif
784 786
     #if HAS_Y_MIN
785
-      if (READ(Y_MIN_PIN)) SBI(live_state_local, Y_MIN);
787
+      ES_GET_STATE(Y_MIN);
786 788
     #endif
787 789
     #if HAS_Y_MAX
788
-      if (READ(Y_MAX_PIN)) SBI(live_state_local, Y_MAX);
790
+      ES_GET_STATE(Y_MAX);
789 791
     #endif
790 792
     #if HAS_Z_MIN
791
-      if (READ(Z_MIN_PIN)) SBI(live_state_local, Z_MIN);
793
+      ES_GET_STATE(Z_MIN);
792 794
     #endif
793 795
     #if HAS_Z_MAX
794
-      if (READ(Z_MAX_PIN)) SBI(live_state_local, Z_MAX);
796
+      ES_GET_STATE(Z_MAX);
795 797
     #endif
796 798
     #if HAS_Z_MIN_PROBE_PIN
797
-      if (READ(Z_MIN_PROBE_PIN)) SBI(live_state_local, Z_MIN_PROBE);
799
+      ES_GET_STATE(Z_MIN_PROBE);
798 800
     #endif
799 801
     #if HAS_X2_MIN
800
-      if (READ(X2_MIN_PIN)) SBI(live_state_local, X2_MIN);
802
+      ES_GET_STATE(X2_MIN);
801 803
     #endif
802 804
     #if HAS_X2_MAX
803
-      if (READ(X2_MAX_PIN)) SBI(live_state_local, X2_MAX);
805
+      ES_GET_STATE(X2_MAX);
804 806
     #endif
805 807
     #if HAS_Y2_MIN
806
-      if (READ(Y2_MIN_PIN)) SBI(live_state_local, Y2_MIN);
808
+      ES_GET_STATE(Y2_MIN);
807 809
     #endif
808 810
     #if HAS_Y2_MAX
809
-      if (READ(Y2_MAX_PIN)) SBI(live_state_local, Y2_MAX);
811
+      ES_GET_STATE(Y2_MAX);
810 812
     #endif
811 813
     #if HAS_Z2_MIN
812
-      if (READ(Z2_MIN_PIN)) SBI(live_state_local, Z2_MIN);
814
+      ES_GET_STATE(Z2_MIN);
813 815
     #endif
814 816
     #if HAS_Z2_MAX
815
-      if (READ(Z2_MAX_PIN)) SBI(live_state_local, Z2_MAX);
817
+      ES_GET_STATE(Z2_MAX);
816 818
     #endif
817 819
     #if HAS_Z3_MIN
818
-      if (READ(Z3_MIN_PIN)) SBI(live_state_local, Z3_MIN);
820
+      ES_GET_STATE(Z3_MIN);
819 821
     #endif
820 822
     #if HAS_Z3_MAX
821
-      if (READ(Z3_MAX_PIN)) SBI(live_state_local, Z3_MAX);
823
+      ES_GET_STATE(Z3_MAX);
822 824
     #endif
823 825
 
824 826
     uint16_t endstop_change = live_state_local ^ old_live_state_local;
827
+    #define ES_REPORT_CHANGE(S) if (TEST(endstop_change, S)) SERIAL_ECHOPAIR("  " STRINGIFY(S) ":", TEST(live_state_local, S))
825 828
 
826 829
     if (endstop_change) {
827 830
       #if HAS_X_MIN
828
-        if (TEST(endstop_change, X_MIN)) SERIAL_ECHOPAIR("  X_MIN:", TEST(live_state_local, X_MIN));
831
+        ES_REPORT_CHANGE(X_MIN);
829 832
       #endif
830 833
       #if HAS_X_MAX
831
-        if (TEST(endstop_change, X_MAX)) SERIAL_ECHOPAIR("  X_MAX:", TEST(live_state_local, X_MAX));
834
+        ES_REPORT_CHANGE(X_MAX);
832 835
       #endif
833 836
       #if HAS_Y_MIN
834
-        if (TEST(endstop_change, Y_MIN)) SERIAL_ECHOPAIR("  Y_MIN:", TEST(live_state_local, Y_MIN));
837
+        ES_REPORT_CHANGE(Y_MIN);
835 838
       #endif
836 839
       #if HAS_Y_MAX
837
-        if (TEST(endstop_change, Y_MAX)) SERIAL_ECHOPAIR("  Y_MAX:", TEST(live_state_local, Y_MAX));
840
+        ES_REPORT_CHANGE(Y_MAX);
838 841
       #endif
839 842
       #if HAS_Z_MIN
840
-        if (TEST(endstop_change, Z_MIN)) SERIAL_ECHOPAIR("  Z_MIN:", TEST(live_state_local, Z_MIN));
843
+        ES_REPORT_CHANGE(Z_MIN);
841 844
       #endif
842 845
       #if HAS_Z_MAX
843
-        if (TEST(endstop_change, Z_MAX)) SERIAL_ECHOPAIR("  Z_MAX:", TEST(live_state_local, Z_MAX));
846
+        ES_REPORT_CHANGE(Z_MAX);
844 847
       #endif
845 848
       #if HAS_Z_MIN_PROBE_PIN
846
-        if (TEST(endstop_change, Z_MIN_PROBE)) SERIAL_ECHOPAIR("  PROBE:", TEST(live_state_local, Z_MIN_PROBE));
849
+        ES_REPORT_CHANGE(Z_MIN_PROBE);
847 850
       #endif
848 851
       #if HAS_X2_MIN
849
-        if (TEST(endstop_change, X2_MIN)) SERIAL_ECHOPAIR("  X2_MIN:", TEST(live_state_local, X2_MIN));
852
+        ES_REPORT_CHANGE(X2_MIN);
850 853
       #endif
851 854
       #if HAS_X2_MAX
852
-        if (TEST(endstop_change, X2_MAX)) SERIAL_ECHOPAIR("  X2_MAX:", TEST(live_state_local, X2_MAX));
855
+        ES_REPORT_CHANGE(X2_MAX);
853 856
       #endif
854 857
       #if HAS_Y2_MIN
855
-        if (TEST(endstop_change, Y2_MIN)) SERIAL_ECHOPAIR("  Y2_MIN:", TEST(live_state_local, Y2_MIN));
858
+        ES_REPORT_CHANGE(Y2_MIN);
856 859
       #endif
857 860
       #if HAS_Y2_MAX
858
-        if (TEST(endstop_change, Y2_MAX)) SERIAL_ECHOPAIR("  Y2_MAX:", TEST(live_state_local, Y2_MAX));
861
+        ES_REPORT_CHANGE(Y2_MAX);
859 862
       #endif
860 863
       #if HAS_Z2_MIN
861
-        if (TEST(endstop_change, Z2_MIN)) SERIAL_ECHOPAIR("  Z2_MIN:", TEST(live_state_local, Z2_MIN));
864
+        ES_REPORT_CHANGE(Z2_MIN);
862 865
       #endif
863 866
       #if HAS_Z2_MAX
864
-        if (TEST(endstop_change, Z2_MAX)) SERIAL_ECHOPAIR("  Z2_MAX:", TEST(live_state_local, Z2_MAX));
867
+        ES_REPORT_CHANGE(Z2_MAX);
865 868
       #endif
866 869
       #if HAS_Z3_MIN
867
-        if (TEST(endstop_change, Z3_MIN)) SERIAL_ECHOPAIR("  Z3_MIN:", TEST(live_state_local, Z3_MIN));
870
+        ES_REPORT_CHANGE(Z3_MIN);
868 871
       #endif
869 872
       #if HAS_Z3_MAX
870
-        if (TEST(endstop_change, Z3_MAX)) SERIAL_ECHOPAIR("  Z3_MAX:", TEST(live_state_local, Z3_MAX));
873
+        ES_REPORT_CHANGE(Z3_MAX);
871 874
       #endif
872 875
       SERIAL_ECHOPGM("\n\n");
873 876
       analogWrite(LED_PIN, local_LED_status);

+ 1
- 3
Marlin/src/module/motion.cpp View File

@@ -1550,10 +1550,8 @@ void homeaxis(const AxisEnum axis) {
1550 1550
       do_homing_move(axis, delta_endstop_adj[axis] - (MIN_STEPS_PER_SEGMENT + 1) * planner.steps_to_mm[axis] * Z_HOME_DIR);
1551 1551
     }
1552 1552
 
1553
-  #else
1553
+  #else // CARTESIAN / CORE
1554 1554
 
1555
-    // For cartesian/core machines,
1556
-    // set the axis to its home position
1557 1555
     set_axis_is_at_home(axis);
1558 1556
     sync_plan_position();
1559 1557
 

Loading…
Cancel
Save