@tscircuit/schematic-trace-solver 0.0.118 → 0.0.120
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 -1
- package/dist/index.js +135 -4
- package/lib/solvers/AvailableNetOrientationSolver/AvailableNetOrientationSolver.ts +200 -6
- package/lib/solvers/AvailableNetOrientationSolver/types.ts +2 -0
- package/package.json +1 -1
- package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +3 -3
- package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +3 -3
- package/tests/bug-reports/bug-report-20260728T225606Z/__snapshots__/bug-report-20260728T225606Z.snap.svg +3 -3
- package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +3 -3
- package/tests/repros/__snapshots__/repro-ground-label-on-lower-rail-end.snap.svg +58 -0
- package/tests/repros/__snapshots__/repro-power-group-rail-labels.snap.svg +58 -0
- package/tests/repros/__snapshots__/repro-rp2040-v3v3-label-placement.snap.svg +96 -0
- package/tests/repros/repro-ground-label-on-lower-rail-end.test.ts +84 -0
- package/tests/repros/repro-power-group-rail-labels.test.ts +95 -0
- package/tests/repros/repro-rp2040-v3v3-label-placement.test.ts +102 -0
|
@@ -1,6 +1,6 @@
|
|
|
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.1800000000000002,2.000000000000001 -2.9699999999999998,4.3" data-type="line" data-label="" points="278.6468919877098,243.23327818482625 160.18789884188138,91.02339872370601" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,2.000000000000001 -2.67,3.3800000000000003" data-type="line" data-label="" points="278.6468919877098,243.23327818482625 180.04136138028838,151.90735050815408" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.02,-2.1000000000000005 2.1399999999999997,-2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,514.5639328763887 498.3585440794139,548.9766012762941" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.8000000000000007 -4.1425,3.000000000000001" data-type="line" data-label="" points="278.6468919877098,256.4689198770976 82.5939494209407,177.0550697234696" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.6000000000000008 -4.1425,2.200000000000002" data-type="line" data-label="" points="278.6468919877098,269.70456156936893 82.5939494209407,229.99763649255485" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.4000000000000008 -4.1425,1.4000000000000015" data-type="line" data-label="" points="278.6468919877098,282.94020326164025 82.5939494209407,282.9402032616402" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.2000000000000008 -4.1425,0.6000000000000012" data-type="line" data-label="" points="278.6468919877098,296.17584495391156 82.5939494209407,335.88277003072557" fill="none" stroke="hsl(272, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.0000000000000009 -4.1425,-0.1999999999999991" data-type="line" data-label="" points="278.6468919877098,309.4114866461829 82.5939494209407,388.8253367998109" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,-2.0000000000000004 -1.7425000000000002,-2.0000000000000004" data-type="line" data-label="" points="278.6468919877098,507.94611203025295 241.42164972819666,507.94611203025295" fill="none" stroke="hsl(88, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,2.400000000000001 2.02,0.49999999999999956" data-type="line" data-label="" points="278.6468919877098,216.7619948002836 490.41715906405113,342.50059087686134" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.1800000000000002,2.400000000000001 2.02,0.6999999999999997" data-type="line" data-label="" points="278.6468919877098,216.7619948002836 490.41715906405113,329.26494918458997" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.1800000000000002,2.400000000000001 -2.67,2.6199999999999997" data-type="line" data-label="" points="278.6468919877098,216.7619948002836 180.04136138028838,202.2027889387852" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.1800000000000002,2.400000000000001 3.08,-2.6199999999999997" data-type="line" data-label="" points="278.6468919877098,216.7619948002836 560.5660600330891,548.9766012762941" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.49999999999999956 2.02,0.6999999999999997" data-type="line" data-label="" points="490.41715906405113,342.50059087686134 490.41715906405113,329.26494918458997" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.49999999999999956 -2.67,2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,342.50059087686134 180.04136138028838,202.2027889387852" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.49999999999999956 3.08,-2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,342.50059087686134 560.5660600330891,548.9766012762941" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.6999999999999997 -2.67,2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,329.26494918458997 180.04136138028838,202.2027889387852" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.6999999999999997 3.08,-2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,329.26494918458997 560.5660600330891,548.9766012762941" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.67,2.6199999999999997 3.08,-2.6199999999999997" data-type="line" data-label="" points="180.04136138028838,202.2027889387852 560.5660600330891,548.9766012762941" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.1800000000000002,2.2000000000000006 -2.37,4.3" data-type="line" data-label="" points="278.6468919877098,229.99763649255493 199.89482391869535,91.02339872370601" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.67,3.3800000000000003 -2.67,3.84 -3.17,3.84 -3.17,4.3 -2.9699999999999998,4.3" data-type="line" data-label="" points="180.04136138028838,151.90735050815408 180.04136138028838,121.46537461593005 146.95225714961003,121.46537461593005 146.95225714961003,91.02339872370601 160.18789884188138,91.02339872370601" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.02,-2.1000000000000005 2.08,-2.1000000000000005 2.08,-2.6199999999999997 2.1399999999999997,-2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,514.5639328763887 494.38785157173254,514.5639328763887 494.38785157173254,548.9766012762941 498.3585440794139,548.9766012762941" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.6000000000000008 -3.8312500000000003,1.6000000000000008 -3.8312500000000003,2.200000000000002 -4.1425,2.200000000000002" data-type="line" data-label="" points="278.6468919877098,269.70456156936893 103.19191680453793,269.70456156936893 103.19191680453793,229.99763649255485 82.5939494209407,229.99763649255485" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.4000000000000008 -4.1425,1.4000000000000015" data-type="line" data-label="" points="278.6468919877098,282.94020326164025 82.5939494209407,282.9402032616402" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.2000000000000008 -2.66125,1.2000000000000008 -2.66125,0.6000000000000012 -4.1425,0.6000000000000012" data-type="line" data-label="" points="278.6468919877098,296.17584495391156 180.62042070432526,296.17584495391156 180.62042070432526,335.88277003072557 82.5939494209407,335.88277003072557" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.0000000000000009 -1.3800000000000001,1.0000000000000009 -1.3800000000000001,-0.1999999999999991 -4.1425,-0.1999999999999991" data-type="line" data-label="" points="278.6468919877098,309.4114866461829 265.41125029543844,309.4114866461829 265.41125029543844,388.8253367998109 82.5939494209407,388.8253367998109" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,-2.0000000000000004 -1.7425000000000002,-2.0000000000000004" data-type="line" data-label="" points="278.6468919877098,507.94611203025295 241.42164972819666,507.94611203025295" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.67,2.6199999999999997 -2.67,2.400000000000001 -1.1800000000000002,2.400000000000001" data-type="line" data-label="" points="180.04136138028838,202.2027889387852 180.04136138028838,216.7619948002836 278.6468919877098,216.7619948002836" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.02,0.6999999999999997 2.22,0.6999999999999997 2.22,0.49999999999999956 2.02,0.49999999999999956" data-type="line" data-label="" points="490.41715906405113,329.26494918458997 503.65280075632245,329.26494918458997 503.65280075632245,342.50059087686134 490.41715906405113,342.50059087686134" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.8000000000000007 -3.63125,1.8000000000000007 -3.63125,3.000000000000001 -4.1425,3.000000000000001" data-type="line" data-label="" points="278.6468919877098,256.4689198770976 116.42755849680927,256.4689198770976 116.42755849680927,177.0550697234696 82.5939494209407,177.0550697234696" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.22,0.6999999999999997 2.51,0.6999999999999997 2.51,0.6989999999999997" data-type="line" data-label="" points="503.65280075632245,329.26494918458997 522.8444812101159,329.26494918458997 522.8444812101159,329.33112739305136" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.08,-2.6199999999999997 3.321,-2.6199999999999997 3.321,-2.9709999999999996" data-type="line" data-label="" points="560.5660600330891,548.9766012762941 576.5150082722762,548.9766012762941 576.5150082722762,572.2051524462303" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,2.2000000000000006 -1.481,2.2000000000000006 -1.481,2.5010000000000003" data-type="line" data-label="" points="278.6468919877098,229.99763649255493 258.72725124084144,229.99763649255493 258.72725124084144,210.0779957456866" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.37,4.3 -2.0690000000000004,4.3 -2.0690000000000004,4.651" data-type="line" data-label="" points="199.89482391869535,91.02339872370601 219.8144646655637,91.02339872370601 219.8144646655637,67.79484755376978" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0.41999999999999993" data-y="0" x="278.64689198770975" y="210.14417395414796" width="211.77026707634133" height="330.89104230678333" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.67" data-y="4.3" x="160.1878988418814" y="68.52280784684476" width="39.706925076813974" height="45.001181753722506" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-2.5975" data-y="3" x="150.2611675726779" y="151.90735050815408" width="69.15622784211772" height="50.29543843063112" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="2.61" data-y="-2.57" x="498.35854407941383" y="521.8795797683764" width="62.20751595367523" height="47.576222169699804" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-1.9425" data-y="-2.0000000000000004" x="214.95036634365403" y="501.32829118411723" width="26.47128338454263" height="13.235641692271372" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-4.3425" data-y="3.000000000000001" x="56.12266603639799" y="170.4372488773339" width="26.471283384542687" height="13.235641692271344" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-4.3425" data-y="2.200000000000002" x="56.12266603639799" y="223.37981564641916" width="26.471283384542687" height="13.235641692271344" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-4.3425" data-y="1.4000000000000015" x="56.12266603639799" y="276.32238241550453" width="26.471283384542687" height="13.235641692271315" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="-4.3425" data-y="0.6000000000000012" x="56.12266603639799" y="329.2649491845899" width="26.471283384542687" height="13.235641692271315" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="-4.3425" data-y="-0.19999999999999907" x="56.12266603639799" y="382.2075159536752" width="26.471283384542687" height="13.235641692271315" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="ESP32_S3_WROOM_1_N16R8" data-x="0.5399999999999998" data-y="-2.63" x="305.1181753722525" y="543.6823445993855" width="174.71047033798158" height="11.912077523044218" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.66" data-y="2.615" x="301.1474828645711" y="194.26140392342236" width="23.82415504608838" height="16.544552115339172" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
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.1800000000000002,2.000000000000001 -2.9699999999999998,4.3" data-type="line" data-label="" points="278.6468919877098,243.23327818482625 160.18789884188138,91.02339872370601" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,2.000000000000001 -2.67,3.3800000000000003" data-type="line" data-label="" points="278.6468919877098,243.23327818482625 180.04136138028838,151.90735050815408" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.02,-2.1000000000000005 2.1399999999999997,-2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,514.5639328763887 498.3585440794139,548.9766012762941" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.8000000000000007 -4.1425,3.000000000000001" data-type="line" data-label="" points="278.6468919877098,256.4689198770976 82.5939494209407,177.0550697234696" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.6000000000000008 -4.1425,2.200000000000002" data-type="line" data-label="" points="278.6468919877098,269.70456156936893 82.5939494209407,229.99763649255485" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.4000000000000008 -4.1425,1.4000000000000015" data-type="line" data-label="" points="278.6468919877098,282.94020326164025 82.5939494209407,282.9402032616402" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.2000000000000008 -4.1425,0.6000000000000012" data-type="line" data-label="" points="278.6468919877098,296.17584495391156 82.5939494209407,335.88277003072557" fill="none" stroke="hsl(272, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.0000000000000009 -4.1425,-0.1999999999999991" data-type="line" data-label="" points="278.6468919877098,309.4114866461829 82.5939494209407,388.8253367998109" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,-2.0000000000000004 -1.7425000000000002,-2.0000000000000004" data-type="line" data-label="" points="278.6468919877098,507.94611203025295 241.42164972819666,507.94611203025295" fill="none" stroke="hsl(88, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,2.400000000000001 2.02,0.49999999999999956" data-type="line" data-label="" points="278.6468919877098,216.7619948002836 490.41715906405113,342.50059087686134" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.1800000000000002,2.400000000000001 2.02,0.6999999999999997" data-type="line" data-label="" points="278.6468919877098,216.7619948002836 490.41715906405113,329.26494918458997" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.1800000000000002,2.400000000000001 -2.67,2.6199999999999997" data-type="line" data-label="" points="278.6468919877098,216.7619948002836 180.04136138028838,202.2027889387852" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.1800000000000002,2.400000000000001 3.08,-2.6199999999999997" data-type="line" data-label="" points="278.6468919877098,216.7619948002836 560.5660600330891,548.9766012762941" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.49999999999999956 2.02,0.6999999999999997" data-type="line" data-label="" points="490.41715906405113,342.50059087686134 490.41715906405113,329.26494918458997" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.49999999999999956 -2.67,2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,342.50059087686134 180.04136138028838,202.2027889387852" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.49999999999999956 3.08,-2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,342.50059087686134 560.5660600330891,548.9766012762941" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.6999999999999997 -2.67,2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,329.26494918458997 180.04136138028838,202.2027889387852" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.02,0.6999999999999997 3.08,-2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,329.26494918458997 560.5660600330891,548.9766012762941" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.67,2.6199999999999997 3.08,-2.6199999999999997" data-type="line" data-label="" points="180.04136138028838,202.2027889387852 560.5660600330891,548.9766012762941" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.1800000000000002,2.2000000000000006 -2.37,4.3" data-type="line" data-label="" points="278.6468919877098,229.99763649255493 199.89482391869535,91.02339872370601" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.67,3.3800000000000003 -2.67,3.84 -3.17,3.84 -3.17,4.3 -2.9699999999999998,4.3" data-type="line" data-label="" points="180.04136138028838,151.90735050815408 180.04136138028838,121.46537461593005 146.95225714961003,121.46537461593005 146.95225714961003,91.02339872370601 160.18789884188138,91.02339872370601" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.02,-2.1000000000000005 2.08,-2.1000000000000005 2.08,-2.6199999999999997 2.1399999999999997,-2.6199999999999997" data-type="line" data-label="" points="490.41715906405113,514.5639328763887 494.38785157173254,514.5639328763887 494.38785157173254,548.9766012762941 498.3585440794139,548.9766012762941" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.6000000000000008 -3.8312500000000003,1.6000000000000008 -3.8312500000000003,2.200000000000002 -4.1425,2.200000000000002" data-type="line" data-label="" points="278.6468919877098,269.70456156936893 103.19191680453793,269.70456156936893 103.19191680453793,229.99763649255485 82.5939494209407,229.99763649255485" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.4000000000000008 -4.1425,1.4000000000000015" data-type="line" data-label="" points="278.6468919877098,282.94020326164025 82.5939494209407,282.9402032616402" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.2000000000000008 -2.66125,1.2000000000000008 -2.66125,0.6000000000000012 -4.1425,0.6000000000000012" data-type="line" data-label="" points="278.6468919877098,296.17584495391156 180.62042070432526,296.17584495391156 180.62042070432526,335.88277003072557 82.5939494209407,335.88277003072557" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.0000000000000009 -1.3800000000000001,1.0000000000000009 -1.3800000000000001,-0.1999999999999991 -4.1425,-0.1999999999999991" data-type="line" data-label="" points="278.6468919877098,309.4114866461829 265.41125029543844,309.4114866461829 265.41125029543844,388.8253367998109 82.5939494209407,388.8253367998109" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,-2.0000000000000004 -1.7425000000000002,-2.0000000000000004" data-type="line" data-label="" points="278.6468919877098,507.94611203025295 241.42164972819666,507.94611203025295" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.67,2.6199999999999997 -2.67,2.400000000000001 -1.1800000000000002,2.400000000000001" data-type="line" data-label="" points="180.04136138028838,202.2027889387852 180.04136138028838,216.7619948002836 278.6468919877098,216.7619948002836" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.02,0.6999999999999997 2.22,0.6999999999999997 2.22,0.49999999999999956 2.02,0.49999999999999956" data-type="line" data-label="" points="490.41715906405113,329.26494918458997 503.65280075632245,329.26494918458997 503.65280075632245,342.50059087686134 490.41715906405113,342.50059087686134" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,1.8000000000000007 -3.63125,1.8000000000000007 -3.63125,3.000000000000001 -4.1425,3.000000000000001" data-type="line" data-label="" points="278.6468919877098,256.4689198770976 116.42755849680927,256.4689198770976 116.42755849680927,177.0550697234696 82.5939494209407,177.0550697234696" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.22,0.49999999999999956 2.51,0.49999999999999956" data-type="line" data-label="" points="503.65280075632245,342.50059087686134 522.8444812101159,342.50059087686134" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.08,-2.6199999999999997 3.321,-2.6199999999999997 3.321,-2.9709999999999996" data-type="line" data-label="" points="560.5660600330891,548.9766012762941 576.5150082722762,548.9766012762941 576.5150082722762,572.2051524462303" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.1800000000000002,2.2000000000000006 -1.481,2.2000000000000006 -1.481,2.5010000000000003" data-type="line" data-label="" points="278.6468919877098,229.99763649255493 258.72725124084144,229.99763649255493 258.72725124084144,210.0779957456866" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.37,4.3 -2.0690000000000004,4.3 -2.0690000000000004,4.651" data-type="line" data-label="" points="199.89482391869535,91.02339872370601 219.8144646655637,91.02339872370601 219.8144646655637,67.79484755376978" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0.41999999999999993" data-y="0" x="278.64689198770975" y="210.14417395414796" width="211.77026707634133" height="330.89104230678333" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.67" data-y="4.3" x="160.1878988418814" y="68.52280784684476" width="39.706925076813974" height="45.001181753722506" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-2.5975" data-y="3" x="150.2611675726779" y="151.90735050815408" width="69.15622784211772" height="50.29543843063112" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="2.61" data-y="-2.57" x="498.35854407941383" y="521.8795797683764" width="62.20751595367523" height="47.576222169699804" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-1.9425" data-y="-2.0000000000000004" x="214.95036634365403" y="501.32829118411723" width="26.47128338454263" height="13.235641692271372" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-4.3425" data-y="3.000000000000001" x="56.12266603639799" y="170.4372488773339" width="26.471283384542687" height="13.235641692271344" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-4.3425" data-y="2.200000000000002" x="56.12266603639799" y="223.37981564641916" width="26.471283384542687" height="13.235641692271344" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-4.3425" data-y="1.4000000000000015" x="56.12266603639799" y="276.32238241550453" width="26.471283384542687" height="13.235641692271315" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="-4.3425" data-y="0.6000000000000012" x="56.12266603639799" y="329.2649491845899" width="26.471283384542687" height="13.235641692271315" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="-4.3425" data-y="-0.19999999999999907" x="56.12266603639799" y="382.2075159536752" width="26.471283384542687" height="13.235641692271315" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="ESP32_S3_WROOM_1_N16R8" data-x="0.5399999999999998" data-y="-2.63" x="305.1181753722525" y="543.6823445993855" width="174.71047033798158" height="11.912077523044218" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.66" data-y="2.615" x="301.1474828645711" y="194.26140392342236" width="23.82415504608838" height="16.544552115339172" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
2
2
|
globalConnNetId: connectivity_net8" data-x="-2.67" data-y="2.190000000000001" x="164.15859134956276" y="216.7619948002836" width="31.765540061451247" height="27.794847553769785" fill="#00000066" stroke="#000000" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
3
|
-
globalConnNetId: connectivity_net8" data-x="2.51" data-y="0.
|
|
3
|
+
globalConnNetId: connectivity_net8" data-x="2.51" data-y="0.2899999999999996" x="506.96171117939025" y="342.50059087686134" width="31.765540061451247" height="27.794847553769785" fill="#00000066" stroke="#000000" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
4
4
|
globalConnNetId: connectivity_net8" data-x="3.321" data-y="-3.1809999999999996" x="560.6322382415506" y="572.2051524462304" width="31.765540061451134" height="27.794847553769728" fill="#00000066" stroke="#000000" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
5
5
|
globalConnNetId: connectivity_net9" data-x="-1.481" data-y="2.7110000000000003" x="238.87378870243447" y="182.2831481919168" width="39.706925076813974" height="27.794847553769785" fill="#ef444466" stroke="#ef4444" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="netId: V3V3
|
|
6
6
|
globalConnNetId: connectivity_net9" data-x="-2.0690000000000004" data-y="4.861" x="199.9610021271567" y="40.00000000000003" width="39.706925076813974" height="27.794847553769785" fill="#ef444466" stroke="#ef4444" stroke-width="0.015110714285714285"/></g><g><rect data-type="rect" data-label="netId: .U1 > .EN to .C_EN > .pin1
|
|
@@ -74,7 +74,7 @@ x+" data-x="-4.1425" data-y="1.4000000000000015" cx="82.5939494209407" cy="282.9
|
|
|
74
74
|
x+" data-x="-4.1425" data-y="0.6000000000000012" cx="82.5939494209407" cy="335.88277003072557" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_60
|
|
75
75
|
x+" data-x="-4.1425" data-y="-0.1999999999999991" cx="82.5939494209407" cy="388.8253367998109" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
76
76
|
orientation: y-" data-x="-2.67" data-y="2.400000000000001" cx="180.04136138028838" cy="216.7619948002836" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
77
|
-
orientation: y-" data-x="2.51" data-y="0.
|
|
77
|
+
orientation: y-" data-x="2.51" data-y="0.49999999999999956" cx="522.8444812101159" cy="342.50059087686134" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
78
78
|
orientation: y-" data-x="3.321" data-y="-2.9709999999999996" cx="576.5150082722762" cy="572.2051524462303" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
79
79
|
orientation: y+" data-x="-1.481" data-y="2.5010000000000003" cx="258.72725124084144" cy="210.0779957456866" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
80
80
|
orientation: y+" data-x="-2.0690000000000004" data-y="4.651" cx="219.8144646655637" cy="67.79484755376978" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
@@ -1,5 +1,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="13.45,16 8.9,14.5" data-type="line" data-label="" points="439.8389477922427,115.96732009126299 97.87142665414046,228.70386552140667" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="14.55,16 8.9,15.1" data-type="line" data-label="" points="522.5124144410149,115.96732009126299 97.87142665414046,183.6092473493493" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="13.45,14 11.1,13.1" data-type="line" data-label="" points="439.8389477922427,266.28271399812115 263.2183599516844,333.92464125620734" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="8.9,15.1 8.9,14.7" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 97.87142665414046,213.67232613072088" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,15.1 11.1,13.3" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 263.2183599516844,318.89310186552143" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,15.1 14.55,14" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 522.5124144410149,266.28271399812115" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,15.1 14.55,16" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 11.1,13.3" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 263.2183599516844,318.89310186552143" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 14.55,14" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 522.5124144410149,266.28271399812115" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 14.55,16" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,13.3 14.55,14" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 522.5124144410149,266.28271399812115" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,13.3 14.55,16" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="14.55,14 14.55,16" data-type="line" data-label="" points="522.5124144410149,266.28271399812115 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 8.9,14.5" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 97.87142665414046,228.70386552140667" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 11.1,12.7" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 263.2183599516844,363.98772003757904" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 13.14,10" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 416.54006173667983,566.9135018118375" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 13.45,16" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 11.1,12.7" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 263.2183599516844,363.98772003757904" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 13.14,10" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 416.54006173667983,566.9135018118375" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 13.45,16" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,12.7 13.14,10" data-type="line" data-label="" points="263.2183599516844,363.98772003757904 416.54006173667983,566.9135018118375" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,12.7 13.45,16" data-type="line" data-label="" points="263.2183599516844,363.98772003757904 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="13.14,10 13.45,16" data-type="line" data-label="" points="416.54006173667983,566.9135018118375 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,15.5 14.86,10" data-type="line" data-label="" points="263.2183599516844,153.54616856797747 545.8113004965778,566.9135018118375" fill="none" stroke="hsl(50, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 8.600000000000001,14.5 8.600000000000001,14.9 8.9,14.9" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 75.32411756811189,228.70386552140667 75.32411756811189,198.64078674003486 97.87142665414046,198.64078674003486" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="14.55,16 14.75,16 14.75,14 14.55,14" data-type="line" data-label="" points="522.5124144410149,115.96732009126299 537.5439538317005,115.96732009126299 537.5439538317005,266.28271399812115 522.5124144410149,266.28271399812115" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.9,14.7 8.8,14.7 8.8,15.1 8.9,15.1" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 90.35565695879757,213.67232613072088 90.35565695879757,183.6092473493493 97.87142665414046,183.6092473493493" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="13.45,16 12.274999999999999,16 12.274999999999999,13.299999999999999 13.630999999999998,13.299999999999999 13.630999999999998,12.9 12.274999999999999,12.9 12.274999999999999,12.7 11.1,12.7" data-type="line" data-label="" points="439.8389477922427,115.96732009126299 351.52865387196346,115.96732009126299 351.52865387196346,318.89310186552154 453.4424909408133,318.89310186552154 453.4424909408133,348.95618064689313 351.52865387196346,348.95618064689313 351.52865387196346,363.98772003757904 263.2183599516844,363.98772003757904" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="14.75,16 15.010000000000002,16 15.010000000000002,15.999" data-type="line" data-label="" points="537.5439538317005,115.96732009126299 557.0849550395922,115.96732009126299 557.0849550395922,116.04247778821627" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11.1,13.3 11.2,13.3 11.2,13.280000000000001 13.860999999999999,13.280000000000001 13.860999999999999,12.799000000000001" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 270.7341296470273,318.89310186552143 270.7341296470273,320.39625580459006 470.72876124010213,320.39625580459006 470.72876124010213,356.5471080391894" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.600000000000001,14.5 8.34,14.5 8.34,14.501" data-type="line" data-label="" points="75.32411756811189,228.70386552140667 55.783116360220106,228.70386552140667 55.783116360220106,228.62870782445316" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="13.14,10 12.929,10 12.929,10.401" data-type="line" data-label="" points="416.54006173667983,566.9135018118375 400.6817876795062,566.9135018118375 400.6817876795062,536.7752653335124" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="10" data-y="14" x="97.87142665414046" y="138.51462917729174" width="165.34693329754396" height="255.53616964165883" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="14" data-y="14" x="439.83894779224266" y="219.68494188699515" width="82.6734666487722" height="93.19554422225201" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="14" data-y="10" x="416.5400617366798" y="537.6429346396459" width="129.27123875989798" height="58.54113434438318" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="14" data-y="16" x="439.83894779224266" y="69.36954798013699" width="82.6734666487722" height="93.19554422225201" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="ATMEGA328P_AU" data-x="10.080000000000002" data-y="12.17" x="127.93450543551216" y="397.05710669708776" width="117.24600724734955" height="13.528385451617169" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="U_MCU" data-x="9.600000000000001" data-y="15.83" x="127.93450543551222" y="121.97993584753738" width="45.094618172057494" height="13.528385451617169" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
2
|
-
globalConnNetId: connectivity_net1" data-x="15.010000000000002" data-y="
|
|
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="13.45,16 8.9,14.5" data-type="line" data-label="" points="439.8389477922427,115.96732009126299 97.87142665414046,228.70386552140667" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="14.55,16 8.9,15.1" data-type="line" data-label="" points="522.5124144410149,115.96732009126299 97.87142665414046,183.6092473493493" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="13.45,14 11.1,13.1" data-type="line" data-label="" points="439.8389477922427,266.28271399812115 263.2183599516844,333.92464125620734" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="8.9,15.1 8.9,14.7" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 97.87142665414046,213.67232613072088" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,15.1 11.1,13.3" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 263.2183599516844,318.89310186552143" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,15.1 14.55,14" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 522.5124144410149,266.28271399812115" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,15.1 14.55,16" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 11.1,13.3" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 263.2183599516844,318.89310186552143" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 14.55,14" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 522.5124144410149,266.28271399812115" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 14.55,16" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,13.3 14.55,14" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 522.5124144410149,266.28271399812115" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,13.3 14.55,16" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="14.55,14 14.55,16" data-type="line" data-label="" points="522.5124144410149,266.28271399812115 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 8.9,14.5" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 97.87142665414046,228.70386552140667" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 11.1,12.7" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 263.2183599516844,363.98772003757904" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 13.14,10" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 416.54006173667983,566.9135018118375" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 13.45,16" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 11.1,12.7" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 263.2183599516844,363.98772003757904" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 13.14,10" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 416.54006173667983,566.9135018118375" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 13.45,16" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,12.7 13.14,10" data-type="line" data-label="" points="263.2183599516844,363.98772003757904 416.54006173667983,566.9135018118375" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,12.7 13.45,16" data-type="line" data-label="" points="263.2183599516844,363.98772003757904 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="13.14,10 13.45,16" data-type="line" data-label="" points="416.54006173667983,566.9135018118375 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,15.5 14.86,10" data-type="line" data-label="" points="263.2183599516844,153.54616856797747 545.8113004965778,566.9135018118375" fill="none" stroke="hsl(50, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 8.600000000000001,14.5 8.600000000000001,14.9 8.9,14.9" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 75.32411756811189,228.70386552140667 75.32411756811189,198.64078674003486 97.87142665414046,198.64078674003486" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="14.55,16 14.75,16 14.75,14 14.55,14" data-type="line" data-label="" points="522.5124144410149,115.96732009126299 537.5439538317005,115.96732009126299 537.5439538317005,266.28271399812115 522.5124144410149,266.28271399812115" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.9,14.7 8.8,14.7 8.8,15.1 8.9,15.1" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 90.35565695879757,213.67232613072088 90.35565695879757,183.6092473493493 97.87142665414046,183.6092473493493" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="13.45,16 12.274999999999999,16 12.274999999999999,13.299999999999999 13.630999999999998,13.299999999999999 13.630999999999998,12.9 12.274999999999999,12.9 12.274999999999999,12.7 11.1,12.7" data-type="line" data-label="" points="439.8389477922427,115.96732009126299 351.52865387196346,115.96732009126299 351.52865387196346,318.89310186552154 453.4424909408133,318.89310186552154 453.4424909408133,348.95618064689313 351.52865387196346,348.95618064689313 351.52865387196346,363.98772003757904 263.2183599516844,363.98772003757904" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="14.75,14 15.010000000000002,14" data-type="line" data-label="" points="537.5439538317005,266.28271399812115 557.0849550395922,266.28271399812115" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11.1,13.3 11.2,13.3 11.2,13.280000000000001 13.860999999999999,13.280000000000001 13.860999999999999,12.799000000000001" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 270.7341296470273,318.89310186552143 270.7341296470273,320.39625580459006 470.72876124010213,320.39625580459006 470.72876124010213,356.5471080391894" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.600000000000001,14.5 8.34,14.5 8.34,14.501" data-type="line" data-label="" points="75.32411756811189,228.70386552140667 55.783116360220106,228.70386552140667 55.783116360220106,228.62870782445316" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="13.14,10 12.929,10 12.929,10.401" data-type="line" data-label="" points="416.54006173667983,566.9135018118375 400.6817876795062,566.9135018118375 400.6817876795062,536.7752653335124" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="10" data-y="14" x="97.87142665414046" y="138.51462917729174" width="165.34693329754396" height="255.53616964165883" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="14" data-y="14" x="439.83894779224266" y="219.68494188699515" width="82.6734666487722" height="93.19554422225201" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="14" data-y="10" x="416.5400617366798" y="537.6429346396459" width="129.27123875989798" height="58.54113434438318" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="14" data-y="16" x="439.83894779224266" y="69.36954798013699" width="82.6734666487722" height="93.19554422225201" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="ATMEGA328P_AU" data-x="10.080000000000002" data-y="12.17" x="127.93450543551216" y="397.05710669708776" width="117.24600724734955" height="13.528385451617169" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="U_MCU" data-x="9.600000000000001" data-y="15.83" x="127.93450543551222" y="121.97993584753738" width="45.094618172057494" height="13.528385451617169" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
2
|
+
globalConnNetId: connectivity_net1" data-x="15.010000000000002" data-y="13.76" x="541.301838679372" y="266.2827139981212" width="31.566232720440212" height="36.07569453764597" fill="#00000066" stroke="#000000" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
3
3
|
globalConnNetId: connectivity_net1" data-x="13.860999999999999" data-y="12.559000000000001" x="454.945644879882" y="356.54710803918937" width="31.566232720440212" height="36.07569453764597" fill="#00000066" stroke="#000000" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
|
|
4
4
|
globalConnNetId: connectivity_net0" data-x="12.862499999999999" data-y="16.48" x="379.9006844718829" y="43.81593101597093" width="31.566232720440325" height="72.15138907529195" fill="#ef444466" stroke="#ef4444" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
|
|
5
5
|
globalConnNetId: connectivity_net0" data-x="8.34" data-y="14.981" x="39.99999999999994" y="156.47731874916133" width="31.566232720440325" height="72.15138907529195" fill="#ef444466" stroke="#ef4444" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
|
|
@@ -55,7 +55,7 @@ x-" data-x="13.14" data-y="10" cx="416.54006173667983" cy="566.9135018118375" r=
|
|
|
55
55
|
x+" data-x="14.86" data-y="10" cx="545.8113004965778" cy="566.9135018118375" r="3" fill="hsl(344, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C_MCU_DEC.1
|
|
56
56
|
x-" data-x="13.45" data-y="16" cx="439.8389477922427" cy="115.96732009126299" r="3" fill="hsl(64, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C_MCU_DEC.2
|
|
57
57
|
x+" data-x="14.55" data-y="16" cx="522.5124144410149" cy="115.96732009126299" r="3" fill="hsl(64, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
58
|
-
orientation: y-" data-x="15.010000000000002" data-y="
|
|
58
|
+
orientation: y-" data-x="15.010000000000002" data-y="14" cx="557.0849550395922" cy="266.28271399812115" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
59
59
|
orientation: y-" data-x="13.860999999999999" data-y="12.799000000000001" cx="470.72876124010213" cy="356.5471080391894" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
60
60
|
orientation: y+" data-x="12.862499999999999" data-y="16" cx="395.6838008321031" cy="115.96732009126299" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
61
61
|
orientation: y+" data-x="8.34" data-y="14.501" cx="55.783116360220106" cy="228.62870782445316" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
@@ -0,0 +1,58 @@
|
|
|
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.05,0.2 -1.05,-0.1" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 190.9705248023005,354.1864366163432" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 -2.7,-2" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 80.2588066139468,481.672657560508" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 3.3,-1.5" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 3.3,0" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 4.565,3" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 -2.7,-2" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 80.2588066139468,481.672657560508" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 3.3,-1.5" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 3.3,0" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 4.565,3" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 3.3,-1.5" data-type="line" data-label="" points="80.2588066139468,481.672657560508 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 3.3,0" data-type="line" data-label="" points="80.2588066139468,481.672657560508 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 4.565,3" data-type="line" data-label="" points="80.2588066139468,481.672657560508 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,-1.5 3.3,0" data-type="line" data-label="" points="482.8468727534148,448.1236520488857 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,-1.5 4.565,3" data-type="line" data-label="" points="482.8468727534148,448.1236520488857 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,0 4.565,3" data-type="line" data-label="" points="482.8468727534148,347.4766355140187 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,0 3.5,0 3.5,-1.5 3.3,-1.5" data-type="line" data-label="" points="482.8468727534148,347.4766355140187 496.2664749580637,347.4766355140187 496.2664749580637,448.1236520488857 482.8468727534148,448.1236520488857" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.0500000000000005,0.2 1.2500000000000007,0.2 1.2500000000000007,0.7 -1.25,0.7 -1.25,-0.1 -1.05,-0.1" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 345.2959501557633,334.0570333093698 345.2959501557633,300.50802779774745 177.55092259765155,300.50802779774745 177.55092259765155,354.1864366163432 190.9705248023005,354.1864366163432" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2500000000000007,0.2 1.5400000000000007,0.2 1.5400000000000007,0.199" data-type="line" data-label="" points="345.2959501557633,334.0570333093698 364.7543733525042,334.0570333093698 364.7543733525042,334.124131320393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.7,-2 -2.459,-2 -2.459,-2.351" data-type="line" data-label="" points="80.2588066139468,481.672657560508 96.42942727054876,481.672657560508 96.42942727054876,505.2240594296669" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.5,-1.5 3.79,-1.5" data-type="line" data-label="" points="496.2664749580637,448.1236520488857 515.7248981548047,448.1236520488857" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.565,3 4.806000000000001,3 4.806000000000001,2.649" data-type="line" data-label="" points="567.7258566978194,146.18260244428473 583.8964773544213,146.18260244428473 583.8964773544213,169.7340043134436" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="PWR1" data-x="0" data-y="0" x="190.97052480230047" y="313.92763000239637" width="140.90582314881382" height="67.09801102324468" fill="hsl(238, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="R7" data-x="-3" data-y="-2" x="40.000000000000014" y="458.85933381260486" width="40.2588066139468" height="45.62664749580637" fill="hsl(77, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="C6" data-x="3" data-y="-1.5" x="442.58806613946797" y="419.9424874191229" width="40.25880661394683" height="56.36232925952555" fill="hsl(331, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="C7" data-x="3" data-y="0" x="442.58806613946797" y="319.29547088425596" width="40.25880661394683" height="56.362329259525495" fill="hsl(332, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="LED1" data-x="4" data-y="3.1325" x="491.90510424155275" y="106.59477594057037" width="75.82075245626658" height="61.39468008626886" fill="hsl(142, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="netId: gnd
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="1.5400000000000007" data-y="-0.010999999999999982" x="348.6508507069255" y="334.124131320393" width="32.20704529115744" height="28.181164629762748" fill="#00000066" stroke="#000000" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="netId: gnd
|
|
3
|
+
globalConnNetId: connectivity_net0" data-x="-2.459" data-y="-2.561" x="80.32590462497005" y="505.22405942966685" width="32.207045291157414" height="28.181164629762748" fill="#00000066" stroke="#000000" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="netId: gnd
|
|
4
|
+
globalConnNetId: connectivity_net0" data-x="3.79" data-y="-1.71" x="499.62137550922597" y="448.1236520488857" width="32.20704529115744" height="28.181164629762804" fill="#00000066" stroke="#000000" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="netId: gnd
|
|
5
|
+
globalConnNetId: connectivity_net0" data-x="4.806000000000001" data-y="2.439" x="567.7929547088427" y="169.7340043134436" width="32.20704529115733" height="28.181164629762748" fill="#00000066" stroke="#000000" stroke-width="0.01490357142857143"/></g><g><circle data-type="point" data-label="PWR1.EP
|
|
6
|
+
x+" data-x="1.05" data-y="0.2" cx="331.8763479511143" cy="334.0570333093698" r="3" fill="hsl(43, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="PWR1.GND
|
|
7
|
+
x-" data-x="-1.05" data-y="-0.1" cx="190.9705248023005" cy="354.1864366163432" r="3" fill="hsl(21, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R7.2
|
|
8
|
+
x+" data-x="-2.7" data-y="-2" cx="80.2588066139468" cy="481.672657560508" r="3" fill="hsl(233, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C6.neg
|
|
9
|
+
x+" data-x="3.3" data-y="-1.5" cx="482.8468727534148" cy="448.1236520488857" r="3" fill="hsl(181, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C7.neg
|
|
10
|
+
x+" data-x="3.3" data-y="0" cx="482.8468727534148" cy="347.4766355140187" r="3" fill="hsl(302, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="LED1.neg
|
|
11
|
+
x+" data-x="4.565" data-y="3" cx="567.7258566978194" cy="146.18260244428473" r="3" fill="hsl(352, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
12
|
+
orientation: y-" data-x="1.5400000000000007" data-y="0.199" cx="364.7543733525042" cy="334.124131320393" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
13
|
+
orientation: y-" data-x="-2.459" data-y="-2.351" cx="96.42942727054876" cy="505.2240594296669" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
14
|
+
orientation: y-" data-x="3.79" data-y="-1.5" cx="515.7248981548047" cy="448.1236520488857" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
15
|
+
orientation: y-" data-x="4.806000000000001" data-y="2.649" cx="583.8964773544213" cy="169.7340043134436" 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
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
17
|
+
const svg = e.currentTarget;
|
|
18
|
+
const rect = svg.getBoundingClientRect();
|
|
19
|
+
const x = e.clientX - rect.left;
|
|
20
|
+
const y = e.clientY - rect.top;
|
|
21
|
+
const crosshair = svg.getElementById('crosshair');
|
|
22
|
+
const h = svg.getElementById('crosshair-h');
|
|
23
|
+
const v = svg.getElementById('crosshair-v');
|
|
24
|
+
const coords = svg.getElementById('coordinates');
|
|
25
|
+
|
|
26
|
+
crosshair.style.display = 'block';
|
|
27
|
+
h.setAttribute('x1', '0');
|
|
28
|
+
h.setAttribute('x2', '640');
|
|
29
|
+
h.setAttribute('y1', y);
|
|
30
|
+
h.setAttribute('y2', y);
|
|
31
|
+
v.setAttribute('x1', x);
|
|
32
|
+
v.setAttribute('x2', x);
|
|
33
|
+
v.setAttribute('y1', '0');
|
|
34
|
+
v.setAttribute('y2', '640');
|
|
35
|
+
|
|
36
|
+
// Calculate real coordinates using inverse transformation
|
|
37
|
+
const matrix = {"a":67.09801102324467,"c":0,"e":261.4234363767074,"b":0,"d":-67.09801102324467,"f":347.4766355140187};
|
|
38
|
+
// Manually invert and apply the affine transform
|
|
39
|
+
// Since we only use translate and scale, we can directly compute:
|
|
40
|
+
// x' = (x - tx) / sx
|
|
41
|
+
// y' = (y - ty) / sy
|
|
42
|
+
const sx = matrix.a;
|
|
43
|
+
const sy = matrix.d;
|
|
44
|
+
const tx = matrix.e;
|
|
45
|
+
const ty = matrix.f;
|
|
46
|
+
const realPoint = {
|
|
47
|
+
x: (x - tx) / sx,
|
|
48
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
52
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
53
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
54
|
+
});
|
|
55
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
56
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
57
|
+
});
|
|
58
|
+
]]></script></svg>
|
|
@@ -0,0 +1,58 @@
|
|
|
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,0.5 -1,0.25" data-type="line" data-label="" points="189.74358974358972,229.74358974358975 189.74358974358972,281.02564102564105" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1,0.5 -1,0" data-type="line" data-label="" points="189.74358974358972,229.74358974358975 189.74358974358972,332.3076923076923" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1,0.25 -1,0" data-type="line" data-label="" points="189.74358974358972,281.02564102564105 189.74358974358972,332.3076923076923" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1,-0.25 -1,-0.5" data-type="line" data-label="" points="189.74358974358972,383.5897435897436 189.74358974358972,434.8717948717949" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1,0.25 -1.2,0.25 -1.2,0.5 -1,0.5" data-type="line" data-label="" points="189.74358974358972,281.02564102564105 148.7179487179487,281.02564102564105 148.7179487179487,229.74358974358975 189.74358974358972,229.74358974358975" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1,0 -1.2,0 -1.2,0.25 -1,0.25" data-type="line" data-label="" points="189.74358974358972,332.3076923076923 148.7179487179487,332.3076923076923 148.7179487179487,281.02564102564105 189.74358974358972,281.02564102564105" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1,-0.25 -1.2,-0.25 -1.2,-0.5 -1,-0.5" data-type="line" data-label="" points="189.74358974358972,383.5897435897436 148.7179487179487,383.5897435897436 148.7179487179487,434.8717948717949 189.74358974358972,434.8717948717949" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2,0.5 -1.49,0.5" data-type="line" data-label="" points="148.7179487179487,229.74358974358975 89.23076923076923,229.74358974358975" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2,-0.5 -1.49,-0.5" data-type="line" data-label="" points="148.7179487179487,434.8717948717949 89.23076923076923,434.8717948717949" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="U1" data-x="0" data-y="0" x="189.74358974358972" y="188.71794871794873" width="410.2564102564103" height="287.1794871794872" fill="hsl(164, 100%, 50%, 0.8)" stroke="black" stroke-width="0.004875"/></g><g><rect data-type="rect" data-label="U1 Power" data-x="-0.25" data-y="0.85" x="271.7948717948718" y="137.43589743589746" width="143.5897435897436" height="41.025641025640994" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.004875"/></g><g><rect data-type="rect" data-label="netId: VBAT
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="-1.49" data-y="0.74" x="40" y="131.2820512820513" width="98.46153846153845" height="98.46153846153845" fill="#ef444466" stroke="#ef4444" stroke-width="0.004875"/></g><g><rect data-type="rect" data-label="netId: GND
|
|
3
|
+
globalConnNetId: connectivity_net1" data-x="-1.49" data-y="-0.6799999999999999" x="40" y="434.8717948717949" width="98.46153846153845" height="73.84615384615387" fill="#00000066" stroke="#000000" stroke-width="0.004875"/></g><g><circle data-type="point" data-label="U1.1
|
|
4
|
+
x-" data-x="-1" data-y="0.5" cx="189.74358974358972" cy="229.74358974358975" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
|
|
5
|
+
x-" data-x="-1" data-y="0.25" cx="189.74358974358972" cy="281.02564102564105" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
|
|
6
|
+
x-" data-x="-1" data-y="0" cx="189.74358974358972" cy="332.3076923076923" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.4
|
|
7
|
+
x-" data-x="-1" data-y="-0.25" cx="189.74358974358972" cy="383.5897435897436" r="3" fill="hsl(322, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.5
|
|
8
|
+
x-" data-x="-1" data-y="-0.5" cx="189.74358974358972" cy="434.8717948717949" r="3" fill="hsl(323, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.6
|
|
9
|
+
x+" data-x="1" data-y="0.5" cx="600" cy="229.74358974358975" r="3" fill="hsl(324, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.7
|
|
10
|
+
x+" data-x="1" data-y="0.25" cx="600" cy="281.02564102564105" r="3" fill="hsl(325, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.8
|
|
11
|
+
x+" data-x="1" data-y="0" cx="600" cy="332.3076923076923" r="3" fill="hsl(326, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.9
|
|
12
|
+
x+" data-x="1" data-y="-0.25" cx="600" cy="383.5897435897436" r="3" fill="hsl(327, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.10
|
|
13
|
+
x+" data-x="1" data-y="-0.5" cx="600" cy="434.8717948717949" r="3" fill="hsl(217, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
14
|
+
orientation: y+" data-x="-1.49" data-y="0.5" cx="89.23076923076923" cy="229.74358974358975" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
15
|
+
orientation: y-" data-x="-1.49" data-y="-0.5" cx="89.23076923076923" cy="434.8717948717949" 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
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
17
|
+
const svg = e.currentTarget;
|
|
18
|
+
const rect = svg.getBoundingClientRect();
|
|
19
|
+
const x = e.clientX - rect.left;
|
|
20
|
+
const y = e.clientY - rect.top;
|
|
21
|
+
const crosshair = svg.getElementById('crosshair');
|
|
22
|
+
const h = svg.getElementById('crosshair-h');
|
|
23
|
+
const v = svg.getElementById('crosshair-v');
|
|
24
|
+
const coords = svg.getElementById('coordinates');
|
|
25
|
+
|
|
26
|
+
crosshair.style.display = 'block';
|
|
27
|
+
h.setAttribute('x1', '0');
|
|
28
|
+
h.setAttribute('x2', '640');
|
|
29
|
+
h.setAttribute('y1', y);
|
|
30
|
+
h.setAttribute('y2', y);
|
|
31
|
+
v.setAttribute('x1', x);
|
|
32
|
+
v.setAttribute('x2', x);
|
|
33
|
+
v.setAttribute('y1', '0');
|
|
34
|
+
v.setAttribute('y2', '640');
|
|
35
|
+
|
|
36
|
+
// Calculate real coordinates using inverse transformation
|
|
37
|
+
const matrix = {"a":205.12820512820514,"c":0,"e":394.87179487179486,"b":0,"d":-205.12820512820514,"f":332.3076923076923};
|
|
38
|
+
// Manually invert and apply the affine transform
|
|
39
|
+
// Since we only use translate and scale, we can directly compute:
|
|
40
|
+
// x' = (x - tx) / sx
|
|
41
|
+
// y' = (y - ty) / sy
|
|
42
|
+
const sx = matrix.a;
|
|
43
|
+
const sy = matrix.d;
|
|
44
|
+
const tx = matrix.e;
|
|
45
|
+
const ty = matrix.f;
|
|
46
|
+
const realPoint = {
|
|
47
|
+
x: (x - tx) / sx,
|
|
48
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
52
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
53
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
54
|
+
});
|
|
55
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
56
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
57
|
+
});
|
|
58
|
+
]]></script></svg>
|
|
@@ -0,0 +1,96 @@
|
|
|
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.35,0.9999999999999998 -1.35,2.8" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 198.84615384615384,79.48717948717953" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,0.9999999999999998 -1.35,-1.4000000000000004" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 198.84615384615384,456.41025641025647" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,2.8 -1.35,-1.4000000000000004" data-type="line" data-label="" points="198.84615384615384,79.48717948717953 198.84615384615384,456.41025641025647" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,0.9999999999999998 1.35,2.8" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 441.1538461538462,79.48717948717953" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,0.9999999999999998 1.35,-1.4000000000000004" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 441.1538461538462,456.41025641025647" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,2.8 1.35,-1.4000000000000004" data-type="line" data-label="" points="441.1538461538462,79.48717948717953 441.1538461538462,456.41025641025647" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,0.9999999999999998 -1.55,0.9999999999999998 -1.55,2.8 -1.35,2.8" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 180.8974358974359,241.02564102564105 180.8974358974359,79.48717948717953 198.84615384615384,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.35,0.9999999999999998 1.55,0.9999999999999998 1.55,2.8 1.35,2.8" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 459.1025641025641,241.02564102564105 459.1025641025641,79.48717948717953 441.1538461538462,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.55,2.8 -1.9000000000000001,2.8" data-type="line" data-label="" points="180.8974358974359,79.48717948717953 149.48717948717947,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.35,-1.4000000000000004 -1.701,-1.4000000000000004 -1.701,-1.3490000000000004" data-type="line" data-label="" points="198.84615384615384,456.41025641025647 167.34615384615384,456.41025641025647 167.34615384615384,451.83333333333337" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.55,2.8 1.9000000000000001,2.8" data-type="line" data-label="" points="459.1025641025641,79.48717948717953 490.51282051282055,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.35,-1.4000000000000004 1.701,-1.4000000000000004 1.701,-1.3490000000000004" data-type="line" data-label="" points="441.1538461538462,456.41025641025647 472.6538461538462,456.41025641025647 472.6538461538462,451.83333333333337" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="U1" data-x="0" data-y="0" x="198.8461538461538" y="61.53846153846155" width="242.30769230769235" height="538.4615384615385" fill="hsl(164, 100%, 50%, 0.8)" stroke="black" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.83" data-y="3.115" x="229.35897435897436" y="40" width="32.30769230769232" height="22.43589743589746" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_LEFT
|
|
2
|
+
globalConnNetId: connectivity_net0" data-x="-1.9000000000000001" data-y="3.01" x="122.56410256410255" y="41.79487179487184" width="53.84615384615384" height="37.69230769230771" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_LEFT
|
|
3
|
+
globalConnNetId: connectivity_net0" data-x="-1.701" data-y="-1.1390000000000005" x="140.4230769230769" y="414.14102564102575" width="53.84615384615384" height="37.69230769230768" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_RIGHT
|
|
4
|
+
globalConnNetId: connectivity_net1" data-x="1.9000000000000001" data-y="3.01" x="463.58974358974365" y="41.79487179487184" width="53.84615384615387" height="37.69230769230771" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_RIGHT
|
|
5
|
+
globalConnNetId: connectivity_net1" data-x="1.701" data-y="-1.1390000000000005" x="445.7307692307693" y="414.14102564102575" width="53.84615384615387" height="37.69230769230768" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><circle data-type="point" data-label="U1.left.1
|
|
6
|
+
x-" data-x="-1.35" data-y="2.8" cx="198.84615384615384" cy="79.48717948717953" r="3" fill="hsl(12, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.2
|
|
7
|
+
x-" data-x="-1.35" data-y="2.5999999999999996" cx="198.84615384615384" cy="97.43589743589749" r="3" fill="hsl(13, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.3
|
|
8
|
+
x-" data-x="-1.35" data-y="2.4" cx="198.84615384615384" cy="115.38461538461542" r="3" fill="hsl(14, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.4
|
|
9
|
+
x-" data-x="-1.35" data-y="2.1999999999999997" cx="198.84615384615384" cy="133.33333333333337" r="3" fill="hsl(15, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.5
|
|
10
|
+
x-" data-x="-1.35" data-y="1.9999999999999998" cx="198.84615384615384" cy="151.28205128205133" r="3" fill="hsl(16, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.6
|
|
11
|
+
x-" data-x="-1.35" data-y="1.7999999999999998" cx="198.84615384615384" cy="169.23076923076925" r="3" fill="hsl(17, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.7
|
|
12
|
+
x-" data-x="-1.35" data-y="1.5999999999999996" cx="198.84615384615384" cy="187.17948717948724" r="3" fill="hsl(18, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.8
|
|
13
|
+
x-" data-x="-1.35" data-y="1.3999999999999997" cx="198.84615384615384" cy="205.12820512820517" r="3" fill="hsl(19, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.9
|
|
14
|
+
x-" data-x="-1.35" data-y="1.1999999999999997" cx="198.84615384615384" cy="223.0769230769231" r="3" fill="hsl(20, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.10
|
|
15
|
+
x-" data-x="-1.35" data-y="0.9999999999999998" cx="198.84615384615384" cy="241.02564102564105" r="3" fill="hsl(60, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.11
|
|
16
|
+
x-" data-x="-1.35" data-y="0.7999999999999998" cx="198.84615384615384" cy="258.974358974359" r="3" fill="hsl(61, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.12
|
|
17
|
+
x-" data-x="-1.35" data-y="0.5999999999999996" cx="198.84615384615384" cy="276.92307692307696" r="3" fill="hsl(62, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.13
|
|
18
|
+
x-" data-x="-1.35" data-y="0.39999999999999947" cx="198.84615384615384" cy="294.8717948717949" r="3" fill="hsl(63, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.14
|
|
19
|
+
x-" data-x="-1.35" data-y="0.19999999999999973" cx="198.84615384615384" cy="312.8205128205129" r="3" fill="hsl(64, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.15
|
|
20
|
+
x-" data-x="-1.35" data-y="-4.440892098500626e-16" cx="198.84615384615384" cy="330.76923076923083" r="3" fill="hsl(65, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.16
|
|
21
|
+
x-" data-x="-1.35" data-y="-0.20000000000000018" cx="198.84615384615384" cy="348.71794871794873" r="3" fill="hsl(66, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.17
|
|
22
|
+
x-" data-x="-1.35" data-y="-0.40000000000000036" cx="198.84615384615384" cy="366.6666666666667" r="3" fill="hsl(67, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.18
|
|
23
|
+
x-" data-x="-1.35" data-y="-0.6000000000000005" cx="198.84615384615384" cy="384.61538461538464" r="3" fill="hsl(68, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.19
|
|
24
|
+
x-" data-x="-1.35" data-y="-0.8000000000000003" cx="198.84615384615384" cy="402.5641025641026" r="3" fill="hsl(69, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.20
|
|
25
|
+
x-" data-x="-1.35" data-y="-1.0000000000000004" cx="198.84615384615384" cy="420.51282051282055" r="3" fill="hsl(91, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.21
|
|
26
|
+
x-" data-x="-1.35" data-y="-1.2000000000000002" cx="198.84615384615384" cy="438.46153846153845" r="3" fill="hsl(92, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.left.22
|
|
27
|
+
x-" data-x="-1.35" data-y="-1.4000000000000004" cx="198.84615384615384" cy="456.41025641025647" r="3" fill="hsl(93, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.1
|
|
28
|
+
x+" data-x="1.35" data-y="2.8" cx="441.1538461538462" cy="79.48717948717953" r="3" fill="hsl(277, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.2
|
|
29
|
+
x+" data-x="1.35" data-y="2.5999999999999996" cx="441.1538461538462" cy="97.43589743589749" r="3" fill="hsl(278, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.3
|
|
30
|
+
x+" data-x="1.35" data-y="2.4" cx="441.1538461538462" cy="115.38461538461542" r="3" fill="hsl(279, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.4
|
|
31
|
+
x+" data-x="1.35" data-y="2.1999999999999997" cx="441.1538461538462" cy="133.33333333333337" r="3" fill="hsl(280, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.5
|
|
32
|
+
x+" data-x="1.35" data-y="1.9999999999999998" cx="441.1538461538462" cy="151.28205128205133" r="3" fill="hsl(281, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.6
|
|
33
|
+
x+" data-x="1.35" data-y="1.7999999999999998" cx="441.1538461538462" cy="169.23076923076925" r="3" fill="hsl(282, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.7
|
|
34
|
+
x+" data-x="1.35" data-y="1.5999999999999996" cx="441.1538461538462" cy="187.17948717948724" r="3" fill="hsl(283, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.8
|
|
35
|
+
x+" data-x="1.35" data-y="1.3999999999999997" cx="441.1538461538462" cy="205.12820512820517" r="3" fill="hsl(284, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.9
|
|
36
|
+
x+" data-x="1.35" data-y="1.1999999999999997" cx="441.1538461538462" cy="223.0769230769231" r="3" fill="hsl(285, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.10
|
|
37
|
+
x+" data-x="1.35" data-y="0.9999999999999998" cx="441.1538461538462" cy="241.02564102564105" r="3" fill="hsl(352, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.11
|
|
38
|
+
x+" data-x="1.35" data-y="0.7999999999999998" cx="441.1538461538462" cy="258.974358974359" r="3" fill="hsl(352, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.12
|
|
39
|
+
x+" data-x="1.35" data-y="0.5999999999999996" cx="441.1538461538462" cy="276.92307692307696" r="3" fill="hsl(352, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.13
|
|
40
|
+
x+" data-x="1.35" data-y="0.39999999999999947" cx="441.1538461538462" cy="294.8717948717949" r="3" fill="hsl(352, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.14
|
|
41
|
+
x+" data-x="1.35" data-y="0.19999999999999973" cx="441.1538461538462" cy="312.8205128205129" r="3" fill="hsl(352, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.15
|
|
42
|
+
x+" data-x="1.35" data-y="-4.440892098500626e-16" cx="441.1538461538462" cy="330.76923076923083" r="3" fill="hsl(0, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.16
|
|
43
|
+
x+" data-x="1.35" data-y="-0.20000000000000018" cx="441.1538461538462" cy="348.71794871794873" r="3" fill="hsl(0, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.17
|
|
44
|
+
x+" data-x="1.35" data-y="-0.40000000000000036" cx="441.1538461538462" cy="366.6666666666667" r="3" fill="hsl(0, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.18
|
|
45
|
+
x+" data-x="1.35" data-y="-0.6000000000000005" cx="441.1538461538462" cy="384.61538461538464" r="3" fill="hsl(0, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.19
|
|
46
|
+
x+" data-x="1.35" data-y="-0.8000000000000003" cx="441.1538461538462" cy="402.5641025641026" r="3" fill="hsl(0, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.20
|
|
47
|
+
x+" data-x="1.35" data-y="-1.0000000000000004" cx="441.1538461538462" cy="420.51282051282055" r="3" fill="hsl(24, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.21
|
|
48
|
+
x+" data-x="1.35" data-y="-1.2000000000000002" cx="441.1538461538462" cy="438.46153846153845" r="3" fill="hsl(24, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.right.22
|
|
49
|
+
x+" data-x="1.35" data-y="-1.4000000000000004" cx="441.1538461538462" cy="456.41025641025647" r="3" fill="hsl(24, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
50
|
+
orientation: y+" data-x="-1.9000000000000001" data-y="2.8" cx="149.48717948717947" cy="79.48717948717953" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
51
|
+
orientation: y+" data-x="-1.701" data-y="-1.3490000000000004" cx="167.34615384615384" cy="451.83333333333337" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
52
|
+
orientation: y+" data-x="1.9000000000000001" data-y="2.8" cx="490.51282051282055" cy="79.48717948717953" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
|
|
53
|
+
orientation: y+" data-x="1.701" data-y="-1.3490000000000004" cx="472.6538461538462" cy="451.83333333333337" 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[
|
|
54
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
55
|
+
const svg = e.currentTarget;
|
|
56
|
+
const rect = svg.getBoundingClientRect();
|
|
57
|
+
const x = e.clientX - rect.left;
|
|
58
|
+
const y = e.clientY - rect.top;
|
|
59
|
+
const crosshair = svg.getElementById('crosshair');
|
|
60
|
+
const h = svg.getElementById('crosshair-h');
|
|
61
|
+
const v = svg.getElementById('crosshair-v');
|
|
62
|
+
const coords = svg.getElementById('coordinates');
|
|
63
|
+
|
|
64
|
+
crosshair.style.display = 'block';
|
|
65
|
+
h.setAttribute('x1', '0');
|
|
66
|
+
h.setAttribute('x2', '640');
|
|
67
|
+
h.setAttribute('y1', y);
|
|
68
|
+
h.setAttribute('y2', y);
|
|
69
|
+
v.setAttribute('x1', x);
|
|
70
|
+
v.setAttribute('x2', x);
|
|
71
|
+
v.setAttribute('y1', '0');
|
|
72
|
+
v.setAttribute('y2', '640');
|
|
73
|
+
|
|
74
|
+
// Calculate real coordinates using inverse transformation
|
|
75
|
+
const matrix = {"a":89.74358974358974,"c":0,"e":320,"b":0,"d":-89.74358974358974,"f":330.7692307692308};
|
|
76
|
+
// Manually invert and apply the affine transform
|
|
77
|
+
// Since we only use translate and scale, we can directly compute:
|
|
78
|
+
// x' = (x - tx) / sx
|
|
79
|
+
// y' = (y - ty) / sy
|
|
80
|
+
const sx = matrix.a;
|
|
81
|
+
const sy = matrix.d;
|
|
82
|
+
const tx = matrix.e;
|
|
83
|
+
const ty = matrix.f;
|
|
84
|
+
const realPoint = {
|
|
85
|
+
x: (x - tx) / sx,
|
|
86
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
90
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
91
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
92
|
+
});
|
|
93
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
94
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
95
|
+
});
|
|
96
|
+
]]></script></svg>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { expect, test } from "bun:test"
|
|
2
|
+
import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
|
|
3
|
+
import type { InputProblem } from "lib/types/InputProblem"
|
|
4
|
+
import "tests/fixtures/matcher"
|
|
5
|
+
|
|
6
|
+
const inputProblem: InputProblem = {
|
|
7
|
+
chips: [
|
|
8
|
+
{
|
|
9
|
+
chipId: "PWR1",
|
|
10
|
+
center: { x: 0, y: 0 },
|
|
11
|
+
width: 2.1,
|
|
12
|
+
height: 1,
|
|
13
|
+
pins: [
|
|
14
|
+
{ pinId: "PWR1.EP", x: 1.05, y: 0.2 },
|
|
15
|
+
{ pinId: "PWR1.GND", x: -1.05, y: -0.1 },
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
chipId: "R7",
|
|
20
|
+
center: { x: -3, y: -2 },
|
|
21
|
+
width: 0.6,
|
|
22
|
+
height: 0.68,
|
|
23
|
+
pins: [{ pinId: "R7.2", x: -2.7, y: -2, _facingDirection: "x+" }],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
chipId: "C6",
|
|
27
|
+
center: { x: 3, y: -1.5 },
|
|
28
|
+
width: 0.6,
|
|
29
|
+
height: 0.84,
|
|
30
|
+
pins: [{ pinId: "C6.neg", x: 3.3, y: -1.5, _facingDirection: "x+" }],
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
chipId: "C7",
|
|
34
|
+
center: { x: 3, y: 0 },
|
|
35
|
+
width: 0.6,
|
|
36
|
+
height: 0.84,
|
|
37
|
+
pins: [{ pinId: "C7.neg", x: 3.3, y: 0, _facingDirection: "x+" }],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
chipId: "LED1",
|
|
41
|
+
center: { x: 4, y: 3.1325 },
|
|
42
|
+
width: 1.13,
|
|
43
|
+
height: 0.915,
|
|
44
|
+
pins: [
|
|
45
|
+
{
|
|
46
|
+
pinId: "LED1.neg",
|
|
47
|
+
x: 4.565,
|
|
48
|
+
y: 3,
|
|
49
|
+
_facingDirection: "x+",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
directConnections: [],
|
|
55
|
+
netConnections: [
|
|
56
|
+
{
|
|
57
|
+
netId: "gnd",
|
|
58
|
+
pinIds: ["PWR1.EP", "PWR1.GND", "R7.2", "C6.neg", "C7.neg", "LED1.neg"],
|
|
59
|
+
netLabelWidth: 0.42,
|
|
60
|
+
netLabelHeight: 0.48,
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
textBoxes: [],
|
|
64
|
+
availableNetLabelOrientations: { gnd: ["y-"] },
|
|
65
|
+
maxMspPairDistance: 2.4,
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
test("places a shared capacitor GND label at the lower rail end", () => {
|
|
69
|
+
const solver = new SchematicTracePipelineSolver(inputProblem)
|
|
70
|
+
|
|
71
|
+
solver.solve()
|
|
72
|
+
|
|
73
|
+
const gndLabels = solver
|
|
74
|
+
.netLabelNetLabelCollisionSolver!.getOutput()
|
|
75
|
+
.netLabelPlacements.filter((label) => label.netId === "gnd")
|
|
76
|
+
const capacitorRailLabel = gndLabels.find(
|
|
77
|
+
(label) => Math.abs(label.anchorPoint.x - 3.3) < 1,
|
|
78
|
+
)!
|
|
79
|
+
|
|
80
|
+
expect(capacitorRailLabel.orientation).toBe("y-")
|
|
81
|
+
expect(capacitorRailLabel.anchorPoint.y).toBeCloseTo(-1.5)
|
|
82
|
+
expect(capacitorRailLabel.anchorPoint.x).toBeGreaterThan(3.3)
|
|
83
|
+
expect(solver).toMatchSolverSnapshot(import.meta.path)
|
|
84
|
+
})
|