Hi Paul,
Sorry I missed you first mail.
I'm interested in flow control for the same purpose and would be interested into discussing how to integrate this feature inside current API without causing problems.
I didn't investigate yet on this matter, however.
--
You received this message because you are subscribed to the Google Groups "Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@arduino.cc.
My question is why everyone always ignores flow control. Its very important, and should be handled automatically, much like all the modern autoflow uarts that have been in existance for well over 10 years.
The proper way to utilize it should be that your code only checks free buffer space, and sends only that amount if you want to do non-blocking. Otherwise it should block your code.
I've had to teach 1byte fifo uarts how to autoflow in hardware. This same circuit can be used on any cpu or mcu. Works great on 66551 ACIA but the sender needs to properly respect rts/cts. Many older uarts (16550, and many modems too) don't properly work, and dump the entire fifo. Autoflow means you don't send anymore. My circuit detects and deasserts CTS on the first edge of the incoming start bit or break signal.
Check it out, it is open source. http://dr.ea.ms/hw/hardware/ACIAFIX/
Deadlocks and blocking is fully expected, acceptable, and easily avoided. Need an example?