10-03-2008 04:18 PM
Using Borland C++ and a CAN USB-8473, I'm trying to watch a full CAN bus and put the data into an STL map.
The CAN/PC can't keep up. I have the 8473 configured as a Frame
I have observed that the Config option NC_ATTR_READ_Q_LEN does not appear to work. I have set the value to 1000000, which is about 3X more then the amount of data that I sent, but I still get buffer overflows. I get buffer overflows after about 10000 messages, which should be 100X before I run out of buffer.
10-03-2008 04:46 PM
Hi,
yes you are right the queue numbers are no used by USB CAN. What error number do you get for your overflow? Do you use the read mult function?
DirkW
10-03-2008 05:16 PM
I get the following response ncRead::NI-CAN: (Hex 0xBFF62125 NI-CAN copies received CAN frames from the card to a large kernel-level queue. There is one queue for each interface (port). If your application does not read fast enough to empty this queue over time, the newest frames are lost. Solutions: Call Read more frequently (such as by reducing user-interface code). ...
Is there a hard set size for the queue? I've been using read (not mult).
10-10-2008 09:43 AM
10-10-2008 11:22 AM