- From: David Schleef <ds_at_schleef.org>
- Date: Fri, 19 Jul 2002 16:50:10 -0700
On Fri, Jul 19, 2002 at 02:09:53PM -0700, Jack Culpepper wrote: > Hi all, > > I'm having some strange issues with taking data from the ni_pcimio comedi > driver, and plotting it on the screen in real-time with OpenGL. I have three > systems and two daq cards. The first system is a dual PII/450. It has an > nVidia AGP video card, and an NI PCI daq card. It runs RedHat 6.2, and 0.7.53 > of comedi and 0.7.14 of comedilib. It is rock solid -- I have no problems > with it. > > Recently we got a bunch of Dell Dual Xeon 2.2Ghz systems, running RH7.2. > These also have nVidia cards. I installed comedi-0.7.53 and comedilib-0.7.14 > on one of these systems, and pulled the daq card out of the 6.2 system and put > it in the new Dell. When I take samples from the card and draw them to the > screen, under certain conditions I will get an error from my call to > > ret = read(comedi_fileno(dev),buf,BUFSZ); In 0.7.65, read() will return -1 and set errno to ESPIPE (broken pipe) if there is a board-level problem, like a hardware FIFO overflow. It will set errno to EIO (I/O error) if it's a Comedi buffer overflow. The latter is easier to correct -- just make your Comedi buffer larger (man comedi_config). However, it may be wise to figure out where your app is spending it's time instead of reading the data from the Comedi device. Also note that some window managers have the nasty habit of freezing the X display when resizing windows. So, if you read from Comedi and make Xlib function calls in the same thread, you may get stuck in Xlib for several seconds while some other window is being resized. Bad. dave...
Received on 2002-07-19Z22:50:10