{"id":29049335,"url":"https://github.com/astuff/kvaser_interface","last_synced_at":"2025-09-08T12:41:51.262Z","repository":{"id":29268407,"uuid":"103416715","full_name":"astuff/kvaser_interface","owner":"astuff","description":"A Kvaser CAN interface ROS abstraction layer.","archived":false,"fork":false,"pushed_at":"2024-01-16T05:58:34.000Z","size":313,"stargazers_count":86,"open_issues_count":5,"forks_count":53,"subscribers_count":6,"default_branch":"ros1_master","last_synced_at":"2025-06-26T19:08:32.943Z","etag":null,"topics":["can-communication","interface-ros","kvaser","kvaser-interface","ros","ros2"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astuff.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-13T15:23:43.000Z","updated_at":"2025-04-23T15:11:58.000Z","dependencies_parsed_at":"2024-02-03T16:43:31.458Z","dependency_job_id":"e2244772-1925-47d1-a6f4-e7ef58c18159","html_url":"https://github.com/astuff/kvaser_interface","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/astuff/kvaser_interface","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuff%2Fkvaser_interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuff%2Fkvaser_interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuff%2Fkvaser_interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuff%2Fkvaser_interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astuff","download_url":"https://codeload.github.com/astuff/kvaser_interface/tar.gz/refs/heads/ros1_master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuff%2Fkvaser_interface/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274187758,"owners_count":25237845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["can-communication","interface-ros","kvaser","kvaser-interface","ros","ros2"],"created_at":"2025-06-26T19:08:27.937Z","updated_at":"2025-09-08T12:41:51.212Z","avatar_url":"https://github.com/astuff.png","language":"C++","funding_links":[],"categories":["Network and Middleware"],"sub_categories":["Controller Area Network"],"readme":"# Kvaser ROS Interface API\n\n[![CircleCI](https://circleci.com/gh/astuff/kvaser_interface/tree/master.svg?style=svg)](https://circleci.com/gh/astuff/kvaser_interface/tree/master)\n\nThis package was developed as a standardized way to access Kvaser CAN devices from ROS. It can either be used as a development API\nby including the header \u003ckvaser_interface/kvaser_interface.h\u003e and linking against `libros_linuxcan.so` or the stand-alone node\n`kvaser_can_bridge` can communicate with a CAN device independently.\n\n## Installation\n\nThe `kvaser_interface` package depends on the Kvaser CANLIB API. \nYou can install the Kvaser CANLIB from source [directly from Kvaser](https://www.kvaser.com/downloads/), however the easiest way to install is using our ppa which distributes them as deb packages:\n\n```sh\nsudo apt-add-repository ppa:astuff/kvaser-linux\nsudo apt update\nsudo apt install kvaser-canlib-dev kvaser-drivers-dkms\n```\n\nNow that the dependencies are installed, we can install `kvaser_interface`:\n\n\n```sh\nsudo apt install apt-transport-https\nsudo sh -c 'echo \"deb [trusted=yes] https://s3.amazonaws.com/autonomoustuff-repo/ $(lsb_release -sc) main\" \u003e /etc/apt/sources.list.d/autonomoustuff-public.list'\nsudo apt update\nsudo apt install ros-$ROS_DISTRO-kvaser-interface\n```\n\n## The `kvaser_can_bridge` Node\n\n**TOPICS**\n\n*can_tx* [can_msgs::Frame]\n\nThis topic is published by the node. It expects to have other nodes subscribe to it to receive data which are *sent by the CAN device*.\n\n*can_rx* [can_msgs::Frame]\n\nThis topic is subscribed to by the node. It expects to have data published to it which are intended to be *received by the CAN device*.\n\n**PARAMETERS**\n\n*~can_hardware_id*\n\nThis is the Kvaser Hardware ID (serial number) of the connected device.\n\n*~can_circuit_id*\n\nThis is the 0-based index of the channel number *on the specific hardware device* designated by the *~can_hardware_id*.\n\n*~can_bit_rate*\n\nThis is the communication rate to be used on the CAN channel in bits per second (default: 500000).\n\n**TOOLS**\n\n*list_channels*\n\nA simple tool with no ROS dependencies which returns a list of all Kvaser devices and channels available on those devices.\n\n*canmonitor*\n\nA simple tool with no ROS depedencies to output the CAN messages received on a given channel index (-i - default: 0) and bitrate (-b - default: 500000) to the terminal.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastuff%2Fkvaser_interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastuff%2Fkvaser_interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastuff%2Fkvaser_interface/lists"}