I have successfully connected 2 MCP2515 to Jetson Nano by following the instruction from this message:
Now I am able to send and receive data via both MCPs, however, when I am trying to receive CAN messages with IDs higher than 0x400 I am quite often receiving messages with wrong IDs (message data is not corrupted, btw).
For example I am receiving CAN message with ID 0x731 from my STM32 board, and Jetson sees it as 0x735 when I am receiving this message through MCP2515 on the SPI1.
If I am receiving message via MCP2515 on SPI0, it receives message ID sometimes as 0x731 (correct), sometimes as 0x735 (wrong).
I tried same on other similiar Jetson, and there I received 0x734 instead of 0x731 ID.
Also, to check my hardware, I connected my shield with MCP2515 to Raspberry Pi 3, and everything worked perfectly, I received messages with correct ID all the time.
Also, I tried to connect different shields, with 8MHz and 16Mhz crystals, still receiving wrong CAN msg ID on Jetson.
I tried changing bit timing and speed too, no effect. Flashing with different JetPack versions also didn`t help.
It seems like a SPI or MCP2515 driver issue to me.
Mostly this happens with IDs from 0x430…0x439, 0x530…0x539, etc.
I would be really happy to hear any suggestions.