R2:底板 / 刀片布局布线脚本、快照、截图与规划文档更新(含外壳、打印件、布线归档)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
# 「窗口内整体重布」的服务器入口(CLAUDE.md:布线搜索一律上 10.5.5.13)。
|
||||
#
|
||||
# bash .claude/r2/remote_repair_window.sh # 按 _base_window.json 里的窗口与网名
|
||||
# EXTRA=--repair bash .claude/r2/remote_repair_window.sh
|
||||
#
|
||||
# 前置(本机):_base_window.json(窗口 + 网名)、_base_fan_input.json(**拆完窗口内旧铜之后**的板面)、
|
||||
# _base_pads.json(当前焊盘表)。
|
||||
# 回来的是 _base_window_repair.json(只有新增的段 / 孔)。下发前必须跑 fan_check.py。
|
||||
set -euo pipefail
|
||||
|
||||
SERVER="${SERVER:-10.5.5.13}"
|
||||
INTERP="${INTERP:-/root/pypy/bin/pypy3}"
|
||||
SSH="${SSH:-/c/Windows/System32/OpenSSH/ssh.exe}"
|
||||
SCP="${SCP:-/c/Windows/System32/OpenSSH/scp.exe}"
|
||||
|
||||
HERE="$(cd "$(dirname "$0")" && pwd)"
|
||||
REPO="$(cd "$HERE/../.." && pwd)"
|
||||
for f in _base_window.json _base_fan_input.json _base_pads.json; do
|
||||
[ -f "$HERE/$f" ] || { echo "⛔ 缺 $f" >&2; exit 1; }
|
||||
done
|
||||
|
||||
ARCHIVE="$(mktemp -t dcdc-win-XXXXXX)"
|
||||
cd "$REPO"
|
||||
tar --exclude='*.png' --exclude='*.bak' --exclude=__pycache__ --exclude='_remote_route.tgz' \
|
||||
-czf "$ARCHIVE" .claude/r2 .claude/eda.py .claude/pcb_pour.py .claude/eda-parts.json
|
||||
|
||||
REMOTE="$("$SSH" "$SERVER" 'mktemp -d /tmp/dcdc-win.XXXXXX' | tr -d '\r\n')"
|
||||
case "$REMOTE" in
|
||||
/tmp/dcdc-win.*) ;;
|
||||
*) echo "⛔ 远端工作目录不对: $REMOTE" >&2; rm -f "$ARCHIVE"; exit 1 ;;
|
||||
esac
|
||||
cleanup() { rm -f "$ARCHIVE"; "$SSH" "$SERVER" "rm -rf -- '$REMOTE'" >/dev/null 2>&1 || true; }
|
||||
trap cleanup EXIT
|
||||
|
||||
"$SCP" -q "$ARCHIVE" "$SERVER:$REMOTE/bundle.tgz"
|
||||
"$SSH" "$SERVER" "tar -xzf '$REMOTE/bundle.tgz' -C '$REMOTE'"
|
||||
echo "== 服务器 $SERVER 上窗口重布 ${EXTRA:-} =="
|
||||
"$SSH" "$SERVER" "cd '$REMOTE' && DCDC_ROUTE_SERVER=1 \
|
||||
/usr/bin/time -f 'REMOTE_TIME=%e sec CPU=%P RSS=%M KB' \
|
||||
$INTERP .claude/r2/repair_window.py ${EXTRA:-}"
|
||||
"$SCP" -q "$SERVER:$REMOTE/.claude/r2/_base_window_repair.json" "$HERE/_base_window_repair.json"
|
||||
echo "已取回 $HERE/_base_window_repair.json"
|
||||
在新工单中引用
屏蔽一个用户