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