26 lines
1.0 KiB
JavaScript
26 lines
1.0 KiB
JavaScript
import { readFileSync } from 'node:fs';
|
|
const { compData, wireData, pinData } = JSON.parse(readFileSync('H:/caiic_workspace/mothercup/hardware_design/_dump.json', 'utf8'));
|
|
|
|
console.log('=== SW1/Q1/Q7/Q4/Q2/Q3/D1 pins (x,y,rot,len) ===');
|
|
for (const k of ['SW1','Q1','Q7','Q4','Q2','Q3','D1']) {
|
|
const pd = pinData[k];
|
|
if (!pd) continue;
|
|
console.log(`${k} @ (${pd.pos.x},${pd.pos.y})`);
|
|
for (const p of pd.pins) console.log(` pin${p.num} ${p.name} (${p.x},${p.y}) rot=${p.rot} len=${p.len}`);
|
|
}
|
|
|
|
console.log('\n=== wires near power-switch region (x -2000..-1500, y -1100..-400) ===');
|
|
let cnt = 0;
|
|
for (const w of wireData) {
|
|
const p = Array.isArray(w.line) ? (Array.isArray(w.line[0]) ? w.line.flat() : w.line) : [];
|
|
let near = false, pts = [];
|
|
for (let i=0;i+1<p.length;i+=2) {
|
|
if (p[i]>=-2000 && p[i]<=-1500 && p[i+1]>=-1100 && p[i+1]<=-400) { near=true; pts.push([p[i],p[i+1]]); }
|
|
}
|
|
if (near && cnt < 60) {
|
|
cnt++;
|
|
console.log(` net=${w.net} pts=${JSON.stringify(pts.slice(0,10))}`);
|
|
}
|
|
}
|
|
console.log('total near wires:', cnt);
|