ESP8266 - UART drops 16th digit or randomly stops receiving after first 16 digits
On 1.18 (and earlier versions, unsure which one introduced this bug) the UART receive loses data. Even when settings the RxBuf value to a value of 16 or a higher, it will randomly lose the 16th digit it receives or simply ends the receive at 16 digits despite there being more digits arriving.
esp8266: Fix lost chars problem when block-xfering data (e.g., when pasting).
Pasting more or less sizable text into ESP8266 REPL leads to random chars
missing in the received input. Apparent cause is that using RTOS messages
to pass individual chars one by one is to slow and leads to UART FIFO
overflow. So, instead of passing chars one by one, use RTOS msg to signal
that input data is available in FIFO, and then let task handler to read
data directly from FIFO.
With this change, lost chars problem is gone, but the pasted text is
truncated after some position. At least 500 chars can be pasted reliably
(at 115200 baud), but 1K never pastes completely.