# -*- coding: utf-8 -*- u"""R2 底板 **A5B-SLOTS** 页:PCI-E x4 插槽阵(槽 4~5)。 ⛔ **2026-09-09 用户拍板:底板上的 5 个 D± 退路座 `J39~J43` 全部去掉。** 它们是 D12「金手指那条 D± 万一不稳,割断改飞 5 根短线」的底板侧接口。 ⇒ 现在底板侧**没有退路**:`USBn_DP/DM` 从 `U32` 直接到插槽针,一条路走到黑。 ⚠ 连带影响两条: ① 刀片上的 `J2`(B4-EDGE 那个同款 4P 座)失去了对端,除非另配线束,否则也用不上; ② 「最远一路 D± ~70 mm」当初拍板接受时,理由之一就是「退路座本来就是为这一条留的」 (方案 §28.10)—— 这条理由现在没了,D± 只能一次做对。 /c/Python314/python .claude/r2/a5b_slots.py # 只算 + 本地自检 /c/Python314/python .claude/r2/a5b_slots.py --push # 清页 + 重画(只有主代理能跑) ⚠️ **这一页在契约 §6 的四页表里没有,是 A5 算完版面之后新开的。** 一页排不下 5 个槽(每槽净宽 355、槽距 365,一行 3 槽已经吃掉 1085/1125), 两行又会压进标题栏 —— 完整的账在 `a5_slots.py` 的表头 §版面。 所有画法(针位、母线、端口方向、逐脚对账)都在 `a5_slots.py` 里,本文件只给坐标和文字。 **页 uuid 还没有**:`PAGE = None`,等主代理在 BASE 原理图(`372e2399adb7a6db`)里 建出这一页、把 uuid 写进 `.claude/r2/r2-uuids.json` 的 `boards.BASE.pages` 之后填进来。 ## 退路座去掉之后本页变简单了 原来 `USB4_DP/DM` / `USB5_DP/DM` 在本页同时出现在「槽」和「退路座」两处, 天然是两块铜、要靠 `ALLOW_SPLIT` + `check_pin_nets` 逐脚对账放行; `USB1~3_DP/DM` 更是只有退路座一处。**现在这几条全部消失** —— 本页只剩槽 4/5,每个网在页内要么只有一处、要么本来就连通。 """ import os import sys HERE = os.path.dirname(os.path.abspath(__file__)) sys.path.insert(0, HERE) import a5_slots as A5 # noqa: E402 PAGE = 'e493f8bce3a51aae' NAME = 'A5B-SLOTS' # 槽 4/5 仍放 cy=580(退路座删了之后 y<385 整条带子空着,不动版面免得又踩叠字) SLOT_XY = {4: (200, 580), 5: (565, 580)} # 退路座一字排开,间距 210:标签往左伸 ≈162,右边是座子本体 +25 ⇒ 相邻之间还剩 23 WV_XY = {} # 退路座已删(2026-09-09 用户拍板) TEXTS = [ (45, 800, u'【A5B-SLOTS】5 个 PCI-E x4 插槽之 槽 4~5(槽 1~3 在 A5-SLOTS)', 13), (790, 770, u'针位与画法完全同 A5-SLOTS:', 11), (790, 752, u' A 排地母线 cx−160、B 排 cx+160,', 10), (790, 734, u' B 排在 B8 那一行断开让 +3V3 东出。', 10), (790, 710, u'⚠ 底板 A1 = GND、B31 = PRSNTn#:', 11), (790, 692, u' 刀片上 A1↔B31 才是短接线,', 10), (790, 674, u' 插上刀片才把 B31 拉到地。', 10), (790, 656, u' 两针都叫 PRSNTn# = 检测永远失效。', 10), (790, 632, u'⚠ B10(+3.3Vaux)必须悬空,', 11), (790, 614, u' 连同 A5~A8 / B9 每槽 6 针悬空。', 10), (790, 590, u'✅ T8 已结(换料):J34~J38 =', 11), (790, 572, u' SOFNG PCIE-64P11L(C19188869),', 10), (790, 554, u' PC 标准 x4 64PIN。', 10), (790, 536, u' ⛔ 贴片立式,保持力只靠焊盘 ——', 10), (790, 518, u' 刀片必须另加固定件。', 10), (790, 494, u'⛔ 2026-09-09 用户拍板:5 个 D±', 11), (790, 476, u' 退路座 J39~J43 全部删除。', 10), (790, 458, u' 底板侧不再有 D± 退路 ——', 10), (790, 434, u' USBn_DP/DM 从 U32 直达槽针,', 10), (790, 416, u' 一条路走到黑;刀片上的 J2 也', 10), (790, 398, u' 随之失去对端。', 10), # ⚠ 这三行历史上踩过一次叠字:原来是 (45, 196) 的一整行长文字,正好从退路座的 # GND 旗标签中间穿过去,`verify_sch` 六项全过、只有放大截图看得出来 # (同 A2-AUX 的两处叠字,方案 §19.2)。退路座虽然删了,这三行仍留在右侧空白区。 (790, 374, u'⚠ 本页不在契约 §6 的四页表里:一页', 10), (790, 356, u' 排不下 5 个槽(355×5=1815 ≫ 1125),', 10), (790, 338, u' 账见 a5_slots.py 表头。', 10), ] def main(): A5.main(slots=SLOT_XY, wvs=WV_XY, texts=TEXTS, page=PAGE, name=NAME) if __name__ == '__main__': main()