From b094b50e1836040bf297416345233bfed5932ab7 Mon Sep 17 00:00:00 2001 From: Makuna Date: Wed, 6 May 2015 09:02:14 -0700 Subject: [PATCH] xt disable and enable functions --- cores/esp8266/core_esp8266_wiring_digital.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cores/esp8266/core_esp8266_wiring_digital.c b/cores/esp8266/core_esp8266_wiring_digital.c index 0e673549b..7cdfa3fbc 100644 --- a/cores/esp8266/core_esp8266_wiring_digital.c +++ b/cores/esp8266/core_esp8266_wiring_digital.c @@ -139,6 +139,21 @@ extern void __detachInterrupt(uint8_t pin) { } } +static uint32_t interruptState = 0; + +void xt_disable_interrupts() +{ + __asm__ __volatile__("rsil %0,15":"=a" (interruptState)); + __asm__("esync"); + __asm__("isync"); + __asm__("dsync"); +} +void xt_enable_interrupts() +{ + __asm__ __volatile__("wsr %0,ps"::"a" (interruptState) : "memory"); + __asm__("esync"); +} + void initPins() { //Disable UART interrupts system_set_os_print(0);