Low Latency: (930 based Edgeport only)

Normally the UART will interrupt when the receiver has been idle for 4 character times. (For example 4ms at 9600) As long as data is being received the UART will continue to buffer them until its internal FIFO is full (~56 bytes). This flag causes the Edgeport to poll the RX FIFO for received bytes. If any bytes are available they will be sent to the driver without any delay.

Remap Baud: (All operating systems - 930 and TI based Edgeport) Setting the baud rate to 1200 baud will result in 230400 baud

Ignore Flush: (Windows NT/2K/XP 930 and TI)

If an application sends IRP_MJ_FLUSH_BUFFERS it will be ignored. Excerpt from Microsoft documentation:

Drivers of devices with internal caches for data and drivers that maintain internal buffers for data must handle this request.

When Sent

Receipt of a flush request indicates that the driver should flush the device's cache or its internal buffer, or, possibly, should discard the data in its internal buffer.

Operation

The driver transfers any data currently cached in the device or held in the driver's internal buffer(s) before completing the flush request. The driver of an input-only device that buffers data internally might simply discard the currently buffered device data before completing the flush IRP, depending on the nature of its device.

Fast Writes: (All operating systems - 930 and TI based Edgeport)

When an application sends a write to the driver, by default the Edgeport driver will wait until all data has been transmitted out of the Edgeport device before completing the write. When the Fast Writes flag is set, we complete the write even if data is still buffered in the driver and the Edgeport device.

Fast Reads:

This flag is used when an application requires that a read complete immediately. In the read immediate case, the Edgeport driver will send a request to the Edgeport device asking for any buffered data to be sent up. This buffered data will be included when the read completes. If this flag is set, the driver will not query the Edgeport device for additional data.

Disable Plug & Play: (Windows 2k/XP only)

Do not let the serial port enumerator detect devices plugged into the Edgeport. Ignore Tx Purge:

The IOCTL_SERIAL_PURGE request cancels the specified requests and deletes data from the specified buffers. The purge request can be used to cancel all read requests and write requests and to delete all data from the read buffer and the write buffer.

When the Ignore Tx Purge flag is set the SERIAL_PURGE_TXCLEAR command will be ignored. The function will not purge the write buffer.

Timer Logic: (Windows 9x only)

If application uses PortSetReadCallBack(), the notification routine will only be called when the number of bytes in the receive buffer is greater then the RX trigger. The Microsoft serial VxD also implements a timer that will trigger and call the notification routine if some amount of data is available in the RX buffer but no new data has been received for ~200ms (receiver is no longer active).

We do not enable this behavior by default because of the nature of Edgeport buffering. But if you set the flag we will complete the read when we detect ~200 ms no activity.

Here is a comment from the code:

If the receiver is active then do not complete this read. The problem is that the Edgeport buffers the RX bytes and we poll the driver. If we do not receive any bytes in 200ms we may report an erroneous event even if there are available bytes in the Edgeport device or driver.

Edgeport Installation Guide (90000403 Rev. G) – Page 13

Page 15
Image 15
Digi 1 manual Fast Reads