diff --git a/bom/Makefile b/bom/Makefile index c753c72..45f3bbd 100644 --- a/bom/Makefile +++ b/bom/Makefile @@ -3,8 +3,9 @@ BOOM=PATH=/home/moko/svn.openmoko.org/trunk/eda/boom:../boom:$$PATH boom KITS=1 EQU=atrf.equ dk/digi-key.equ -INV=dk/digi-key.inv -CHR=avx.chr tdk.chr yageo-cap.chr +INV=atrf.inv dk/digi-key.inv +GEN=avx.gen johanson.gen murata.gen tdk.gen yageo-cap.gen +CHR=$(GEN:%.gen=%.chr) .PHONY: all again show-atusd spotless @@ -28,6 +29,14 @@ avx.chr: dk/digi-key.equ avx.gen $(BOOM) gen2chr AVX dk/digi-key.equ avx.gen >$@ || \ { rm -f $@; exit 1; } +johanson.chr: dk/digi-key.equ johanson.gen + $(BOOM) gen2chr JOHANSON dk/digi-key.equ johanson.gen >$@ || \ + { rm -f $@; exit 1; } + +murata.chr: dk/digi-key.equ murata.gen + $(BOOM) gen2chr MURATA dk/digi-key.equ murata.gen >$@ || \ + { rm -f $@; exit 1; } + tdk.chr: dk/digi-key.equ tdk.gen $(BOOM) gen2chr TDK dk/digi-key.equ tdk.gen >$@ || \ { rm -f $@; exit 1; } @@ -39,11 +48,14 @@ yageo-cap.chr: dk/digi-key.equ yageo-cap.gen dk/digi-key.inv: $(MAKE) -C dk digi-key.inv +dk/digi-key.dsc: + $(MAKE) -C dk digi-key.dsc + SHOW_PRETTY = (echo '\#ORD'; grep '^$(2) ' $(1).ord ; ) | \ $(BOOM) prettyord - $(3) | \ - sed 's/^... //' | \ - awk '{ s += $$(NF); if ($$(NF)+0) n++; print; } \ - END { print "$(4)", s, "items:", n }' + sed 's/^... //' | \ + awk '{ s += $$(NF); if ($$(NF)+0) n++; print; } \ + END { print "$(4)", s, "items:", n }' show-atusd: atusd.ord dk/digi-key.dsc $(call SHOW_PRETTY,atusd,DIGI-KEY,dk/digi-key.dsc,USD) @@ -51,4 +63,4 @@ show-atusd: atusd.ord dk/digi-key.dsc spotless: $(MAKE) -C dk spotless rm -f atusd.par atusd.ord - rm -f avx.chr tdk.chr yageo-cap.chr + rm -f $(GEN:%.gen=%.chr) diff --git a/bom/atrf.equ b/bom/atrf.equ index 96058af..5ccd23c 100644 --- a/bom/atrf.equ +++ b/bom/atrf.equ @@ -1,3 +1,5 @@ #EQU ATMEL AT86RF230 ATMEL AT86RF230-ZU + +WURTH 748421245 JOHANSON 2450FB15L0001 diff --git a/bom/atrf.inv b/bom/atrf.inv index 2ffac38..050697c 100644 --- a/bom/atrf.inv +++ b/bom/atrf.inv @@ -4,4 +4,4 @@ ATRF meander 999999 USD 1 0 ATRF uSD-Card 999999 USD 1 0 -ATRF PAD_60x60 999999 USD 1 0 +ATRF TST 999999 USD 1 0 diff --git a/bom/avx.gen b/bom/avx.gen index 0461820..29ed806 100644 --- a/bom/avx.gen +++ b/bom/avx.gen @@ -1,12 +1,14 @@ #GEN # http://www.avx.com/docs/Catalogs/ccog.pdf +# http://www.avx.com/docs/Catalogs/cx5r.pdf -C* -> T=C { - (????)(?)(???)([0-9][0-9][0-9])(?)(?)* -> - FP=$REF:1 _V=$REF:2 M=$REF:3 _E12_P=$REF:4 _TOL=$REF:5 +* -> T=C { + (????)(?)(?)([0-9][0-9][0-9])(?)* -> + FP=$REF:1 _V=$REF:2 _M=$REF:3 _E12_P=$REF:4 _TOL=$REF:5 - M=C0G -> M=NP0 # normalize + _M=A -> M=NP0 + _M=D -> M=X5R _TOL=B -> TOL=0.10pF _TOL=C -> TOL=0.25pF @@ -17,10 +19,12 @@ C* -> T=C { _TOL=M -> TOL=20% _TOL=Z -> TOL=80/20% + _V=4 -> V=4V _V=6 -> V=6.3V _V=Z -> V=10V _V=Y -> V=16V _V=3 -> V=25V + _V=D -> V=35V _V=5 -> V=50V _V=1 -> V=100V _V=2 -> V=200V diff --git a/bom/dk/digi-key.equ b/bom/dk/digi-key.equ index 0d32e55..788d4a1 100644 --- a/bom/dk/digi-key.equ +++ b/bom/dk/digi-key.equ @@ -5,6 +5,7 @@ DIGI-KEY AT86RF230-ZU-ND ATMEL AT86RF230-ZU DIGI-KEY 336-1296-5-ND SILABS C8051F326-GM DIGI-KEY 732-2230-1-ND WURTH 748421245 +DIGI-KEY 712-1538-1-ND JOHANSON 2450FB15L0001E # resistors @@ -14,6 +15,8 @@ DIGI-KEY 311-0.0JRCT-ND YAGEO RC0402JR-070RL # caps +DIGI-KEY 712-1274-1-ND JOHANSON 500R07S220GV4T + DIGI-KEY 490-1320-1-ND MURATA GRM155R60J105KE19D DIGI-KEY 445-4998-1-ND TDK C1005X5R0J105K DIGI-KEY 478-2583-1-ND AVX 04026D105KAT2A @@ -21,6 +24,7 @@ DIGI-KEY 478-2583-1-ND AVX 04026D105KAT2A DIGI-KEY 311-1018-1-ND YAGEO CC0402JRNP09BN220 DIGI-KEY 490-1283-1-ND MURATA GRM1555C1H220JZ01D DIGI-KEY 445-1239-1-ND TDK C1005C0G1H220J +DIGI-KEY 478-1074-1-ND AVX 04025A220JAT2A DIGI-KEY 311-1020-1-ND YAGEO CC0402JRNP09BN330 DIGI-KEY 490-3220-1-ND MURATA GRM1555C1H330JZ01D diff --git a/bom/johanson.gen b/bom/johanson.gen index de8e316..070d987 100644 --- a/bom/johanson.gen +++ b/bom/johanson.gen @@ -1,26 +1,54 @@ #GEN # http://www.johansontechnology.com/images/stories/rfcaps/mlhqcaps/jti_high-q-mlcc_2008-11.pdf +# http://www.johansondielectrics.com/surface-mount-products/surface-mount-mlc-capacitors/part-number-breakdown.html -C* -> T=C { +* -> T=C { (???)([RS][0-9][0-9])(?)([0-9][0-9][0-9])(?)* -> _V=$REF:1 _FP=$REF:2 _M=$REF:3 _E12=$REF:4 _TOL=$REF:5 _V=6R3 -> V=6.3V + _V=100 -> V=10V _V=160 -> V=16V _V=250 -> V=25V _V=500 -> V=50V + _V=101 -> V=100V + _V=201 -> V=200V _V=251 -> V=250V _V=501 -> V=500V + _V=631 -> V=630V _V=102 -> V=1000V _V=152 -> V=1500V _V=202 -> V=2000V _V=252 -> V=2500V + _V=302 -> V=3000V + _V=402 -> V=4000V + _V=502 -> V=5000V + + _FP=R03 -> FP=01005 + _FP=R05 -> FP=0201 + _FP=R07 -> FP=0402 + _FP=R14 -> FP=0603 + _FP=R15 -> FP=0805 + _FP=S42 -> FP=1111 + _FP=R18 -> FP=1206 + _FP=S41 -> FP=1210 + _FP=R29 -> FP=1808 + _FP=S43 -> FP=1812 + _FP=S47 -> FP=2220 + _FP=S49 -> FP=1825 + _FP=S48 -> FP=2225 # MMLC says 2225, High-Q says 2525 + _FP=S58 -> FP=3838 _M=S -> M=NP0/RF _M=L -> M=NP0/RF _M=E -> M=NP0/RF _M=W -> M=X7R/RF + _M=N -> M=NP0 + _M=W -> M=X7R + _M=X -> M=X5R + _M=Z -> M=Z5U + _M=Y -> M=Y5V _TOL=A -> TOL=0.05pF _TOL=B -> TOL=0.10pF @@ -30,15 +58,8 @@ C* -> T=C { _TOL=G -> TOL=2% _TOL=J -> TOL=5% _TOL=K -> TOL=10% - - _V=6 -> V=6.3V - _V=Z -> V=10V - _V=Y -> V=16V - _V=3 -> V=25V - _V=5 -> V=50V - _V=1 -> V=100V - _V=2 -> V=200V - _V=7 -> V=500V + _TOL=M -> TOL=20% + _TOL=Z -> TOL=80/20% } # E12 scale, base multiplier is 10^-12 (pico) diff --git a/bom/murata.gen b/bom/murata.gen new file mode 100644 index 0000000..840ba53 --- /dev/null +++ b/bom/murata.gen @@ -0,0 +1,67 @@ +#GEN + +# http://www.murata.com/products/catalog/pdf/c02e.pdf + +GRM* -> T=C { + GRM(??)?(??)(??)([0-9R][0-9R][0-9])(?)* -> + _FP=$REF:1 _M=$REF:2 _V=$REF:3 _E12_P=$REF:4 _TOL=$REF:5 + + _FP=02 -> FP=01005 + _FP=03 -> FP=0201 + _FP=15 -> FP=0402 + _FP=18 -> FP=0603 + _FP=21 -> FP=0805 + _FP=31 -> FP=1206 + _FP=32 -> FP=1210 + + _M=5C -> M=NP0 + _M=7U -> M=U2J + _M=6P -> M=P2H + _M=6T -> M=T2H + _M=R7 -> M=X7R + _M=E7 -> M=X7U + _M=D7 -> M=X7T + _M=C8 -> M=X6S + _M=D8 -> M=X6T + _M=R6 -> M=X5R + + _V=0G -> V=4V + _V=0J -> V=6.3V + _V=1A -> V=10V + _V=1C -> V=16V + _V=1E -> V=25V + _V=YA -> V=35V + _V=1H -> V=50V + _V=2A -> V=100V + + _TOL=W -> TOL=0.05pF + _TOL=B -> TOL=0.1pF + _TOL=C -> TOL=0.25pF + _TOL=D -> TOL=0.5pF + _TOL=F -> TOL=1% + _TOL=G -> TOL=2% + _TOL=J -> TOL=5% + _TOL=K -> TOL=10% + _TOL=M -> TOL=20% +} + +# E12 scale, base multiplier is 10^-12 (pico) + +_E12_P=(??)8 -> _E12=${_E12_P:1}0f +_E12_P=(?)(?)9 -> _E12=$_E12_P:1.${_E12_P:2}p +_E12_P=(??)0 -> _E12=${_E12_P:1}p +_E12_P=(??)1 -> _E12=${_E12_P:1}0p +_E12_P=(?)(?)2 -> _E12=$_E12_P:1.${_E12_P:2}n +_E12_P=(??)3 -> _E12=${_E12_P:1}n +_E12_P=(??)4 -> _E12=${_E12_P:1}0n +_E12_P=(?)(?)5 -> _E12=$_E12_P:1.${_E12_P:2}u +_E12_P=(??)6 -> _E12=${_E12_P:1}u +_E12_P=(??)7 -> _E12=${_E12_P:1}0u +_E12_P=(?)R(?) -> _E12=$_E12_P:1.${_E12_P:2}p # strange + +# remove trailing zeroes + +_E12=(*).0([fpnu]) -> _E12=$_E12:1$_E12:2 +_E12=(*).0 -> _E12=$_E12:1 + +T=C -> C=${_E12}F ! diff --git a/bom/tdk.gen b/bom/tdk.gen index b98b94e..163acb6 100644 --- a/bom/tdk.gen +++ b/bom/tdk.gen @@ -3,7 +3,7 @@ # http://www.tdk.co.jp/tefe02/e412_c.pdf C* -> T=C { - C(????)(???)(??)([0-9][0-9R][0-9])(?)(?)* -> + C(????)(???)(??)([0-9][0-9R][0-9])(?)* -> _FP=$REF:1 M=$REF:2 _V=$REF:3 _E12_P=$REF:4 _TOL=$REF:5 M=C0G -> M=NP0 # normalize diff --git a/bom/yageo-cap.gen b/bom/yageo-cap.gen index b6fdebe..ab171ce 100644 --- a/bom/yageo-cap.gen +++ b/bom/yageo-cap.gen @@ -1,12 +1,11 @@ #GEN # http://www.yageo.com/pdf/yageo/NP0_16V-to-100V_6.pdf +# http://www.yageo.com/pdf/UPY-GPHC_X7R_6.3V-to-50V_3.pdf CC* -> T=C { - CC(????)(?)?NP0(?)BN([0-9][0-9R][0-9]) -> - FP=$REF:1 _TOL=$REF:2 _V=$REF:3 _E12_P=$REF:4 - - M=NP0 + CC(????)(?)?(???)(?)??([0-9][0-9R][0-9]) -> + FP=$REF:1 _TOL=$REF:2 M=$REF:3 _V=$REF:4 _E12_P=$REF:5 _TOL=B -> TOL=0.1pF _TOL=C -> TOL=0.25pF @@ -14,7 +13,11 @@ CC* -> T=C { _TOL=F -> TOL=1% _TOL=G -> TOL=2% _TOL=J -> TOL=5% + _TOL=K -> TOL=10% + _TOL=M -> TOL=20% + _V=5 -> V=6.3V + _V=6 -> V=10V _V=7 -> V=16V _V=8 -> V=25V _V=9 -> V=50V