共通仕様との管理境界¶
2026-10-20に、specsのコミット42e4dcf9035f932648c8d05b7ee211650c081017を基点とする作業ブランチdocs/4ws-spec-boundariesと合わせて整理した。管理方針の正本はspecsの更新ルールと仕様の所有を参照する。
specsで管理する内容¶
- Orion・Atlasのシステム構成とCM4–Main間の通信方式:システム構成。
- 共通コマンドのレイアウト、符号化、単位、フィールドの意味:制御パケット。4WSへの拡張とSPI転送単位は未実装の設計案を参照する。
- MainからCM4へ返す共通128バイトの配置・CRC・単位:フィードバックパケット。4WSでの採用設計とSPI転送の未実装範囲は制御・通信の設計案を参照する。
- OrionのMainとCANノード間の通信契約:Orion CAN。4WSのノード・車輪・操舵軸への割当は本FWで未確定。
- Orionの外部連携、制御・保護動作、更新契約:対外仕様の入口。
現行の通信契約はcommon/、未実装案はproposals/で管理する。Atlasの記載範囲は本FWの実装への適合を保証しない。共通feedbackを含む通信契約への適合確認は今後の実装時に行い、Orionの停止条件・ブートローダーを本FWの実装済み仕様として扱わない。
本リポジトリで管理する内容¶
| 内容 | 文書 |
|---|---|
| 実装済み・未実装の範囲、起動処理 | 概要 |
| Board / Device / Protocol / Control / Appの責務と依存、IRQ・DMAの所有 | コード階層、基礎ドライバ |
| IO割当、周辺回路、生成設定と実行時設定 | ハードウェア |
| Orion CAN契約に対する実装の対応範囲・差異、電源API、デコーダーの受理条件、4WSの未確定事項 | 基礎ドライバ、CAN・IMU・OLED |
| IMU/OLEDのドライバ、FW内部診断と同repoの読取りツール | CAN・IMU・OLED |
| ビルド・書込み・CubeMX再生成、日付付き検証記録、未確認範囲 | 開発手順 |
| 旧ソースの調査根拠 | ドライバ互換調査(履歴) |
本FWに残る制約¶
- CM4 SPIは未実装。現行のCM4_CSはGPIO出力であり、specsの設計案と実装時に照合する。
- 制御入口はTIM6の500 Hzで実装済み。4WSの制御演算、出力、モード遷移、通信断時の停止・復帰は未実装。
- 現在のCAN解析はバス別・ID別に値を保持し、旧機体の角度符号反転を行わない。
- 電源・Orion解析は8 byte限定。実機で受信した0x215/216のDLC=4は状態へ反映されず、0x244も解析対象外。相手側の送信定義を確認して対応範囲を決める。
- CAN2の高負荷時RX破棄は未解決。測定条件と結果は検証記録を参照する。
外部仕様を追加する場合はspecsへ対象機種と採用状況を明記し、本repoには対応する実装状況・制約・検証結果を残す。
機器間の制御分担、SPI条件、4WSのCAN割当、操作モード、停止・復帰、帰還値の生成条件の未決事項はspecsの設計案へ集約する。本repoでは同じ仕様案を定義し直さない。
参照方向¶
本FWのREADME・doc → specsの通信契約/設計案 → specs内の共通定義
本FWのdoc → 本FWのソース・設定・試験記録(実装確認)
specsの目次・関連本文 → 本FWの実装文書(読者向けの案内)
通信形式・単位・ID・機器間の振る舞いの規範はspecsを参照する。ソース・試験記録への参照は実装を確認するためのもので、共通契約の定義を委ねるものではない。specsからの案内リンクもこの依存方向を逆転させない。
文書更新の扱い¶
共通契約の配置・単位・ID定義はspecsを参照し、本repoではAPI・対応範囲・差異を説明する。specsに詳細が未定義の項目は、現在のソースで確認できる実装として記録し、機器全体の確定仕様にしない。日付付きの実機検証・旧ソース調査は履歴として保持する。