mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Put InterruptLock (from interrupts.h) into namespace esp8266 to fix now and future (#6225)
collisions with 3rd party Arduino libraries (currently Adafruit DHT has this issue)
This commit is contained in:
parent
2e3e1d5e98
commit
f5a882d03d
@ -200,7 +200,7 @@ void EspClass::restart(void)
|
||||
|
||||
uint16_t EspClass::getVcc(void)
|
||||
{
|
||||
InterruptLock lock;
|
||||
esp8266::InterruptLock lock;
|
||||
(void)lock;
|
||||
return system_get_vdd33();
|
||||
}
|
||||
|
@ -56,7 +56,7 @@ bool schedule_function_us(std::function<bool(void)>&& fn, uint32_t repeat_us, sc
|
||||
{
|
||||
assert(repeat_us < decltype(scheduled_fn_t::callNow)::neverExpires); //~26800000us (26.8s)
|
||||
|
||||
InterruptLock lockAllInterruptsInThisScope;
|
||||
esp8266::InterruptLock lockAllInterruptsInThisScope;
|
||||
|
||||
scheduled_fn_t* item = get_fn_unsafe();
|
||||
if (!item)
|
||||
@ -104,7 +104,7 @@ void run_scheduled_functions(schedule_e policy)
|
||||
|
||||
static bool fence = false;
|
||||
{
|
||||
InterruptLock lockAllInterruptsInThisScope;
|
||||
esp8266::InterruptLock lockAllInterruptsInThisScope;
|
||||
if (fence)
|
||||
// prevent recursive calls from yield()
|
||||
return;
|
||||
@ -136,7 +136,7 @@ void run_scheduled_functions(schedule_e policy)
|
||||
else
|
||||
{
|
||||
// function removed from list
|
||||
InterruptLock lockAllInterruptsInThisScope;
|
||||
esp8266::InterruptLock lockAllInterruptsInThisScope;
|
||||
|
||||
if (sFirst == toCall)
|
||||
sFirst = sFirst->mNext;
|
||||
|
@ -1,7 +1,6 @@
|
||||
#include "Updater.h"
|
||||
#include "Arduino.h"
|
||||
#include "eboot_command.h"
|
||||
#include <interrupts.h>
|
||||
#include <esp8266_peri.h>
|
||||
|
||||
//#define DEBUG_UPDATER Serial
|
||||
|
@ -16,6 +16,9 @@
|
||||
//}
|
||||
//
|
||||
|
||||
namespace esp8266
|
||||
{
|
||||
|
||||
class InterruptLock {
|
||||
public:
|
||||
InterruptLock() {
|
||||
@ -54,4 +57,6 @@ private: \
|
||||
}; \
|
||||
_AutoDisableIntr _autoDisableIntr
|
||||
|
||||
} // esp8266
|
||||
|
||||
#endif //INTERRUPTS_H
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 8e45d18d5a1c9d9f6a9a6a9b4923690117117d45
|
||||
Subproject commit c06b923bfea3641b537c1131f2b5612e48ffe1be
|
Loading…
x
Reference in New Issue
Block a user