README.rst
1.. zephyr:code-sample:: socket-can
2 :name: SocketCAN
3 :relevant-api: bsd_sockets socket_can
4
5 Send and receive raw CAN frames using BSD sockets API.
6
7Overview
8********
9
10The socket CAN sample is a server/client application that sends and receives
11raw CAN frames using BSD socket API.
12
13The application consists of these functions:
14
15* Setup function which creates a CAN socket, binds it to a CAN network
16 interface, and then installs a CAN filter to the socket so that the
17 application can receive CAN frames.
18* Receive function which starts to listen the CAN socket and prints
19 information about the CAN frames.
20* Send function which starts to send raw CAN frames to the bus.
21
22The source code for this sample application can be found at:
23:zephyr_file:`samples/net/sockets/can`.
24
25Requirements
26************
27
28You need a CANBUS enabled board like :zephyr:board:`nucleo_l432kc` or
29:zephyr:board:`stm32f072b_disco`.
30
31Building and Running
32********************
33
34Build the socket CAN sample application like this:
35
36.. zephyr-app-commands::
37 :zephyr-app: samples/net/sockets/can
38 :board: <board to use>
39 :conf: <config file to use>
40 :goals: build
41 :compact:
42
43Example building for the nucleo_l432kc:
44
45.. zephyr-app-commands::
46 :zephyr-app: samples/net/sockets/can
47 :host-os: unix
48 :board: nucleo_l432kc
49 :goals: run
50 :compact:
51