← Commit history

Update 2 file(s)

Ray ·72c65ab417 ·2d ago ·parent 2261a76
2 files changed +6−6
viewers/footprint.html+3−3
@@ -1,5 +1,5 @@ <!doctype html><html lang=en><head><meta charset=utf-8>-<meta name=viewport content="width=device-width,initial-scale=1"><title>LM324 footprint</title>+<meta name=viewport content="width=device-width,initial-scale=1"><title>ADOM/LM324 footprint</title> <style> :root{--bg:#0d1117;--panel:#161b22;--edge:#30363d;--ink:#e6edf3;--mut:#8b949e;--acc:#00b8b0;--accb:#00e6dc;--hi:#6ea8fe} *{box-sizing:border-box;margin:0}html,body{height:100%}@@ -23,10 +23,10 @@ rect.pad.hi{stroke:var(--hi);stroke-width:.15;paint-order:stroke} #tip .td{font-size:11px;color:var(--ink);margin-top:5px;line-height:1.4} </style></head><body> <div class=bar><span class=h>PCB footprint</span><span class=sp></span><button class="lyrtog on" data-lyr="copper"><span class="d" style="background:#e35d5d"></span>Copper</button><button class="lyrtog on" data-lyr="silk"><span class="d" style="background:#e6edf3"></span>Silkscreen</button><button class="lyrtog" data-lyr="fab"><span class="d" style="background:#8b949e"></span>Fab</button><button class="lyrtog" data-lyr="courtyard"><span class="d" style="background:#bc8cff"></span>Courtyard</button></div>-<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-4.100 -4.980 8.200 9.960' style='width:100%;height:100%'><line class='ly-silk' x1='-2.060' y1='-4.435' x2='2.060' y2='-4.435' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='-4.370' x2='-2.060' y2='-4.435' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='4.435' x2='-2.060' y2='4.370' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='-4.435' x2='2.060' y2='-4.370' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='4.370' x2='2.060' y2='4.435' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='4.435' x2='-2.060' y2='4.435' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-3.700' y1='-4.360' x2='-2.200' y2='-4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-3.700' y1='4.360' x2='-3.700' y2='-4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-4.580' x2='2.200' y2='-4.580' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-4.360' x2='-2.200' y2='-4.580' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='4.360' x2='-3.700' y2='4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='4.580' x2='-2.200' y2='4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-4.580' x2='2.200' y2='-4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-4.360' x2='3.700' y2='-4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='4.360' x2='2.200' y2='4.580' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='4.580' x2='-2.200' y2='4.580' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='-4.360' x2='3.700' y2='4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='4.360' x2='2.200' y2='4.360' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='' x='-3.450' y='-4.110' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='-3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>1</text><rect class='ly-copper pad' data-num='2' data-name='-' x='-3.450' y='-2.840' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='-2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>2</text><rect class='ly-copper pad' data-num='3' data-name='+' x='-3.450' y='-1.570' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='-1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>3</text><rect class='ly-copper pad' data-num='4' data-name='V+' x='-3.450' y='-0.300' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='0.000' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>4</text><rect class='ly-copper pad' data-num='5' data-name='+' x='-3.450' y='0.970' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>5</text><rect class='ly-copper pad' data-num='6' data-name='-' x='-3.450' y='2.240' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>6</text><rect class='ly-copper pad' data-num='7' data-name='' x='-3.450' y='3.510' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>7</text><rect class='ly-copper pad' data-num='8' data-name='' x='1.500' y='3.510' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>8</text><rect class='ly-copper pad' data-num='9' data-name='-' x='1.500' y='2.240' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>9</text><rect class='ly-copper pad' data-num='10' data-name='+' x='1.500' y='0.970' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>10</text><rect class='ly-copper pad' data-num='11' data-name='V-' x='1.500' y='-0.300' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='0.000' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>11</text><rect class='ly-copper pad' data-num='12' data-name='+' x='1.500' y='-1.570' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='-1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>12</text><rect class='ly-copper pad' data-num='13' data-name='-' x='1.500' y='-2.840' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='-2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>13</text><rect class='ly-copper pad' data-num='14' data-name='' x='1.500' y='-4.110' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='-3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>14</text></svg></div>+<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-4.100 -5.100 8.200 10.080' style='width:100%;height:100%'><line class='ly-silk' x1='-2.060' y1='-4.435' x2='2.060' y2='-4.435' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='-4.370' x2='-2.060' y2='-4.435' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='4.435' x2='-2.060' y2='4.370' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='-4.435' x2='2.060' y2='-4.370' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='4.370' x2='2.060' y2='4.435' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='4.435' x2='-2.060' y2='4.435' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-3.700' y1='-4.360' x2='-2.200' y2='-4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-3.700' y1='4.360' x2='-3.700' y2='-4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-4.580' x2='2.200' y2='-4.580' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-4.360' x2='-2.200' y2='-4.580' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='4.360' x2='-3.700' y2='4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='4.580' x2='-2.200' y2='4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-4.580' x2='2.200' y2='-4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-4.360' x2='3.700' y2='-4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='4.360' x2='2.200' y2='4.580' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='4.580' x2='-2.200' y2='4.580' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='-4.360' x2='3.700' y2='4.360' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='4.360' x2='2.200' y2='4.360' stroke='#4ade80' stroke-width='0.050'/><polygon class='ly-silk' points='-2.600,-4.370 -2.840,-4.700 -2.360,-4.700' fill='#d8b4fe' stroke='none'/><polygon class='ly-fab' points='-0.975,-4.325 1.950,-4.325 1.950,4.325 -1.950,4.325 -1.950,-3.350' fill='none' stroke='#f472b6' stroke-width='0.100'/><rect class='ly-copper pad' data-num='1' data-name='1OUT' x='-3.450' y='-4.110' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='-3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>1</text><rect class='ly-copper pad' data-num='2' data-name='1IN-' x='-3.450' y='-2.840' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='-2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>2</text><rect class='ly-copper pad' data-num='3' data-name='1IN+' x='-3.450' y='-1.570' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='-1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>3</text><rect class='ly-copper pad' data-num='4' data-name='VCC+' x='-3.450' y='-0.300' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='0.000' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>4</text><rect class='ly-copper pad' data-num='5' data-name='2IN+' x='-3.450' y='0.970' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>5</text><rect class='ly-copper pad' data-num='6' data-name='2IN-' x='-3.450' y='2.240' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>6</text><rect class='ly-copper pad' data-num='7' data-name='2OUT' x='-3.450' y='3.510' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-2.475' y='3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>7</text><rect class='ly-copper pad' data-num='8' data-name='3OUT' x='1.500' y='3.510' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>8</text><rect class='ly-copper pad' data-num='9' data-name='3IN-' x='1.500' y='2.240' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>9</text><rect class='ly-copper pad' data-num='10' data-name='3IN+' x='1.500' y='0.970' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>10</text><rect class='ly-copper pad' data-num='11' data-name='VCC-' x='1.500' y='-0.300' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='0.000' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>11</text><rect class='ly-copper pad' data-num='12' data-name='4IN+' x='1.500' y='-1.570' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='-1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>12</text><rect class='ly-copper pad' data-num='13' data-name='4IN-' x='1.500' y='-2.840' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='-2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>13</text><rect class='ly-copper pad' data-num='14' data-name='4OUT' x='1.500' y='-4.110' width='1.950' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.475' y='-3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>14</text></svg></div> <div id=tip></div> <script>-var KIND="footprint", MPN="LM324", PINS=[{"desc":"Output of op amp 1.","name":"","number":"1","type":"Output"},{"desc":"Inverting (negative) input of op amp 1.","name":"-","number":"2","type":"Input"},{"desc":"Non-inverting (positive) input of op amp 1.","name":"+","number":"3","type":"Input"},{"desc":"Non-inverting (positive) input of op amp 2.","name":"+","number":"5","type":"Input"},{"desc":"Inverting (negative) input of op amp 2.","name":"-","number":"6","type":"Input"},{"desc":"Output of op amp 2.","name":"","number":"7","type":"Output"},{"desc":"Output of op amp 3.","name":"","number":"8","type":"Output"},{"desc":"Inverting (negative) input of op amp 3.","name":"-","number":"9","type":"Input"},{"desc":"Non-inverting (positive) input of op amp 3.","name":"+","number":"10","type":"Input"},{"desc":"Non-inverting (positive) input of op amp 4.","name":"+","number":"12","type":"Input"},{"desc":"Inverting (negative) input of op amp 4.","name":"-","number":"13","type":"Input"},{"desc":"Output of op amp 4.","name":"","number":"14","type":"Output"},{"desc":"Positive (highest) supply.","name":"V+","number":"4","type":"Power"},{"desc":"Negative (lowest) supply, or GND for single-supply operation.","name":"V-","number":"11","type":"Power"}];+var KIND="footprint", MPN="ADOM/LM324", PINS=[{"desc":"","name":"1OUT","number":"1","type":""},{"desc":"","name":"1IN-","number":"2","type":""},{"desc":"","name":"1IN+","number":"3","type":""},{"desc":"","name":"2IN+","number":"5","type":""},{"desc":"","name":"2IN-","number":"6","type":""},{"desc":"","name":"2OUT","number":"7","type":""},{"desc":"","name":"3OUT","number":"8","type":""},{"desc":"","name":"3IN-","number":"9","type":""},{"desc":"","name":"3IN+","number":"10","type":""},{"desc":"","name":"4IN+","number":"12","type":""},{"desc":"","name":"4IN-","number":"13","type":""},{"desc":"","name":"4OUT","number":"14","type":""},{"desc":"","name":"VCC+","number":"4","type":""},{"desc":"","name":"VCC-","number":"11","type":""}]; var byNum={}; PINS.forEach(function(p){byNum[String(p.number)]=p;}); var stage=document.getElementById('stage'), svg=stage.querySelector('svg'), tip=document.getElementById('tip'); // ---- pan/zoom ----
viewers/symbol.html+3−3
@@ -1,5 +1,5 @@ <!doctype html><html lang=en><head><meta charset=utf-8>-<meta name=viewport content="width=device-width,initial-scale=1"><title>LM324 symbol</title>+<meta name=viewport content="width=device-width,initial-scale=1"><title>ADOM/LM324 symbol</title> <style> :root{--bg:#0d1117;--panel:#161b22;--edge:#30363d;--ink:#e6edf3;--mut:#8b949e;--acc:#00b8b0;--accb:#00e6dc;--hi:#6ea8fe} *{box-sizing:border-box;margin:0}html,body{height:100%}@@ -23,10 +23,10 @@ rect.pad.hi{stroke:var(--hi);stroke-width:.15;paint-order:stroke} #tip .td{font-size:11px;color:var(--ink);margin-top:5px;line-height:1.4} </style></head><body> <div class=bar><span class=h>Schematic symbol</span><span class=sp></span></div>-<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-350 -350 700 700' style='width:100%;height:100%'><polyline points='-200.0,-200.0 200.0,-0.0 -200.0,200.0 -200.0,-200.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-200.0,-200.0 200.0,-0.0 -200.0,200.0 -200.0,-200.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-200.0,-200.0 200.0,-0.0 -200.0,200.0 -200.0,-200.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-200.0,-200.0 200.0,-0.0 -200.0,200.0 -200.0,-200.0' fill='none' stroke='#e35d5d' stroke-width='4'/><g class='pingroup' data-num='1' data-name=''><line class='pinvis' x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='#dfe4ec' stroke-width='4'/><line x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='250.0' y='-37.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>1</text><g class='pingroup' data-num='2' data-name='-'><line class='pinvis' x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='137.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>2</text><text x='-175.0' y='100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>-</text><g class='pingroup' data-num='3' data-name='+'><line class='pinvis' x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='-62.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>3</text><text x='-175.0' y='-100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>+</text><g class='pingroup' data-num='5' data-name='+'><line class='pinvis' x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='-62.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>5</text><text x='-175.0' y='-100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>+</text><g class='pingroup' data-num='6' data-name='-'><line class='pinvis' x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='137.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>6</text><text x='-175.0' y='100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>-</text><g class='pingroup' data-num='7' data-name=''><line class='pinvis' x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='#dfe4ec' stroke-width='4'/><line x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='250.0' y='-37.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>7</text><g class='pingroup' data-num='8' data-name=''><line class='pinvis' x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='#dfe4ec' stroke-width='4'/><line x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='250.0' y='-37.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>8</text><g class='pingroup' data-num='9' data-name='-'><line class='pinvis' x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='137.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>9</text><text x='-175.0' y='100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>-</text><g class='pingroup' data-num='10' data-name='+'><line class='pinvis' x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='-62.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>10</text><text x='-175.0' y='-100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>+</text><g class='pingroup' data-num='12' data-name='+'><line class='pinvis' x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='-62.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>12</text><text x='-175.0' y='-100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>+</text><g class='pingroup' data-num='13' data-name='-'><line class='pinvis' x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='137.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>13</text><text x='-175.0' y='100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>-</text><g class='pingroup' data-num='14' data-name=''><line class='pinvis' x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='#dfe4ec' stroke-width='4'/><line x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='250.0' y='-37.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>14</text><g class='pingroup' data-num='4' data-name='V+'><line class='pinvis' x1='-100.0' y1='-300.0' x2='-100.0' y2='-150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-100.0' y1='-300.0' x2='-100.0' y2='-150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-145.0' y='-225.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>4</text><text x='-100.0' y='-120.0' font-size='60' fill='#e6e9ef' text-anchor='middle' dominant-baseline='central'>V+</text><g class='pingroup' data-num='11' data-name='V-'><line class='pinvis' x1='-100.0' y1='300.0' x2='-100.0' y2='150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-100.0' y1='300.0' x2='-100.0' y2='150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-55.0' y='225.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>11</text><text x='-100.0' y='120.0' font-size='60' fill='#e6e9ef' text-anchor='middle' dominant-baseline='central'>V-</text></svg></div>+<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-350 -350 700 700' style='width:100%;height:100%'><polyline points='-200.0,-200.0 200.0,-0.0 -200.0,200.0 -200.0,-200.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-200.0,-200.0 200.0,-0.0 -200.0,200.0 -200.0,-200.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-200.0,-200.0 200.0,-0.0 -200.0,200.0 -200.0,-200.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-200.0,-200.0 200.0,-0.0 -200.0,200.0 -200.0,-200.0' fill='none' stroke='#e35d5d' stroke-width='4'/><g class='pingroup' data-num='1' data-name='1OUT'><line class='pinvis' x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='#dfe4ec' stroke-width='4'/><line x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='250.0' y='-37.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>1</text><text x='175.0' y='0.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>1OUT</text><g class='pingroup' data-num='2' data-name='1IN-'><line class='pinvis' x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='137.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>2</text><text x='-175.0' y='100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>1IN-</text><g class='pingroup' data-num='3' data-name='1IN+'><line class='pinvis' x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='-62.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>3</text><text x='-175.0' y='-100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>1IN+</text><g class='pingroup' data-num='5' data-name='2IN+'><line class='pinvis' x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='-62.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>5</text><text x='-175.0' y='-100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>2IN+</text><g class='pingroup' data-num='6' data-name='2IN-'><line class='pinvis' x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='137.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>6</text><text x='-175.0' y='100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>2IN-</text><g class='pingroup' data-num='7' data-name='2OUT'><line class='pinvis' x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='#dfe4ec' stroke-width='4'/><line x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='250.0' y='-37.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>7</text><text x='175.0' y='0.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>2OUT</text><g class='pingroup' data-num='8' data-name='3OUT'><line class='pinvis' x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='#dfe4ec' stroke-width='4'/><line x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='250.0' y='-37.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>8</text><text x='175.0' y='0.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>3OUT</text><g class='pingroup' data-num='9' data-name='3IN-'><line class='pinvis' x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='137.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>9</text><text x='-175.0' y='100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>3IN-</text><g class='pingroup' data-num='10' data-name='3IN+'><line class='pinvis' x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='-62.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>10</text><text x='-175.0' y='-100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>3IN+</text><g class='pingroup' data-num='12' data-name='4IN+'><line class='pinvis' x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='-100.0' x2='-200.0' y2='-100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='-62.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>12</text><text x='-175.0' y='-100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>4IN+</text><g class='pingroup' data-num='13' data-name='4IN-'><line class='pinvis' x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-300.0' y1='100.0' x2='-200.0' y2='100.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-250.0' y='137.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>13</text><text x='-175.0' y='100.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>4IN-</text><g class='pingroup' data-num='14' data-name='4OUT'><line class='pinvis' x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='#dfe4ec' stroke-width='4'/><line x1='300.0' y1='-0.0' x2='200.0' y2='-0.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='250.0' y='-37.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>14</text><text x='175.0' y='0.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>4OUT</text><g class='pingroup' data-num='4' data-name='VCC+'><line class='pinvis' x1='-100.0' y1='-300.0' x2='-100.0' y2='-150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-100.0' y1='-300.0' x2='-100.0' y2='-150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-145.0' y='-225.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>4</text><text x='-100.0' y='-120.0' font-size='60' fill='#e6e9ef' text-anchor='middle' dominant-baseline='central'>VCC+</text><g class='pingroup' data-num='11' data-name='VCC-'><line class='pinvis' x1='-100.0' y1='300.0' x2='-100.0' y2='150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-100.0' y1='300.0' x2='-100.0' y2='150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-55.0' y='225.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>11</text><text x='-100.0' y='120.0' font-size='60' fill='#e6e9ef' text-anchor='middle' dominant-baseline='central'>VCC-</text></svg></div> <div id=tip></div> <script>-var KIND="symbol", MPN="LM324", PINS=[{"desc":"Output of op amp 1.","name":"","number":"1","type":"Output"},{"desc":"Inverting (negative) input of op amp 1.","name":"-","number":"2","type":"Input"},{"desc":"Non-inverting (positive) input of op amp 1.","name":"+","number":"3","type":"Input"},{"desc":"Non-inverting (positive) input of op amp 2.","name":"+","number":"5","type":"Input"},{"desc":"Inverting (negative) input of op amp 2.","name":"-","number":"6","type":"Input"},{"desc":"Output of op amp 2.","name":"","number":"7","type":"Output"},{"desc":"Output of op amp 3.","name":"","number":"8","type":"Output"},{"desc":"Inverting (negative) input of op amp 3.","name":"-","number":"9","type":"Input"},{"desc":"Non-inverting (positive) input of op amp 3.","name":"+","number":"10","type":"Input"},{"desc":"Non-inverting (positive) input of op amp 4.","name":"+","number":"12","type":"Input"},{"desc":"Inverting (negative) input of op amp 4.","name":"-","number":"13","type":"Input"},{"desc":"Output of op amp 4.","name":"","number":"14","type":"Output"},{"desc":"Positive (highest) supply.","name":"V+","number":"4","type":"Power"},{"desc":"Negative (lowest) supply, or GND for single-supply operation.","name":"V-","number":"11","type":"Power"}];+var KIND="symbol", MPN="ADOM/LM324", PINS=[{"desc":"","name":"1OUT","number":"1","type":""},{"desc":"","name":"1IN-","number":"2","type":""},{"desc":"","name":"1IN+","number":"3","type":""},{"desc":"","name":"2IN+","number":"5","type":""},{"desc":"","name":"2IN-","number":"6","type":""},{"desc":"","name":"2OUT","number":"7","type":""},{"desc":"","name":"3OUT","number":"8","type":""},{"desc":"","name":"3IN-","number":"9","type":""},{"desc":"","name":"3IN+","number":"10","type":""},{"desc":"","name":"4IN+","number":"12","type":""},{"desc":"","name":"4IN-","number":"13","type":""},{"desc":"","name":"4OUT","number":"14","type":""},{"desc":"","name":"VCC+","number":"4","type":""},{"desc":"","name":"VCC-","number":"11","type":""}]; var byNum={}; PINS.forEach(function(p){byNum[String(p.number)]=p;}); var stage=document.getElementById('stage'), svg=stage.querySelector('svg'), tip=document.getElementById('tip'); // ---- pan/zoom ----