Merge branch 'master' of ssh://git.gag.com/scm/git/hw/altusmetrum
authorBdale Garbee <bdale@gag.com>
Fri, 10 Jan 2020 15:48:45 +0000 (08:48 -0700)
committerBdale Garbee <bdale@gag.com>
Fri, 10 Jan 2020 15:48:45 +0000 (08:48 -0700)
packages/11071.py [new file with mode: 0755]
packages/1212-8.py
packages/Makefile
packages/fplht.py [new file with mode: 0644]
packages/holes/hole-M2.75.fp [new file with mode: 0644]
pcb-rnd.mk
preferred-parts
symbols/microchip/MCP3008.sym [new file with mode: 0644]
symbols/ti/TAS6424.sym [new file with mode: 0644]

diff --git a/packages/11071.py b/packages/11071.py
new file mode 100755 (executable)
index 0000000..7da8154
--- /dev/null
@@ -0,0 +1,130 @@
+#! /usr/bin/python3
+#
+# generate lihata footprint for 4ucon 11071 tabbed micro USB connector
+# Copyright 2020 by Bdale Garbee <bdale@gag.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+import math
+from fplht import *
+
+# dimensions taken from 4ucon part drawing
+# note that we define Y origin to be the board edge, not center mass
+
+pad_width = 0.4
+pad_height = 1.35
+pad_spacing = 0.65
+pad_y = 1.45 + 3.35 - pad_height/2
+
+tab_width = 1.9
+tab_height = 1.9
+tab_x = 0.2 + tab_width / 2
+tab_y = 1.45
+
+slot_x = 6.40 / 2
+slot_y = 1.45
+slot_width = 0.45
+slot_height = 1.55
+slot_copper = (2.15 - 1.55) / 2
+
+wing_width = 1.6
+wing_height = 1.4
+wing_x = 3.2
+wing_y = 1.45 + 2.25
+
+fp = footprint()
+
+fp.name = "11071"
+fp.description = "4ucon 11071 tabbed micro USB connector"
+fp.copyright = "Copyright 2020 by Bdale Garbee <bdale@gag.com>"
+
+fp.pad({'x' : pad_spacing* 2, 
+        'y' : pad_y, 
+        'width' : pad_width, 
+        'height' : pad_height, 
+        'name' : 'VBUS', 
+        'number' : '1'})
+fp.pad({'x' : pad_spacing* 1, 
+        'y' : pad_y, 
+        'width' : pad_width, 
+        'height' : pad_height, 
+        'name' : 'D-', 
+        'number' : '2'})
+fp.pad({'x' : pad_spacing* 0, 
+        'y' : pad_y, 
+        'width' : pad_width, 
+        'height' : pad_height, 
+        'name' : 'D+', 
+        'number' : '3'})
+fp.pad({'x' : pad_spacing* -1, 
+        'y' : pad_y, 
+        'width' : pad_width, 
+        'height' : pad_height, 
+        'name' : 'HS', 
+        'number' : '4'})
+fp.pad({'x' : pad_spacing* -2, 
+        'y' : pad_y, 
+        'width' : pad_width, 
+        'height' : pad_height, 
+        'name' : 'GND', 
+        'number' : '5'})
+
+# mounting "wings", or tabs next to the signal pads 
+
+fp.pad({'x' : -wing_x, 
+        'y' : wing_y, 
+        'width' : wing_width, 
+        'height' : wing_height, 
+        'spacing' : 0, 
+        'name' : "", 
+        'number' : "G"})
+fp.pad({'x' :  wing_x, 
+        'y' : wing_y, 
+        'width' : wing_width, 
+        'height' : wing_height, 
+        'spacing' : 0, 
+        'name' : "", 
+        'number' : "G"})
+
+# mounting tabs under package
+
+fp.pad({'x' : -tab_x, 
+        'y' : tab_y, 
+        'width' : tab_width, 
+        'height' : tab_height, 
+        'spacing' : 0, 
+        'name' : "", 
+        'number' : "G"})
+fp.pad({'x' :  tab_x, 
+        'y' : tab_y, 
+        'width' : tab_width, 
+        'height' : tab_height, 
+        'spacing' : 0, 
+        'name' : "", 
+        'number' : "G"})
+
+# slots for through-hole mounting tabs
+fp.slot({'x' : -slot_x, 
+         'y' : slot_y, 
+         'width' : slot_width, 
+         'height' : slot_height, 
+         'thickness' : slot_width + slot_copper * 2, 
+         'name' : 'GND', 
+         'number' : 5})
+fp.slot({'x' :  slot_x, 
+         'y' : slot_y, 
+         'width' : slot_width, 
+         'height' : slot_height, 
+         'thickness' : slot_width + slot_copper * 2, 
+         'name' : 'GND', 
+         'number' : 5})
+
+fp.emit()
index 20d1c27fef1660a08e6e97e45cbb4a0d93c1d72c..afc5c1eabe39096873c6cd8384a34d47d7cca74c 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
 # Copyright 2013 by Bdale Garbee <bdale@gag.com>.  GPLv2
 #
 # Program to emit PCB footprint for Vishay 1212-8 dual FET package
index c3c247254b86986c90aef2310ea8f6d94b347f40..9394ca4c59207e5c5e84c87f30045ae0a2696034 100644 (file)
@@ -1,4 +1,4 @@
-.SUFFIXES: .5c .py .fp
+.SUFFIXES: .5c .py .fp .lht
 
 DIRS= \
        diodes \
@@ -92,6 +92,7 @@ FOOTPRINTS= \
        ufqfpn24.fp \
        sot666.fp \
        sot323.fp \
+       sod323.fp \
        sod123.fp \
        0806.fp \
        fuse345.fp \
@@ -120,6 +121,7 @@ FOOTPRINTS= \
        s-pqfp-g32.fp \
        A29100-009.fp \
        506CD.fp \
+       11071.lht \
        11071.fp \
        M1040M.fp \
        pts645.fp \
@@ -140,6 +142,9 @@ FOOTPRINTS= \
 .py.fp:
        python $*.py > $@
 
+.py.lht:
+       python $*.py > $@
+
 BUILDDIRS=$(DIRS:%=build-%)
 CLEANDIRS=$(DIRS:%=clean-%)
 
