Просмотр исходного кода

disable (and clear) unexpected interrupts (#2234)

Arnim Läuger 6 лет назад
Родитель
Сommit
1a39a9f14a
1 измененных файлов с 4 добавлено и 0 удалено
  1. 4 0
      app/platform/platform.c

+ 4 - 0
app/platform/platform.c

@@ -247,6 +247,10 @@ static void ICACHE_RAM_ATTR platform_gpio_intr_dispatcher (void *dummy){
           }
           // We re-enable the interrupt when we execute the callback (if level)
         }
+      } else {
+        // this is an unexpected interrupt so shut it off for now
+        gpio_pin_intr_state_set(GPIO_ID_PIN(j), GPIO_PIN_INTR_DISABLE);
+        GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, BIT(j));
       }
     }
   }