11-13-2009 08:35 AM
I have read the one knowledgeBase item related to CVI with USB based serial devices. I have encountered that CVI does NOT properly initialize USB serial devices. I am NOT using InstallComCallback. This initialization failure is NOT absolute but it is troublesome. An example is we use Digi Edgeport 4 boards with their latest driver 4.55.01. The comms work using CVI if I configure the port outside of CVI then run my CVI application. Using OpenComConfig has no effect on the port other than to open it.
If I run HyperTerminal it always works but other terminal programs also have trouble with some USB serial ports. So I suspect the problem is the Windows / Driver interface.
With "Real" serial ports disappearing, CVI's USB serial support needs to work.
11-16-2009 05:32 PM
Hi ehobart,
I am interested in helping you out, but I do not have enough information at this time. Could you describe a bit more of the behavior that you are seeing in CVI (e.g. what is failing and how it is failing, are you seeing error messages, what is the behavior that you expect?). Also, could you give me more information about the API that you are using?
You did mention that you think that this is a Windows/Driver interface issue. I would recommend trying a different version of the driver if possible. Are there any known issues that the manufacturer of your boards are aware of? Also, what other terminal programs did you see problems with?
11-17-2009 09:26 AM
Hi,
Thank you for the response. The associated hardware is a Digi Edgeport/4 USB to serial converter. With the latest driver from the Digi web site. This converter maps out to ports 3 - 6 on my PC. The problem is that CVI doe not fully configure the port when I open it. The following is the code.
pstat = OpenComConfig (3, "", 9600L, 0, 8, 1, 32000, 512);
The problem is that if a previous program has used the port at a different baud rate it remains at the previous rate. The port is opened but the baud rate is not being set. And there is no indication of this from the program. The value of pstat is always zero. Other applications, such as Procomm and others, do not seem to have this problem.
I did a CVI application that uses 21 com ports. COM1 is from the PC. COM2-17 are a Digi PCI board, which works fine. The last 4 ports are the Edgeport/4. The user has to use the device manager to insure the configuration of the Edgeport/4 ports.
Please let me know if you need more information.
Ed Hobart
ehobart@whoi.edu
11-19-2009 04:29 PM
Hi ehobart,
Unfortunately I do not have that board here to test out. I do have a couple of recommendations though. First, I would take a look at using the VISA API to communicate with your device. This may give you more flexibility, and also allow you to properly configure the baud rate. Secondly, you can look at setting the baud rate after you call the OpenComConfig function with the Windows API.