- Goal of this project was to write a C++ wrapper over linux SocketCAN API. CAN standard used was FD-CAN.
- Personal learning goals were to implement and understand C++ rule of 5 , and inplace construction in a vector.
- ROS2's ament-cmake build system was used to build this project, but the source files can be taken and modified to run in any build system of your choice
- The skeleton of this wrapper can be used around any other communication method which supports a socket.
- In-place construction was done in a small onlinegdb project here : https://onlinegdb.com/3BMp4CyuEF
- Open this directory in a terminal outside of dev container
- If running the script for the first time, Please give yourself execute permission on cansetup.sh.
sudo chmod u+x cansetup.sh
- Run the script by
sudo sh cansetup.sh
- Now you are free to run all unit-tests
- Easiest way to run this package is by cloning it in to the src directory of "https://github.com/vedran97/ros2-workspace-template.git"
- Add a composition/inheritance model to enforce Read Only/Write Only on socket wrapper