コンテンツにスキップ

共通仕様との管理境界

2026-10-20に、specsのコミット42e4dcf9035f932648c8d05b7ee211650c081017を基点とする作業ブランチdocs/4ws-spec-boundariesと合わせて整理した。管理方針の正本はspecsの更新ルールと仕様の所有を参照する。

specsで管理する内容

現行の通信契約は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に詳細が未定義の項目は、現在のソースで確認できる実装として記録し、機器全体の確定仕様にしない。日付付きの実機検証・旧ソース調査は履歴として保持する。