if your car uses the 29-bit version of the CAN protocol you have to download the 29-bit version of the software: https://github.com/CANBus-Triple/CANBus-Triple/tree/29-bit-dev
Then uncomment <tt>//#define SUPPORTS_29BIT</tt> in CANBus.h, line 158.

If you compiled the firmware before, hold the 'Shift' Key and click compile to recompile the libraries.

Thanks to Derek for his help with this.


What version of the IDE do I need to use? I can't get the 29-bit version to compile at all. There are lots of errors.

Arduino: 1.6.1 (Windows 8.1), Board: "CANBus Triple"
In file included from CANBusTriple.ino:31:0:
SerialCommand.h:109:5: error: 'IDENTIFIER_INT' does not name a type
IDENTIFIER_INT btMessageIdFilters[][2];

I have no problems getting the branch master to compile. Is there anything else in the code I need to change before hitting compile using programmer (SHIFT + Compile)?

Using IDE 1.6.0 and copying the libraries folder from github over to the libraries documents folder seemed to fixed this. Going out to try 29-bit IDs on the car!

Unfortunately, this immediately threw an SRS error on my dashboard and for some reason whenever I plug the device in, it seems to make the electronics go a little crazy. Why is the 29-bit version sending packets to the car as soon as it is plugged in?

I've yet to get the 29bit to properly compile, working on that now... However I have seen the same issues your experiencing on a car before. This was on my 05 MB low speed bus when ever I connect to it. The CBT seems to freak it out. I have found that that particular bus is NOT terminated with 120ohm resistors like the high speed bus. I planned to investigate it further, but car is in the body shop for next couple weeks...

The low speed bus that deals with the cabin buttons? I was wondering the same, but I tested the circuit and got 52 on the reading, I can only assume that means there is a resistor on both ends.

Yeah, to get the 29-bit version to compile, copy the libraries folder out of the download and put it in the root of the documents Arduino folder - won't have any problems compiling then.

For 83kbps support, I copied the hard coded values from the master branch;

// Hard coded configs
    case 83:
        config1 = 0x03;
        config2 = 0xBE;
        config3 = 0x07;

And place them above the 'digitalWrite' functions in CANBus.cpp (Line ~205). Do this before copying the libraries folder.

I hope this helps. It turns out I didn't need the 29-bit functions, now I am just having all sorts of trouble trying to write text on my speedometer (under the Audio page). Deciphering what the original stereo sends isn't working as well as I thought it would.

  • 4
  • 4582

Looks like your connection to CANBus Triple was lost, please wait while we try to reconnect.