← Commit history

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

Ray ·47d9839000 ·1mo ago ·parent 11088ad
5 files changed +200−6
package.json+2−1
@@ -24,6 +24,7 @@     "docs/hero.png",     "docs/tp4054-datasheet.pdf",     "viewers/symbol.html",-    "viewers/footprint.html"+    "viewers/footprint.html",+    "pads.json"   ] }\ No newline at end of file
pads.jsonadded+182
@@ -0,0 +1,182 @@+{+ "schema": "adom.pads/1",+ "slug": "tp4054",+ "footprint": "SOT-23-5",+ "generated_from": {+  "footprint": "SOT-23-5@sha256:455a3f7c3e5eb5b8",+  "pins": "page.json:component.pins",+  "overrides": null+ },+ "pin1": {+  "pad": "1",+  "at": [+   -1.1375,+   -0.95+  ],+  "corner": "top-left",+  "source": "silk-marker",+  "derived_from": "SOT-23-5@sha256:455a3f7c3e5eb5b8"+ },+ "pad_count": 5,+ "symbol_pins": [+  "1",+  "2",+  "3",+  "4",+  "5"+ ],+ "paste_apertures": 0,+ "issues": [],+ "pads": [+  {+   "pad": "1",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    -1.1375,+    -0.95+   ],+   "rot": 0.0,+   "size": [+    1.325,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "1",+   "name": "CHRG",+   "type": "output",+   "description": "Open-drain charge-status output. Pulled low by an internal N-channel MOSFET while charging; high-impedance when charging completes or during undervoltage lockout. Typical V(CHRG) = 0.35V at I(CHRG) = 5mA. Withstands up to V_SS + 10V. Commonly drives an LED to ground through a series resistor.",+   "is_pin1": true,+   "source": {+    "geometry": "SOT-23-5.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "2",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    -1.1375,+    0.0+   ],+   "rot": 0.0,+   "size": [+    1.325,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "2",+   "name": "GND",+   "type": "power_in",+   "description": "Device ground (VSS) reference for all internal circuitry and the return for the PROG resistor.",+   "is_pin1": false,+   "source": {+    "geometry": "SOT-23-5.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "3",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    -1.1375,+    0.95+   ],+   "rot": 0.0,+   "size": [+    1.325,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "3",+   "name": "BAT",+   "type": "power_out",+   "description": "Charging current output to the Li-ion cell. Regulates the battery float voltage to 4.2V (±1%) and sources the programmed charge current (up to 600mA absolute max). Under battery-reverse (V_BAT = -4V) an internal ~0.7mA current flows to GND to protect the ESD diode. Absolute max V_BAT = 7V.",+   "is_pin1": false,+   "source": {+    "geometry": "SOT-23-5.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "4",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    1.1375,+    0.95+   ],+   "rot": 0.0,+   "size": [+    1.325,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "4",+   "name": "VCC",+   "type": "power_in",+   "description": "Positive supply input, 4.25V-6.5V (absolute max V_SS + 7V). Requires at least a 1µF bypass capacitor to GND. When V(BAT) - V(VCC) drops below ~30mV the part enters shutdown and I(BAT) falls below ~2µA.",+   "is_pin1": false,+   "source": {+    "geometry": "SOT-23-5.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  },+  {+   "pad": "5",+   "kind": "smd",+   "shape": "roundrect",+   "at": [+    1.1375,+    -0.95+   ],+   "rot": 0.0,+   "size": [+    1.325,+    0.6+   ],+   "layers": [+    "F.Cu",+    "F.Mask",+    "F.Paste"+   ],+   "thermal": false,+   "pin": "5",+   "name": "PROG",+   "type": "bidirectional",+   "description": "Charge-current programming, charge-current monitoring, and shutdown pin. A resistor R_PROG from PROG to GND sets I_BAT: I_BAT = (V_PROG / R_PROG) × 1000, with V_PROG ≈ 1V in constant-current mode (e.g. R_PROG = 2kΩ → ~500mA, 10kΩ → ~100mA). A 2µA pull-up allows the pin to be pulled high (>1.21V) to shut the charger down (I_CC drops to ~25µA). Absolute max V_PROG = V_SS ± 0.3V nominal / max current 800µA.",+   "is_pin1": false,+   "source": {+    "geometry": "SOT-23-5.kicad_mod",+    "meaning": "page.json:component.pins",+    "correspondence": "kicad: symbol pin number == pad name"+   }+  }+ ]+}\ No newline at end of file
page.json+14−3
@@ -44,19 +44,19 @@         "number": "3",         "name": "BAT",         "type": "power_out",-        "description": "Charging current output to the Li-ion cell. Regulates the battery float voltage to 4.2V (\u00b11%) and sources the programmed charge current (up to 600mA absolute max). Under battery-reverse (V_BAT = -4V) an internal ~0.7mA current flows to GND to protect the ESD diode. Absolute max V_BAT = 7V."+        "description": "Charging current output to the Li-ion cell. Regulates the battery float voltage to 4.2V (±1%) and sources the programmed charge current (up to 600mA absolute max). Under battery-reverse (V_BAT = -4V) an internal ~0.7mA current flows to GND to protect the ESD diode. Absolute max V_BAT = 7V."       },       {         "number": "4",         "name": "VCC",         "type": "power_in",-        "description": "Positive supply input, 4.25V-6.5V (absolute max V_SS + 7V). Requires at least a 1\u00b5F bypass capacitor to GND. When V(BAT) - V(VCC) drops below ~30mV the part enters shutdown and I(BAT) falls below ~2\u00b5A."+        "description": "Positive supply input, 4.25V-6.5V (absolute max V_SS + 7V). Requires at least a 1µF bypass capacitor to GND. When V(BAT) - V(VCC) drops below ~30mV the part enters shutdown and I(BAT) falls below ~2µA."       },       {         "number": "5",         "name": "PROG",         "type": "bidirectional",-        "description": "Charge-current programming, charge-current monitoring, and shutdown pin. A resistor R_PROG from PROG to GND sets I_BAT: I_BAT = (V_PROG / R_PROG) \u00d7 1000, with V_PROG \u2248 1V in constant-current mode (e.g. R_PROG = 2k\u03a9 \u2192 ~500mA, 10k\u03a9 \u2192 ~100mA). A 2\u00b5A pull-up allows the pin to be pulled high (>1.21V) to shut the charger down (I_CC drops to ~25\u00b5A). Absolute max V_PROG = V_SS \u00b1 0.3V nominal / max current 800\u00b5A."+        "description": "Charge-current programming, charge-current monitoring, and shutdown pin. A resistor R_PROG from PROG to GND sets I_BAT: I_BAT = (V_PROG / R_PROG) × 1000, with V_PROG ≈ 1V in constant-current mode (e.g. R_PROG = 2kΩ → ~500mA, 10kΩ → ~100mA). A 2µA pull-up allows the pin to be pulled high (>1.21V) to shut the charger down (I_CC drops to ~25µA). Absolute max V_PROG = V_SS ± 0.3V nominal / max current 800µA."       }     ],     "provenance": {@@ -78,6 +78,17 @@     "viewers": {       "symbol": "viewers/symbol.html",       "footprint": "viewers/footprint.html"+    },+    "pin1": {+      "pad": "1",+      "at": [+        -1.1375,+        -0.95+      ],+      "corner": "top-left",+      "source": "silk-marker",+      "derived_from": "SOT-23-5@sha256:455a3f7c3e5eb5b8",+      "mark": "drawn"     }   },   "metadata": {
tp4054.lbr+1−1
@@ -68,7 +68,7 @@   <wire x1="0.9100" y1="-1.5600" x2="-0.9100" y2="-1.5600" width="0.1200" layer="21"/>   <text x="0" y="2.212" size="1.27" layer="25" align="bottom-center">&gt;NAME</text>   <text x="0" y="-2.212" size="1.27" layer="27" align="top-center">&gt;VALUE</text>-</package>+<!--adom-pin1--><polygon width="0.0500" layer="21"><vertex x="-1.4500" y="1.5100"/><vertex x="-1.6900" y="1.8400"/><vertex x="-1.2100" y="1.8400"/></polygon></package> </packages> <symbols> <symbol name="TP4054">
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='-2.450 -2.100 4.900 4.200' style='width:100%;height:100%'><line class='ly-silk' x1='-0.910' y1='-1.560' x2='0.910' y2='-1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-0.910' y1='-1.510' x2='-0.910' y2='-1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-0.910' y1='1.560' x2='-0.910' y2='1.510' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='-1.560' x2='0.910' y2='-1.510' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='-0.390' x2='0.910' y2='0.390' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='1.510' x2='0.910' y2='1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='1.560' x2='-0.910' y2='1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-2.050' y1='-1.500' x2='-1.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.050' y1='1.500' x2='-2.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='-1.700' x2='1.050' y2='-1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='-1.500' x2='-1.050' y2='-1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='1.500' x2='-2.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='1.700' x2='-1.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-1.700' x2='1.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-1.500' x2='2.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-0.390' x2='1.050' y2='0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='0.390' x2='2.050' y2='0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='1.500' x2='1.050' y2='1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='1.700' x2='-1.050' y2='1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='-1.500' x2='2.050' y2='-0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='-0.390' x2='1.050' y2='-0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='0.390' x2='2.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='1.500' x2='1.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='CHRG' x='-1.800' y='-1.250' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='-0.950' 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='GND' x='-1.800' y='-0.300' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' 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'>2</text><rect class='ly-copper pad' data-num='3' data-name='BAT' x='-1.800' y='0.650' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='0.950' 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='0.475' y='0.650' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='1.137' y='0.950' 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='PROG' x='0.475' y='-1.250' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='1.137' y='-0.950' 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></svg></div>+<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-2.450 -2.100 4.900 4.200' style='width:100%;height:100%'><line class='ly-silk' x1='-0.910' y1='-1.560' x2='0.910' y2='-1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-0.910' y1='-1.510' x2='-0.910' y2='-1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-0.910' y1='1.560' x2='-0.910' y2='1.510' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='-1.560' x2='0.910' y2='-1.510' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='-0.390' x2='0.910' y2='0.390' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='1.510' x2='0.910' y2='1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='1.560' x2='-0.910' y2='1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-2.050' y1='-1.500' x2='-1.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.050' y1='1.500' x2='-2.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='-1.700' x2='1.050' y2='-1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='-1.500' x2='-1.050' y2='-1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='1.500' x2='-2.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='1.700' x2='-1.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-1.700' x2='1.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-1.500' x2='2.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-0.390' x2='1.050' y2='0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='0.390' x2='2.050' y2='0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='1.500' x2='1.050' y2='1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='1.700' x2='-1.050' y2='1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='-1.500' x2='2.050' y2='-0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='-0.390' x2='1.050' y2='-0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='0.390' x2='2.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='1.500' x2='1.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='CHRG' x='-1.800' y='-1.250' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='-0.950' 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='GND' x='-1.800' y='-0.300' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' 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'>2</text><rect class='ly-copper pad' data-num='3' data-name='BAT' x='-1.800' y='0.650' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='0.950' 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='0.475' y='0.650' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='1.137' y='0.950' 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='PROG' x='0.475' y='-1.250' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='1.137' y='-0.950' 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><polygon class='ly-silk adom-pin1' points='-1.450,-1.510 -1.690,-1.840 -1.210,-1.840' fill='#d8b4fe' stroke='none'><title>pin 1</title></polygon></svg></div> <div id=tip></div> <script> var KIND="footprint", MPN="RAY/TP4054", PINS=[{"desc":"","name":"CHRG","number":"1","type":""},{"desc":"","name":"GND","number":"2","type":""},{"desc":"","name":"BAT","number":"3","type":""},{"desc":"","name":"PROG","number":"5","type":""},{"desc":"","name":"VCC","number":"4","type":""}];