Communication timeout w/DigiOne SP

I just purchased a DigiOne SP for use with an embedded product.

Some basic info:

  • The serial parameters are fixed at 56K, 8, 1, no flow.
  • The communication protocol is proprietary and binary.
  • The PC is the master and the embedded device is the slave.
  • The PC sends a request and the embedded device must respond
    within 10 to 50 msec depending on the command/query.
  • The Windows software connects to a COM port and uses the standard
    Win32 API. It has worked on Windows XP for many years.
  • Using standard Win32 API for reading/writing: CreateFile(), ReadFile(), etc.
  • Adjusting comm parameters via SetCommTimeout() and SetCommState().
  • We also use this product with the Digi EdgePort (4) USB and have had
    no issues.

Not knowing any better, I configured the DigiOne for use with the RealPort driver. The connection basically worked but the Windows client frequently dropped packets (responses) due to timeouts. I then adjusted the configuration in the Advanced Serial Settings so that the inter-character timeout was enabled and set to 1 msec. However, I still frequently encounter dropped packets from the embedded device. If I place a small delay (~5msec) in the communications thread this problem appears to go away. However, I wonder if there is another parameter I could set to force the RealPort driver to flush it’s buffers more frequently. I suspect that is the source of the problem.

I see the same behavior (albeit worse) on Windows 7; I am using the Windows 7 driver downloaded from the web site.

Thanks in advance for any help…