|
@@ -62,7 +62,7 @@ void endstop_ISR() { endstops.update(); }
|
62
|
62
|
WITHIN(p, 14, 15) ? 1 : \
|
63
|
63
|
WITHIN(p, 62, 69) ? 2 : \
|
64
|
64
|
0)
|
65
|
|
-
|
|
65
|
+
|
66
|
66
|
#undef digitalPinToPCMSK
|
67
|
67
|
#define digitalPinToPCMSK(p) (WITHIN(p, 10, 13) || WITHIN(p, 50, 53) ? (&PCMSK0) : \
|
68
|
68
|
WITHIN(p, 14, 15) ? (&PCMSK1) : \
|
|
@@ -94,7 +94,7 @@ void endstop_ISR() { endstops.update(); }
|
94
|
94
|
|
95
|
95
|
// Install Pin change interrupt for a pin. Can be called multiple times.
|
96
|
96
|
void pciSetup(const int8_t pin) {
|
97
|
|
- if (digitalPinToPCMSK(pin) != nullptr) {
|
|
97
|
+ if (digitalPinHasPCICR(pin)) {
|
98
|
98
|
SBI(*digitalPinToPCMSK(pin), digitalPinToPCMSKbit(pin)); // enable pin
|
99
|
99
|
SBI(PCIFR, digitalPinToPCICRbit(pin)); // clear any outstanding interrupt
|
100
|
100
|
SBI(PCICR, digitalPinToPCICRbit(pin)); // enable interrupt for the group
|