esp8266: Implement task-based, event-driven interface with UART.
This enables proper interfacing with underlying OS - MicroPython doesn't
run the main loop, OS does, MicroPython just gets called when some event
takes place.
diff --git a/esp8266/main.c b/esp8266/main.c
index 68d015a..86f306c 100644
--- a/esp8266/main.c
+++ b/esp8266/main.c
@@ -52,6 +52,12 @@
printf("\n");
+#if MICROPY_REPL_EVENT_DRIVEN
+ pyexec_friendly_repl_init();
+ uart_task_init();
+ return;
+ goto soft_reset;
+#else
for (;;) {
if (pyexec_mode_kind == PYEXEC_MODE_RAW_REPL) {
if (pyexec_raw_repl() != 0) {
@@ -65,6 +71,7 @@
}
goto soft_reset;
+#endif
}
mp_lexer_t *mp_lexer_new_from_file(const char *filename) {