Переглянути джерело

Ensure pins set to INPUT after attachInterrupt (#10928)

Scott Lahteine 6 роки тому
джерело
коміт
a426986df8
Аккаунт користувача з таким Email не знайдено

+ 9
- 9
Marlin/src/HAL/HAL_STM32F1/endstop_interrupts.h Переглянути файл

56
 
56
 
57
 void setup_endstop_interrupts(void) {
57
 void setup_endstop_interrupts(void) {
58
   #if HAS_X_MAX
58
   #if HAS_X_MAX
59
-    SET_INPUT(X_MAX_PIN);
60
     attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); // assign it
59
     attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); // assign it
60
+    SET_INPUT(X_MAX_PIN);
61
   #endif
61
   #endif
62
   #if HAS_X_MIN
62
   #if HAS_X_MIN
63
-    SET_INPUT(X_MIN_PIN);
64
     attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE);
63
     attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE);
64
+    SET_INPUT(X_MIN_PIN);
65
   #endif
65
   #endif
66
   #if HAS_Y_MAX
66
   #if HAS_Y_MAX
67
-    SET_INPUT(Y_MAX_PIN);
68
     attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE);
67
     attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE);
68
+    SET_INPUT(Y_MAX_PIN);
69
   #endif
69
   #endif
70
   #if HAS_Y_MIN
70
   #if HAS_Y_MIN
71
-    SET_INPUT(Y_MIN_PIN);
72
     attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE);
71
     attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE);
72
+    SET_INPUT(Y_MIN_PIN);
73
   #endif
73
   #endif
74
   #if HAS_Z_MAX
74
   #if HAS_Z_MAX
75
-    SET_INPUT(Z_MAX_PIN);
76
     attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE);
75
     attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE);
76
+    SET_INPUT(Z_MAX_PIN);
77
   #endif
77
   #endif
78
   #if HAS_Z_MIN
78
   #if HAS_Z_MIN
79
-    SET_INPUT(Z_MIN_PIN);
80
     attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE);
79
     attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE);
80
+    SET_INPUT(Z_MIN_PIN);
81
   #endif
81
   #endif
82
   #if HAS_Z2_MAX
82
   #if HAS_Z2_MAX
83
-    SET_INPUT(Z2_MAX_PIN);
84
     attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE);
83
     attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE);
84
+    SET_INPUT(Z2_MAX_PIN);
85
   #endif
85
   #endif
86
   #if HAS_Z2_MIN
86
   #if HAS_Z2_MIN
87
-    SET_INPUT(Z2_MIN_PIN);
88
     attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE);
87
     attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE);
88
+    SET_INPUT(Z2_MIN_PIN);
89
   #endif
89
   #endif
90
   #if HAS_Z_MIN_PROBE_PIN
90
   #if HAS_Z_MIN_PROBE_PIN
91
-    SET_INPUT(Z_MIN_PROBE_PIN);
92
     attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE);
91
     attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE);
92
+    SET_INPUT(Z_MIN_PROBE_PIN);
93
   #endif
93
   #endif
94
 }
94
 }
95
 
95
 

+ 10
- 10
Marlin/src/HAL/HAL_STM32F4/endstop_interrupts.h Переглянути файл

31
 
31
 
32
 void setup_endstop_interrupts(void) {
32
 void setup_endstop_interrupts(void) {
33
   #if HAS_X_MAX
33
   #if HAS_X_MAX
34
-    pinMode(X_MAX_PIN, INPUT);
35
-    attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); // assign it
34
+    attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE);
35
+    SET_INPUT(X_MAX_PIN);
36
   #endif
36
   #endif
37
   #if HAS_X_MIN
37
   #if HAS_X_MIN
38
-    pinMode(X_MIN_PIN, INPUT);
39
     attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE);
38
     attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE);
39
+    SET_INPUT(X_MIN_PIN);
40
   #endif
40
   #endif
41
   #if HAS_Y_MAX
41
   #if HAS_Y_MAX
42
-    pinMode(Y_MAX_PIN, INPUT);
43
     attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE);
42
     attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE);
43
+    SET_INPUT(Y_MAX_PIN);
44
   #endif
44
   #endif
45
   #if HAS_Y_MIN
45
   #if HAS_Y_MIN
46
-    pinMode(Y_MIN_PIN, INPUT);
47
     attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE);
46
     attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE);
47
+    SET_INPUT(Y_MIN_PIN);
48
   #endif
48
   #endif
49
   #if HAS_Z_MAX
