I bought the DUE somewhere in 2013, since it supports CAN. Then I found out it also needed a tranceiver and the libraries were not finished at all.
Therefore I´ve been monitoring this thread for a long time and when the library/libraries finally were kinda finished, I started to gather the stuff I needed to build the hardware.
Firstly, thanks for all the effort! I really appreciate it and without this effort my initial plans would have been destroyed.
In short, I'm connecting a TFT monitor and CAN to the same DUE in order to communicate between my car's ECU and the TFT. No OBD stuff here. I only need CAN for stable communication since I should be able to control the messages sent by the ECU (non OEM, hence no OBD)
Some bumps I encountered is the fact that this thread lacks a bit of overview. It's not immediately clear where to find the circuit that needs to be built and with multiple libraries, several versions etcetera I was not quite sure if I actually have the most recent and best fitting library for my purpose.
Don't take this in a negative way
It's just meant as some feedback from a "noob".
Today I built the circuit on my breadboard and used Collin's library and was very surprised to see actually something happening in the serial monitor.
-Example 1 and 2 do show what message has been received, but it does not print which message was sent.
-At example 3 I got weird ASCII symbols in my serial monitor, and a quick search forced me to modify the baud rate to 9600; apparently when this is not the same for the monitor and the arduino, it puts out weird symbols.
Changing the baud rate fixed it.
-Example 4 (ping/pong); also changed the baud rate, but I found out that the communication stops after a few times.
Can't really figure out why this happens. This is the output on my monitor:
S: 5002 R: 5001
S: 10004 R: 10003
S: 15006 R: 15005
S: 20008 R: 20007
S: 25010 R: 25009
S: 30012 R: 30011
S: 35014 R: 35013
S: 40016 R: 40015
After that, it just stops communicating. Any ideas?
Transmitting works, so my next challenge is understanding what actually happens. I'm trying to understand everything by the documentation mentioned in this thread, but for now some things are not completely clear.
I probably will ask a lot of dumb questions in the near future, so forgive me for that
edit: first question already
I've left out the terminator jumpers. I assume these jumpers are necessary to leave out the terminator resistors (120ohm).
Is this correct? When should I make use of this? Is it when I have 3 units on the same network? Only two should be terminated, right? So in my case I would use one terminated arduino channel (CAN0), and terminate at the ECU side. If I would connect another Arduino with CAN, or would also make use of CAN1, I should not terminate this connection with the resistor, is this correct?