KathleenJ
2008-07-22 21:10:08 UTC
I am using a PCI_CAN (Series 2) card to flash ECU's. After every 8 frames of data are sent to the module, a flow control frame is expected. I use ncWaitForState with state NC_ST_READ_AVAIL when the software tries to read the flow control frame. At random spots in the data transfer process the ncWaitForState times out. However, using CANalyzer to monitor the bus activity, I can see that the flow control frame has actually been put on the bus. If I force and ncRead after ncWaitForState times out, the expected data is in the read buffer. I tried the forced read as a workaround, but after this situation occurs the module stops responding. The module does expect communication every 2 seconds or it will shutdown. I am well within this limit. I also upgraded my drivers from v.2.2 to v.2.5.1.32772 and I get the same results. It appears the something is preventing the state of the read buffer from changing to indicate data is available. Any ideas on how to correct this?