socketCAN

Linux specific interface to CANopenNode. More...

## Modules

| CO_driver_target.h
| Epoll interface
| CAN errors & Log
| OD storage

## Detailed Description

Linux specific interface to CANopenNode.

Linux includes CAN interface inside its kernel, so called SocketCAN. It operates as a network device. For more information on Linux SocketCAN see https://www.kernel.org/doc/html/latest/networking/can.html

Linux specific files for interfacing with Linux SocketCAN are located inside "CANopenNode/socketCAN" directory.

CANopenNode runs as a set of non-blocking functions. It can run in single or multiple threads. Best approach for RT IO device can be with two threads:

- timer based real-time thread for CAN receive, SYNC and PDO, see CO_epoll_processRT()
- mainline thread for other processing, see CO_epoll_processMain()

Main references for Linux functions used here are Linux man pages and the book: The Linux Programming Interface by Michael Kerrisk.