← Commit history

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

Ray ·2b649cc2b0 ·1mo ago ·parent d2a5312
5 files changed +144−3
gp1s094hcz0f.lbr+1−1
@@ -82,7 +82,7 @@   <wire x1="2.8441" y1="1.0712" x2="2.8100" y2="1.3300" width="0.1200" layer="21"/>   <text x="0" y="1.930" size="1.27" layer="25" align="bottom-center">&gt;NAME</text>   <text x="0" y="-4.470" size="1.27" layer="27" align="top-center">&gt;VALUE</text>-</package>+<!--adom-pin1--><polygon width="0.0500" layer="21"><vertex x="-0.5600" y="-1.2480"/><vertex x="0.5600" y="-1.2480"/><vertex x="0.0000" y="-2.3680"/></polygon></package> </packages> <symbols> <symbol name="GP1S094HCZ0F">
package.json+2−1
@@ -24,6 +24,7 @@     "docs/hero.png",     "docs/gp1s094hcz0f-datasheet.pdf",     "viewers/symbol.html",-    "viewers/footprint.html"+    "viewers/footprint.html",+    "pads.json"   ] }\ No newline at end of file
pads.jsonadded+129
@@ -0,0 +1,129 @@+{+ "schema": "adom.pads/1",+ "slug": "gp1s094hcz0f",+ "footprint": "DIP-4_W7.62mm",+ "generated_from": {+  "footprint": "DIP-4_W7.62mm@sha256:3884cdce734b1b9d",+  "pins": "page.json:component.pins",+  "overrides": null+ },+ "pin1": {+  "pad": "1",+  "at": [+   0.0,+   0.0+  ],+  "corner": "bottom-right",+  "source": "fab-chamfer",+  "derived_from": "DIP-4_W7.62mm@sha256:3884cdce734b1b9d"+ },+ "pad_count": 4,+ "paste_apertures": 0,+ "issues": [],+ "pads": [+  {+   "pad": "1",+   "kind": "thru_hole",+   "shape": "roundrect",+   "at": [+    0.0,+    0.0+   ],+   "rot": 0.0,+   "size": [+    1.6,+    1.6+   ],+   "layers": [],+   "thermal": false,+   "pin": "1",+   "name": "Anode",+   "type": "passive",+   "description": "Anode of the infrared emitting diode (IRED) on the emitter side. Drive with forward current IF up to 50mA max (VF typ 1.2V, max 1.4V at IF=20mA). Use a series current-limit resistor to set IF (typical operating IF=5mA at VCE=5V).",+   "is_pin1": true,+   "source": {+    "geometry": "DIP-4_W7.62mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "2",+   "kind": "thru_hole",+   "shape": "circle",+   "at": [+    0.0,+    2.54+   ],+   "rot": 0.0,+   "size": [+    1.6,+    1.6+   ],+   "layers": [],+   "thermal": false,+   "pin": "2",+   "name": "Collector",+   "type": "passive",+   "description": "Collector of the NPN phototransistor on the detector side. VCEO max 35V, IC max 20mA. Typical output collector current IC = 40-400uA at VCE=5V, IF=5mA. Connect through a load resistor RL to VCC to develop the output voltage.",+   "is_pin1": false,+   "source": {+    "geometry": "DIP-4_W7.62mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "3",+   "kind": "thru_hole",+   "shape": "circle",+   "at": [+    7.62,+    2.54+   ],+   "rot": 0.0,+   "size": [+    1.6,+    1.6+   ],+   "layers": [],+   "thermal": false,+   "pin": "3",+   "name": "Emitter",+   "type": "passive",+   "description": "Emitter of the NPN phototransistor on the detector side. Typically tied to GND. VECO max 6V. Collector-emitter saturation voltage VCE(sat) max 0.4V at IF=10mA, IC=40uA.",+   "is_pin1": false,+   "source": {+    "geometry": "DIP-4_W7.62mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "4",+   "kind": "thru_hole",+   "shape": "circle",+   "at": [+    7.62,+    0.0+   ],+   "rot": 0.0,+   "size": [+    1.6,+    1.6+   ],+   "layers": [],+   "thermal": false,+   "pin": "4",+   "name": "Cathode",+   "type": "passive",+   "description": "Cathode of the infrared emitting diode (IRED) on the emitter side. Typically tied to GND (or the low side of the current-limit resistor). Peak emission wavelength 950nm (GaAs, non-coherent).",+   "is_pin1": false,+   "source": {+    "geometry": "DIP-4_W7.62mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  }+ ]+}\ No newline at end of file
page.json+11
@@ -72,6 +72,17 @@     "viewers": {       "symbol": "viewers/symbol.html",       "footprint": "viewers/footprint.html"+    },+    "pin1": {+      "pad": "1",+      "at": [+        0.0,+        0.0+      ],+      "corner": "bottom-right",+      "source": "fab-chamfer",+      "derived_from": "DIP-4_W7.62mm@sha256:3884cdce734b1b9d",+      "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='-1.460 -2.730 10.530 7.200' style='width:100%;height:100%'><line class='ly-silk' x1='1.160' y1='-1.330' x2='1.160' y2='3.870' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='1.160' y1='3.870' x2='6.460' y2='3.870' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.810' y1='-1.330' x2='1.160' y2='-1.330' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='6.460' y1='-1.330' x2='4.810' y2='-1.330' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='6.460' y1='3.870' x2='6.460' y2='-1.330' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-fab' x1='0.635' y1='-0.270' x2='1.635' y2='-1.270' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='0.635' y1='3.810' x2='0.635' y2='-0.270' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='1.635' y1='-1.270' x2='6.985' y2='-1.270' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='6.985' y1='-1.270' x2='6.985' y2='3.810' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='6.985' y1='3.810' x2='0.635' y2='3.810' stroke='#f472b6' stroke-width='0.100'/><rect class='ly-courtyard' x='-1.060' y='-1.520' width='9.730' height='5.590' fill='none' stroke='#4ade80' stroke-width='0.050'/><path class='ly-silk' d='M4.810 -1.330 A1.000 1.000 0 0 1 2.810 -1.330' fill='none' stroke='#d8b4fe' stroke-width='0.120'/><rect class='ly-copper pad' data-num='1' data-name='Anode' x='-0.800' y='-0.800' width='1.600' height='1.600' rx='0.400' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='0.000' y='0.000' font-size='0.960' 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='Collector' x='-0.800' y='1.740' width='1.600' height='1.600' rx='0.400' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='0.000' y='2.540' font-size='0.960' 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='Emitter' x='6.820' y='1.740' width='1.600' height='1.600' rx='0.400' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='7.620' y='2.540' font-size='0.960' 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='Cathode' x='6.820' y='-0.800' width='1.600' height='1.600' rx='0.400' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='7.620' y='0.000' font-size='0.960' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>4</text></svg></div>+<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-1.460 -2.730 10.530 7.200' style='width:100%;height:100%'><line class='ly-silk' x1='1.160' y1='-1.330' x2='1.160' y2='3.870' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='1.160' y1='3.870' x2='6.460' y2='3.870' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.810' y1='-1.330' x2='1.160' y2='-1.330' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='6.460' y1='-1.330' x2='4.810' y2='-1.330' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='6.460' y1='3.870' x2='6.460' y2='-1.330' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-fab' x1='0.635' y1='-0.270' x2='1.635' y2='-1.270' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='0.635' y1='3.810' x2='0.635' y2='-0.270' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='1.635' y1='-1.270' x2='6.985' y2='-1.270' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='6.985' y1='-1.270' x2='6.985' y2='3.810' stroke='#f472b6' stroke-width='0.100'/><line class='ly-fab' x1='6.985' y1='3.810' x2='0.635' y2='3.810' stroke='#f472b6' stroke-width='0.100'/><rect class='ly-courtyard' x='-1.060' y='-1.520' width='9.730' height='5.590' fill='none' stroke='#4ade80' stroke-width='0.050'/><path class='ly-silk' d='M4.810 -1.330 A1.000 1.000 0 0 1 2.810 -1.330' fill='none' stroke='#d8b4fe' stroke-width='0.120'/><rect class='ly-copper pad' data-num='1' data-name='Anode' x='-0.800' y='-0.800' width='1.600' height='1.600' rx='0.400' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='0.000' y='0.000' font-size='0.960' 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='Collector' x='-0.800' y='1.740' width='1.600' height='1.600' rx='0.400' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='0.000' y='2.540' font-size='0.960' 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='Emitter' x='6.820' y='1.740' width='1.600' height='1.600' rx='0.400' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='7.620' y='2.540' font-size='0.960' 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='Cathode' x='6.820' y='-0.800' width='1.600' height='1.600' rx='0.400' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='7.620' y='0.000' font-size='0.960' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>4</text><polygon class='ly-silk adom-pin1' points='-0.560,1.248 0.560,1.248 0.000,2.368' fill='#d8b4fe' stroke='none'><title>pin 1</title></polygon></svg></div> <div id=tip></div> <script> var KIND="footprint", MPN="RAY/GP1S094HCZ0F", PINS=[{"desc":"","name":"Anode","number":"1","type":""},{"desc":"","name":"Collector","number":"2","type":""},{"desc":"","name":"Cathode","number":"4","type":""},{"desc":"","name":"Emitter","number":"3","type":""}];