{"id":20691537,"url":"https://github.com/yutotnh/spirit","last_synced_at":"2025-07-29T20:39:16.280Z","repository":{"id":62893342,"uuid":"562533584","full_name":"yutotnh/spirit","owner":"yutotnh","description":"モータードライバ用ライブラリ","archived":false,"fork":false,"pushed_at":"2024-07-15T00:21:46.000Z","size":415,"stargazers_count":2,"open_issues_count":29,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-22T17:10:40.381Z","etag":null,"topics":["arduino","arduino-library","cmake","cpp","mbed-libraries","mbed-os"],"latest_commit_sha":null,"homepage":"https://yutotnh.github.io/spirit/","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/yutotnh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2022-11-06T16:45:45.000Z","updated_at":"2024-04-26T23:03:13.000Z","dependencies_parsed_at":"2023-09-23T19:00:55.117Z","dependency_job_id":"6e44d189-b0a8-4c47-8d0d-c8ccfc3c8bff","html_url":"https://github.com/yutotnh/spirit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yutotnh/spirit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yutotnh%2Fspirit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yutotnh%2Fspirit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yutotnh%2Fspirit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yutotnh%2Fspirit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yutotnh","download_url":"https://codeload.github.com/yutotnh/spirit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yutotnh%2Fspirit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267755439,"owners_count":24139446,"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-07-29T02:00:12.549Z","response_time":2574,"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":["arduino","arduino-library","cmake","cpp","mbed-libraries","mbed-os"],"created_at":"2024-11-16T23:17:11.037Z","updated_at":"2025-07-29T20:39:16.222Z","avatar_url":"https://github.com/yutotnh.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![Icon](./images/icon.svg)\n\n[![Build spirit](https://github.com/yutotnh/spirit/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/yutotnh/spirit/actions/workflows/build.yml)\n[![Testing With CMake and CTest](https://github.com/yutotnh/spirit/actions/workflows/cmake-test.yml/badge.svg?branch=main)](https://github.com/yutotnh/spirit/actions/workflows/cmake-test.yml)\n[![CodeQL](https://github.com/yutotnh/spirit/actions/workflows/codeql.yml/badge.svg?=branch=main)](https://github.com/yutotnh/spirit/actions/workflows/codeql.yml)\n\n[![Dependency Review](https://github.com/yutotnh/spirit/actions/workflows/dependency-review.yml/badge.svg?=branch=main)](https://github.com/yutotnh/spirit/actions/workflows/dependency-review.yml)\n[![Deploy static content to Pages](https://github.com/yutotnh/spirit/actions/workflows/deploy-static.yml/badge.svg?=branch=main)](https://github.com/yutotnh/spirit/actions/workflows/deploy-static.yml)\n[![CodeFactor](https://www.codefactor.io/repository/github/yutotnh/spirit/badge)](https://www.codefactor.io/repository/github/yutotnh/spirit)\n\n\u003c/div\u003e\n\n# 👻 spirit\n\nモータードライバーを駆動するためのライブラリ\n\n下の図のように、マイコン間の通信を行いモータードライバーを制御することを目的としています\n\n```mermaid\nflowchart TB\n    A[Controller]\n    A -- CAN --\u003e B[\"Peripheral\\n(Motor Driver)\"] --\u003e B2[Motor]\n    A -- CAN --\u003e C[\"Peripheral\\n(Motor Driver)\"] --\u003e C2[Motor]\n    A -- CAN --\u003e D[\"Peripheral\\n(Motor Driver)\"] --\u003e D2[Motor]\n    A -- CAN --\u003e E[\"Peripheral\\n(Motor Driver)\"] --\u003e E2[Motor]\n```\n\n最終的にはMbed/Arduino等での利用を想定していますが、自動テストを非マイコンで行う都合上、可能な限り特定の環境への依存を減らしています\n\n## 💻 Supported platforms\n\n下記の環境では多分動きます\n\n| Platform  |   architecture    |\n| :-------: | :---------------: |\n|  Arduino  |       ESP32       |\n|  Arduino  |     Portenta      |\n|  Arduino  | Raspberry Pi Pico |\n|  Arduino  |       STM32       |\n| Mbed OS 6 |      LPCxxxx      |\n| Mbed OS 6 |       STM32       |\n\n## ⌨️ Development\n\n### 🛠️ Build \u0026 Test\n\nリポジトリのルートディレクトリで下の手順を行うことで、ビルドからテストの実行ができます\n\nプリセットは `Debug` と `Release` の2種類があります\n\n```shell\ncmake -S . --preset Debug    # Configurate \u0026 Generate\ncmake --build --preset Debug # Build\nctest --preset Debug         # Test\n```\n\nテストフレームワークとして Google Test を利用しています\n\n### 🐋 Development Containers\n\nこのリポジトリは、Visual Studio Code Dev Containers/GitHub Codespaces を含んでいます\n\nDevelopment Containers を利用することで、本プロジェクトでの開発に必要な最低限の環境を自動的に構築し、直ちに開発に取り組むことができます\n\n使い方等の詳細は、 [Developing inside a Container](https://code.visualstudio.com/docs/devcontainers/containers) をご覧ください\n\n## 📖 Document\n\nDoxygenを使って、ソースコードからドキュメントを生成しています\n\n生成したドキュメントへのリンクは以下です\n\n- [一般ユーザ用](https://yutotnh.github.io/spirit/general)\n  - Controller側で利用するAPIのみをまとめたページ\n- [開発者用](https://yutotnh.github.io/spirit)\n  - Controller/Peripheral側の全てのAPIをまとめたページ(=全部入り)\n\nリポジトリのルートディレクトリで下の手順を行うことで、各ドキュメントの生成ができます\n\n```shell\ngit submodule update --init                              # For doxygen-awesome-css\ndoxygen ${workspaceFolder}/doxygen/Doxyfile              # Generate developer documentation for spirit\ndoxygen ${workspaceFolder}/doxygen/Doxyfile4GeneralUsers # Generate general user documentation\n```\n\n## 🤝 Contributing\n\nPullRequestやissueを送る際は、 [CONTRIBUTING.md](./CONTRIBUTING.md) をご覧ください\n\n## 🏃 Using spirit\n\n- 🚧 [yutotnh/spirit-mbed-can-motor-controller](https://github.com/yutotnh/spirit-mbed-can-motor-controller)\n  - spirit と CAN を用いた Mbed の モータードライバ制御プログラム(Controller側)\n- [yutotnh/spirit-mbed-can-motor-driver](https://github.com/yutotnh/spirit-mbed-can-motor-driver.git)\n  - spirit と CAN を用いた Mbed の モータードライバ制御プログラム(Peripheral側)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyutotnh%2Fspirit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyutotnh%2Fspirit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyutotnh%2Fspirit/lists"}