From 9d9fe5c0979cab1f8dff165a3702ea200efe4c40 Mon Sep 17 00:00:00 2001
From: Cristian Maglie <c.maglie@bcmi-labs.cc>
Date: Fri, 8 Sep 2017 16:55:33 +0200
Subject: [PATCH] Slightly clearer formula for interrupt config register
 position

---
 cores/arduino/WInterrupts.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/cores/arduino/WInterrupts.c b/cores/arduino/WInterrupts.c
index 017ae5cf..fad33ba8 100644
--- a/cores/arduino/WInterrupts.c
+++ b/cores/arduino/WInterrupts.c
@@ -106,12 +106,13 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode)
     // Look for right CONFIG register to be addressed
     if (in > EXTERNAL_INT_7) {
       config = 1;
+      pos = (in - 8) << 2;
     } else {
       config = 0;
+      pos = in << 2;
     }
 
     // Configure the interrupt mode
-    pos = (in - (8 * config)) << 2;
     EIC->CONFIG[config].reg &=~ (EIC_CONFIG_SENSE0_Msk << pos); // Reset sense mode, important when changing trigger mode during runtime
     switch (mode)
     {
-- 
GitLab