@tscircuit/schematic-trace-solver 0.0.129 → 0.0.131
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +7 -0
- package/dist/index.js +219 -13
- package/lib/solvers/AvailableNetOrientationSolver/AvailableNetOrientationSolver.ts +290 -12
- package/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts +23 -2
- package/package.json +1 -1
- package/site/bug-reports/bug-report-20260811T075142Z.page.tsx +4 -0
- package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +34 -22
- package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +5 -3
- package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +305 -303
- package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +5 -3
- package/tests/bug-reports/bug-report-20260811T075142Z/__snapshots__/bug-report-20260811T075142Z.snap.svg +74 -0
- package/tests/bug-reports/bug-report-20260811T075142Z/bug-report-20260811T075142Z.json +194 -0
- package/tests/bug-reports/bug-report-20260811T075142Z/bug-report-20260811T075142Z.test.ts +131 -0
- package/tests/examples/__snapshots__/example10.snap.svg +20 -16
- package/tests/examples/__snapshots__/example31.snap.svg +8 -6
- package/tests/examples/__snapshots__/example33.snap.svg +32 -30
- package/tests/examples/__snapshots__/example46.snap.svg +5 -3
- package/tests/examples/__snapshots__/example48.snap.svg +25 -23
- package/tests/examples/__snapshots__/example50.snap.svg +32 -30
- package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +48 -46
- package/tests/repros/__snapshots__/repro-board-589-regulator-section.snap.svg +69 -0
- package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +7 -5
- package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +24 -18
- package/tests/repros/__snapshots__/repro-usb-power-vbus-label-detour.snap.svg +467 -0
- package/tests/repros/__snapshots__/repro51-overlap-junction-crossing.snap.svg +25 -23
- package/tests/repros/__snapshots__/small-variant-resistor-facing-direction.snap.svg +46 -44
- package/tests/repros/assets/repro-board-589-regulator-section.input.json +270 -0
- package/tests/repros/assets/repro-usb-power-vbus-label-detour.input.json +2382 -0
- package/tests/repros/repro-board-589-regulator-section.test.ts +16 -0
- package/tests/repros/repro-max-msp-pair-distance-fallback.test.ts +45 -0
- package/tests/repros/repro-missing-trace-netlabel.test.ts +9 -11
- package/tests/repros/repro-usb-power-vbus-label-detour.test.ts +16 -0
- package/tests/repros/rotated-components-rail-label.test.ts +5 -11
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { expect, test } from "bun:test"
|
|
2
|
+
import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
|
|
3
|
+
import inputProblem from "./bug-report-20260811T075142Z.json"
|
|
4
|
+
import "tests/fixtures/matcher"
|
|
5
|
+
import { getRectBounds } from "lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/geometry"
|
|
6
|
+
import {
|
|
7
|
+
rectsOverlap,
|
|
8
|
+
traceCrossesBoundsInterior,
|
|
9
|
+
} from "lib/solvers/AvailableNetOrientationSolver/geometry"
|
|
10
|
+
|
|
11
|
+
test("bug-report-20260811T075142Z", () => {
|
|
12
|
+
const solver = new SchematicTracePipelineSolver(inputProblem as any)
|
|
13
|
+
|
|
14
|
+
solver.solve()
|
|
15
|
+
|
|
16
|
+
const output = solver.inlineNetLabelSolver!.getOutput()
|
|
17
|
+
const usbPlusLabel = output.netLabelPlacements.find(
|
|
18
|
+
(label) => label.netId === "USB_D_PLUS",
|
|
19
|
+
)
|
|
20
|
+
const gndLabel = output.netLabelPlacements.find(
|
|
21
|
+
(label) => label.netId === "GND",
|
|
22
|
+
)
|
|
23
|
+
const upwardPowerLabels = ["V3_3", "VBUS_5V", "VBAT"].map(
|
|
24
|
+
(netId) =>
|
|
25
|
+
output.netLabelPlacements.find((label) => label.netId === netId)!,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
expect(usbPlusLabel).toBeDefined()
|
|
29
|
+
expect(["x-", "x+"]).toContain(usbPlusLabel!.orientation)
|
|
30
|
+
expect(upwardPowerLabels.map((label) => label.orientation)).toEqual([
|
|
31
|
+
"y+",
|
|
32
|
+
"y+",
|
|
33
|
+
"y+",
|
|
34
|
+
])
|
|
35
|
+
expect(upwardPowerLabels[1]!.anchorPoint.y).toBeGreaterThan(
|
|
36
|
+
upwardPowerLabels[0]!.anchorPoint.y,
|
|
37
|
+
)
|
|
38
|
+
expect(upwardPowerLabels[2]!.anchorPoint.y).toBeGreaterThan(
|
|
39
|
+
upwardPowerLabels[1]!.anchorPoint.y,
|
|
40
|
+
)
|
|
41
|
+
expect(gndLabel?.orientation).toBe("y-")
|
|
42
|
+
expect(gndLabel!.anchorPoint.y).toBe(upwardPowerLabels[1]!.center.y)
|
|
43
|
+
expect(gndLabel!.center.y).toBeGreaterThan(upwardPowerLabels[0]!.center.y)
|
|
44
|
+
expect(gndLabel!.center.y).toBeLessThan(upwardPowerLabels[2]!.center.y)
|
|
45
|
+
|
|
46
|
+
for (const netId of ["V3_3", "VBUS_5V", "VBAT", "GND"]) {
|
|
47
|
+
const connector = output.traces.find(
|
|
48
|
+
(trace) =>
|
|
49
|
+
trace.userNetId === netId &&
|
|
50
|
+
trace.mspPairId.startsWith("available-net-orientation-"),
|
|
51
|
+
)
|
|
52
|
+
expect(connector).toBeDefined()
|
|
53
|
+
expect(connector!.tracePath).toHaveLength(3)
|
|
54
|
+
const [pin, bend, labelAnchor] = connector!.tracePath
|
|
55
|
+
expect(bend!.x).toBe(pin!.x)
|
|
56
|
+
expect(bend!.y).toBeGreaterThan(pin!.y)
|
|
57
|
+
expect(labelAnchor!.y).toBe(bend!.y)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const gndConnector = output.traces.find(
|
|
61
|
+
(trace) =>
|
|
62
|
+
trace.userNetId === "GND" &&
|
|
63
|
+
trace.mspPairId.startsWith("available-net-orientation-"),
|
|
64
|
+
)!
|
|
65
|
+
expect(gndConnector.tracePath[2]!.x).toBeGreaterThan(
|
|
66
|
+
gndConnector.tracePath[1]!.x,
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
const overlappingLabelPairs: string[] = []
|
|
70
|
+
for (let i = 0; i < output.netLabelPlacements.length; i++) {
|
|
71
|
+
for (let j = i + 1; j < output.netLabelPlacements.length; j++) {
|
|
72
|
+
const a = output.netLabelPlacements[i]!
|
|
73
|
+
const b = output.netLabelPlacements[j]!
|
|
74
|
+
if (
|
|
75
|
+
rectsOverlap(
|
|
76
|
+
getRectBounds(a.center, a.width, a.height),
|
|
77
|
+
getRectBounds(b.center, b.width, b.height),
|
|
78
|
+
)
|
|
79
|
+
) {
|
|
80
|
+
overlappingLabelPairs.push(`${a.netId}::${b.netId}`)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
expect(overlappingLabelPairs).toEqual([])
|
|
85
|
+
|
|
86
|
+
const traceLabelIntersections: string[] = []
|
|
87
|
+
for (const label of output.netLabelPlacements) {
|
|
88
|
+
const bounds = getRectBounds(label.center, label.width, label.height)
|
|
89
|
+
for (const trace of output.traces) {
|
|
90
|
+
if (trace.globalConnNetId === label.globalConnNetId) continue
|
|
91
|
+
if (
|
|
92
|
+
traceCrossesBoundsInterior(bounds, {
|
|
93
|
+
[trace.mspPairId]: trace,
|
|
94
|
+
})
|
|
95
|
+
) {
|
|
96
|
+
traceLabelIntersections.push(`${trace.userNetId}::${label.netId}`)
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
expect(traceLabelIntersections).toEqual([])
|
|
101
|
+
|
|
102
|
+
expect(solver).toMatchSolverSnapshot(import.meta.path)
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
test("dense top fanout is independent of net connection input order", () => {
|
|
106
|
+
const reorderedInput = structuredClone(inputProblem)
|
|
107
|
+
reorderedInput.netConnections.reverse()
|
|
108
|
+
const solver = new SchematicTracePipelineSolver(reorderedInput as any)
|
|
109
|
+
|
|
110
|
+
solver.solve()
|
|
111
|
+
|
|
112
|
+
const output = solver.inlineNetLabelSolver!.getOutput()
|
|
113
|
+
const verticalNetIds = ["V3_3", "VBUS_5V", "VBAT", "GND"]
|
|
114
|
+
for (const netId of verticalNetIds) {
|
|
115
|
+
const connector = output.traces.find(
|
|
116
|
+
(trace) =>
|
|
117
|
+
trace.userNetId === netId &&
|
|
118
|
+
trace.mspPairId.startsWith("available-net-orientation-"),
|
|
119
|
+
)
|
|
120
|
+
expect(connector).toBeDefined()
|
|
121
|
+
const [pin, bend, labelAnchor] = connector!.tracePath
|
|
122
|
+
expect(bend!.x).toBe(pin!.x)
|
|
123
|
+
expect(bend!.y).toBeGreaterThan(pin!.y)
|
|
124
|
+
expect(labelAnchor!.y).toBe(bend!.y)
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
expect(
|
|
128
|
+
output.netLabelPlacements.find((label) => label.netId === "GND")
|
|
129
|
+
?.orientation,
|
|
130
|
+
).toBe("y-")
|
|
131
|
+
})
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-2.2855604555,-0.5519250999999993 3.2144395445,-0.5519250999999993" data-type="line" data-label="" points="
|
|
2
|
-
globalConnNetId: connectivity_net0" data-x="-2.
|
|
3
|
-
globalConnNetId:
|
|
4
|
-
globalConnNetId:
|
|
5
|
-
globalConnNetId:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
y
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
orientation:
|
|
15
|
-
orientation:
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-2.2855604555,-0.5519250999999993 3.2144395445,-0.5519250999999993" data-type="line" data-label="" points="49.983280260645415,365.6995529759246 505.38482182413946,365.6995529759246" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.2855604555000015,0.5519250999999993 3.2144395444999985,0.5519250999999993" data-type="line" data-label="" points="49.9832802606453,274.3004470240754 505.38482182413935,274.3004470240754" fill="none" stroke="hsl(102, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5938689350000006,0.004526300000001031 3.9061310649999994,0.004526300000001031" data-type="line" data-label="" points="107.2555320282994,319.6252210913492 562.6570735917935,319.6252210913492" fill="none" stroke="hsl(321, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-2" data-y="0" x="40" y="274.3004470240754" width="67.2555320282994" height="91.39910595184915" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.012077253803571426"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="3.5" data-y="0" x="495.40154156349405" y="274.3004470240754" width="67.2555320282994" height="91.39910595184915" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.012077253803571426"/></g><g><rect data-type="rect" data-label="netId: collector
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="-2.2855604555" data-y="-0.7779250999999993" x="41.70325223221825" y="365.78235325620886" width="16.560056056854336" height="37.26012612792226" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.012077253803571426"/></g><g><rect data-type="rect" data-label="netId: collector
|
|
3
|
+
globalConnNetId: connectivity_net0" data-x="3.2144395445" data-y="-0.7779250999999993" x="497.1047937957122" y="365.78235325620886" width="16.56005605685442" height="37.26012612792226" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.012077253803571426"/></g><g><rect data-type="rect" data-label="netId: emitter
|
|
4
|
+
globalConnNetId: connectivity_net1" data-x="-2.2855604555000015" data-y="0.7779250999999993" x="41.703252232218134" y="236.95752061586887" width="16.560056056854336" height="37.26012612792226" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.012077253803571426"/></g><g><rect data-type="rect" data-label="netId: emitter
|
|
5
|
+
globalConnNetId: connectivity_net1" data-x="3.2144395444999985" data-y="0.7779250999999993" x="497.1047937957122" y="236.95752061586887" width="16.560056056854307" height="37.26012612792226" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.012077253803571426"/></g><g><rect data-type="rect" data-label="netId: base
|
|
6
|
+
globalConnNetId: connectivity_net2" data-x="-1.3678689350000006" data-y="0.004526300000001031" x="107.33833230858366" y="311.345193062922" width="37.26012612792226" height="16.560056056854364" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.012077253803571426"/></g><g><rect data-type="rect" data-label="netId: base
|
|
7
|
+
globalConnNetId: connectivity_net2" data-x="4.132131064999999" data-y="0.004526300000001031" x="562.7398738720776" y="311.345193062922" width="37.26012612792226" height="16.560056056854364" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.012077253803571426"/></g><g><circle data-type="point" data-label="Q1_NPN.1
|
|
8
|
+
y-" data-x="-2.2855604555" data-y="-0.5519250999999993" cx="49.983280260645415" cy="365.6995529759246" r="3" fill="hsl(256, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="Q1_NPN.2
|
|
9
|
+
y+" data-x="-2.2855604555000015" data-y="0.5519250999999993" cx="49.9832802606453" cy="274.3004470240754" r="3" fill="hsl(257, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="Q1_NPN.3
|
|
10
|
+
x+" data-x="-1.5938689350000006" data-y="0.004526300000001031" cx="107.2555320282994" cy="319.6252210913492" r="3" fill="hsl(258, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="Q2_PNP.1
|
|
11
|
+
y-" data-x="3.2144395445" data-y="-0.5519250999999993" cx="505.38482182413946" cy="365.6995529759246" r="3" fill="hsl(79, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="Q2_PNP.2
|
|
12
|
+
y+" data-x="3.2144395444999985" data-y="0.5519250999999993" cx="505.38482182413935" cy="274.3004470240754" r="3" fill="hsl(80, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="Q2_PNP.3
|
|
13
|
+
x+" data-x="3.9061310649999994" data-y="0.004526300000001031" cx="562.6570735917935" cy="319.6252210913492" r="3" fill="hsl(81, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
14
|
+
orientation: y-" data-x="-2.2855604555" data-y="-0.5519250999999993" cx="49.983280260645415" cy="365.6995529759246" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
15
|
+
orientation: y-" data-x="3.2144395445" data-y="-0.5519250999999993" cx="505.38482182413946" cy="365.6995529759246" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
16
|
+
orientation: y+" data-x="-2.2855604555000015" data-y="0.5519250999999993" cx="49.9832802606453" cy="274.3004470240754" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
17
|
+
orientation: y+" data-x="3.2144395444999985" data-y="0.5519250999999993" cx="505.38482182413935" cy="274.3004470240754" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
18
|
+
orientation: x+" data-x="-1.5938689350000006" data-y="0.004526300000001031" cx="107.2555320282994" cy="319.6252210913492" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
19
|
+
orientation: x+" data-x="3.9061310649999994" data-y="0.004526300000001031" cx="562.6570735917935" cy="319.6252210913492" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
16
20
|
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
17
21
|
const svg = e.currentTarget;
|
|
18
22
|
const rect = svg.getBoundingClientRect();
|
|
@@ -34,7 +38,7 @@ orientation: x+" data-x="3.9061310649999994" data-y="0.004526300000001031" cx="5
|
|
|
34
38
|
v.setAttribute('y2', '640');
|
|
35
39
|
|
|
36
40
|
// Calculate real coordinates using inverse transformation
|
|
37
|
-
const matrix = {"a":
|
|
41
|
+
const matrix = {"a":82.80028028427165,"c":0,"e":239.228326582693,"b":0,"d":-82.80028028427165,"f":320};
|
|
38
42
|
// Manually invert and apply the affine transform
|
|
39
43
|
// Since we only use translate and scale, we can directly compute:
|
|
40
44
|
// x' = (x - tx) / sx
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="1.2000000000000002,0.30000000000000004 3,-0.10000000000000016" data-type="line" data-label="" points="
|
|
2
|
-
globalConnNetId: connectivity_net0" data-x="
|
|
3
|
-
|
|
4
|
-
x+" data-x="
|
|
5
|
-
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="1.2000000000000002,0.30000000000000004 3,-0.10000000000000016" data-type="line" data-label="" points="345.38513974096804,310.52033628720744 574.4239945466941,361.4178595773688" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.3010000000000002,0.30000000000000004 1.3010000000000002,0.5010000000000001" data-type="line" data-label="" points="345.38513974096804,310.52033628720744 358.2367643717338,310.52033628720744 358.2367643717338,284.94433083390135" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3,-0.10000000000000016 3.101,-0.10000000000000016 3.101,0.10099999999999985" data-type="line" data-label="" points="574.4239945466941,361.4178595773688 587.2756191774597,361.4178595773688 587.2756191774597,335.8418541240627" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40" y="285.0715746421268" width="305.38513974096804" height="127.24380822540331" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00785892857142857"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.45" data-y="-0.10000000000000009" x="434.45580549875035" y="336.6746203135652" width="139.96818904794372" height="49.48647852760723" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00785892857142857"/></g><g><rect data-type="rect" data-label="netId: VCC
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="1.3010000000000002" data-y="0.7260000000000001" x="345.5123835491935" y="227.6846171324699" width="25.44876164508065" height="57.25971370143145" fill="#ef444466" stroke="#ef4444" stroke-width="0.00785892857142857"/></g><g><rect data-type="rect" data-label="netId: VCC
|
|
3
|
+
globalConnNetId: connectivity_net0" data-x="3.101" data-y="0.32599999999999985" x="574.5512383549194" y="278.58214042263126" width="25.448761645080594" height="57.25971370143145" fill="#ef444466" stroke="#ef4444" stroke-width="0.00785892857142857"/></g><g><circle data-type="point" data-label="U1.1
|
|
4
|
+
x+" data-x="1.2000000000000002" data-y="0.30000000000000004" cx="345.38513974096804" cy="310.52033628720744" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
|
|
5
|
+
x+" data-x="3" data-y="-0.10000000000000016" cx="574.4239945466941" cy="361.4178595773688" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
6
|
+
orientation: y+" data-x="1.3010000000000002" data-y="0.5010000000000001" cx="358.2367643717338" cy="284.94433083390135" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
7
|
+
orientation: y+" data-x="3.101" data-y="0.10099999999999985" cx="587.2756191774597" cy="335.8418541240627" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
6
8
|
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
7
9
|
const svg = e.currentTarget;
|
|
8
10
|
const rect = svg.getBoundingClientRect();
|
|
@@ -24,7 +26,7 @@ orientation: y+" data-x="3.2" data-y="0.30000000000000004" cx="587.5555555555557
|
|
|
24
26
|
v.setAttribute('y2', '640');
|
|
25
27
|
|
|
26
28
|
// Calculate real coordinates using inverse transformation
|
|
27
|
-
const matrix = {"a":
|
|
29
|
+
const matrix = {"a":127.24380822540333,"c":0,"e":192.69256987048402,"b":0,"d":-127.24380822540333,"f":348.69347875482845};
|
|
28
30
|
// Manually invert and apply the affine transform
|
|
29
31
|
// Since we only use translate and scale, we can directly compute:
|
|
30
32
|
// x' = (x - tx) / sx
|
|
@@ -1,32 +1,34 @@
|
|
|
1
|
-
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.95,-6.6 1.5225,-8.5" data-type="line" data-label="" points="
|
|
2
|
-
globalConnNetId: connectivity_net0" data-x="-2.
|
|
3
|
-
globalConnNetId:
|
|
4
|
-
globalConnNetId: connectivity_net1" data-x="-
|
|
5
|
-
globalConnNetId:
|
|
6
|
-
globalConnNetId:
|
|
7
|
-
globalConnNetId:
|
|
8
|
-
globalConnNetId:
|
|
9
|
-
globalConnNetId:
|
|
10
|
-
globalConnNetId:
|
|
11
|
-
|
|
12
|
-
x
|
|
13
|
-
x
|
|
14
|
-
x-" data-x="-1.5225" data-y="-8.
|
|
15
|
-
x-" data-x="-1.5225" data-y="-8.
|
|
16
|
-
x-" data-x="-1.5225" data-y="-8.
|
|
17
|
-
x
|
|
18
|
-
x+" data-x="1.5225" data-y="-8.
|
|
19
|
-
x+" data-x="1.5225" data-y="-8.
|
|
20
|
-
x+" data-x="1.5225" data-y="-8.
|
|
21
|
-
|
|
22
|
-
orientation:
|
|
23
|
-
orientation:
|
|
24
|
-
orientation: x
|
|
25
|
-
orientation: x-" data-x="-1.5225" data-y="-8.
|
|
26
|
-
orientation: x-" data-x="-1.5225" data-y="-8.
|
|
27
|
-
orientation: x
|
|
28
|
-
orientation: x
|
|
29
|
-
orientation:
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.95,-6.6 1.5225,-8.5" data-type="line" data-label="" points="101.79719068693475,212.245526265153 475.974600731191,416.97902636136246" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8499999999999999,-6.6 -1.5225,-8.700000000000001" data-type="line" data-label="" points="220.3271117952665,212.245526265153 147.86222820858185,438.5299211083319" fill="none" stroke="hsl(172, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.95,-6.6 -2.0509999999999997,-6.6 -2.0509999999999997,-6.398999999999999" data-type="line" data-label="" points="101.79719068693475,212.245526265153 90.91398883971522,212.245526265153 90.91398883971522,190.58687704444867" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5225,-8.5 2.5735,-8.5 2.5735,-7.9990000000000006" data-type="line" data-label="" points="475.974600731191,416.97902636136246 589.2245526265153,416.97902636136246 589.2245526265153,362.99403502020414" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5225,-8.700000000000001 1.6235,-8.700000000000001 1.6235,-8.901" data-type="line" data-label="" points="475.974600731191,438.5299211083319 486.85780257841054,438.5299211083319 486.85780257841054,460.188570329036" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-1.4" data-y="-6.6" x="101.79719068693475" y="191.29209236097756" width="118.52992110833173" height="41.90686780835085" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="-8.4" x="147.86222820858188" y="352.3263421204543" width="328.1123725226091" height="107.75447373484701" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="-2.0509999999999997" data-y="-6.198999999999999" x="80.1385414662305" y="147.48508755050995" width="21.55089474696942" height="43.10178949393878" fill="#ef444466" stroke="#ef4444" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
3
|
+
globalConnNetId: connectivity_net0" data-x="2.5735" data-y="-7.799" x="578.4491052530307" y="319.89224552626524" width="21.550894746969448" height="43.101789493938895" fill="#ef444466" stroke="#ef4444" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_CS
|
|
4
|
+
globalConnNetId: connectivity_net1" data-x="-0.4989999999999999" data-y="-6.6" x="220.43486626900136" y="201.47007889166832" width="75.42813161439292" height="21.550894746969334" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_CS
|
|
5
|
+
globalConnNetId: connectivity_net1" data-x="-1.8735" data-y="-8.700000000000001" x="72.32634212045407" y="427.75447373484724" width="75.42813161439292" height="21.550894746969334" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_SCK
|
|
6
|
+
globalConnNetId: connectivity_net2" data-x="-1.9234999999999998" data-y="-8.1" x="61.55089474696943" y="363.1017894939389" width="86.20357898787759" height="21.550894746969334" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_DATA0
|
|
7
|
+
globalConnNetId: connectivity_net3" data-x="-2.0235" data-y="-8.3" x="40" y="384.65268424090846" width="107.75447373484701" height="21.550894746969334" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_DATA1
|
|
8
|
+
globalConnNetId: connectivity_net4" data-x="-2.0235" data-y="-8.5" x="40" y="406.2035789878778" width="107.75447373484701" height="21.550894746969334" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_DATA2
|
|
9
|
+
globalConnNetId: connectivity_net5" data-x="2.0235" data-y="-8.1" x="476.0823552049258" y="363.1017894939389" width="107.75447373484701" height="21.550894746969334" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_DATA3
|
|
10
|
+
globalConnNetId: connectivity_net6" data-x="2.0235" data-y="-8.3" x="476.0823552049258" y="384.65268424090846" width="107.75447373484701" height="21.550894746969334" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
11
|
+
globalConnNetId: connectivity_net7" data-x="1.6235" data-y="-9.051" x="476.0823552049258" y="460.188570329036" width="21.550894746969448" height="32.32634212045423" fill="#00000066" stroke="#000000" stroke-width="0.009280357142857142"/></g><g><circle data-type="point" data-label="R7.1
|
|
12
|
+
x-" data-x="-1.95" data-y="-6.6" cx="101.79719068693475" cy="212.245526265153" r="3" fill="hsl(232, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R7.2
|
|
13
|
+
x+" data-x="-0.8499999999999999" data-y="-6.6" cx="220.3271117952665" cy="212.245526265153" r="3" fill="hsl(233, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U5.1
|
|
14
|
+
x-" data-x="-1.5225" data-y="-8.1" cx="147.86222820858185" cy="373.87723686742356" r="3" fill="hsl(203, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U5.2
|
|
15
|
+
x-" data-x="-1.5225" data-y="-8.3" cx="147.86222820858185" cy="395.4281316143931" r="3" fill="hsl(204, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U5.3
|
|
16
|
+
x-" data-x="-1.5225" data-y="-8.5" cx="147.86222820858185" cy="416.97902636136246" r="3" fill="hsl(205, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U5.4
|
|
17
|
+
x-" data-x="-1.5225" data-y="-8.700000000000001" cx="147.86222820858185" cy="438.5299211083319" r="3" fill="hsl(206, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U5.5
|
|
18
|
+
x+" data-x="1.5225" data-y="-8.1" cx="475.974600731191" cy="373.87723686742356" r="3" fill="hsl(207, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U5.6
|
|
19
|
+
x+" data-x="1.5225" data-y="-8.3" cx="475.974600731191" cy="395.4281316143931" r="3" fill="hsl(208, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U5.7
|
|
20
|
+
x+" data-x="1.5225" data-y="-8.700000000000001" cx="475.974600731191" cy="438.5299211083319" r="3" fill="hsl(209, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U5.8
|
|
21
|
+
x+" data-x="1.5225" data-y="-8.5" cx="475.974600731191" cy="416.97902636136246" r="3" fill="hsl(210, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
22
|
+
orientation: y+" data-x="-2.0509999999999997" data-y="-6.398999999999999" cx="90.91398883971522" cy="190.58687704444867" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
23
|
+
orientation: y+" data-x="2.5735" data-y="-7.9990000000000006" cx="589.2245526265153" cy="362.99403502020414" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
24
|
+
orientation: x+" data-x="-0.8499999999999999" data-y="-6.6" cx="220.3271117952665" cy="212.245526265153" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
25
|
+
orientation: x-" data-x="-1.5225" data-y="-8.700000000000001" cx="147.86222820858185" cy="438.5299211083319" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
26
|
+
orientation: x-" data-x="-1.5225" data-y="-8.1" cx="147.86222820858185" cy="373.87723686742356" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
27
|
+
orientation: x-" data-x="-1.5225" data-y="-8.3" cx="147.86222820858185" cy="395.4281316143931" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
28
|
+
orientation: x-" data-x="-1.5225" data-y="-8.5" cx="147.86222820858185" cy="416.97902636136246" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
29
|
+
orientation: x+" data-x="1.5225" data-y="-8.1" cx="475.974600731191" cy="373.87723686742356" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
30
|
+
orientation: x+" data-x="1.5225" data-y="-8.3" cx="475.974600731191" cy="395.4281316143931" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
31
|
+
orientation: y-" data-x="1.6235" data-y="-8.901" cx="486.85780257841054" cy="460.188570329036" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
30
32
|
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
31
33
|
const svg = e.currentTarget;
|
|
32
34
|
const rect = svg.getBoundingClientRect();
|
|
@@ -48,7 +50,7 @@ orientation: y-" data-x="1.6235" data-y="-8.901" cx="491.19875655721773" cy="450
|
|
|
48
50
|
v.setAttribute('y2', '640');
|
|
49
51
|
|
|
50
52
|
// Calculate real coordinates using inverse transformation
|
|
51
|
-
const matrix = {"a":
|
|
53
|
+
const matrix = {"a":107.75447373484702,"c":0,"e":311.91841446988644,"b":0,"d":-107.75447373484702,"f":-498.9340003848373};
|
|
52
54
|
// Manually invert and apply the affine transform
|
|
53
55
|
// Since we only use translate and scale, we can directly compute:
|
|
54
56
|
// x' = (x - tx) / sx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-2.87,2.485 -2.87,1.2399999999999998" data-type="line" data-label="" points="181.61383285302594,143.82324687800187 181.61383285302594,210.79731027857824" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.87,1.2399999999999998 -2.87,3.6149999999999998" data-type="line" data-label="" points="181.61383285302594,210.79731027857824 181.61383285302594,83.03554274735825" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,1.2399999999999998 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,210.79731027857824 181.61383285302594,143.82324687800187" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,3.6149999999999998 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,83.03554274735825 181.61383285302594,143.82324687800187" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -1.2850000000000001,0.2" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 266.8780019212296,266.74351585014404" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -1.2850000000000001,-0.2" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 266.8780019212296,288.26128722382316" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -2.97,-1.0099999999999998" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0.2 -1.2850000000000001,-0.2" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 266.8780019212296,288.26128722382316" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0.2 -2.97,-1.0099999999999998" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,-0.2 -2.97,-1.0099999999999998" data-type="line" data-label="" points="266.8780019212296,288.26128722382316 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -2.97,-2.1100000000000003" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 176.23439000960616,391.00864553314113" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -0.8100000000000003,-3.005000000000001" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 292.43035542747356,439.1546589817483" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -0.75,-5.315" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -0.8100000000000003,-3.005000000000001" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 292.43035542747356,439.1546589817483" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -0.75,-5.315" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-3.005000000000001 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="292.43035542747356,439.1546589817483 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-3.005000000000001 -0.75,-5.315" data-type="line" data-label="" points="292.43035542747356,439.1546589817483 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2594553499999992,-4.739999999999999 -0.75,-5.315" data-type="line" data-label="" points="403.7555231508165,532.4879923150816 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 -0.8100000000000003,-1.9050000000000002" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 292.43035542747356,379.9807877041306" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 2.675,-1.3049999999999997" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 479.90393852065324,347.70413064361185" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 -0.75,-4.215000000000001" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-1.9050000000000002 2.675,-1.3049999999999997" data-type="line" data-label="" points="292.43035542747356,379.9807877041306 479.90393852065324,347.70413064361185" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-1.9050000000000002 -0.75,-4.215000000000001" data-type="line" data-label="" points="292.43035542747356,379.9807877041306 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.675,-1.3049999999999997 -0.75,-4.215000000000001" data-type="line" data-label="" points="479.90393852065324,347.70413064361185 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.675,-2.4349999999999996 1.2594553499999992,-3.6399999999999997" data-type="line" data-label="" points="479.90393852065324,408.4918347742554 403.7555231508165,473.3141210374639" fill="none" stroke="hsl(187, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,2.485 -2.87,1.2399999999999998" data-type="line" data-label="" points="181.61383285302594,143.82324687800187 181.61383285302594,210.79731027857824" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.87,3.6149999999999998 -2.87,3.815 -2.1099999999999994,3.815 -2.1099999999999994,2.2849999999999997 -2.87,2.2849999999999997 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,83.03554274735825 181.61383285302594,72.27665706051869 222.49759846301637,72.27665706051869 222.49759846301637,154.58213256484146 181.61383285302594,154.58213256484146 181.61383285302594,143.82324687800187" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.87,0.19999999999999973 -2.87,-2.220446049250313e-16 -2.97,-2.220446049250313e-16 -2.97,-1.0099999999999998" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 181.61383285302594,277.5024015369836 176.23439000960616,277.5024015369836 176.23439000960616,331.8347742555234" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -2.97,-3.205000000000001 -0.81,-3.205000000000001 -0.81,-3.005000000000001" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 176.23439000960616,449.91354466858786 292.4303554274736,449.91354466858786 292.4303554274736,439.1546589817483" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2594553499999988,-4.739999999999999 1.2594553499999988,-5.515000000000001 -0.75,-5.515000000000001 -0.75,-5.315" data-type="line" data-label="" points="403.75552315081643,532.4879923150816 403.75552315081643,574.178674351585 295.6580211335255,574.178674351585 295.6580211335255,563.4197886647453" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2850000000000001,0.1 2.675,0.1 2.675,-1.3049999999999997" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 479.90393852065324,272.1229586935638 479.90393852065324,347.70413064361185" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6749999999999994,-2.4349999999999996 2.6749999999999994,-3.0374999999999996 1.2594553499999992,-3.0374999999999996 1.2594553499999992,-3.6399999999999997" data-type="line" data-label="" points="479.9039385206532,408.4918347742554 479.9039385206532,440.90297790585964 403.7555231508165,440.90297790585964 403.7555231508165,473.3141210374639" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,0.20000000000000018 -1.485,0.20000000000000018 -1.485,-4.440892098500626e-16 -2.87,-4.440892098500626e-16 -2.87,0.19999999999999973" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 256.11911623439005,266.74351585014404 256.11911623439005,277.5024015369836 181.61383285302594,277.5024015369836 181.61383285302594,266.74351585014404" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,-0.2 -1.485,-0.2 -1.485,0.2 -1.2850000000000001,0.2" data-type="line" data-label="" points="266.8780019212296,288.26128722382316 256.11911623439005,288.26128722382316 256.11911623439005,266.74351585014404 266.8780019212296,266.74351585014404" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,0 -1.3860000000000001,0 -1.3860000000000001,-0.601" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 261.4447646493756,277.5024015369836 261.4447646493756,309.8328530259365" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-2.71" data-y="0.7199999999999998" x="167.08933717579254" y="210.79731027857827" width="46.26320845341016" height="55.9462055715658" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-3.25" data-y="3.05" x="110.60518731988473" y="83.03554274735826" width="101.13352545629206" height="60.78770413064362" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="266.8780019212296" y="261.36407300672425" width="138.25168107588854" height="32.27665706051869" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-2.755" data-y="-1.56" x="161.9788664745437" y="331.8347742555235" width="51.642651296830024" height="59.17387127761771" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-0.5950000000000002" data-y="-2.4550000000000005" x="278.17483189241113" y="379.98078770413053" width="51.64265129682997" height="59.17387127761771" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="2.9724999999999997" data-y="-1.8699999999999997" x="462.4207492795389" y="347.70413064361185" width="66.97406340057637" height="60.78770413064353" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="1.5519553499999992" data-y="-4.1899999999999995" x="393.29490874159455" y="473.31412103746385" width="52.3909694524495" height="59.17387127761765" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-0.5950000000000001" data-y="-4.765000000000001" x="281.402497598463" y="504.24591738712775" width="45.18731988472621" height="59.173871277617536" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
1
|
+
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-2.87,2.485 -2.87,1.2399999999999998" data-type="line" data-label="" points="181.61383285302594,143.82324687800187 181.61383285302594,210.79731027857824" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.87,1.2399999999999998 -2.87,3.6149999999999998" data-type="line" data-label="" points="181.61383285302594,210.79731027857824 181.61383285302594,83.03554274735825" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,1.2399999999999998 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,210.79731027857824 181.61383285302594,143.82324687800187" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,3.6149999999999998 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,83.03554274735825 181.61383285302594,143.82324687800187" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -1.2850000000000001,0.2" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 266.8780019212296,266.74351585014404" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -1.2850000000000001,-0.2" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 266.8780019212296,288.26128722382316" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,0.19999999999999973 -2.97,-1.0099999999999998" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0.2 -1.2850000000000001,-0.2" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 266.8780019212296,288.26128722382316" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0.2 -2.97,-1.0099999999999998" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,-0.2 -2.97,-1.0099999999999998" data-type="line" data-label="" points="266.8780019212296,288.26128722382316 176.23439000960616,331.8347742555234" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -2.97,-2.1100000000000003" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 176.23439000960616,391.00864553314113" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -0.8100000000000003,-3.005000000000001" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 292.43035542747356,439.1546589817483" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2850000000000001,0 -0.75,-5.315" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -0.8100000000000003,-3.005000000000001" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 292.43035542747356,439.1546589817483" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -0.75,-5.315" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-3.005000000000001 1.2594553499999992,-4.739999999999999" data-type="line" data-label="" points="292.43035542747356,439.1546589817483 403.7555231508165,532.4879923150816" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-3.005000000000001 -0.75,-5.315" data-type="line" data-label="" points="292.43035542747356,439.1546589817483 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2594553499999992,-4.739999999999999 -0.75,-5.315" data-type="line" data-label="" points="403.7555231508165,532.4879923150816 295.6580211335255,563.4197886647453" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 -0.8100000000000003,-1.9050000000000002" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 292.43035542747356,379.9807877041306" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 2.675,-1.3049999999999997" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 479.90393852065324,347.70413064361185" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2850000000000001,0.1 -0.75,-4.215000000000001" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-1.9050000000000002 2.675,-1.3049999999999997" data-type="line" data-label="" points="292.43035542747356,379.9807877041306 479.90393852065324,347.70413064361185" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8100000000000003,-1.9050000000000002 -0.75,-4.215000000000001" data-type="line" data-label="" points="292.43035542747356,379.9807877041306 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.675,-1.3049999999999997 -0.75,-4.215000000000001" data-type="line" data-label="" points="479.90393852065324,347.70413064361185 295.6580211335255,504.24591738712775" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.675,-2.4349999999999996 1.2594553499999992,-3.6399999999999997" data-type="line" data-label="" points="479.90393852065324,408.4918347742554 403.7555231508165,473.3141210374639" fill="none" stroke="hsl(187, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.87,2.485 -2.87,1.2399999999999998" data-type="line" data-label="" points="181.61383285302594,143.82324687800187 181.61383285302594,210.79731027857824" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.87,3.6149999999999998 -2.87,3.815 -2.1099999999999994,3.815 -2.1099999999999994,2.2849999999999997 -2.87,2.2849999999999997 -2.87,2.485" data-type="line" data-label="" points="181.61383285302594,83.03554274735825 181.61383285302594,72.27665706051869 222.49759846301637,72.27665706051869 222.49759846301637,154.58213256484146 181.61383285302594,154.58213256484146 181.61383285302594,143.82324687800187" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.87,0.19999999999999973 -2.87,-2.220446049250313e-16 -2.97,-2.220446049250313e-16 -2.97,-1.0099999999999998" data-type="line" data-label="" points="181.61383285302594,266.74351585014404 181.61383285302594,277.5024015369836 176.23439000960616,277.5024015369836 176.23439000960616,331.8347742555234" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.97,-2.1100000000000003 -2.97,-3.205000000000001 -0.81,-3.205000000000001 -0.81,-3.005000000000001" data-type="line" data-label="" points="176.23439000960616,391.00864553314113 176.23439000960616,449.91354466858786 292.4303554274736,449.91354466858786 292.4303554274736,439.1546589817483" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2594553499999988,-4.739999999999999 1.2594553499999988,-5.515000000000001 -0.75,-5.515000000000001 -0.75,-5.315" data-type="line" data-label="" points="403.75552315081643,532.4879923150816 403.75552315081643,574.178674351585 295.6580211335255,574.178674351585 295.6580211335255,563.4197886647453" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2850000000000001,0.1 2.675,0.1 2.675,-1.3049999999999997" data-type="line" data-label="" points="405.12968299711815,272.1229586935638 479.90393852065324,272.1229586935638 479.90393852065324,347.70413064361185" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,0.20000000000000018 -1.485,0.2 -1.485,-4.440892098500626e-16 -2.87,-4.440892098500626e-16 -2.87,0.19999999999999973" data-type="line" data-label="" points="266.8780019212296,266.74351585014404 256.11911623439005,266.74351585014404 256.11911623439005,277.5024015369836 181.61383285302594,277.5024015369836 181.61383285302594,266.74351585014404" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,-0.2 -1.485,-0.2 -1.485,0.2 -1.2850000000000001,0.2" data-type="line" data-label="" points="266.8780019212296,288.26128722382316 256.11911623439005,288.26128722382316 256.11911623439005,266.74351585014404 266.8780019212296,266.74351585014404" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2850000000000001,0 -1.3860000000000001,0 -1.3860000000000001,-0.601" data-type="line" data-label="" points="266.8780019212296,277.5024015369836 261.4447646493756,277.5024015369836 261.4447646493756,309.8328530259365" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-2.71" data-y="0.7199999999999998" x="167.08933717579254" y="210.79731027857827" width="46.26320845341016" height="55.9462055715658" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-3.25" data-y="3.05" x="110.60518731988473" y="83.03554274735826" width="101.13352545629206" height="60.78770413064362" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="266.8780019212296" y="261.36407300672425" width="138.25168107588854" height="32.27665706051869" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-2.755" data-y="-1.56" x="161.9788664745437" y="331.8347742555235" width="51.642651296830024" height="59.17387127761771" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-0.5950000000000002" data-y="-2.4550000000000005" x="278.17483189241113" y="379.98078770413053" width="51.64265129682997" height="59.17387127761771" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="2.9724999999999997" data-y="-1.8699999999999997" x="462.4207492795389" y="347.70413064361185" width="66.97406340057637" height="60.78770413064353" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="1.5519553499999992" data-y="-4.1899999999999995" x="393.29490874159455" y="473.31412103746385" width="52.3909694524495" height="59.17387127761765" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-0.5950000000000001" data-y="-4.765000000000001" x="281.402497598463" y="504.24591738712775" width="45.18731988472621" height="59.173871277617536" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
2
2
|
globalConnNetId: connectivity_net0" data-x="-2.87" data-y="4.115" x="176.23439000960616" y="39.99999999999993" width="10.75888568683959" height="32.276657060518716" fill="#ef444466" stroke="#ef4444" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: RAW
|
|
3
3
|
globalConnNetId: connectivity_net1" data-x="-1.725" data-y="-0.2" x="230.297790585975" y="282.8818443804034" width="25.821325648415012" height="10.758885686839562" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
4
4
|
globalConnNetId: connectivity_net2" data-x="-1.3860000000000001" data-y="-0.841" x="256.0653218059558" y="309.8328530259365" width="10.758885686839562" height="25.821325648414984" fill="#00000066" stroke="#000000" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
@@ -7,7 +7,8 @@ globalConnNetId: connectivity_net2" data-x="1.2594553499999988" data-y="-5.75500
|
|
|
7
7
|
globalConnNetId: connectivity_net3" data-x="2.675" data-y="0.4" x="474.52449567723346" y="239.84630163304507" width="10.758885686839562" height="32.276657060518744" fill="#ef444466" stroke="#ef4444" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
8
8
|
globalConnNetId: connectivity_net3" data-x="-0.8100000000000003" data-y="-1.6040000000000003" x="287.0509125840538" y="347.6503362151776" width="10.758885686839562" height="32.2766570605188" fill="#ef444466" stroke="#ef4444" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
9
9
|
globalConnNetId: connectivity_net3" data-x="-0.75" data-y="-3.914000000000001" x="290.27857829010566" y="471.91546589817483" width="10.75888568683962" height="32.27665706051869" fill="#ef444466" stroke="#ef4444" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: PWR_LED_K
|
|
10
|
-
globalConnNetId: connectivity_net4" data-x="2.
|
|
10
|
+
globalConnNetId: connectivity_net4" data-x="2.675" data-y="-3.0359999999999996" x="474.52449567723346" y="408.5456292026896" width="10.758885686839562" height="64.55331412103749" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018589285714285714"/></g><g><rect data-type="rect" data-label="netId: PWR_LED_K
|
|
11
|
+
globalConnNetId: connectivity_net4" data-x="1.2594553499999992" data-y="-3.0389999999999997" x="398.3760803073967" y="408.70701248799224" width="10.758885686839562" height="64.55331412103749" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018589285714285714"/></g><g><circle data-type="point" data-label="DPROT.1
|
|
11
12
|
y+" data-x="-2.87" data-y="1.2399999999999998" cx="181.61383285302594" cy="210.79731027857824" r="3" fill="hsl(38, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="DPROT.2
|
|
12
13
|
y-" data-x="-2.87" data-y="0.19999999999999973" cx="181.61383285302594" cy="266.74351585014404" r="3" fill="hsl(39, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="F1.1
|
|
13
14
|
y+" data-x="-2.87" data-y="3.6149999999999998" cx="181.61383285302594" cy="83.03554274735825" r="3" fill="hsl(214, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="F1.2
|
|
@@ -35,7 +36,8 @@ orientation: y-" data-x="1.2594553499999988" data-y="-5.515000000000001" cx="403
|
|
|
35
36
|
orientation: y+" data-x="2.675" data-y="0.1" cx="479.90393852065324" cy="272.1229586935638" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
36
37
|
orientation: y+" data-x="-0.8100000000000003" data-y="-1.9050000000000002" cx="292.43035542747356" cy="379.9807877041306" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
37
38
|
orientation: y+" data-x="-0.75" data-y="-4.215000000000001" cx="295.6580211335255" cy="504.24591738712775" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
38
|
-
orientation:
|
|
39
|
+
orientation: y-" data-x="2.675" data-y="-2.4349999999999996" cx="479.90393852065324" cy="408.4918347742554" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
40
|
+
orientation: y+" data-x="1.2594553499999992" data-y="-3.6399999999999997" cx="403.7555231508165" cy="473.3141210374639" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
39
41
|
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
40
42
|
const svg = e.currentTarget;
|
|
41
43
|
const rect = svg.getBoundingClientRect();
|