|
@@ -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);
|