@@ -151,10 +156,11 @@ $(BUILDDIRS):
 $(CLEANDIRS):
        $(MAKE) -C $(@:clean-%=%) clean
 
-$(FOOTPRINTS): footprint.5c
+$(FOOTPRINTS): footprint.5c fplht.py
 
 clean: $(CLEANDIRS)
-       rm -f $(FOOTPRINTS)
+       rm -f $(FOOTPRINTS) *.pyc 
+       rm -rf __pycache__
 
 .PHONY: subdirs $(DIRS)
 .PHONY: subdirs $(BUILDDIRS)
diff --git a/packages/fplht.py b/packages/fplht.py
new file mode 100644 (file)
index 0000000..14dd708
--- /dev/null
@@ -0,0 +1,388 @@
+#! /usr/bin/python3
+# Python library to assist in generating lihata format footprints for pcb-rnd
+# Copyright 2020 by Bdale Garbee <bdale@gag.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# Each footprint should have a parent Python script that initializes this 
+# library and provides a high-level description of the primitives required.  
+# The footprint is delivered to stdout, so the encapsulating Makefile and/or 
+# iterating wrapper script is responsible for redirecting to the desired 
+# <something>.lht file(s).
+#
+# all dimensions are assumed to be in mm
+
+import math
+import hashlib
+
+def mils2mm(mils):
+    return 25.4 * (float(mils) / 1000)
+
+class footprint(object):
+    def __init__(self):
+        self.name = ""
+        self.description = ""
+        self.copyright = "Copyright 2020 by Bdale Garbee <bdale@gag.com>"
+        self.dist_license = "GPLv3"
+        self.use_license = "Unlimited"
+        self.cnt = 0
+        self.items = []
+        self.padstacks = dict()
+
+        # process defaults, based on greatest process minimum at our vendors
+
+        self.process_soldermask = mils2mm(3);        # space between pad and mask
+        self.process_trace = mils2mm(6);        # trace width
+        self.process_space = mils2mm(6);        # spacing
+        self.process_drill = mils2mm(13);        # drill dize
+        self.process_ring = mils2mm(7);                # annular ring
+
+        self.line_thickness = mils2mm(10);        # default silk line width
+
+        # the basic plan is that each primitive function puts the object
+        # definition in the relevant dictionary .. when we go to emit the
+        # part, we'll do things like work out the minimum set of padstack
+        # prototypes by iterating over the dictionaries... then output the
+        # working set of required objects
+
+    def pad(self,d):
+        # we expect these to be provided
+        #
+        # x                center of pad
+        # y
+        # width                size of pad
+        # height
+        # name
+        # number
+        #
+        # the following are normally computed / defaulted, but can be provided
+        #
+        # x1                start of pad "line"
+        # y1
+        # x2                end of pad "line"
+        # y2
+        # thickness        thickness of pad "line"
+        # spacing        space between pad and other traces
+        # soldermask        space between pad and solder mask
+        # clearance        twice the spacing between pad and other traces
+        # mask                thickness of pad and solder mask
+        # options        default to 'square'
+
+        # print ("adding pad")
+        d['type'] = 'pad'
+
+        if 'x1' not in d:
+                d['x1'] = d['x'] - max(0, (d['width'] - d['height']) /2)
+        if 'x2' not in d:
+                d['x2'] = d['x'] + max(0, (d['width'] - d['height']) /2)
+        if 'y1' not in d:
+                d['y1'] = d['y'] - max(0, (d['height'] - d['width']) /2)
+        if 'y2' not in d:
+                d['y2'] = d['y'] + max(0, (d['height'] - d['width']) /2)
+        if 'thickness' not in d:
+                d['thickness'] = min(d['width'], d['height'])
+        if 'spacing' not in d:
+                d['spacing'] = self.process_space
+        if 'soldermask' not in d:
+                d['soldermask'] = self.process_soldermask
+        if 'clearance' not in d:
+                d['clearance'] = d['spacing'] / 2
+        if 'mask' not in d:
+                d['mask'] = d['thickness'] + d['soldermask'] * 2
+        if 'options' not in d:
+                d['options'] = 'square'
+
+        self.items = self.items + [d]
+
+    def pin():
+        # we expect these to be provided
+        #
+        # x                center of pin
+        # y
+        # drill                diameter of drill hole
+        # name
+        # number
+        #
+        # the following are normally computed / defaulted, but can be provided
+        #
+        # ring                width of annular ring around hole
+        # spacing        space between pin and other traces
+        # soldermask        space between pin and solder mask
+        # thickness        thickness of pin "line"
+        # clearance        twice the spacing between pad and other traces
+        # mask                thickness of pad and solder mask
+        # options        default to 'square' for pin number 1
+
+        # print ("adding pin")
+        d['type'] = 'pin'
+
+        if 'spacing' not in d:
+                d['spacing'] = self.process_space
+        if 'ring' not in d:
+                d['ring'] = self.process_ring
+        if 'soldermask' not in d:
+                d['soldermask'] = self.process_soldermask
+        if 'clearance' not in d:
+                d['clearance'] = d['spacing'] * 2
+        if 'mask' not in d:
+                d['mask'] = d['thickness'] + d['soldermask'] * 2
+        if 'options' not in d:                # default pin 1 to square ring
+            if d['number'] == '1':
+                d['options'] = 'square'
+            else:
+                d['options'] = ''
+        if 'thickness' not in d:
+                d['thickness'] = d['drill'] + d['ring'] * 2
+        if 'mask' not in d:
+                d['mask'] = d['thickness'] + d['soldermask'] * 2
+
+        self.items = self.items + [d]
+    
+    def slot(self,d):
+        # we expect these to be provided
+        #
+        # x                center of slot
+        # y
+        # width                size of slot
+        # height
+        # name
+        # number
+        #
+        # the following are normally computed / defaulted, but can be provided
+        #
+        # x1                start of slot "line"
+        # y1
+        # x2                end of slot "line"
+        # y2
+        # spacing        space between slot copper and other traces
+        # thickness        width of copper edge to edge across slot
+        # soldermask        space between slot copper and solder mask
+        # clearance        twice the spacing between slot copper and other traces
+        # mask                thickness of slot copper and solder mask
+
+        # print ("adding slot")
+        d['type'] = 'slot'
+
+        if 'x1' not in d:
+                d['x1'] = d['x'] - max(0, (d['width'] - d['height']) /2)
+        if 'x2' not in d:
+                d['x2'] = d['x'] + max(0, (d['width'] - d['height']) /2)
+        if 'y1' not in d:
+                d['y1'] = d['y'] - max(0, (d['height'] - d['width']) /2)
+        if 'y2' not in d:
+                d['y2'] = d['y'] + max(0, (d['height'] - d['width']) /2)
+        if 'spacing' not in d:
+                d['spacing'] = self.process_space
+        if 'thickness' not in d:
+                d['thickness'] = d['width'] + self.process_ring * 2
+        if 'soldermask' not in d:
+                d['soldermask'] = self.process_soldermask
+        if 'clearance' not in d:
+                d['clearance'] = d['spacing'] / 2
+        if 'mask' not in d:
+                d['mask'] = d['thickness'] + d['soldermask'] * 2
+
+        self.items = self.items + [d]
+
+    ## for silk layers
+    def line():
+        # we expect these to be provided
+        #
+        # x1                start of silk line
+        # y1
+        # x2                end of silk line
+        # y2
+        #
+        # the following are normally defaulted, but can be provided
+        #
+        # thickness        thickness of silk line
+
+        print ("adding line")
+        d['type'] = 'line'
+
+        if 'thickness' not in d:
+                d['thickness'] = self.line_thickness
+        
+        self.items = self.items + [d]
+
+    def arc():
+        # we expect these to be provided
+        #
+        # x                center of silk arc
+        # y
+        # width        
+        # height
+        # startangle
+        # deltaangle
+        #
+        # the following are normally defaulted, but can be provided
+        #
+        # thickness        thickness of silk line
+
+        print ("adding arc")
+        d['type'] = 'arc'
+
+        if 'thickness' not in d:
+                d['thickness'] = self.line_thickness
+        
+        self.items = self.items + [d]
+
+    def write_pin_square(size):
+        print("       li:ps_poly {")
+        print("        %u mm" % -size / 2)
+        print("        %u mm" % -size / 2)
+        print("        %u mm" %  size / 2)
+        print("        %u mm" % -size / 2)
+        print("        %u mm" %  size / 2)
+        print("        %u mm" %  size / 2)
+        print("        %u mm" % -size / 2)
+        print("        %u mm" %  size / 2)
+        print("       }")
+
+    def write_pin_circle(size):
+        print("       ha:ps_circ {")
+        print("        x = 0")
+        print("        y = 0")
+        print("        dia = $u mm" % size)
+        print("       }")
+
+    def write_pin_shape(p, layer):
+        print("      ha:ps_shape_v4 {")
+        print("       clearance = %u mm" % p['clearance'])
+        if p['options'] == 'square':
+            write_pin_square(p['copper']) 
+        else:
+            write_pin_circle(p['copper']) 
+        print("       ha:layer_mask {")
+        print("        copper = 1")
+        print("        $s = 1" % layer)
+        print("       }")
+        print("      }")
+
+    def emit_padstack_prototypes(self):
+        # iterate over copper items creating min set of padstack prototypes, 
+        # and annotating items with their prototype number as we go
+        protocount = 0
+        for i in self.items:
+            if i['type'] == 'pad':
+                myhash = i['type']+str(i['width'])+str(i['height'])+str(i['thickness'])+str(i['spacing'])+str(i['soldermask'])+str(i['clearance'])+str(i['mask'])+i['options']
+            if i['type'] == 'slot':
+                myhash = i['type']+str(i['width'])+str(i['height'])+str(i['thickness'])+str(i['spacing'])+str(i['soldermask'])+str(i['clearance'])+str(i['mask'])
+            if i['type'] == 'pin':
+                myhash = i['type']+str(i['drill'])+str(i['ring'])+str(i['spacing'])+str(i['soldermask'])+str(i['clearance'])+str(i['mask'])+i['options']
+
+            # print ("myhash is %s" % myhash)
+            if myhash in self.padstacks:
+                p = self.padstacks[myhash]
+                i['prototypenumber'] = p['prototypenumber']
+            else:
+                # print ("new hash!")
+                i['prototypenumber'] = protocount
+                protocount += 1
+                self.padstacks[myhash] = i
+
+        # print ("%u unique prototypes found" % protocount)
+
+        # now that we have the set of prototypes, emit them
+        print ("   li:padstack_prototypes {")
+        for thisp in self.padstacks:
+            p = self.padstacks[thisp]
+            if p['type'] == 'pin':
+                print("    ha:ps_proto_v4.%u {" % p['prototypenumber'])
+                print("     htop = 0")
+                print("     hbottom = 0")
+                print("     hplated = 1")
+                print("     hdia = %u mm" % p['drill'])
+                print("     li:shape {")
+                write_stack_shape(p, 'top')
+                write_stack_shape(p, 'bottom')
+                print("     }")
+                print("    }")
+
+            if p['type'] == 'pad':
+                print("    ha:ps_proto_v4.%u {" % p['prototypenumber'])
+                print("     htop = 0")
+                print("     hbottom = 0")
+                print("     hplated = 1")
+                print("     hdia = %u mm" % 0)         # bogus to the max
+                print("     li:shape {")
+                print("     }")
+                print("    }")
+
+        print ("   }")
+
+    def emit_padstacks(self):
+        print("padstacks will go here")
+        # process pad, pin, slot items referencing relevant prototypes
+        print("%u items defined" % len(self.items))
+        print("----- start of defined items -----")
+        print(self.items)
+        print("----- end of defined items -----")
+
+    def emit_line(self, role, id, x1, y1, x2, y2, unit):
+        print("      ha:line.%u {" % id)
+        print("       clearance = 0")
+        print("       thickness = 0")
+        print("       ha:attributes {")
+        print("        subc-role = %s" % role)
+        print("       }")
+        print("       x1 = %u%s" % (x1, unit))
+        print("       y1 = %u%s" % (y1, unit))
+        print("       x2 = %u%s" % (x2, unit))
+        print("       y2 = %u%s" % (y2, unit))
+        print("      }")
+        self.cnt = self.cnt + 1
+
+    def emit_top_silk(self):
+        print("top_silk will go here")
+        # process line and arc items
+
+    def emit_bbox(self):
+        self.cnt = 0
+        print("    ha:subc-aux {")
+        print("     lid = 1")
+        print("     ha:type {")
+        print("      top = 1")
+        print("      misc = 1")
+        print("      virtual = 1")
+        print("     }")
+        print("     li:objects {")
+        self.emit_line("origin", self.cnt, 0, 0, 0, 0, "mm");
+        self.emit_line("x", self.cnt, 0, 0, 1, 0, "mm");
+        self.emit_line("y", self.cnt, 0, 0, 0, 1, "mm");
+        print("     }")
+        print("    }")
+
+    def create_uuid(self):
+        return hashlib.md5(self.name.encode('utf-8')).hexdigest()
+
+    def emit(self):
+        print("li:pcb-rnd-subcircuit-v4 {")
+        print(" ha:subc.0 {")
+        print("  ha:attributes {")
+        print("   description = %s" % self.description)
+        print("   copyright = %s" % self.copyright)
+        print("   dist_license = %s" % self.dist_license)
+        print("   use_license = %s" % self.use_license)
+        print("  }")
+        print("  uid = %s" % self.create_uuid())
+        print("  ha:data {")
+        self.emit_padstack_prototypes()
+        print("   li:objects {")
+        self.emit_padstacks()
+        print("   }")
+        print("   li:layers {")
+        self.emit_top_silk()
+        self.emit_bbox()
+        print("   }")
+        print("  }")
+        print(" }")
+        print("}")
diff --git a/packages/holes/hole-M2.75.fp b/packages/holes/hole-M2.75.fp
new file mode 100644 (file)
index 0000000..dc03ce6
--- /dev/null
@@ -0,0 +1,7 @@
+
+Element["" "hole-M2.75" "" "" 3.0064mm 3.0064mm -169.00mil -210.00mil 0 100 ""]
+(
+       Pin[0.0000 0.0000 200.00mil 25.00mil 236.00mil 108.00mil "pin1" "1" "usetherm"]
+       ElementArc [0.0000 0.0000 113.00mil 113.00mil 0.000000 360.000000 10.00mil]
+
+       )
index 4405f67d92bc4408df4fc4a03a75ee03ab80f52b..5015add613b2a5e8292f70451e26ade2950c37ca 100644 (file)
@@ -99,8 +99,7 @@ stencilsunlimited:    $(BOTTOMCOPPER) $(PROJECT).toppaste.gbr $(OUTLINE)
        rm -f $(PROJECT)-stencil.zip && zip $(PROJECT)-stencil.zip $(PROJECT).toppaste.gbr $(OUTLINE)
 
 stencil:       $(PROJECT).lht
