View Full Version : CAN occasionally stops working

Joe Ross
03-23-2012, 10:18 PM
We're having trouble with occasionally losing CAN communication completely. When this happens, CAN timeouts are reported on the diagnostics tab. At the same time, we get the following message on netconsole. Has anyone seen this before?

>>>>ERROR: status == -1073807298 (0xBFFF003E) in Read() in C:/WindRiver/workspace/BlackJagBridgePlugin/SerialPort.cpp at line 216

We are using LabVIEW, with an old cRIO and serial CAN, with 4 CAN jaguars (3 voltage and one position).

03-24-2012, 02:12 PM
I assume during competition, and essentially not reproducible on the bench.

I speculate that it could be a physical layer issue: The electrical connections on the Bus are opening. Focus on the RS232 connection to the first CAN Jaguar in particular, see if you can ensure it is as robust as possible.

My reasoning behind this is that you appear to be seeing a complete loss of the CAN Bus, and the only place that can happen is before the first Jaguar. A fault after that point (assuming it is not the Jaguar itself, in some weird failure mode) would return different errors, and the first Jag would/should continue to function. As a serial connection, a complete loss must be at the start of the series.

I'm not a programmer and have no experience with CAN in FRC, but I've been using CAN Bus since 1997 at work. There, the Bus is always wired in parallel.

Joe Ross
03-24-2012, 10:45 PM
It's happening at home, but not in a consistent or reproducible manner. We did check all the cables the best we could.

03-26-2012, 04:00 PM
We have a similar issue... we have 4 shooter motors hooked up in the middle of the CAN daisy chain that sometimes don't respond even though motors at the beginning and end of the chain work fine. A simple robot reboot always fixes the problem. Hasn't happened during the competition... yet.

03-27-2012, 08:13 PM
Joe, that error happens when the RS232 port isn't getting back the messages it expects from the first Jag (I'm only 80% sure that's true). I just don't want to speculate on fear that it'll send you down a bad path, as I am not confident in my speculations. The RS232 handler should be handling all that - it wasn't customized by chance?