Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!execu!sequoia!chinacat!uudell!bigtex!texsun!letni!rwsys!sneaky!gordon From: gordon@sneaky.lonestar.org (Gordon Burditt) Newsgroups: comp.dcom.modems Subject: Re: Hardware Flow Control Message-ID: <60652@sneaky.lonestar.org> Date: 21 Jun 91 20:12:25 GMT References: <42910619180524.0004025717NB2EM@mcimail.com> Organization: Gordon Burditt Lines: 44 You are describing one method of hardware flow control that provides flow control in both directions. There are other methods, incompatible, of course. >o The CTS is asserted when the modem buffer is full (256 bytes?). Depending on your definition of "asserted", I thought CTS was asserted to indicate the terminal/computer should send, and de-asserted to indicate it should not. The CTS should be asserted when the modem buffer is ALMOST full. 80-90% is a nice number. The size of the modem buffer is up to the modem manufacturer. Some use at least 2k. The modem should give some advance notice to stop sending. It is impossible to design a stop-on-a-dime flow control scheme using serial transmission. For one thing, a serial port can't stop transmitting in the middle of a character, so at least one character is likely to arrive after CTS drops. In many cases, the system may not be able to "take back" another character already fed to a UART and buffered by it. Don't be at all surprised at 2-3 characters arriving after dropping CTS. >o If a PC asserts RTS, it causes the *remote* modem to stop sending data >although a few bytes still get through. There is no communication channel for a local modem to tell a remote modem to quit sending in many modem protocols, including non-MNP 2400, 1200, and 300 baud (we're not talking about control-S/control-Q). The local modem quits sending. The local modem's buffers fill up. If possible, the local modem tells the remote modem to quit sending. This is possible in PEP, MNP4 and above, and probably any other protocol with error control. The remote modem's buffers fill up. The remote modem tells the computer to quit sending, assuming it's using flow control. Flow control need not even involve a remote modem. Ask a modem for a several complete sets of parameter settings, and it's likely to dump out enough data that a system can't take it at a full 19.2kbps. >o There is no way to signal the local modem to stop sending data. There is no way to have absolute stop-in-an-instant flow control. However, assuming proper setup, RTS will stop the local modem from sending. Gordon L. Burditt sneaky.lonestar.org!gordon