-       pcb-rnd -x cam gerber:universal -c design/paste_adjust=-10mil $(PROJECT).lht
-       mv $(PROJECT).top.paste.none.0.gbr stencil.gbr
+       pcb-rnd -x cam gerber:stencils --outfile out/$(PROJECT) $(PROJECT).lht
 
 clean:
        rm -f *.bom *.drc *.log *~ $(PROJECT).ps *.gbr *.cnc *bak* *- *.zip *.tdx *.backup
index a916726e7885a5235f20d7a6724711d9377bc79c..5f3cc3541708f0c1af0c146c3337bbc7750f49cc 100644 (file)
@@ -42,7 +42,7 @@ CAPACITOR     47pF    0402    smt     no      C0402C470J5GACTU        digikey 399-1019-1-ND   reel8mm
 CAPACITOR      47nF    0402    smt     no      CGA2B2X5R1C473K050BA    digikey 445-12164-1-ND  reel8mm
 CAPACITOR      4.7uF   0402    smt     no      CL05A475KP5NRNC digikey 1276-1480-1-ND  reel8mm
 CAPACITOR      4.7uF   1206    smt     no      UMK316AB7475KL-T        digikey 587-2994-1-ND
-CAPACITOR      47uF    1206    smt     no      CL31A476KQHNNNE digikey 1276-3062-1-ND
+CAPACITOR      47uF    1206    smt     no      CL31A476MQHNNWE digikey 1276-3064-1-ND
 CAPACITOR      47uF    1210    smt     no      C1210C476M4PACTU        digikey 399-5514-1-ND
 CAPACITOR      470uF   c8x8    smt     no      EEE-HA1A471UP   digikey PCE4178TR-ND
 CAPACITOR      5.1pF   0402    smt     no      CC0402CRNPO9BN5R1       digikey 311-1633-1-ND   reel8mm
