Flow Control (FC) setting
(see setting description format info here)
|Function:||Enables or disables hardware (RTS/CTS) flow control for the serial port of the DS (when in the data routing mode)|
|Set (S) command format:||SFCx, where x: 0 (disabled), 1 (enabled)|
|Get (G) command format:||GFC|
|Init (I) command effect:||Initialized unconditionally, through network command, serial command, or quick initialization|
|Post-initialization value:||1 (enabled)|
|Change takes effect:||After reboot or exiting the serial programming mode|
|Overriding parameter:||Flow Control (FC) parameter|
|Relevance conditions:||current Serial Interface (SI)= 0 (full duplex)|
|First introduced:||Earlier than "baseline" V3.14/V3.51|
|See also:||Serial port and serial communications, Data routing|
Flow Control setting defines the behavior of the RTS and CTS lines of the DS, unless overridden by the Flow Control (FC) parameter .
When the Flow Control is 0 (disabled) the status of the CTS input is ignored and the RTS line is at HIGH* unless changed by the remote host. Remote host can control the RTS line through Set I/O Pin Status (Sx) instructions or Notification (J) messages .
When the Flow Control is 1 (enabled) the RTS (output) and CTS (input) lines are used to regulate the flow of data across the serial cable connecting the DS to the attached serial device.
RTS is used to regulate the flow of data from the attached serial device to the DS. When the serial-to-Ethernet buffer of the DS has free space the RTS is HIGH* and the serial device is free to send the data. When the buffer becomes (almost) full the DS sets the RTS line to LOW* thus telling the serial device to stop sending the data. The RTS is set to LOW* when there are less than 20 free bytes left in the serial-to-Ethernet buffer . Additionally, the RTS line is set to LOW* in all cases when the serial port is closed .
CTS is used to regulate the flow of data from the DS to the attached serial device. As long as the DS detects HIGH* on its CTS input it is free to send out the data to the attached serial device. To stop the DS from sending out the data, the serial device must set the CTS line to LOW*. The DS won't send out the data for as long as it detects LOW* on its CTS input.
When the Flow Control is 1 (enabled) remote host cannot remotely control the status of the RTS line. Set I/O Pin Status instructions addressing the RTS pin are ignored by the DS (although the OK (A) status code is still returned) and incoming Notification (J) messages also have no effect on the state of the RTS line.
Remote host can get current status of RTS and CTS lines at any time using the Get I/O Pin Status (Gx) instruction , regardless of whether the Flow Control is 0 (disabled) or 1 (enabled). Status change monitoring for RTS and CTS lines can also be enabled and Notification (J) messages generated regardless of the value of the Flow Control setting.
Flow Control is irrelevant when the current serial interface is half-duplex.
* HIGH and LOW states are described with respect to the serial ports of DS100R, DS100B, DS203. For EM100, EM120, EM200, EM203(A) the signaling is exactly opposite.