CAN Extraction

I am using an Nvidia Jetson AGX Orin, I will be receiving CAN messages on Orin how can I extract data from CAN messgaes. Is there a specific way to extract CAN data. I am following this link CAN documentation

Are there any functions/modules to set the bus parameters/ configure can send and receive select ID’s to filter out specific messages.
I want to write this code in CPP.

Hi paul.anuj1,

Are you using the devkit or custom board for AGX Orin?
What’s your Jetpack version in use?

What do you mean about “extract”?

Do you want SW or HW filter for CAN?

I am using the Jetson AGX Orin Developer Kit (64GB)
Jetpack version is:
Package: nvidia-jetpack
Version: 5.1.2-b104

For example when I use kvaser device they have Canlib API’s which can be used in code, functions such as can_send(), can_receive(), caninitialize().

So is there anything similar which can be done with Orin to send/receive can data.
Suppose I am receiving 10 messages on a CAN bus, and I want speed data being sent on message 0x45. I would like to read message 0x45 specifically, do some calculation and then send it forward to another CAN bus.

You could just refer to the instruction in developer guide to use cansend/candump/cangen command to send/receive the CAN data.

Do you mean that you want to receive the CAN packet with ID=0x45?

Yes but I won’t be able to use those commands in a cpp code. When I run my cpp code and I want to send the data over CAN their must be some libraries/API which I can use for CAN send through code itself

Yes as an example if I want to receive the CAN packet with ID=0x45 how will I do that

You could try using standard CAN API for your case.

Please refer to the following thread for HW filter.
Setting up CAN Filters - #5 by KevinFFF

Or use can_raw for SW filter.