workflow: 既存フローとの対応だけを残し、確定した仕様に追従させる
解決策・プロトコル・次のアクションの各節は layers と phase1 の重複だったため削除し、 工程分析とその課題だけの文書にした。レイヤーの定義は layers を正とする旨を冒頭に置く。 工程の対応先は、回路設計をELCのみ、ファームウェア基本設定をPHY+IDX+ELCに修正。 PCB製造は品種とフットプリントを持たないため対応なしとした。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+11
-69
@@ -1,5 +1,8 @@
|
|||||||
# 自作キーボード制作ワークフロー分析
|
# 自作キーボード制作ワークフロー分析
|
||||||
|
|
||||||
|
既存の制作フローの各工程が、どのレイヤーに当たるかを見る文書。
|
||||||
|
レイヤーの定義と役割は `keyboard-design-layers.md` を正とする。
|
||||||
|
|
||||||
## 現在の一般的な制作手順
|
## 現在の一般的な制作手順
|
||||||
|
|
||||||
### 1. デザイン・設計段階
|
### 1. デザイン・設計段階
|
||||||
@@ -23,7 +26,7 @@
|
|||||||
- ダイオード配置の検討
|
- ダイオード配置の検討
|
||||||
- **出力**: 回路図、ピン配置表
|
- **出力**: 回路図、ピン配置表
|
||||||
- **現在の課題**: KLEからマトリックス情報への変換が手動
|
- **現在の課題**: KLEからマトリックス情報への変換が手動
|
||||||
- **Beyond KLE対応**: **ELCレイヤー** + **IDXレイヤー**
|
- **Beyond KLE対応**: **ELCレイヤー**。行列構成という工程は持たず、キーの端子とピンの対応として書く
|
||||||
|
|
||||||
### 2. PCB設計段階
|
### 2. PCB設計段階
|
||||||
|
|
||||||
@@ -35,7 +38,7 @@
|
|||||||
- スイッチフットプリントの配置
|
- スイッチフットプリントの配置
|
||||||
- マイコン・コネクタ等の部品配置
|
- マイコン・コネクタ等の部品配置
|
||||||
- **現在の課題**: KLEとPCBツール間の座標変換
|
- **現在の課題**: KLEとPCBツール間の座標変換
|
||||||
- **Beyond KLE対応**: **PHYレイヤー** → PCBツール連携
|
- **Beyond KLE対応**: **PHYレイヤー** → PCBツール連携。渡すのは配置であって、フットプリントの選択はPCBツール側に残る
|
||||||
|
|
||||||
#### b) 配線・ルーティング
|
#### b) 配線・ルーティング
|
||||||
|
|
||||||
@@ -54,10 +57,9 @@
|
|||||||
- マトリックス定義(ROW/COL)
|
- マトリックス定義(ROW/COL)
|
||||||
- ピン配置設定
|
- ピン配置設定
|
||||||
- 物理レイアウト定義
|
- 物理レイアウト定義
|
||||||
- **現在の課題**:
|
- **現在の課題**: KLEとファームウェア設定の手動変換
|
||||||
- KLEとファームウェア設定の手動変換
|
- **Beyond KLE対応**: **PHY** + **IDX** + **ELC** → ファームウェア自動生成。
|
||||||
- VIAではlabelフィールドに"1,5"等を記入してmatrix座標を表現
|
ROW/COLはELCの配線から出力時に割り当てる
|
||||||
- **Beyond KLE対応**: **IDXレイヤー** + **ELCレイヤー** → ファームウェア自動生成
|
|
||||||
|
|
||||||
#### b) キーマップ設定
|
#### b) キーマップ設定
|
||||||
|
|
||||||
@@ -73,7 +75,7 @@
|
|||||||
#### a) PCB製造
|
#### a) PCB製造
|
||||||
|
|
||||||
- **出力**: Gerberファイル、BOM、Pick&Place
|
- **出力**: Gerberファイル、BOM、Pick&Place
|
||||||
- **Beyond KLE対応**: PHY/ELCレイヤーからの自動生成
|
- **Beyond KLE対応**: なし。部品の品種とフットプリントを持たないため、この段階はPCB設計ツールが担う
|
||||||
|
|
||||||
#### b) 部品調達・組み立て
|
#### b) 部品調達・組み立て
|
||||||
|
|
||||||
@@ -86,72 +88,12 @@
|
|||||||
- **問題**: KLE → PCB → ファームウェアで毎回手動変換
|
- **問題**: KLE → PCB → ファームウェアで毎回手動変換
|
||||||
- **影響**: 一箇所変更時の全体への反映が困難
|
- **影響**: 一箇所変更時の全体への反映が困難
|
||||||
|
|
||||||
### 2. マトリックス情報の欠落
|
### 2. 設計変更時のトレーサビリティ不足
|
||||||
|
|
||||||
- **問題**: KLEは物理配置のみ、論理構造(マトリックス)は別管理
|
|
||||||
- **影響**: VIAでのhackyな対応(labelフィールド悪用)
|
|
||||||
|
|
||||||
### 3. 設計変更時のトレーサビリティ不足
|
|
||||||
|
|
||||||
- **問題**: どのレイヤーでの変更が他に影響するかが不明確
|
- **問題**: どのレイヤーでの変更が他に影響するかが不明確
|
||||||
- **影響**: デバッグ・修正作業の複雑化
|
- **影響**: デバッグ・修正作業の複雑化
|
||||||
|
|
||||||
### 4. ツール間連携の脆弱性
|
### 3. ツール間連携の脆弱性
|
||||||
|
|
||||||
- **問題**: 手動変換によるヒューマンエラー
|
- **問題**: 手動変換によるヒューマンエラー
|
||||||
- **影響**: 設計ミス、製造後の修正コスト
|
- **影響**: 設計ミス、製造後の修正コスト
|
||||||
|
|
||||||
## Beyond KLEによる解決策
|
|
||||||
|
|
||||||
### 1. 統一データモデル
|
|
||||||
|
|
||||||
```
|
|
||||||
物理設計(PHY) → キー識別(IDX) → 電気設計(ELC) → キーマップ(MAP)
|
|
||||||
↓ ↓ ↓ ↓
|
|
||||||
PCBツール ファームウェア 回路図 VIA/Remap
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. レイヤー間の明確な責任分離
|
|
||||||
|
|
||||||
- **PHY**: 物理配置のみに集中
|
|
||||||
- **IDX**: 物理と論理の橋渡し(最重要レイヤー)
|
|
||||||
- **ELC**: 電気的接続の明確化
|
|
||||||
- **MAP**: キーマップロジックの分離
|
|
||||||
|
|
||||||
### 3. 双方向の依存関係管理
|
|
||||||
|
|
||||||
- 上流レイヤーの変更が下流に自動反映
|
|
||||||
- 下流での制約が上流設計にフィードバック
|
|
||||||
|
|
||||||
### 4. 既存ツールとの互換性維持
|
|
||||||
|
|
||||||
- KLE JSONの完全サポート
|
|
||||||
- VIA/QMK等への出力対応
|
|
||||||
- 段階的移行の実現
|
|
||||||
|
|
||||||
## Phase 1で策定すべきプロトコル
|
|
||||||
|
|
||||||
### 1. レイヤー間インターフェース仕様
|
|
||||||
|
|
||||||
- 各レイヤーの入出力JSON Schema
|
|
||||||
- 依存関係の明確化
|
|
||||||
- エラーハンドリング規則
|
|
||||||
|
|
||||||
### 2. 既存フォーマットとの変換仕様
|
|
||||||
|
|
||||||
- KLE JSON → PHY変換
|
|
||||||
- QMK設定 ← IDX+ELC+MAP変換
|
|
||||||
- VIA JSON ← 全レイヤー統合
|
|
||||||
|
|
||||||
### 3. 拡張性設計
|
|
||||||
|
|
||||||
- 非標準マトリックス(charlieplexing等)対応
|
|
||||||
- 3D配置への拡張可能性
|
|
||||||
- カスタムキーコードサポート
|
|
||||||
|
|
||||||
## 次のアクション
|
|
||||||
|
|
||||||
1. **JSON Schema策定**: 各レイヤーのデータ構造定義
|
|
||||||
2. **変換ロジック設計**: レイヤー間の変換アルゴリズム
|
|
||||||
3. **リファレンス実装**: TypeScript/Rust等でのプロトタイプ
|
|
||||||
4. **テストケース作成**: 代表的なキーボード設計での検証
|
|
||||||
|
|||||||
Reference in New Issue
Block a user