Я читал https://nodemcu.readthedocs.io/en/master/en/lua-developer-faq/#esp8266-specifics, и в документе говорится, что код Lua должен быть возвращен, чтобы SDK мог выполнять другие задачи:
Вся остальная обработка служб и приложений разделенав блоки выполнения кода, известные как задачи.Отдельные задачи выполняются по одному и выполняются до конца.Ни одна задача никогда не сможет заменить другую.
и
Библиотеки Lua работают совместно с SDK, чтобы ставить в очередь ожидающие события и вызывать любые зарегистрированные подпрограммы обратного вызова Lua, которыезатем непрерывно запускается до завершения.
Затем PiL говорит, что yield может использоваться для приостановки вызовов функций, которые могут быть возобновлены позже:
Реальная сила сопрограмм проистекает изФункция yield, позволяющая работающей сопрограмме приостановить выполнение и возобновить ее позднее.
Мой вопрос: возвращает ли реализация eLua NodeMCU элемент управления SDK при выполнении coroutine.yield(c)
?... Так что было бы возможно реализовать совместные многопоточные алгоритмы с NodeMCU / eLua firwmare?
Как coroutine.resume(c)
будет работать в этом контексте?