CAN bus shield does not work

Hi,

I assembled arduino mini pro with CAN bus shield (sparkfun V1.3 = mcp2515 and mcp2551).

I'm using with OBD of my car fiat punto evo 2010.

I'd like to read coolant temperature.

My knowledge:
stub lenght less than 30cm -> complied
OBD connector is not terminal node, no need 120 ohm terminatrion -> complied
CANH, CANL 100ohm+560pF -> complied (are already mounted on the shield)
5V VCC capacitor 1uF poliester to enhance regulation -> complied

It can read can bus traffic, below dump of messages:

ID: A, Data: 66 0 27 F8 7F A8 0 0 ^M
ID: 186, Data: 0 0 0 0 0 1B 0 0 ^M
ID: 18A, Data: 0 F 0 80 D 0 0 0 ^M
ID: A, Data: F0 0 D7 F9 7F 88 0 0 ^M
ID: 18A, Data: 0 F 0 80 D 0 0 0 ^M
ID: A, Data: F1 0 47 F8 7F 97 FF 0 ^M
ID: 287, Data: 0 3 0 0 7F 0 0 0 ^M
ID: C, Data: B0 66 E1 F2 13 E1 3E 8A ^M
ID: A, Data: 75 0 F7 F8 7F 87 FF 0 ^M
ID: A, Data: 5A 0 37 F8 7F 98 0 0 ^M
ID: A, Data: 78 0 77 F9 7F 88 0 0 ^M
ID: 88, Data: 7F 40 0 0 0 0 0 0 ^M
ID: C, Data: B0 66 E1 F2 13 E1 3E 8D ^M
ID: A, Data: 24 0 27 F9 7F 98 0 0 ^M
ID: A, Data: 9B 0 67 F9 7F A7 FF 0 ^M
ID: 4, Data: 0 0 0 0 0 0 0 0 ^M
ID: 88, Data: 7F 60 0 0 0 0 0 0 ^M
ID: A, Data: C7 0 17 F9 7F 87 FF 0 ^M
ID: 18A, Data: 0 F 0 80 D 0 0 0 ^M
ID: 204, Data: 1 FE 14 0 ^M
ID: 4, Data: 0 0 0 0 0 0 0 0 ^M
ID: 186, Data: 0 0 0 0 0 1B 0 0 ^M

It seems, it is not capable to send bus request to get parameter like rpm or tempertaure.

How to diagnose if mcp2515_send_message(&message) fails?

I have an elm327 cable and it works fine on the same OBD connector.

Thanks

Does the return code from the send function give you a success/fail indication?

Use another MCP2515 to verify that the message made it onto the bus. (The MCP2515 boards on Ebay are much cheaper than the Sparkfun boards and work just the same.)

Try posting to a specialist car forum to see if anyone knows if your model of car allows that specific type of message to be send via the diagnostic OBD port.

Thanks,

in my tests mcp2515_send_message() returns always true (success). I will use the second canbus interface to verify transmission.

Also I add from what I read:

of another library:

https://github.com/Seeed-Studio/CAN_BUS_Shield/blob/master/mcp_can.cpp

I'll give it a try (sendMsg() returns CAN_OK, CAN_GETTXBFTIMEOUT or CAN_SENDMSGTIMEOUT)