@@ -104,7 +104,7 @@ void attachFakeInterruptToTimer(void) {
104
104
#endif
105
105
106
106
// strategy 1 - attach external interrupt to change pin (works on 328)
107
- void attachInterruptToChangePin (uint32_t pin ) {
107
+ void attachInterruptToChangePin (int pin ) {
108
108
pinMode (pin , INPUT_PULLUP );
109
109
_receiveBitMask = digitalPinToBitMask (pin );
110
110
uint8_t port = digitalPinToPort (pin );
@@ -121,13 +121,13 @@ void attachInterruptToChangePin(uint32_t pin) {
121
121
* _pcint_maskreg |= _BV (digitalPinToPCMSKbit (pin ));
122
122
}
123
123
124
- void detachInterruptToChangePin (uint32_t pin ) {
124
+ void detachInterruptToChangePin (int pin ) {
125
125
* _pcint_maskreg &= ~(_BV (digitalPinToPCMSKbit (pin )));
126
126
}
127
127
128
128
void attachInterruptMultiArch (uint32_t pin , void * chip_isr , uint32_t mode )
129
129
{
130
- int32_t pin_irq = ( int32_t ) pin ;
130
+ int pin_irq ;
131
131
gpfIsr = chip_isr ;
132
132
133
133
// stategy 0 - attach external interrupt to pin (works on 32u4)
@@ -143,13 +143,15 @@ void attachInterruptMultiArch(uint32_t pin, void *chip_isr, uint32_t mode)
143
143
144
144
void detachInterruptMultiArch (uint32_t pin )
145
145
{
146
- pin = digitalPinToInterrupt (pin );
147
- if (pin == NOT_AN_INTERRUPT ) {
146
+ int pin_irq ;
147
+
148
+ pin_irq = digitalPinToInterrupt (pin );
149
+ if (pin_irq == NOT_AN_INTERRUPT ) {
148
150
detachInterruptToChangePin (pin );
149
151
return ;
150
152
}
151
153
152
- detachInterrupt (pin );
154
+ detachInterrupt (pin_irq );
153
155
}
154
156
155
157
#endif
0 commit comments