by Stephen Dean on Fri Jun 14, 2024 3:43 pm
Hi Brett,
In the CAN Communications setup window, do you have a Diagnostic Channel allocated? The default in the Haltech templates is to use Comms CAN 1 Diag as the channel.
If this is allocated, go to Online | Monitor Channels and scroll down the list until you get to the Comms CAN x Diag channel. If there are no issues, this will report 0.
If there are issues on the bus you will likely see one of the following codes, with 512 being the most likely.
2 FRAMING Only generated when used with an E888/E816 expander. Inconsistent message length.
8 OVERRUN Receive or transmit overrun error. In the receive case a byte was received before the previous byte was read indicating that the processor is too busy to read the message. In the transmit case the transmit buffer is full which could happen if the CAN bus is too busy.
256 BAD CONFIG The device configuration is not valid (e.g. overlapping CAN addresses)
512 NO DATA A valid message header was not found - either there is a wiring fault or comms is setup incorrectly, (problem could be at either end). E.g.: transmit and receive CAN IDs do not match.
1024 CHECKSUM Only generated when used with an Async Expander. See RS232 errors
2048 WRONG DATA Only generated when used with an Async Expander or E888/E816 Expander. Async Expander: Could not decode the protocol. E888/E816: Compound ID incorrect.
4096 BUS WARNING More than 96 errors have occurred on the CAN bus. Check wiring and termination resistors. The CAN bus may still be operational.
8192 BUS OFF More than 255 errors have occurred on the CAN bus. CAN communications is suspended when this error occurs. Check wiring, termination resistors and the CAN baud rate. Also check that CAN HI and CAN LO are correct (not swapped).
16384 CAN TRANSMIT CAN bus transmit warning
Stephen Dean
MoTeC Research Centre Melbourne, Australia