esp8266: Support dedicated REPL loop (aka pull-style).
Event-driven loop (push-style) is still supported and default (controlled
by MICROPY_REPL_EVENT_DRIVEN setting, as expected).
Dedicated loop worked even without adding ets_loop_iter(), though that
needs to be revisited later.
diff --git a/esp8266/esp_mphal.c b/esp8266/esp_mphal.c
index 7068d8e..2f813ca 100644
--- a/esp8266/esp_mphal.c
+++ b/esp8266/esp_mphal.c
@@ -66,7 +66,7 @@
int mp_hal_stdin_rx_chr(void) {
for (;;) {
- int c = uart0_rx();
+ int c = ringbuf_get(&input_buf);
if (c != -1) {
return c;
}
@@ -156,7 +156,9 @@
}
void mp_hal_signal_input(void) {
+ #if MICROPY_REPL_EVENT_DRIVEN
system_os_post(UART_TASK_ID, 0, 0);
+ #endif
}
static int call_dupterm_read(void) {