PHY: LEDの識別番号をELCが持つことを明記(P-11解消)
RGB効果が使うのは物理座標で、インデックスは配線で決まるアドレス。 チェーン順序を設計者が恣意的に決めてよいのは確かだが、決めた順序は そのまま配線の指示になるため、電気的な情報としてELCが持つ。 IDXに別の論理インデックスを置くと二重管理になり、食い違えば別のLEDが 光るため、IDXはLEDの番号を持たない。 検証ではなく決めによる解消。 Journal: journal/2026-09-20-led-index-layer.md Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+2
-7
@@ -96,7 +96,8 @@ LED・OLED・ロータリーエンコーダ・ネジ穴のように、設計者
|
||||
|
||||
部品ノードはクラスターの子になれる。クラスターを動かせば配下の部品も追随する。
|
||||
|
||||
LEDの配線はPHYが持たない。デイジーチェーンの順序はELC、RGB効果が使う論理インデックスはIDXが持つ [推測:P-11]。
|
||||
LEDの配線はPHYが持たない。LEDの識別番号もPHYは持たない。番号は配線で決まるため、ELCが持つ。
|
||||
IDXはLEDの番号を持たない。RGB効果が必要とする位置と区分は、PHYのノード配置と種別から得る。
|
||||
|
||||
### デカールとゴースト
|
||||
|
||||
@@ -298,12 +299,6 @@ Beyond KLEはスイッチの品種を持たないため、対応づける先が
|
||||
- 現状の認識: どのラベルがMAPに適用できるかは、おそらく機械的には判断できない。自動で適用してユーザーが不要なものを落とす方式も考えられる
|
||||
- 格上げ条件: 適用するか、する場合は自動適用とユーザーによる取捨の流れをユーザーが決める
|
||||
|
||||
### P-11 LEDのチェーン順序をELCが持つか
|
||||
|
||||
- 位置づけ: 本文「部品ノード」が前提にしている
|
||||
- 現状の認識: 電気的な接続なのでELC、という切り分けで進めている。ただしデイジーチェーンの順序が接点マトリクスと同じ層に収まるかに確信がない。引っかかりを言語化できていない
|
||||
- 格上げ条件: ELCの構造を具体化し、チェーン順序がその中に無理なく収まるか、別の持ち方が要るかを確認する
|
||||
|
||||
### P-12 部品の表裏を描画でどう扱うか
|
||||
|
||||
- 位置づけ: 本文「部品ノードは表裏を持たない」の残余
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# LEDの識別番号をどの層が持つか (P-11解消)
|
||||
|
||||
## 結論
|
||||
|
||||
ELCが持つ。IDXは持たない。
|
||||
|
||||
LEDの番号は「設計者が恣意的に決めてよい」が、決めた瞬間それは配線の指示になる。
|
||||
そのためチェーン順序やドライバのアドレスと同じものであり、置き場はELC。
|
||||
IDXに別の論理インデックスを置くと、ELCの番号と二重管理になり、食い違えばファームが別のLEDを光らせる。
|
||||
|
||||
なおP-11は検証で解消したのではなく、決めで解消した。ユーザーの判断「一度エイヤで入れてしまいましょう」。
|
||||
|
||||
## 案の比較
|
||||
|
||||
| 案 | 番号の出どころ | 判定 |
|
||||
| --- | --- | --- |
|
||||
| ELCが持つ | チェーン順序 / ドライバのアドレス | 採用 |
|
||||
| IDXが持つ | 設計者が振る論理番号 | ELCの番号と二重管理になる |
|
||||
| PHYが持つ | 配置順 | 配線と無関係な順序になりうる |
|
||||
|
||||
## 根拠: QMK RGB Matrix の `g_led_config`
|
||||
|
||||
- `matrix_co[row][col]` … キーからLEDインデックスを引く
|
||||
- `point{x,y}` … 物理座標。左上 `{0,0}`、右下 `{224,64}`
|
||||
- `flags` … `LED_FLAG_MODIFIER` / `LED_FLAG_UNDERGLOW` / `LED_FLAG_KEYLIGHT` など
|
||||
|
||||
効果は主に `point` の座標で計算する。インデックスは座標を引くための識別子であって、
|
||||
効果の意味を持たない。したがって「効果のためにIDXが番号を振る」必要がない。
|
||||
|
||||
インデックスはデータ線の並び順そのものとは限らず、ドライバのアドレス方式に対応する。
|
||||
WS2812系ならチェーン順序、IS31FL37xx系なら (ドライバ, チャンネル)。
|
||||
どちらも配線で決まる値なので、ELCが持つという結論は変わらない。
|
||||
|
||||
出典: https://docs.qmk.fm/features/rgb_matrix
|
||||
|
||||
## per-key以外のLED
|
||||
|
||||
アンダーグロー・ロゴLEDなど、キーに紐づかないLEDがあるため「キー番号で代用する」ことはできない。
|
||||
これらはPHYの部品ノードとして位置を持つので、`point` はPHYから、`flags` の区分は
|
||||
per-key LEDか独立した部品ノードかという種別から導ける。ここでもIDXの出番はない。
|
||||
Reference in New Issue
Block a user