component
Texas Instruments OPA189IDBVR precision amplifier
Public Made by Adomby adom
Precision zero-drift op amp, SOT-23 DBV. Drawing-based nominal CAD; physical qualification pending.
main
"""Exact-part symbol from the existing design; TI DBV0005A example footprint.
Project extraction is not a claim of native validation or manufacturer CAD.
"""
import sys,copy,json
from pathlib import Path
p=Path(__file__).parent;root=p.parents[1];sys.path.insert(0,str(root/'tools'));import sexp
mpn='OPA189IDBVR';slug=mpn.lower()
sch=sexp.parse((root/'kicad/servo.kicad_sch').read_text());s=copy.deepcopy(next(x for x in sexp.find(sexp.first(sch,'lib_symbols'),'symbol') if x[1]=='Load:'+mpn));s[1]=mpn
for x in sexp.find(s,'symbol'):x[1]=x[1].replace('Load:','')
for prop in sexp.find(s,'property'):
if prop[1]=='Footprint':prop[2]=mpn+':OPA189IDBVR_TI_DBV0005A'
if prop[1]=='Datasheet':prop[2]='https://www.ti.com/lit/ds/symlink/opa189.pdf'
for key,value in [('Manufacturer','Texas Instruments'),('Mouser','595-OPA189IDBVR'),('Adom Wiki','https://wiki.adom.inc/adom/'+slug)]:
for old in sexp.find(s,'property'):
if old[1]==key:s.remove(old)
s.append(sexp.parse(f'(property "{key}" "{value}" (at 0 0 0) (hide yes) (effects (font (size 1.27 1.27))))'))
(p/(slug+'.kicad_sym')).write_text('(kicad_symbol_lib (version 20231120) (generator "adom-component-audit")\n'+sexp.dump(s)+'\n)\n')
fp={'footprintName':'OPA189IDBVR_TI_DBV0005A','description':'TI DBV0005A example board layout: 1.1 x 0.6 mm pads, row spacing 2.6 mm, pitch 0.95 mm. Qualification remains process-specific.','pads':[{'number':str(n),'x':x,'y':y,'dx':1.1,'dy':.6,'shape':'roundrect','type':'smd'} for n,x,y in [(1,-1.3,-.95),(2,-1.3,0),(3,-1.3,.95),(4,1.3,.95),(5,1.3,-.95)]],'body':{'x1':-.875,'y1':-1.5,'x2':.875,'y2':1.5},'courtyard':{'x1':-2.1,'y1':-1.775,'x2':2.1,'y2':1.775}}
(p/'footprint-input.json').write_text(json.dumps(fp,indent=2)+'\n')