diff --git a/symbols/microchip/MCP3008.sym b/symbols/microchip/MCP3008.sym
new file mode 100644 (file)
index 0000000..a6155eb
--- /dev/null
@@ -0,0 +1,184 @@
+v 20130925 2
+P 0 900 300 900 1 0 0
+{
+T 0 900 5 10 0 0 0 0 1
+pintype=pas
+T 355 895 5 10 1 1 0 0 1
+pinlabel=CH5
+T 205 945 5 10 1 1 0 6 1
+pinnumber=6
+T 0 900 5 10 0 0 0 0 1
+pinseq=6
+}
+P 2200 900 1900 900 1 0 0
+{
+T 2200 900 5 10 0 0 0 0 1
+pintype=in
+T 1845 895 5 10 1 1 0 6 1
+pinlabel=DIN
+T 1995 945 5 10 1 1 0 0 1
+pinnumber=11
+T 2200 900 5 10 0 0 0 0 1
+pinseq=11
+}
+P 2200 100 1900 100 1 0 0
+{
+T 2200 100 5 10 0 0 90 0 1
+pintype=pwr
+T 1845 95 5 10 1 1 0 6 1
+pinlabel=DGND
+T 1995 145 5 10 1 1 0 0 1
+pinnumber=9
+T 2200 100 5 10 0 1 90 0 1
+pinseq=9
+}
+B 300 0 1600 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 295 3295 8 10 1 1 0 0 1
+refdes=U?
+T 1095 3295 8 10 1 1 0 0 1
+device=MCP3008
+P 2200 2900 1900 2900 1 0 0
+{
+T 2200 2900 5 10 0 0 90 0 1
+pintype=pwr
+T 1845 2895 5 10 1 1 0 6 1
+pinlabel=VDD
+T 1995 2945 5 10 1 1 0 0 1
+pinnumber=16
+T 2200 2900 5 10 0 0 270 0 1
+pinseq=16
+}
+P 2200 500 1900 500 1 0 0
+{
+T 2200 500 5 10 0 0 0 0 1
+pintype=in
+T 1845 495 5 10 1 1 0 6 1
+pinlabel=\_CS\_/SHDN
+T 1995 545 5 10 1 1 0 0 1
+pinnumber=10
+T 2200 500 5 10 0 0 0 0 1
+pinseq=10
+}
+T -5 -305 8 10 0 0 0 0 1
+footprint=soic-16
+P 0 1300 300 1300 1 0 0
+{
+T 0 1300 5 10 0 0 0 0 1
+pintype=pas
+T 355 1295 5 10 1 1 0 0 1
+pinlabel=CH4
+T 205 1345 5 10 1 1 0 6 1
+pinnumber=5
+T 0 1300 5 10 0 0 0 0 1
+pinseq=5
+}
+P 0 100 300 100 1 0 0
+{
+T 0 100 5 10 0 0 0 0 1
+pintype=pas
+T 0 100 5 10 0 0 0 0 1
+pinseq=8
+T 355 95 5 10 1 1 0 0 1
+pinlabel=CH7
+T 205 145 5 10 1 1 0 6 1
+pinnumber=8
+}
+P 0 500 300 500 1 0 0
+{
+T 0 500 5 10 0 0 0 0 1
+pintype=pas
+T 0 500 5 10 0 0 0 0 1
+pinseq=7
+T 355 495 5 10 1 1 0 0 1
+pinlabel=CH6
+T 205 545 5 10 1 1 0 6 1
+pinnumber=7
+}
+P 0 2500 300 2500 1 0 0
+{
+T 0 2500 5 10 0 0 0 0 1
+pintype=pas
+T 0 2500 5 10 0 0 0 0 1
+pinseq=2
+T 355 2495 5 10 1 1 0 0 1
+pinlabel=CH1
+T 205 2545 5 10 1 1 0 6 1
+pinnumber=2
+}
+P 0 2900 300 2900 1 0 0
+{
+T 0 2900 5 10 0 0 0 0 1
+pintype=pas
+T 0 2900 5 10 0 0 0 0 1
+pinseq=1
+T 355 2895 5 10 1 1 0 0 1
+pinlabel=CH0
+T 205 2945 5 10 1 1 0 6 1
+pinnumber=1
+}
+P 0 1700 300 1700 1 0 0
+{
+T 0 1700 5 10 0 0 0 0 1
+pintype=pas
+T 0 1700 5 10 0 0 0 0 1
+pinseq=4
+T 355 1695 5 10 1 1 0 0 1
+pinlabel=CH3
+T 205 1745 5 10 1 1 0 6 1
+pinnumber=4
+}
+P 0 2100 300 2100 1 0 0
+{
+T 0 2100 5 10 0 0 0 0 1
+pintype=pas
+T 0 2100 5 10 0 0 0 0 1
+pinseq=3
+T 355 2095 5 10 1 1 0 0 1
+pinlabel=CH2
+T 205 2145 5 10 1 1 0 6 1
+pinnumber=3
+}
+P 2200 2100 1900 2100 1 0 0
+{
+T 2200 2100 5 10 0 0 0 0 1
+pintype=pwr
+T 2200 2100 5 10 0 0 0 0 1
+pinseq=14
+T 1845 2095 5 10 1 1 0 6 1
+pinlabel=AGND
+T 1995 2145 5 10 1 1 0 0 1
+pinnumber=14
+}
+P 2200 1300 1900 1300 1 0 0
+{
+T 2200 1300 5 10 0 0 90 0 1
+pintype=out
+T 2200 1300 5 10 0 1 90 0 1
+pinseq=12
+T 1845 1295 5 10 1 1 0 6 1
+pinlabel=DOUT
+T 1995 1345 5 10 1 1 0 0 1
+pinnumber=12
+}
+P 2200 1700 1900 1700 1 0 0
+{
+T 2200 1700 5 10 0 0 0 0 1
+pintype=clk
+T 2200 1700 5 10 0 0 0 0 1
+pinseq=13
+T 1845 1695 5 10 1 1 0 6 1
+pinlabel=CLK
+T 1995 1745 5 10 1 1 0 0 1
+pinnumber=13
+}
+P 2200 2500 1900 2500 1 0 0
+{
+T 2200 2500 5 10 0 0 90 0 1
+pintype=pas
+T 1845 2495 5 10 1 1 0 6 1
+pinlabel=VREF
+T 1995 2545 5 10 1 1 0 0 1
+pinnumber=15
+T 2200 2500 5 10 0 0 270 0 1
+pinseq=15
+}
diff --git a/symbols/ti/TAS6424.sym b/symbols/ti/TAS6424.sym
new file mode 100644 (file)
index 0000000..2f4e209
--- /dev/null
@@ -0,0 +1,629 @@
+v 20130925 2
+B 400 0 3200 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 5400 -1900 8 10 0 0 0 0 1
+numslots=1
+T 5400 -1600 8 10 0 0 0 0 1
+slot=1
+P 0 11400 400 11400 1 0 0
+{
+T 455 11395 5 10 1 1 0 0 1
+pinlabel=GND
+T 305 11445 5 10 1 1 0 6 1
+pinnumber=1
+T 0 11400 5 10 0 0 0 0 1
+pinseq=1
+T 0 11400 5 10 0 0 0 0 1
+pintype=pwr
+}
+T 395 11900 8 10 1 1 0 0 1
+refdes=U?
+P 0 11000 400 11000 1 0 0
+{
+T 455 10995 5 10 1 1 0 0 1
+pinlabel=PVDD
+T 305 11045 5 10 1 1 0 6 1
+pinnumber=2
+T 0 11000 5 10 0 0 0 0 1
+pinseq=2
+T 0 11000 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 10600 400 10600 1 0 0
+{
+T 0 10600 5 10 0 0 0 0 1
+pinseq=3
+T 455 10595 5 10 1 1 0 0 1
+pinlabel=VBAT
+T 305 10645 5 10 1 1 0 6 1
+pinnumber=3
+T 0 10600 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 10200 400 10200 1 0 0
+{
+T 0 10200 5 10 0 0 0 0 1
+pinseq=4
+T 455 10195 5 10 1 1 0 0 1
+pinlabel=AREF
+T 305 10245 5 10 1 1 0 6 1
+pinnumber=4
+T 0 10200 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 9800 400 9800 1 0 0
+{
+T 0 9800 5 10 0 0 0 0 1
+pinseq=5
+T 455 9795 5 10 1 1 0 0 1
+pinlabel=VREG
+T 305 9845 5 10 1 1 0 6 1
+pinnumber=5
+T 0 9800 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 9400 400 9400 1 0 0
+{
+T 0 9400 5 10 0 0 0 0 1
+pinseq=6
+T 455 9395 5 10 1 1 0 0 1
+pinlabel=VCOM
+T 305 9445 5 10 1 1 0 6 1
+pinnumber=6
+T 0 9400 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 9000 400 9000 1 0 0
+{
+T 0 9000 5 10 0 0 0 0 1
+pinseq=7
+T 455 8995 5 10 1 1 0 0 1
+pinlabel=AVSS
+T 305 9045 5 10 1 1 0 6 1
+pinnumber=7
+T 0 9000 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 8600 400 8600 1 0 0
+{
+T 0 8600 5 10 0 0 0 0 1
+pinseq=8
+T 455 8595 5 10 1 1 0 0 1
+pinlabel=AVDD
+T 305 8645 5 10 1 1 0 6 1
+pinnumber=8
+T 0 8600 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 8200 400 8200 1 0 0
+{
+T 0 8200 5 10 0 0 0 0 1
+pinseq=9
+T 455 8195 5 10 1 1 0 0 1
+pinlabel=GVDD
+T 305 8245 5 10 1 1 0 6 1
+pinnumber=9
+T 0 8200 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 7800 400 7800 1 0 0
+{
+T 0 7800 5 10 0 0 0 0 1
+pinseq=10
+T 455 7795 5 10 1 1 0 0 1
+pinlabel=GVDD
+T 305 7845 5 10 1 1 0 6 1
+pinnumber=10
+T 0 7800 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 7400 400 7400 1 0 0
+{
+T 0 7400 5 10 0 0 0 0 1
+pinseq=11
+T 455 7395 5 10 1 1 0 0 1
+pinlabel=GND
+T 305 7445 5 10 1 1 0 6 1
+pinnumber=11
+T 0 7400 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 7000 400 7000 1 0 0
+{
+T 0 7000 5 10 0 0 0 0 1
+pinseq=12
+T 455 6995 5 10 1 1 0 0 1
+pinlabel=MCLK
+T 305 7045 5 10 1 1 0 6 1
+pinnumber=12
+T 0 7000 5 10 0 0 0 0 1
+pintype=in
+}
+P 0 6600 400 6600 1 0 0
+{
+T 0 6600 5 10 0 0 0 0 1
+pinseq=13
+T 455 6595 5 10 1 1 0 0 1
+pinlabel=SCLK
+T 305 6645 5 10 1 1 0 6 1
+pinnumber=13
+T 0 6600 5 10 0 0 0 0 1
+pintype=in
+}
+P 0 6200 400 6200 1 0 0
+{
+T 0 6200 5 10 0 0 0 0 1
+pinseq=14
+T 455 6195 5 10 1 1 0 0 1
+pinlabel=FSYNC
+T 305 6245 5 10 1 1 0 6 1
+pinnumber=14
+T 0 6200 5 10 0 0 0 0 1
+pintype=clk
+}
+P 0 5800 400 5800 1 0 0
+{
+T 0 5800 5 10 0 0 0 0 1
+pinseq=15
+T 455 5795 5 10 1 1 0 0 1
+pinlabel=SDIN1
+T 305 5845 5 10 1 1 0 6 1
+pinnumber=15
+T 0 5800 5 10 0 0 0 0 1
+pintype=in
+}
+P 0 5400 400 5400 1 0 0
+{
+T 0 5400 5 10 0 0 0 0 1
+pinseq=16
+T 455 5395 5 10 1 1 0 0 1
+pinlabel=SDIN2
+T 305 5445 5 10 1 1 0 6 1
+pinnumber=16
+T 0 5400 5 10 0 0 0 0 1
+pintype=in
+}
+P 0 600 400 600 1 0 0
+{
+T 0 600 5 10 0 0 180 6 1
+pinseq=28
+T 455 595 5 10 1 1 0 0 1
+pinlabel=GND
+T 305 645 5 10 1 1 0 6 1
+pinnumber=28
+T 0 600 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 1000 400 1000 1 0 0
+{
+T 0 1000 5 10 0 0 180 6 1
+pinseq=27
+T 455 995 5 10 1 1 0 0 1
+pinlabel=\_WARN\_
+T 305 1045 5 10 1 1 0 6 1
+pinnumber=27
+T 0 1000 5 10 0 0 0 0 1
+pintype=pas
+}
+P 0 1400 400 1400 1 0 0
+{
+T 0 1400 5 10 0 0 180 6 1
+pinseq=26
+T 455 1395 5 10 1 1 0 0 1
+pinlabel=\_FAULT\_
+T 305 1445 5 10 1 1 0 6 1
+pinnumber=26
+T 0 1400 5 10 0 0 0 0 1
+pintype=out
+}
+P 0 1800 400 1800 1 0 0
+{
+T 0 1800 5 10 0 0 180 6 1
+pinseq=25
+T 455 1795 5 10 1 1 0 0 1
+pinlabel=\_MUTE\_
+T 305 1845 5 10 1 1 0 6 1
+pinnumber=25
+T 0 1800 5 10 0 0 0 0 1
+pintype=in
+}
+P 0 2200 400 2200 1 0 0
+{
+T 0 2200 5 10 0 0 180 6 1
+pinseq=24
+T 455 2195 5 10 1 1 0 0 1
+pinlabel=\_STANDBY\_
+T 305 2245 5 10 1 1 0 6 1
+pinnumber=24
+T 0 2200 5 10 0 0 0 0 1
+pintype=in
+}
+P 0 2600 400 2600 1 0 0
+{
+T 0 2600 5 10 0 0 180 6 1
+pinseq=23
+T 455 2595 5 10 1 1 0 0 1
+pinlabel=I2C_ADDR1
+T 305 2645 5 10 1 1 0 6 1
+pinnumber=23
+T 0 2600 5 10 0 0 0 0 1
+pintype=in
+}
+P 0 3000 400 3000 1 0 0
+{
+T 0 3000 5 10 0 0 180 6 1
+pinseq=22
+T 455 2995 5 10 1 1 0 0 1
+pinlabel=I2C_ADDR0
+T 305 3045 5 10 1 1 0 6 1
+pinnumber=22
+}
+P 0 3400 400 3400 1 0 0
+{
+T 0 3400 5 10 0 0 180 6 1
+pinseq=21
+T 455 3395 5 10 1 1 0 0 1
+pinlabel=SDA
+T 305 3445 5 10 1 1 0 6 1
+pinnumber=21
+T 0 3400 5 10 0 0 0 0 1
+pintype=io
+}
+P 0 3800 400 3800 1 0 0
+{
+T 0 3800 5 10 0 0 180 6 1
+pinseq=20
+T 455 3795 5 10 1 1 0 0 1
+pinlabel=SCL
+T 305 3845 5 10 1 1 0 6 1
+pinnumber=20
+T 0 3800 5 10 0 0 0 0 1
+pintype=in
+}
+P 0 4200 400 4200 1 0 0
+{
+T 0 4200 5 10 0 0 180 6 1
+pinseq=19
+T 455 4195 5 10 1 1 0 0 1
+pinlabel=VDD
+T 305 4245 5 10 1 1 0 6 1
+pinnumber=19
+T 0 4200 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 4600 400 4600 1 0 0
+{
+T 0 4600 5 10 0 0 180 6 1
+pinseq=18
+T 455 4595 5 10 1 1 0 0 1
+pinlabel=GND
+T 305 4645 5 10 1 1 0 6 1
+pinnumber=18
+T 0 4600 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 5000 400 5000 1 0 0
+{
+T 0 5000 5 10 0 0 180 6 1
+pinseq=17
+T 455 4995 5 10 1 1 0 0 1
+pinlabel=GND
+T 305 5045 5 10 1 1 0 6 1
+pinnumber=17
+T 0 5000 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 0 200 400 200 1 0 0
+{
+T 0 200 5 10 0 0 0 0 1
+pinseq=57
+T 455 195 5 10 1 1 0 0 1
+pinlabel=GND Exposed
+T 305 245 5 10 1 1 0 6 1
+pinnumber=57
+}
+T -5 0 8 10 0 1 0 0 1
+datasheet=ti/audio/tpa3118d2.pdf
+P 4000 11400 3600 11400 1 0 0
+{
+T 4000 11400 5 10 0 0 0 6 1
+pinseq=56
+T 3545 11395 5 10 1 1 0 6 1
+pinlabel=PVDD
+T 3695 11445 5 10 1 1 0 0 1
+pinnumber=56
+T 4000 11400 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 11000 3600 11000 1 0 0
+{
+T 4000 11000 5 10 0 0 0 6 1
+pinseq=55
+T 3545 10995 5 10 1 1 0 6 1
+pinlabel=PVDD
+T 3695 11045 5 10 1 1 0 0 1
+pinnumber=55
+T 4000 11000 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 10600 3600 10600 1 0 0
+{
+T 4000 10600 5 10 0 0 0 6 1
+pinseq=54
+T 3545 10595 5 10 1 1 0 6 1
+pinlabel=BST_4P
+T 3695 10645 5 10 1 1 0 0 1
+pinnumber=54
+T 4000 10600 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 10200 3600 10200 1 0 0
+{
+T 4000 10200 5 10 0 0 0 6 1
+pinseq=53
+T 3545 10195 5 10 1 1 0 6 1
+pinlabel=OUT_4P
+T 3695 10245 5 10 1 1 0 0 1
+pinnumber=53
+T 4000 10200 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 9800 3600 9800 1 0 0
+{
+T 4000 9800 5 10 0 0 0 6 1
+pinseq=52
+T 3545 9795 5 10 1 1 0 6 1
+pinlabel=GND
+T 3695 9845 5 10 1 1 0 0 1
+pinnumber=52
+T 4000 9800 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 9400 3600 9400 1 0 0
+{
+T 4000 9400 5 10 0 0 0 6 1
+pinseq=51
+T 3545 9395 5 10 1 1 0 6 1
+pinlabel=OUT_4M
+T 3695 9445 5 10 1 1 0 0 1
+pinnumber=51
+T 4000 9400 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 9000 3600 9000 1 0 0
+{
+T 4000 9000 5 10 0 0 0 6 1
+pinseq=50
+T 3545 8995 5 10 1 1 0 6 1
+pinlabel=BST_4M
+T 3695 9045 5 10 1 1 0 0 1
+pinnumber=50
+T 4000 9000 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 8600 3600 8600 1 0 0
+{
+T 4000 8600 5 10 0 0 0 6 1
+pinseq=49
+T 3545 8595 5 10 1 1 0 6 1
+pinlabel=GND
+T 3695 8645 5 10 1 1 0 0 1
+pinnumber=49
+T 4000 8600 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 8200 3600 8200 1 0 0
+{
+T 4000 8200 5 10 0 0 0 6 1
+pinseq=48
+T 3545 8195 5 10 1 1 0 6 1
+pinlabel=BST_3P
+T 3695 8245 5 10 1 1 0 0 1
+pinnumber=48
+T 4000 8200 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 7800 3600 7800 1 0 0
+{
+T 4000 7800 5 10 0 0 0 6 1
+pinseq=47
+T 3545 7795 5 10 1 1 0 6 1
+pinlabel=OUT_3P
+T 3695 7845 5 10 1 1 0 0 1
+pinnumber=47
+T 4000 7800 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 7400 3600 7400 1 0 0
+{
+T 4000 7400 5 10 0 0 0 6 1
+pinseq=46
+T 3545 7395 5 10 1 1 0 6 1
+pinlabel=GND
+T 3695 7445 5 10 1 1 0 0 1
+pinnumber=46
+T 4000 7400 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 7000 3600 7000 1 0 0
+{
+T 4000 7000 5 10 0 0 0 6 1
+pinseq=45
+T 3545 6995 5 10 1 1 0 6 1
+pinlabel=OUT_3M
+T 3695 7045 5 10 1 1 0 0 1
+pinnumber=45
+T 4000 7000 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 6600 3600 6600 1 0 0
+{
+T 4000 6600 5 10 0 0 0 6 1
+pinseq=44
+T 3545 6595 5 10 1 1 0 6 1
+pinlabel=BST_3M
+T 3695 6645 5 10 1 1 0 0 1
+pinnumber=44
+T 4000 6600 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 6200 3600 6200 1 0 0
+{
+T 4000 6200 5 10 0 0 0 6 1
+pinseq=43
+T 3545 6195 5 10 1 1 0 6 1
+pinlabel=PVDD
+T 3695 6245 5 10 1 1 0 0 1
+pinnumber=43
+T 4000 6200 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 5800 3600 5800 1 0 0
+{
+T 4000 5800 5 10 0 0 0 6 1
+pinseq=42
+T 3545 5795 5 10 1 1 0 6 1
+pinlabel=PVDD
+T 3695 5845 5 10 1 1 0 0 1
+pinnumber=42
+T 4000 5800 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 5400 3600 5400 1 0 0
+{
+T 4000 5400 5 10 0 0 0 6 1
+pinseq=41
+T 3545 5395 5 10 1 1 0 6 1
+pinlabel=BST_2P
+T 3695 5445 5 10 1 1 0 0 1
+pinnumber=41
+T 4000 5400 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 600 3600 600 1 0 0
+{
+T 4000 600 5 10 0 0 180 0 1
+pinseq=29
+T 3545 595 5 10 1 1 0 6 1
+pinlabel=PVDD
+T 3695 645 5 10 1 1 0 0 1
+pinnumber=29
+T 4000 600 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 1000 3600 1000 1 0 0
+{
+T 4000 1000 5 10 0 0 180 0 1
+pinseq=30
+T 3545 995 5 10 1 1 0 6 1
+pinlabel=PVDD
+T 3695 1045 5 10 1 1 0 0 1
+pinnumber=30
+T 4000 1000 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 1400 3600 1400 1 0 0
+{
+T 4000 1400 5 10 0 0 180 0 1
+pinseq=31
+T 3545 1395 5 10 1 1 0 6 1
+pinlabel=BST_1M
+T 3695 1445 5 10 1 1 0 0 1
+pinnumber=31
+T 4000 1400 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 1800 3600 1800 1 0 0
+{
+T 4000 1800 5 10 0 0 180 0 1
+pinseq=32
+T 3545 1795 5 10 1 1 0 6 1
+pinlabel=OUT_1M
+T 3695 1845 5 10 1 1 0 0 1
+pinnumber=32
+T 4000 1800 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 2200 3600 2200 1 0 0
+{
+T 4000 2200 5 10 0 0 180 0 1
+pinseq=33
+T 3545 2195 5 10 1 1 0 6 1
+pinlabel=GND
+T 3695 2245 5 10 1 1 0 0 1
+pinnumber=33
+T 4000 2200 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 2600 3600 2600 1 0 0
+{
+T 4000 2600 5 10 0 0 180 0 1
+pinseq=34
+T 3545 2595 5 10 1 1 0 6 1
+pinlabel=OUT_1P
+T 3695 2645 5 10 1 1 0 0 1
+pinnumber=34
+T 4000 2600 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 3000 3600 3000 1 0 0
+{
+T 4000 3000 5 10 0 0 180 0 1
+pinseq=35
+T 3545 2995 5 10 1 1 0 6 1
+pinlabel=BST_1P
+T 3695 3045 5 10 1 1 0 0 1
+pinnumber=35
+}
+P 4000 3400 3600 3400 1 0 0
+{
+T 4000 3400 5 10 0 0 180 0 1
+pinseq=36
+T 3545 3395 5 10 1 1 0 6 1
+pinlabel=GND
+T 3695 3445 5 10 1 1 0 0 1
+pinnumber=36
+}
+P 4000 3800 3600 3800 1 0 0
+{
+T 4000 3800 5 10 0 0 180 0 1
+pinseq=37
+T 3545 3795 5 10 1 1 0 6 1
+pinlabel=BST_2M
+T 3695 3845 5 10 1 1 0 0 1
+pinnumber=37
+T 4000 3800 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 4200 3600 4200 1 0 0
+{
+T 4000 4200 5 10 0 0 180 0 1
+pinseq=38
+T 3545 4195 5 10 1 1 0 6 1
+pinlabel=OUT_2M
+T 3695 4245 5 10 1 1 0 0 1
+pinnumber=38
+T 4000 4200 5 10 0 0 0 0 1
+pintype=pas
+}
+P 4000 4600 3600 4600 1 0 0
+{
+T 4000 4600 5 10 0 0 180 0 1
+pinseq=39
+T 3545 4595 5 10 1 1 0 6 1
+pinlabel=GND
+T 3695 4645 5 10 1 1 0 0 1
+pinnumber=39
+T 4000 4600 5 10 0 0 0 0 1
+pintype=pwr
+}
+P 4000 5000 3600 5000 1 0 0
+{
+T 4000 5000 5 10 0 0 180 0 1
+pinseq=40
+T 3545 4995 5 10 1 1 0 6 1
+pinlabel=OUT_2P
+T 3695 5045 5 10 1 1 0 0 1
+pinnumber=40
+T 4000 5000 5 10 0 0 0 0 1
+pintype=pas
+}