Failing to transmit CAN msg, but can receive?

I have a very simple test harness consisting of a CARLOOP with an Electron. The test harness simply listens for CAN messages and when they are available it reports them through a Log.info. It also attempts to write a simple message every 500ms. I’m using KVaser CANKing to randomly generate messages and thus have another CAN node on the bus. Using the serial monitor I can see that the Electron is receiving the messages. However, I never see messages transmitted from the Electron. Eventually the app reports a failed to send which I’m sure is due to the queue being full.

Any advice on why the CAN receive is working, but the CAN transmit isn’t will be greatly appreciated!!

@nlwelch,

As I understand it, CANbus is designed with a loop-back, meaning anything transmitted is also read back by the device doing the sending.

The first thing I would recommend checking is the termination on your test harness. If the signal quality is sufficiently poor due to the termination on the CANbus lines, then the loop-back may not function properly. In a typical CANbus on an OBD2 port, the termination is handled inside of the vehicle, so there is no termination hardware built into Carloop.

One other thing to check, but I really doubt it is the problem, it to make sure the Carloop and the KVaser devices are not both using the same CAN ID.