# ROS CAN-BUS
Kvaser on ROS1
- [Hardware:KVASER LEAF LIGHT HS V2](https://www.kvaser.com/product/kvaser-leaf-light-hs-v2/)
- Download [Kvaser Linux Drivers and SDK](https://www.kvaser.com/download/) and follow instructions in README
- [ROS pkg by KVASER](https://github.com/astuff/kvaser_interface)
- Put this into your workspace and catkin_make
- `cd ~/xx_ws/src && git clone https://github.com/astuff/kvaser_interface.git`
- `cd .. && catkin_make`
- Get [**Hardware ID & Circuit ID**](https://autonomoustuff.atlassian.net/wiki/spaces/RW/pages/17472305/Populate+CAN+Hardware+and+Circuit+IDs)
- `rosrun kvaser_interface list_channels`
- 
- The number following the **"s/n"** in each of these lines is the CAN **Hardware ID** (serial number).
- The CAN **Circuit ID** is the 0-based index of the channel that you're using on a specific piece of hardware. For example, the first channel listed here would be CAN Circuit ID 0 and the 2nd would be CAN Circuit ID 1. This ordering starts over for each piece of hardware. If there were two more channels here on another Kvaser USBcan Pro, they would also be CAN Circuit ID 0 and 1 respectively.
- Launch file
- Change parameters in **kvaser_can_bridge.launch** for the hardware you are attempting to interface with **using the values you got above for the CAN Hardware ID and CAN Circuit ID.**
- `roslaunch kvaser_interface kvaser_can_bridge.launch`
- 
:::warning
:brain: **TODO:**:
- [ ] Testing of CAN Signals(tx thro rostopic /can_tx and rx thro rostopic /can_rx)
:::