aboutsummaryrefslogtreecommitdiff
path: root/esp8266/ets_alt_task.c
AgeCommit message (Collapse)Author
2016-06-01esp8266: Provide a dedicated variable to disable ets_loop_iter.Damien George
So ets_loop_iter is now only disabled when using machine.disable_irq.
2016-05-26esp8266/ets_alt_task: Don't run ets_loop_iter if irqs are disabled.Damien George
ets_loop_iter processes pending tasks, and tasks are considered lower priority than interrupts, so tasks shouldn't be processed if interrupts are disabled.
2016-04-03esp8266/ets_alt_task: Comment out debug output.Paul Sokolovsky
2016-03-17esp8266/ets_alt_task: Make FIRST_PRIO=0 to cover all task priorities.Damien George
FIRST_PRIO=2 works but using 0 is hopefully safer, and can anyway be optimised in the future.
2016-03-11esp8266/ets_alt_task: Update for vendor SDK 1.5.0.Paul Sokolovsky
SDK 1.5.0 has a task with priority 3: ets_task(401001f4, 3, 3fff9808, 4). Recognizing SDK version requires the latets esp-open-sdk build.
2016-03-11esp8266/ets_alt_task: Be sure to "pop" event before calling its handler.Paul Sokolovsky
Otherwise, if handler calls recursive event loop, there's infinite recursion (because the loop calls the same handler on same event again).
2016-03-11esp8266: Feed WDT in ets_loop_iter().Damien George
2016-03-11esp8266: Add alternative event loop implementation.Paul Sokolovsky
This implementation provides the same interface and uses the same datastructures as used by BootROM, i.e. is a drop-in replacement for it. But it offers one advantage: it allows to run single iteration of event-pumping loop. Original BootROM function are renamed, prefixed with underscore. There's a switch which allows to use forward calls to them, for compatibility testing. The implementation also includes workarounds for hardware timer handler, and these workarounds may be SDK version specific.