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.
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:
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
can_raw for SW filter.