From 005a7f4190584edcd56b65a7f598a610e386fa1c Mon Sep 17 00:00:00 2001 From: danicampora Date: Tue, 17 Mar 2015 13:22:01 +0100 Subject: [PATCH] cc3200: Fix extint_enable behaviour when the callback is updated. --- cc3200/mods/pybpin.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cc3200/mods/pybpin.c b/cc3200/mods/pybpin.c index 71799643c5..04825d52b8 100644 --- a/cc3200/mods/pybpin.c +++ b/cc3200/mods/pybpin.c @@ -331,11 +331,15 @@ STATIC void pin_extint_enable (mp_obj_t self_in) { MAP_PRCMHibernateWakeupSourceDisable(hib_pin); } } - // if idx is invalid, the the pin supports active_idle interrupts for sure + // if idx is invalid, the the pin supports active interrupts for sure if (idx >= PYBPIN_NUM_WAKE_PINS || pybpin_wake_pin[idx].active) { MAP_GPIOIntClear(self->port, self->bit); MAP_GPIOIntEnable(self->port, self->bit); } + // in case in was enabled before + else if (idx < PYBPIN_NUM_WAKE_PINS && !pybpin_wake_pin[idx].active) { + MAP_GPIOIntDisable(self->port, self->bit); + } } STATIC void pin_extint_disable (mp_obj_t self_in) {