初始导入:PhoneRail 五路手机直供电源板

原理图/PCB 已在 EasyEDA 里做到 12 页跨页 0 漏接,固件刚完成骨架包 A1。
这次是把已有的一切一次性纳入版本控制,没有改动任何设计内容。

纳入:
- 设计与需求文档、PROGRESS.md、小米8 参考原理图 PDF 与追脚脚本
- .claude/ 下的 EasyEDA 桥接工具链与几何/网表缓存(eda-parts.json、
  pcb-parts.json、pcb-pads.json、p2-ch1.json 等,是重画各页的唯一事实来源)
- 117 张验证截图(本项目所有方向问题都是靠人眼看截图发现的,属于证据不是垃圾)
- firmware/ 的 A1 骨架与 site/ 文档站源码

.gitignore 排除:构建产物(firmware/build、host/build、sdkconfig)、
site/node_modules、__pycache__、桥接日志 _bridge.log、脚本自标的 *.stale。

.gitattributes 默认 `* -text`:现有 .py/.json 大多是 CRLF,原样存,
不让 git 重写行尾。唯一例外是 *.sh 强制 LF —— 带 \r 的 shell 脚本 bash 跑不了。

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QYuExfgyYa6DzRRcUso8M8
这个提交包含在:
zhou yang
2026-09-06 18:18:14 +08:00
共同撰写人 Claude Opus 5
当前提交 2bfe308b30
共修改 526 个文件,包含 80633 行新增和 0 行删除
+26
查看文件
@@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
"""P4-USB 元件位置表。列布局:一列一路,信号自上而下 USB-A -> 负载开关 -> 4P 出线座。
spec 元素: [位号, uuid, x, y, rot, mirror]"""
XS = [130, 345, 560, 775, 990]
U = {
'usba': '7d5e5a5f64fa40d9897f4a100f72bf74', # C2979057 KH-AF90ZJ-13.5 USB-A 母座 90度
'sw' : '4f99db5a5a614bb4a4f77db2f3a45c11', # C131941 TPS22918DBVR
'j4p' : 'a442828947794d278f7b5933443e57dd', # C225106 A1251WV-S-4P
'c2u2': '636c78492b2e4a92a4da594ddaf12c72', # C377773 2.2uF/50V 0805
'c100n': '87bb635d0b2f489a9f60e7cd225beb3c', # C1525 100nF 0402
'c100p': '9ce80f4816c34a9989004c8504143fd4', # C1546 100pF 0402 C0G
'r100k': 'acc294b6661948399f609b41c77ed19f', # C25741 100k 0402
}
SPEC = []
for n, X in enumerate(XS, 1):
SPEC += [
['J%d' % (11 + n), U['usba'], X, 730, 270, False],
['U%d' % (23 + n), U['sw'], X + 85, 540, 270, True],
['J%d' % (16 + n), U['j4p'], X, 280, 270, False],
['C70%d' % n, U['c2u2'], X + 35, 575, 0, False],
['C71%d' % n, U['c100n'], X + 55, 400, 270, False],
['C72%d' % n, U['c100p'], X + 95, 435, 270, False],
['R70%d' % n, U['r100k'], X + 125, 640, 270, False],
]