Can I get a higher speed than 500k/s with the canbus sheild?

Hey guys, so poking around in the library files right now, basically I’m hoping to be able to use the can bus shield at a speed higher than 500kbps to pull the rpm from my car’s obdII port. I feel like the car’s system would be running faster than 500k a second.

In the sparkfun can library Canbus.h has the following lines:

#define CANSPEED_125 7 // CAN speed at 125 kbps

#define CANSPEED_250 3 // CAN speed at 250 kbps

#define CANSPEED_500 1 // CAN speed at 500 kbps

I don’t know what 7, 3 and 1 indicate, maybe they are just like setting the network port priority on a computer, so I added the following line:

#define CANSPEED_1000 0 // CAN speed at 1000 kbps

however, when I try to read the vehicle rpm and set the can speed to 1000, I don’t get anything, however I’m also not sure if it’s initializing the can bus chips at this speed or not, but they should be capable of it according to the datasheets.

I’ve never edited an arduino library before so I might be missing out on adding something into another file, but I can’t find any that seem to have anything relevant to the speed aside from this main file.

Hoping someone here can provide some input on this, if I have made all the changes needed to try and initialize the canbus controller properly or not.

Unfortunately I only have one set of the chips, so I can’t make a mini network to next.

I feel like the car’s system would be running faster than 500k a second.

Have you checked with the manufacturer of your car to see what speed the bus is running at? The hardware is capable of 1 Mb/s but if your car is running slower than that, you’re not going to get any data back.

I don’t know what 7, 3 and 1 indicate, maybe they are just like setting the network port priority on a computer, so I added the following line:

#define CANSPEED_1000 0 // CAN speed at 1000 kbps

however, when I try to read the vehicle rpm and set the can speed to 1000, I don’t get anything

Unfortunately you can’t just add a line to a library like that and have it work unless you know all the in’s and out’s of the library and chip you’re working with. Sadly, we didn’t write this particular library so I’m not sure that adding that line would work.

Are you able to see any data when you run the CAN_Read_Demo.ino sketch and the speed set to 500?