← Commit history

pin 1: carry the footprint's marker into the .lbr, the viewer and page.json (silk-marker, drawn, top-left)

Ray ·84759483ce ·1mo ago ·parent 4ac7b63
5 files changed +290−3
package.json+2−1
@@ -24,6 +24,7 @@     "docs/hero.png",     "docs/w25x05clsnig-datasheet.pdf",     "viewers/symbol.html",-    "viewers/footprint.html"+    "viewers/footprint.html",+    "pads.json"   ] }\ No newline at end of file
pads.jsonadded+275
@@ -0,0 +1,275 @@+{+ "schema": "adom.pads/1",+ "slug": "w25x05clsnig",+ "footprint": "SOIC-8_3.9x4.9mm_P1.27mm",+ "generated_from": {+  "footprint": "SOIC-8_3.9x4.9mm_P1.27mm@sha256:074ecb2092b24fa4",+  "pins": "page.json:component.pins",+  "overrides": null+ },+ "pin1": {+  "pad": "1",+  "at": [+   -2.475,+   -1.905+  ],+  "corner": "top-left",+  "source": "silk-marker",+  "derived_from": "SOIC-8_3.9x4.9mm_P1.27mm@sha256:074ecb2092b24fa4"+ },+ "pad_count": 8,+ "symbol_pins": [+  "1",+  "2",+  "3",+  "4",+  "5",+  "6",+  "7",+  "8"+ ],+ "paste_apertures": 0,+ "issues": [],+ "pads": [+  {+   "pad": "1",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    -2.475,+    -1.905+   ],+   "rot": 0.0,+   "size": [+    1.95,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "1",+   "name": "/CS",+   "type": "input",+   "description": "SPI Chip Select input, active low. When high, DO/IO0/IO1 pins are high impedance and the device is in standby. Must track VCC at power-up; a pull-up resistor may be used.",+   "is_pin1": true,+   "source": {+    "geometry": "SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "2",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    -2.475,+    -0.635+   ],+   "rot": 0.0,+   "size": [+    1.95,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "2",+   "name": "DO (IO1)",+   "type": "bidirectional",+   "description": "Serial Data Output for Standard SPI (unidirectional output on falling edge of CLK). Becomes bidirectional I/O pin IO1 during Dual SPI Fast Read Dual Output (3Bh) and Fast Read Dual I/O (BBh) instructions.",+   "is_pin1": false,+   "source": {+    "geometry": "SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "3",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    -2.475,+    0.635+   ],+   "rot": 0.0,+   "size": [+    1.95,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "3",+   "name": "/WP",+   "type": "input",+   "description": "Write Protect input, active low. In conjunction with the Status Register SRP, TB, BP1 and BP0 bits, hardware-protects a portion or the entire memory array from write/erase and locks the Status Register.",+   "is_pin1": false,+   "source": {+    "geometry": "SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "4",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    -2.475,+    1.905+   ],+   "rot": 0.0,+   "size": [+    1.95,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "4",+   "name": "GND",+   "type": "power_in",+   "description": "Ground reference (0V) for VCC (2.3V-3.6V supply).",+   "is_pin1": false,+   "source": {+    "geometry": "SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "5",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    2.475,+    1.905+   ],+   "rot": 0.0,+   "size": [+    1.95,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "5",+   "name": "DI (IO0)",+   "type": "bidirectional",+   "description": "Serial Data Input for Standard SPI (unidirectional input latched on rising edge of CLK for instructions/addresses/data). Becomes bidirectional I/O pin IO0 during Dual SPI Fast Read Dual Output (3Bh) and Fast Read Dual I/O (BBh) instructions.",+   "is_pin1": false,+   "source": {+    "geometry": "SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "6",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    2.475,+    0.635+   ],+   "rot": 0.0,+   "size": [+    1.95,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "6",+   "name": "CLK",+   "type": "input",+   "description": "SPI Serial Clock input, up to 104 MHz. Provides timing for serial input (rising edge) and output (falling edge) operations. Supports SPI Mode 0 (0,0) and Mode 3 (1,1).",+   "is_pin1": false,+   "source": {+    "geometry": "SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "7",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    2.475,+    -0.635+   ],+   "rot": 0.0,+   "size": [+    1.95,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "7",+   "name": "/HOLD",+   "type": "input",+   "description": "Hold input, active low. When asserted with /CS low, pauses device operation: DO becomes high-impedance and DI/CLK are ignored, allowing the SPI bus to be shared without losing device state.",+   "is_pin1": false,+   "source": {+    "geometry": "SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "8",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    2.475,+    -1.905+   ],+   "rot": 0.0,+   "size": [+    1.95,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "8",+   "name": "VCC",+   "type": "power_in",+   "description": "Power supply input, 2.3V to 3.6V (2.5V / 3V / 3.3V nominal). Typical 1 mA active current, <1 uA power-down.",+   "is_pin1": false,+   "source": {+    "geometry": "SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  }+ ]+}\ No newline at end of file
page.json+11
@@ -96,6 +96,17 @@     "viewers": {       "symbol": "viewers/symbol.html",       "footprint": "viewers/footprint.html"+    },+    "pin1": {+      "pad": "1",+      "at": [+        -2.475,+        -1.905+      ],+      "corner": "top-left",+      "source": "silk-marker",+      "derived_from": "SOIC-8_3.9x4.9mm_P1.27mm@sha256:074ecb2092b24fa4",+      "mark": "drawn"     }   },   "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='-4.100 -3.100 8.200 6.200' style='width:100%;height:100%'><line class='ly-silk' x1='-2.060' y1='-2.560' x2='2.060' y2='-2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='-2.465' x2='-2.060' y2='-2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='2.560' x2='-2.060' y2='2.465' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='-2.560' x2='2.060' y2='-2.465' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='2.465' x2='2.060' y2='2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='2.560' x2='-2.060' y2='2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-3.700' y1='-2.460' x2='-2.200' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-3.700' y1='2.460' x2='-3.700' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-2.700' x2='2.200' y2='-2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-2.460' x2='-2.200' y2='-2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='2.460' x2='-3.700' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='2.700' x2='-2.200' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-2.700' x2='2.200' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-2.460' x2='3.700' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='2.460' x2='2.200' y2='2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='2.700' x2='-2.200' y2='2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='-2.460' x2='3.700' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='2.460' x2='2.200' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='/CS' x='-3.450' y='-2.205' 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.905' 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='DO (IO1)' x='-3.450' y='-0.935' 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.635' 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='/WP' x='-3.450' y='0.335' 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.635' 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='GND' x='-3.450' y='1.605' 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.905' 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='DI (IO0)' x='1.500' y='1.605' 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.905' 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='CLK' x='1.500' y='0.335' 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.635' 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='/HOLD' x='1.500' y='-0.935' 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.635' 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='VCC' x='1.500' y='-2.205' 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.905' 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></svg></div>+<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-4.100 -3.100 8.200 6.200' style='width:100%;height:100%'><line class='ly-silk' x1='-2.060' y1='-2.560' x2='2.060' y2='-2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='-2.465' x2='-2.060' y2='-2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-2.060' y1='2.560' x2='-2.060' y2='2.465' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='-2.560' x2='2.060' y2='-2.465' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='2.465' x2='2.060' y2='2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='2.060' y1='2.560' x2='-2.060' y2='2.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-3.700' y1='-2.460' x2='-2.200' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-3.700' y1='2.460' x2='-3.700' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-2.700' x2='2.200' y2='-2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='-2.460' x2='-2.200' y2='-2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='2.460' x2='-3.700' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.200' y1='2.700' x2='-2.200' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-2.700' x2='2.200' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='-2.460' x2='3.700' y2='-2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='2.460' x2='2.200' y2='2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.200' y1='2.700' x2='-2.200' y2='2.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='-2.460' x2='3.700' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='3.700' y1='2.460' x2='2.200' y2='2.460' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='/CS' x='-3.450' y='-2.205' 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.905' 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='DO (IO1)' x='-3.450' y='-0.935' 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.635' 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='/WP' x='-3.450' y='0.335' 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.635' 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='GND' x='-3.450' y='1.605' 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.905' 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='DI (IO0)' x='1.500' y='1.605' 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.905' 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='CLK' x='1.500' y='0.335' 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.635' 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='/HOLD' x='1.500' y='-0.935' 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.635' 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='VCC' x='1.500' y='-2.205' 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.905' 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><polygon class='ly-silk adom-pin1' points='-2.600,-2.470 -2.840,-2.800 -2.360,-2.800' fill='#d8b4fe' stroke='none'><title>pin 1</title></polygon></svg></div> <div id=tip></div> <script> var KIND="footprint", MPN="RAY/W25X05CLSNIG", PINS=[{"desc":"","name":"/CS","number":"1","type":""},{"desc":"","name":"DO (IO1)","number":"2","type":""},{"desc":"","name":"/WP","number":"3","type":""},{"desc":"","name":"GND","number":"4","type":""},{"desc":"","name":"VCC","number":"8","type":""},{"desc":"","name":"/HOLD","number":"7","type":""},{"desc":"","name":"CLK","number":"6","type":""},{"desc":"","name":"DI (IO0)","number":"5","type":""}];
w25x05clsnig.lbr+1−1
@@ -70,7 +70,7 @@   <wire x1="2.0600" y1="-2.5600" x2="-2.0600" y2="-2.5600" width="0.1200" layer="21"/>   <text x="0" y="3.480" size="1.27" layer="25" align="bottom-center">&gt;NAME</text>   <text x="0" y="-3.480" size="1.27" layer="27" align="top-center">&gt;VALUE</text>-</package>+<!--adom-pin1--><polygon width="0.0500" layer="21"><vertex x="-2.6000" y="2.4700"/><vertex x="-2.8400" y="2.8000"/><vertex x="-2.3600" y="2.8000"/></polygon></package> </packages> <symbols> <symbol name="W25X05CLSNIG">