49
   #if HAS_Z_MAX
50
-    pinMode(Z_MAX_PIN, INPUT);
51
     attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE);
50
     attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE);
51
+    SET_INPUT(Z_MAX_PIN);
52
   #endif
52
   #endif
53
   #if HAS_Z_MIN
53
   #if HAS_Z_MIN
54
-    pinMode(Z_MIN_PIN, INPUT);
55
     attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE);
54
     attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE);
55
+    SET_INPUT(Z_MIN_PIN);
56
   #endif
56
   #endif
57
   #if HAS_Z2_MAX
57
   #if HAS_Z2_MAX
58
-    pinMode(Z2_MAX_PIN, INPUT);
59
     attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE);
58
     attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE);
59
+    SET_INPUT(Z2_MAX_PIN);
60
   #endif
60
   #endif
61
   #if HAS_Z2_MIN
61
   #if HAS_Z2_MIN
62
-    pinMode(Z2_MIN_PIN, INPUT);
63
     attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE);
62
     attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE);
63
+    SET_INPUT(Z2_MIN_PIN);
64
   #endif
64
   #endif
65
   #if HAS_Z_MIN_PROBE_PIN
65
   #if HAS_Z_MIN_PROBE_PIN
66
-    pinMode(Z_MIN_PROBE_PIN, INPUT);
67
     attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE);
66
     attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE);
67
+    SET_INPUT(Z_MIN_PROBE_PIN);
68
   #endif
68
   #endif
69
 }
69
 }
70
 
70
 

+ 10
- 10
Marlin/src/HAL/HAL_STM32F7/endstop_interrupts.h Переглянути файл

33
 
33
 
34
 void setup_endstop_interrupts(void) {
34
 void setup_endstop_interrupts(void) {
35
   #if HAS_X_MAX
35
   #if HAS_X_MAX
36
-    pinMode(X_MAX_PIN, INPUT);
37
-    attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); // assign it
36
+    attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE);
37
+    SET_INPUT(X_MAX_PIN);
38
   #endif
38
   #endif
39
   #if HAS_X_MIN
39
   #if HAS_X_MIN
40
-    pinMode(X_MIN_PIN, INPUT);
41
     attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE);
40
     attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE);
41
+    SET_INPUT(X_MIN_PIN);
42
   #endif
42
   #endif
43
   #if HAS_Y_MAX
43
   #if HAS_Y_MAX
44
-    pinMode(Y_MAX_PIN, INPUT);
45
     attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE);
44
     attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE);
45
+    SET_INPUT(Y_MAX_PIN);
46
   #endif
46
   #endif
47
   #if HAS_Y_MIN
47
   #if HAS_Y_MIN
48
-    pinMode(Y_MIN_PIN, INPUT);
49
     attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE);
48
     attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE);
49
+    SET_INPUT(Y_MIN_PIN);
50
   #endif
50
   #endif
51
   #if HAS_Z_MAX
51
   #if HAS_Z_MAX
52
-    pinMode(Z_MAX_PIN, INPUT);
53
     attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE);
52
     attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE);
53
+    SET_INPUT(Z_MAX_PIN);
54
   #endif
54
   #endif
55
   #if HAS_Z_MIN
55
   #if HAS_Z_MIN
56
-    pinMode(Z_MIN_PIN, INPUT);
57
     attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE);
56
     attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE);
57
+    SET_INPUT(Z_MIN_PIN);
58
   #endif
58
   #endif
59
   #if HAS_Z2_MAX
59
   #if HAS_Z2_MAX
60
-    pinMode(Z2_MAX_PIN, INPUT);
61
     attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE);
60
     attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE);
61
+    SET_INPUT(Z2_MAX_PIN);
62
   #endif
62
   #endif
63
   #if HAS_Z2_MIN
63
   #if HAS_Z2_MIN
64
-    pinMode(Z2_MIN_PIN, INPUT);
65
     attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE);
64
     attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE);
65
+    SET_INPUT(Z2_MIN_PIN);
66
   #endif
66
   #endif
67
   #if HAS_Z_MIN_PROBE_PIN
67
   #if HAS_Z_MIN_PROBE_PIN
68
-    pinMode(Z_MIN_PROBE_PIN, INPUT);
69
     attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE);
68
     attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE);
69
+    SET_INPUT(Z_MIN_PROBE_PIN);
70
   #endif
70
   #endif
71
 }
71
 }
72
 
72
 

Завантаження…
Відмінити
Зберегти