From 0352cc8558c90d1c7652c9167991d96e1eb1f2a0 Mon Sep 17 00:00:00 2001 From: Sandeep Mistry <s.mistry@arduino.cc> Date: Tue, 23 Feb 2016 14:21:33 -0500 Subject: [PATCH] Change digitalPinToInterrupt to return pin, and use g_APinDescription[pin].ulExtInt to map pin inside attachInterrupt/detachInterrupt This brings things inline with the atachInterrupt documentation for usage: attachInterrupt(digitalPinToInterrupt(pin), ISR, mode); --- cores/arduino/WInterrupts.c | 4 ++-- variants/arduino_zero/variant.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cores/arduino/WInterrupts.c b/cores/arduino/WInterrupts.c index a1f1de9e..0f1bf188 100644 --- a/cores/arduino/WInterrupts.c +++ b/cores/arduino/WInterrupts.c @@ -57,7 +57,7 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode) uint32_t config; uint32_t pos; - EExt_Interrupts in = digitalPinToInterrupt(pin); + EExt_Interrupts in = g_APinDescription[pin].ulExtInt; if (in == NOT_AN_INTERRUPT || in == EXTERNAL_INT_NMI) return; @@ -116,7 +116,7 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode) */ void detachInterrupt(uint32_t pin) { - EExt_Interrupts in = digitalPinToInterrupt(pin); + EExt_Interrupts in = g_APinDescription[pin].ulExtInt; if (in == NOT_AN_INTERRUPT || in == EXTERNAL_INT_NMI) return; diff --git a/variants/arduino_zero/variant.h b/variants/arduino_zero/variant.h index 1a1d4756..6897f4f5 100644 --- a/variants/arduino_zero/variant.h +++ b/variants/arduino_zero/variant.h @@ -77,7 +77,7 @@ extern "C" // #define digitalPinToTimer(P) // Interrupts -#define digitalPinToInterrupt(P) ( g_APinDescription[P].ulExtInt ) +#define digitalPinToInterrupt(P) ( P ) // LEDs #define PIN_LED_13 (13u) -- GitLab