summaryrefslogtreecommitdiff
path: root/esp8266/ets_alt_task.c
AgeCommit message (Collapse)Author
2017-05-13esp8266/ets_alt_task.c: Prevent spurious large increment of ticks_ms()Robert HH
This happened when the overflow counter for ticks_ms() was interrupted by an external hard interrupt (issue #3076).
2016-09-20esp8266: Extend system microsecond counter to 64-bits; use in ticks_ms.Damien George
So now ticks_ms can count up to the full 30 bits. Fixes issue #2412.
2016-09-18esp8266/ets_alt_task: ets_post: Should return 0 on success, !0 - failure.Paul Sokolovsky
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.