Hello!
I need to use it with Saab 9-5 CAN bus. Saab has this CAN bus specific:
“CAN 2.0A (11-bit identifiers)
Bus speed 47,619 kbit/s
Timing register settings BTR0 0xCB, BTR1 0x9A”
How I can implement it in arduino code?
Thank you!
Hello!
I need to use it with Saab 9-5 CAN bus. Saab has this CAN bus specific:
“CAN 2.0A (11-bit identifiers)
Bus speed 47,619 kbit/s
Timing register settings BTR0 0xCB, BTR1 0x9A”
How I can implement it in arduino code?
Thank you!
Hi!
I had the same problem as you, and after a lot of research i found a solution (if you havent already).
(Tried to post a link but im a new user so it looks to spammy)
but jus add a “.” between “blogspot” and “com” : bluesaab.blogspot com/2012/09/saab-i-bus-info.html
You can see the 3 "BUS Config"s if we can call it that ?
So by knowing this i added the code below to the mcp_can_dfs.h file at “speed 16M” section.
#define MCP_16MHz_40kBPS_CFG1 (0x07)
#define MCP_16MHz_40kBPS_CFG2 (0xFF)
#define MCP_16MHz_40kBPS_CFG3 (0x87)
And then i replaced the similar code in “initial value of gCANAutoProcess” section with this:
#define CAN_5KBPS 1
#define CAN_10KBPS 2
#define CAN_20KBPS 3
#define CAN_31K25BPS 4
#define CAN_33KBPS 5
#define CAN_40KBPS 6
#define CAN_47KBPS 7
#define CAN_50KBPS 8
#define CAN_80KBPS 9
#define CAN_83K3BPS 10
#define CAN_95KBPS 11
#define CAN_100KBPS 12
#define CAN_125KBPS 13
#define CAN_200KBPS 14
#define CAN_250KBPS 15
#define CAN_500KBPS 16
#define CAN_1000KBPS 17
And then in the mcp_can.cpp file add the code belowto the “mcp2515_configRate”.
case (CAN_47KBPS):
cfg1 = MCP_16MHz_47kBPS_CFG1;
cfg2 = MCP_16MHz_47kBPS_CFG2;
cfg3 = MCP_16MHz_47kBPS_CFG3;
break;
And that shuld be it!
I have the v1.2 shield but dont know about the 1.0
Aleksander