← Commit history

pin 1: carry the footprint's marker into the .lbr, the viewer and page.json (pad-position, synthesised, bottom-right)

Ray ·9fd4a81b65 ·1mo ago ·parent c792003
5 files changed +136−3
package.json+2−1
@@ -24,6 +24,7 @@     "docs/hero.png",     "docs/xl4016e1-datasheet.pdf",     "viewers/symbol.html",-    "viewers/footprint.html"+    "viewers/footprint.html",+    "pads.json"   ] }\ No newline at end of file
pads.jsonadded+121
@@ -0,0 +1,121 @@+{+ "schema": "adom.pads/1",+ "slug": "xl4016e1",+ "footprint": "TO-220-3_Vertical",+ "generated_from": {+  "footprint": "TO-220-3_Vertical@sha256:0c6681bb273696ad",+  "pins": "page.json:component.pins",+  "overrides": null+ },+ "pin1": {+  "pad": "1",+  "at": [+   0.0,+   0.0+  ],+  "corner": "bottom-right",+  "source": "pad-position",+  "derived_from": "TO-220-3_Vertical@sha256:0c6681bb273696ad"+ },+ "pad_count": 3,+ "symbol_pins": [+  "1",+  "2",+  "3",+  "4",+  "5"+ ],+ "paste_apertures": 0,+ "issues": [+  {+   "kind": "pin-has-no-pad",+   "pin": "4",+   "detail": "the symbol declares pin \"4\" but the footprint has no such pad"+  },+  {+   "kind": "pin-has-no-pad",+   "pin": "5",+   "detail": "the symbol declares pin \"5\" but the footprint has no such pad"+  }+ ],+ "pads": [+  {+   "pad": "1",+   "kind": "thru_hole",+   "shape": "rect",+   "at": [+    0.0,+    0.0+   ],+   "rot": 0.0,+   "size": [+    1.905,+    2.0+   ],+   "layers": [],+   "thermal": false,+   "pin": "1",+   "name": "GND",+   "type": "power_in",+   "description": "Ground reference pin for the device (0V return).",+   "is_pin1": true,+   "source": {+    "geometry": "TO-220-3_Vertical.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "2",+   "kind": "thru_hole",+   "shape": "oval",+   "at": [+    2.54,+    0.0+   ],+   "rot": 0.0,+   "size": [+    1.905,+    2.0+   ],+   "layers": [],+   "thermal": false,+   "pin": "2",+   "name": "FB",+   "type": "input",+   "description": "Feedback input for output voltage regulation. An external resistor divider from VOUT sets the output; internal reference is 1.25V. VOUT = 1.25 * (1 + R2/R1). Absolute max 7V.",+   "is_pin1": false,+   "source": {+    "geometry": "TO-220-3_Vertical.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "3",+   "kind": "thru_hole",+   "shape": "oval",+   "at": [+    5.08,+    0.0+   ],+   "rot": 0.0,+   "size": [+    1.905,+    2.0+   ],+   "layers": [],+   "thermal": false,+   "pin": "3",+   "name": "SW",+   "type": "output",+   "description": "Power switch output node (drain of internal PMOS). Connects to the external inductor and freewheeling Schottky diode. Also connected internally to the exposed metal tab. Peak switch current up to 12A (14A typ limit).",+   "is_pin1": false,+   "source": {+    "geometry": "TO-220-3_Vertical.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  }+ ]+}\ No newline at end of file
page.json+11
@@ -78,6 +78,17 @@     "viewers": {       "symbol": "viewers/symbol.html",       "footprint": "viewers/footprint.html"+    },+    "pin1": {+      "pad": "1",+      "at": [+        0.0,+        0.0+      ],+      "corner": "bottom-right",+      "source": "pad-position",+      "derived_from": "TO-220-3_Vertical@sha256:0c6681bb273696ad",+      "mark": "synthesised"     }   },   "metadata": {
viewers/footprint.html+1−1
@@ -23,7 +23,7 @@ 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='-3.110 -3.800 11.300 5.700' style='width:100%;height:100%'><line class='ly-silk' x1='-2.570' y1='-3.260' x2='7.650' y2='-3.260' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.570' y1='-1.880' x2='7.650' y2='-1.880' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.570' y1='1.360' x2='-2.570' y2='-3.260' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.690' y1='-3.260' x2='0.690' y2='-1.880' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='4.390' y1='-3.260' x2='4.390' y2='-1.880' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='7.650' y1='-3.260' x2='7.650' y2='1.360' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='7.650' y1='1.360' x2='-2.570' y2='1.360' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-fab' x1='-2.460' y1='-1.880' x2='7.540' y2='-1.880' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='0.690' y1='-3.150' x2='0.690' y2='-1.880' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='4.390' y1='-3.150' x2='4.390' y2='-1.880' stroke='#f472b6' stroke-width='0.100'/><rect class='ly-courtyard' x='-2.710' y='-3.400' width='10.500' height='4.900' fill='none' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-fab' x='-2.460' y='-3.150' width='10.000' height='4.400' fill='none' stroke='#f472b6' stroke-width='0.100'/><rect class='ly-copper pad' data-num='1' data-name='GND' x='-0.953' y='-1.000' width='1.905' height='2.000' rx='0.000' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='0.000' y='0.000' font-size='1.100' 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='FB' x='1.587' y='-1.000' width='1.905' height='2.000' rx='0.000' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.540' y='0.000' font-size='1.100' 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='SW' x='4.128' y='-1.000' width='1.905' height='2.000' rx='0.000' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='5.080' y='0.000' font-size='1.100' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>3</text></svg></div>+<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-3.110 -3.800 11.300 5.700' style='width:100%;height:100%'><line class='ly-silk' x1='-2.570' y1='-3.260' x2='7.650' y2='-3.260' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.570' y1='-1.880' x2='7.650' y2='-1.880' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.570' y1='1.360' x2='-2.570' y2='-3.260' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.690' y1='-3.260' x2='0.690' y2='-1.880' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='4.390' y1='-3.260' x2='4.390' y2='-1.880' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='7.650' y1='-3.260' x2='7.650' y2='1.360' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='7.650' y1='1.360' x2='-2.570' y2='1.360' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-fab' x1='-2.460' y1='-1.880' x2='7.540' y2='-1.880' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='0.690' y1='-3.150' x2='0.690' y2='-1.880' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='4.390' y1='-3.150' x2='4.390' y2='-1.880' stroke='#f472b6' stroke-width='0.100'/><rect class='ly-courtyard' x='-2.710' y='-3.400' width='10.500' height='4.900' fill='none' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-fab' x='-2.460' y='-3.150' width='10.000' height='4.400' fill='none' stroke='#f472b6' stroke-width='0.100'/><rect class='ly-copper pad' data-num='1' data-name='GND' x='-0.953' y='-1.000' width='1.905' height='2.000' rx='0.000' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='0.000' y='0.000' font-size='1.100' 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='FB' x='1.587' y='-1.000' width='1.905' height='2.000' rx='0.000' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='2.540' y='0.000' font-size='1.100' 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='SW' x='4.128' y='-1.000' width='1.905' height='2.000' rx='0.000' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='5.080' y='0.000' font-size='1.100' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>3</text><polygon class='ly-silk adom-pin1' points='-0.667,1.533 0.667,1.533 0.000,2.867' fill='#d8b4fe' stroke='none'><title>pin 1</title></polygon></svg></div> <div id=tip></div> <script> var KIND="footprint", MPN="RAY/XL4016E1", PINS=[{"desc":"","name":"GND","number":"1","type":""},{"desc":"","name":"FB","number":"2","type":""},{"desc":"","name":"SW","number":"3","type":""},{"desc":"","name":"VIN","number":"5","type":""},{"desc":"","name":"VC","number":"4","type":""}];
xl4016e1.lbr+1−1
@@ -73,7 +73,7 @@   <wire x1="4.3900" y1="3.1500" x2="4.3900" y2="1.8800" width="0.1000" layer="51"/>   <text x="0" y="3.860" size="1.27" layer="25" align="bottom-center">&gt;NAME</text>   <text x="0" y="-1.960" size="1.27" layer="27" align="top-center">&gt;VALUE</text>-</package>+<!--adom-pin1--><polygon width="0.0500" layer="21"><vertex x="-0.6667" y="-1.5334"/><vertex x="0.6667" y="-1.5334"/><vertex x="0.0000" y="-2.8669"/></polygon></package> </packages> <symbols> <symbol name="TO-220-3_Vertical">