Re: serial flow control appears broken

Lee Howard
2007-07-27T17:13:07Z

Maciej W. Rozycki wrote:

>On Thu, 26 Jul 2007, Lee Howard wrote:
>
>
>
>>If the application were to use TIOCM_RTS how would it know when to apply it or
>>not? Is there some approach that the application could take to manage flow
>>control on the serial port? What about software flow control? Does the
>>
>>
>
> Well, an application could negate RTS when it receives a character and
>is running out of resources for further processing of incoming data.
>
> Smarter UARTs may be able to negate RTS themselves based on the amount of
>data in their receive FIFO. The threshold may be configurable.
>

Okay, so let's say we've got a loop around a blocking read on the modem
file descriptor...

for (;;) {
read some data from modem
process data from modem
if (end-of-data detected) break;
}

Are you suggesting that the application should be using deasserting RTS
after the read and asserting it before?

I had previously thought that the control of RTS was something that the
serial/tty driver was supposed to do independently based on the buffer
fill. Was I wrong?

Thanks,

Lee.