The socket CAN sample is a server/client application that sends and receives raw CAN frames using BSD socket API.
The application consists of these functions:
- Setup function which creates a CAN socket, binds it to a CAN network interface, and then installs a CAN filter to the socket so that the application can receive CAN frames.
- Receive function which starts to listen the CAN socket and prints information about the CAN frames.
- Send function which starts to send raw CAN frames to the bus.
The source code for this sample application can be found at: samples/net/sockets/can.
Building and Running¶
Build the socket CAN sample application like this:
# On Linux/macOS cd $ZEPHYR_BASE/samples/net/sockets/can mkdir build && cd build # On Windows cd %ZEPHYR_BASE%\samples\net\sockets\can mkdir build & cd build cmake -GNinja -DBOARD=<board to use> -DCONF_FILE=<config file to use> .. ninja
Example building for the nucleo_l432kc:
cd $ZEPHYR_BASE/samples/net/sockets/can mkdir build && cd build cmake -GNinja -DBOARD=nucleo_l432kc .. ninja run