From 66a594a378688f4e229fdd9dbfb55741a3471db1 Mon Sep 17 00:00:00 2001 From: EwdErna Date: Tue, 22 Sep 2026 19:52:14 +0900 Subject: [PATCH] =?UTF-8?q?elc:=20=E8=B5=B0=E6=9F=BB=E6=96=B9=E5=90=91?= =?UTF-8?q?=E3=81=AE=E6=B1=BA=E5=AE=9A=E3=81=A8=E8=BF=BD=E5=8A=A0=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E3=82=92Firmware=20Generator=E3=81=AB=E7=BD=AE?= =?UTF-8?q?=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ELCは配線を保存し、どちら側のピン群を駆動してどちら側から読み取るかは 出力器が選ぶ。追加指定が必要な場合は出力設定で受け取る。 複数の適切な方法から出力器が選べるなら一意性は要らないので、配線だけから 全方式の走査手順が一意に決まることをELCの成立条件にしない。 これは責任分担の決定であり、各方式の実配線を検証した結果ではない。 P-3は方式ごとの走査設定の確認として残す。 Journal: journal/2026-09-22-elc-scan-settings.md Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01DKW58HEg8zAQoLrkWByPfD --- ELCレイヤー.md | 17 ++++++++++----- journal/2026-09-22-elc-scan-settings.md | 29 +++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 journal/2026-09-22-elc-scan-settings.md diff --git a/ELCレイヤー.md b/ELCレイヤー.md index 2ffffc0..69303f4 100644 --- a/ELCレイヤー.md +++ b/ELCレイヤー.md @@ -46,6 +46,12 @@ ELCが扱う「ピン」は物理的なマイコンピンに限らない。**ピ row / col はELCの正本に含めない。charlieplexing で便宜的に行と列の形で書くことはあるが、 それは表記の都合であって配線の事実ではない。QMKなどが要求する row / col は、出力時に割り当てる派生情報とする。 +走査方向の決定と追加指定はFirmware Generatorが受け持ち、ELCには保存しない。 +接点マトリクスでは、どちら側のピン群を駆動し、どちら側から読み取るかを指す。 +配線・ダイオードの向きと整合する方向を出力器が選び、追加指定が必要な場合は出力設定で受け取る。 +配線だけから全方式の走査手順が一意に決まることは前提にしない。 +方式ごとの必要な設定は、その方式の出力に対応する際に確認し、未対応の構成は出力しない。 + ### ダイオード 接点キーはダイオードの向きを持つ。向きは端子名で表す(`a-to-b` はアノードがa側)。省略時はダイオードなし。 @@ -155,9 +161,10 @@ type ELC = { どちらが一般的か確認していない。前者なら同じ `PinRef` が複数の提供者の `select` に現れる - 格上げ条件: 複数muxを使った実在のキーボードの配線を確認し、共有の形を確かめる -### P-3 駆動側と検出側の役割をELCが明示的に持つ必要があるか +### P-3 方式ごとの走査設定の確認 -- 位置づけ: 本文「配線トポロジを区分として持たない」の残り -- 現状の認識: 接点マトリクスではダイオードの向きから、directでは電源レールの参照から、 - どちらを駆動しどちらを検出するかが決まりそうに見えるが、全方式で導出できるか確かめていない -- 格上げ条件: 各方式について、端子の接続先とダイオードの向きだけから走査手順が一意に決まるかを確認する +- 位置づけ: 本文「配線トポロジを区分として持たない」の残り。走査方向の決定は出力器が持つと決めた +- 現状の認識: 接点マトリクスではダイオードの向きから、directでは電源レールの参照から役割を判断できそうだが、 + 方式ごとに出力器が決められる範囲と、ユーザーの追加指定が必要になる範囲は確認していない +- 格上げ条件: 対象方式の配線と整合する走査方法を確認し、必要な出力設定と対応範囲を定める。 + 全方式で走査手順が一意に決まることの証明は求めない diff --git a/journal/2026-09-22-elc-scan-settings.md b/journal/2026-09-22-elc-scan-settings.md new file mode 100644 index 0000000..277f48b --- /dev/null +++ b/journal/2026-09-22-elc-scan-settings.md @@ -0,0 +1,29 @@ +# ELCの走査設定を出力器に置く + +## 結論 + +ELCは配線を保存し、走査方向の決定と追加指定はFirmware Generatorの出力設定に置く。 +接点マトリクスでいう走査方向は、どちら側のピン群を駆動して、どちら側から読み取るか。 +全方式で走査手順が配線から一意に決まることは、ELCの成立条件にしない。 + +## 案の比較 + +| 案 | 判断 | +| --- | --- | +| 全方式で配線から走査手順を一意に導出できることを先に検証する | 配線保存の実装まで止める条件としては強すぎる | +| ELCに走査方向の指定を持たせる | 配線と出力時の選択の責任が混ざるため採らない | +| 出力器が走査方向を選び、必要なら出力設定で指定を受ける | 採用。ELCの責任を配線に保てる | + +## 判断の根拠と残件 + +旧ELC P-3は「端子の接続先とダイオードの向きだけから走査手順が一意に決まるか」を格上げ条件にしていた。 +しかし、複数の適切な方法から出力器が選べるなら、一意性は必要ない。 +先に決める必要があったのは、配線だけでは決まらない場合の指定をどこが受け持つかである。 + +この変更は責任分担の決定であり、各方式の実配線や走査方法を新たに検証した結果ではない。 +出力器は配線・ダイオードの向きと整合する方法を選び、必要な追加指定は出力設定から受け取る。 +未対応の構成は出力しない。 + +方式ごとの導出可能な範囲と必要な追加設定は、その方式の出力に着手するときに確認する。 +残件はbacklogのELC-P-3「方式ごとの走査設定の確認」に引き継いだ。 +PHYの編集やELCの配線保存は、この確認に依存せず進められる。