esp8266: Necessity for UART flush
This is rather recommendation than issue. The code below sends a string message from UART1 and is supposed to pull the output pin LOW :
mypin.on()
uart1.write("a long sentence")
mypin.off()
when I checked the signal (part tx and output) with logic analyzer, I saw that pin is pulled low long before the uart transmission has been completed. A function like uart.flash() which checks the relevant uart status bits for completion of the transmission would be very handy.
renesas-ra: Add the UART methods uart.txdone() and uart.flush().
The API is consistent to the other ports. flush() returns after the last byte has been sent, and txdone() also reports True after the last byte has been sent.
This required to add two very simple functions down the stack to uart.c and ra.sci.c.
- One for telling, whether the transmission is busy.
- One for reporting the size of the TX buffer. There is no txbuf option for setting the bufger size, so the actually used buffer size had to be retrieved.
Tested with a EK-RA6M2 board by me and with all boards from the port's boards directory by @TakeoTakahashi2020.