UART RTS/CTS software flow control
This was brought up by somebody I am working with that has several UARTS implemented that have large packets of information and network communication. This causes potential for blocking functionality and has lead to buffer overflows on the UART. Flow control helps but not all UARTs have flow control and I was asked if that flow control could be done low level in Micropython. That sounded like an interesting enough idea to bring up here.
stmhal: UART doesn't override RTS when buffer gets full
Currently (stmhal build) when using RTS HW flow control, the low level RTS signal seems to be behaving properly on a character by character basis. However, there is currently no interaction by the driver when the received buffer becomes full.
The uart driver should override RTS when the receive buffer becomes "full" (by whatever definition of full is appropriate - probably at least a few characters before the actual end of buffer). Once space is freed up in the buffer, then the uart driver should stop overriding RTS and let the HW control it again.