R2:底板 / 刀片布局布线脚本、快照、截图与规划文档更新(含外壳、打印件、布线归档)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
+25
-2
@@ -19,7 +19,26 @@ u"""**从板上读回铜**,按真实几何判每个网通没通(M7)。
|
||||
## 平面网另算
|
||||
|
||||
`GND` / `VO_P` / `+12V` 靠铜面 + 缝合过孔成网,铜面不在这个检查里(读不回填充多边形),
|
||||
所以它们只报「有几只脚一根铜都不挨」——那种才是真漏。
|
||||
所以它们只报「有几只脚一根铜都不挨」。
|
||||
|
||||
⛔ **但「一根铜都不挨」在刀片上几乎全是假阳性**(2026-09-12 晚踩了一次,白查半天):
|
||||
摘掉「被计划中的铜面盖住」那些脚的是 `covered()`,而它第一行就是 `if '--base' not in sys.argv:
|
||||
return False` ⇒ **只对底板生效**。刀片下一只脚都不摘,于是凡是「只靠铺铜盖住、不单独拉线」的
|
||||
去耦件地脚(`C*.2` / `R*.1` / `U*.2` 那一票)全被报成孤立 —— 刀片实测固定 **49 只**。
|
||||
⇒ 判据:**跟重铺前的板面快照逐只比对**。2026-09-12 晚 `NOTCH_D` 加深后重铺,前后两边
|
||||
`49 == 49` 且逐只同名、L1/2/15/16 的铜都是 899 段(铺铜只动填充多边形、不动导线)
|
||||
⇒ 与重铺无关。别看见这一长串就以为把地铺断了。
|
||||
|
||||
⛔ **底板(`--base`)下 `covered()` 也有两种假阳性**,2026-09-12 晚查实,5 只脚全是假的:
|
||||
① **通孔脚被内层整层盖住,但 `covered()` 只看外层**:第 119 行是 `if lay in (1, 2)`,
|
||||
把 `GND-L2-4`/`GND-L3-4`(L15/L16 整层 GND,x 6.20~90.30 / y 0.50~97.50)滤掉了。
|
||||
而 `C3.2` / `J26.1` / `J1.2` / `J1.3` 是 layer 12 的**通孔**焊盘,穿透所有层,
|
||||
正是被那两块内层盖住的 ⇒ 报「一根铜都不挨」,其实盖得好好的。
|
||||
② **贴片脚跨在两块同网瓦片的接缝上**:`U29.3` 焊盘框 x 1.71~2.36,而 `GND-L4-1` 到 1.80、
|
||||
`GND-L4-4` 从 1.80 起 —— 铜面实际连续(瓦片只是切分),但 `covered()` 要求**单块完全包住**,
|
||||
跨缝就不认。
|
||||
⚠ **没有放宽判据**:放宽(改成"多块并集包住"或"含内层")会把真漏一起摘掉,代价更大。
|
||||
遇到这类报告,按上面两条**手工排除**,或跟重铺前快照比对。
|
||||
"""
|
||||
import io
|
||||
import json
|
||||
@@ -41,7 +60,11 @@ else:
|
||||
PADS_JSON = os.path.join(HERE, '_blade_pads.json')
|
||||
|
||||
MIL = B.MIL
|
||||
PLANE = ('GND', 'VO_P', '+12V', '+12V_F', '+3V3')
|
||||
# ⚠ 底板 2026-09-10 深夜起 L2 改整层 GND,+3V3 回到布线网 ⇒ 底板上 +3V3 按普通网查连通(刀片不变)
|
||||
# ⛔ 2026-09-11 更正:原来是 `+ (() if '--base' else ('+3V3',))` —— 「+3V3 铜面网」是**底板** M9b 的槽墙,
|
||||
# 刀片上从来没有 +3V3 铜面(pcb_pour 只铺 GND / VO / V12),却一直按铜面网只查「脚挨不挨铜」,
|
||||
# 刀片 +3V3 的真实连通性等于没验过。两块板现在都按普通布线网查。
|
||||
PLANE = ('GND', 'VO_P', '+12V', '+12V_F')
|
||||
# ⚠ `+3V3` 从 M9b 起也是**铜面网**(五块槽墙,方案 §30):15 只槽脚一根线都不接,
|
||||
# 靠铺铜盖住。⇒ 它和 12V 一样,只能判「脚是不是至少挨着一根铜」,
|
||||
# 而**被计划中的铜面盖住的脚要先摘掉**(下面 `covered()`),否则每次都刷一堆假漏。
|
||||
|
||||
在新工单中引用
屏蔽一个用户