{"id":46232702,"url":"https://github.com/sufst/can-defs","last_synced_at":"2026-03-03T18:10:55.255Z","repository":{"id":116125125,"uuid":"579702989","full_name":"sufst/can-defs","owner":"sufst","description":"Common definitions of messages on the CAN bus and various associated utility scripts","archived":false,"fork":false,"pushed_at":"2025-12-05T04:21:26.000Z","size":238,"stargazers_count":3,"open_issues_count":14,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-08T11:58:49.057Z","etag":null,"topics":["can","dbc"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sufst.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-18T15:52:17.000Z","updated_at":"2025-02-18T20:06:27.000Z","dependencies_parsed_at":"2024-11-29T19:21:13.135Z","dependency_job_id":"e82f59d1-9404-435d-a048-7293b8d36484","html_url":"https://github.com/sufst/can-defs","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/sufst/can-defs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sufst%2Fcan-defs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sufst%2Fcan-defs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sufst%2Fcan-defs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sufst%2Fcan-defs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sufst","download_url":"https://codeload.github.com/sufst/can-defs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sufst%2Fcan-defs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30054110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T17:46:22.538Z","status":"ssl_error","status_checked_at":"2026-03-03T17:46:22.036Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","dbc"],"created_at":"2026-03-03T18:10:54.757Z","updated_at":"2026-03-03T18:10:55.249Z","avatar_url":"https://github.com/sufst.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CAN Definitions\n\nThis repository defines the messages on the CAN bus in the car in the form of\na DBC database and provides various utilities for generating system\nconfiguration files and source code from its contents.\n\n## Using Generated Configurations\n\nGenerated configurations are stored in this repository in the `/out` folder. \nConfigurations are version controlled so that we can ensure each part of the\nsystem is referring to the same configurations.\n\nTo use the generated configuration in a project, add this repo as a submodule.\nFor example:\n\n```sh\ncd \u003cLOCATION TO CLONE SUBMODULE\u003e\ngit submodule add https://github.com/sufst/can-defs\n```\n\nNote that the use of submodules will require the following commands to be run\nwhen cloning a project for the first time:\n\n```sh\ngit submodule init\ngit submodule update\n```\n\nFor more information on submodules, see the [Git submodule documentation](https://git-scm.com/book/en/v2/Git-Tools-Submodules).\n\n## DBC Files\n\n[DBC](https://www.csselectronics.com/pages/can-dbc-file-database-intro) (\"Data \nBase CAN\") is an industry standard file format for defining the content of \nmessages on a CAN bus. Many device vendors provide DBC files for the CAN traffic\ngenerated by their devices.\n\nSTAG 9 has two CAN buses:\n\n1. CAN-C (\"critical systems\") bus.\n2. CAN-S (\"sensor/non-critical systems\") bus.\n\nThere are many tools for working with DBC files. We suggest the use of\n[Vector CANdb++](https://www.vector.com/int/en/products/products-a-z/software/candb/)\nwhich can be downloaded for free as part of the demo version of \n[Vector CANAnalyzer](https://www.vector.com/int/en/know-how/can/?gclid=CjwKCAiAr4GgBhBFEiwAgwORrSS5noGQYSs2JXWZldSavdWmvrEMF7twi48yqAelNUjuDMdQizQXYxoCqrMQAvD_BwE) \n(Windows only). Note also that DBC files can often be imported by CAN datalogger configuration \nsoftware. We can use this for our MoTeC L120 datalogger to automatically \nconfigure the parsing and logging of CAN data.\n\n## Telemetry System GENerator (TSGEN) \n\n### About\nTSGEN is a Python module which generates various parts of the telemetry system\nbased on the DBC for the car. This includes:\n\n- The telemetry and sensor schema for the [intermediate server](https://github.com/sufst/intermediate-server).\n- C source code for unpacking CAN messages using the [`cantools` module](https://pypi.org/project/cantools/),\n  which will be used in the on-car telemetry system.\n- Parts of the embedded code for on-car telemetry.\n\nThe output of this generator is the `/out` folder, the contents of which can be used by other repositories by including this repository as a submodule.\n\n\u003e Do not edit the `/out` folder directly. If changes are needed, the generator\n  code must be modified.\n\n### Setup\n\nInstall the dependencies in `tsgen/requirements.txt` to your chosen Python\nenvironment.\n\n### Usage\n\nFrom the command line:\n\n```sh\npython -m tsgen\n```\n\n### Releases\nAfter a new set of configurations are generated, the corresponding commit to `main` should be tagged with a new version number:\n\n```sh\ngit tag v1.1.2\ngit push --tags\n```\n\nOther repos using the generated outputs should be updated to the latest release **at the same time** to ensure they are using the same definitions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsufst%2Fcan-defs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsufst%2Fcan-defs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsufst%2Fcan-defs/lists"}