Commit 347f404a authored by Neil Gershenfeld's avatar Neil Gershenfeld
Browse files

wip

parent 02161b8f
......@@ -4563,6 +4563,446 @@ class ADXL343(part):
# ICs
#
class SAMD21E(part):
#
# TQFP
#
def __init__(self,value=''):
self.value = value
self.pad = [point(0,0,0)]
self.labels = []
d = 8.5/2/25.4
w = 0.4/2/25.4
h = 1.6/2/25.4
p = 0.8/25.4
l = 0.004
pad = cube(-h,h,-w,w,0,0)
padv = cube(-w,w,-h,h,0,0)
#
# pin 1
#
self.shape = translate(pad,-d,3.5*p,0)
self.shape = add(self.shape,cylinder(-d-h,3.5*p,0,0,w))
self.pad.append(point(-d,3.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1A0',line=l))
#
# pin 2
#
self.shape = add(self.shape,translate(pad,-d,2.5*p,0))
self.pad.append(point(-d,2.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A01',line=l))
#
# pin 3
#
self.shape = add(self.shape,translate(pad,-d,1.5*p,0))
self.pad.append(point(-d,1.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A02',line=l))
#
# pin 4
#
self.shape = add(self.shape,translate(pad,-d,.5*p,0))
self.pad.append(point(-d,.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A03',line=l))
#
# pin 5
#
self.shape = add(self.shape,translate(pad,-d,-.5*p,0))
self.pad.append(point(-d,-.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A04',line=l))
#
# pin 6
#
self.shape = add(self.shape,translate(pad,-d,-1.5*p,0))
self.pad.append(point(-d,-1.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A05',line=l))
#
# pin 7
#
self.shape = add(self.shape,translate(pad,-d,-2.5*p,0))
self.pad.append(point(-d,-2.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A06',line=l))
#
# pin 8
#
self.shape = add(self.shape,translate(pad,-d,-3.5*p,0))
self.pad.append(point(-d,-3.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A07',line=l))
#
# pin 9
#
self.shape = add(self.shape,translate(padv,-3.5*p,-d,0))
self.pad.append(point(-3.5*p,-d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VAN',line=l,angle=-90))
#
# pin 10
#
self.shape = add(self.shape,translate(padv,-2.5*p,-d,0))
self.pad.append(point(-2.5*p,-d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND',line=l,angle=-90))
#
# pin 11
#
self.shape = add(self.shape,translate(padv,-1.5*p,-d,0))
self.pad.append(point(-1.5*p,-d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A08',line=l,angle=-90))
#
# pin 12
#
self.shape = add(self.shape,translate(padv,-.5*p,-d,0))
self.pad.append(point(-.5*p,-d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A09',line=l,angle=-90))
#
# pin 13
#
self.shape = add(self.shape,translate(padv,.5*p,-d,0))
self.pad.append(point(.5*p,-d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A10',line=l,angle=-90))
#
# pin 14
#
self.shape = add(self.shape,translate(padv,1.5*p,-d,0))
self.pad.append(point(1.5*p,-d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A11',line=l,angle=-90))
#
# pin 15
#
self.shape = add(self.shape,translate(padv,2.5*p,-d,0))
self.pad.append(point(2.5*p,-d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A14',line=l,angle=-90))
#
# pin 16
#
self.shape = add(self.shape,translate(padv,3.5*p,-d,0))
self.pad.append(point(3.5*p,-d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A15',line=l,angle=-90))
#
# pin 17
#
self.shape = add(self.shape,translate(pad,d,-3.5*p,0))
self.pad.append(point(d,-3.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A16',line=l))
#
# pin 18
#
self.shape = add(self.shape,translate(pad,d,-2.5*p,0))
self.pad.append(point(d,-2.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A17',line=l))
#
# pin 19
#
self.shape = add(self.shape,translate(pad,d,-1.5*p,0))
self.pad.append(point(d,-1.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A18',line=l))
#
# pin 20
#
self.shape = add(self.shape,translate(pad,d,-.5*p,0))
self.pad.append(point(d,-.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A19',line=l))
#
# pin 21
#
self.shape = add(self.shape,translate(pad,d,.5*p,0))
self.pad.append(point(d,.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A22',line=l))
#
# pin 22
#
self.shape = add(self.shape,translate(pad,d,1.5*p,0))
self.pad.append(point(d,1.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A23',line=l))
#
# pin 23
#
self.shape = add(self.shape,translate(pad,d,2.5*p,0))
self.pad.append(point(d,2.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'24-',line=l))
#
# pin 24
#
self.shape = add(self.shape,translate(pad,d,3.5*p,0))
self.pad.append(point(d,3.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'25+',line=l))
#
# pin 25
#
self.shape = add(self.shape,translate(padv,3.5*p,d,0))
self.pad.append(point(3.5*p,d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A27',line=l,angle=-90))
#
# pin 26
#
self.shape = add(self.shape,translate(padv,2.5*p,d,0))
self.pad.append(point(2.5*p,d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'RST',line=l,angle=-90))
#
# pin 27
#
self.shape = add(self.shape,translate(padv,1.5*p,d,0))
self.pad.append(point(1.5*p,d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A28',line=l,angle=-90))
#
# pin 28
#
self.shape = add(self.shape,translate(padv,.5*p,d,0))
self.pad.append(point(.5*p,d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND',line=l,angle=-90))
#
# pin 29
#
self.shape = add(self.shape,translate(padv,-.5*p,d,0))
self.pad.append(point(-.5*p,d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VCR',line=l,angle=-90))
#
# pin 30
#
self.shape = add(self.shape,translate(padv,-1.5*p,d,0))
self.pad.append(point(-1.5*p,d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VIN',line=l,angle=-90))
#
# pin 31
#
self.shape = add(self.shape,translate(padv,-2.5*p,d,0))
self.pad.append(point(-2.5*p,d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'CLK',line=l,angle=-90))
#
# pin 32
#
self.shape = add(self.shape,translate(padv,-3.5*p,d,0))
self.pad.append(point(-3.5*p,d,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'DIO',line=l,angle=-90))
class SAMD11D(part):
#
# SOIC
#
def __init__(self,value=''):
self.value = value
self.pad = [point(0,0,0)]
self.labels = []
d = 9.82/2/25.4
w = .63/2/25.4
h = 1.9/2/25.4
pad = cube(-h,h,-w,w,0,0)
#
# pin 1
#
self.shape = translate(pad,-d,.225,0)
self.shape = add(self.shape,cylinder(-d-h,.225,0,0,w))
self.pad.append(point(-d,.225,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1A05'))
#
# pin 2
#
self.shape = add(self.shape,translate(pad,-d,.175,0))
self.pad.append(point(-d,.175,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A06'))
#
# pin 3
#
self.shape = add(self.shape,translate(pad,-d,.125,0))
self.pad.append(point(-d,.125,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A07'))
#
# pin 4
#
self.shape = add(self.shape,translate(pad,-d,.075,0))
self.pad.append(point(-d,.075,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A08'))
#
# pin 5
#
self.shape = add(self.shape,translate(pad,-d,.025,0))
self.pad.append(point(-d,.025,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A09'))
#
# pin 6
#
self.shape = add(self.shape,translate(pad,-d,-.025,0))
self.pad.append(point(-d,-.025,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A14'))
#
# pin 7
#
self.shape = add(self.shape,translate(pad,-d,-.075,0))
self.pad.append(point(-d,-.075,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A15'))
#
# pin 8
#
self.shape = add(self.shape,translate(pad,-d,-.125,0))
self.pad.append(point(-d,-.125,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A16'))
#
# pin 9
#
self.shape = add(self.shape,translate(pad,-d,-.175,0))
self.pad.append(point(-d,-.175,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A22'))
#
# pin 10
#
self.shape = add(self.shape,translate(pad,-d,-.225,0))
self.pad.append(point(-d,-.225,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A23'))
#
# pin 11
#
self.shape = add(self.shape,translate(pad,d,-.225,0))
self.pad.append(point(d,-.225,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'RST'))
#
# pin 12
#
self.shape = add(self.shape,translate(pad,d,-.175,0))
self.pad.append(point(d,-.175,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'CLK'))
#
# pin 13
#
self.shape = add(self.shape,translate(pad,d,-.125,0))
self.pad.append(point(d,-.125,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'DIO'))
#
# pin 14
#
self.shape = add(self.shape,translate(pad,d,-.075,0))
self.pad.append(point(d,-.075,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'24-'))
#
# pin 15
#
self.shape = add(self.shape,translate(pad,d,-.025,0))
self.pad.append(point(d,-.025,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'25+'))
#
# pin 16
#
self.shape = add(self.shape,translate(pad,d,.025,0))
self.pad.append(point(d,.025,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
#
# pin 17
#
self.shape = add(self.shape,translate(pad,d,.075,0))
self.pad.append(point(d,.075,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VCC'))
#
# pin 18
#
self.shape = add(self.shape,translate(pad,d,.125,0))
self.pad.append(point(d,.125,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A02'))
#
# pin 19
#
self.shape = add(self.shape,translate(pad,d,.175,0))
self.pad.append(point(d,.175,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A03'))
#
# pin 20
#
self.shape = add(self.shape,translate(pad,d,.225,0))
self.pad.append(point(d,.225,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A04'))
class ATtiny1614(part):
#
# SOIC
#
def __init__(self,value=''):
self.value = value
self.pad = [point(0,0,0)]
self.labels = []
d = 0.11
w = 0.015
h = .03
pad = cube(-h,h,-w,w,0,0)
#
# pin 1
#
self.shape = translate(pad,-d,.15,0)
self.shape = add(self.shape,cylinder(-d-h,.15,0,0,w))
self.pad.append(point(-d,.15,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1VCC'))
#
# pin 2
#
self.shape = add(self.shape,translate(pad,-d,.1,0))
self.pad.append(point(-d,.1,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PA4'))
#
# pin 3
#
self.shape = add(self.shape,translate(pad,-d,.050,0))
self.pad.append(point(-d,.05,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PA5'))
#
# pin 4
#
self.shape = add(self.shape,translate(pad,-d,0,0))
self.pad.append(point(-d,0,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PA6'))
#
# pin 5
#
self.shape = add(self.shape,translate(pad,-d,-.05,0))
self.pad.append(point(-d,-.05,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PA7'))
#
# pin 6
#
self.shape = add(self.shape,translate(pad,-d,-.1,0))
self.pad.append(point(-d,-.1,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'RB3'))
#
# pin 7
#
self.shape = add(self.shape,translate(pad,-d,-.15,0))
self.pad.append(point(-d,-.15,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'TB2'))
#
# pin 8
#
self.shape = add(self.shape,translate(pad,d,-.15,0))
self.pad.append(point(d,-.15,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PB1'))
#
# pin 9
#
self.shape = add(self.shape,translate(pad,d,-.1,0))
self.pad.append(point(d,-.1,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PB0'))
#
# pin 10
#
self.shape = add(self.shape,translate(pad,d,-.05,0))
self.pad.append(point(d,-.05,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'UPDI'))
#
# pin 11
#
self.shape = add(self.shape,translate(pad,d,0,0))
self.pad.append(point(d,0,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PA1'))
#
# pin 12
#
self.shape = add(self.shape,translate(pad,d,.050,0))
self.pad.append(point(d,.05,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PA2'))
#
# pin 13
#
self.shape = add(self.shape,translate(pad,d,.1,0))
self.pad.append(point(d,.1,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PA3'))
#
# pin 14
self.shape = add(self.shape,translate(pad,d,.15,0))
self.pad.append(point(d,.15,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
class FT230XS(part):
def __init__(self,value=''):
self.value = value
......@@ -4580,7 +5020,7 @@ class FT230XS(part):
self.shape = translate(pad,-d,3.5*p,0)
self.shape = add(self.shape,cylinder(-d-h,3.5*p,0,0,w))
self.pad.append(point(-d,3.5*p,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'TXD',line=l))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1TXD',line=l))
#
# pin 2
#
......@@ -4672,6 +5112,9 @@ class FT230XS(part):
class ATtiny412(part):
#
# SOIC150
#
def __init__(self,value=''):
self.value = value
self.pad = [point(0,0,0)]
......@@ -4730,7 +5173,10 @@ class ATtiny412(part):
self.pad.append(point(d,.075,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
class SAMD11C_SOIC(part):
class SAMD11C(part):
#
# SOIC
#
def __init__(self,value=''):
self.value = value
self.pad = [point(0,0,0)]
......@@ -4745,7 +5191,7 @@ class SAMD11C_SOIC(part):
self.shape = translate(pad,-d,.15,0)
self.shape = add(self.shape,cylinder(-d-h,.15,0,0,w))
self.pad.append(point(-d,.15,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A05'))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1A05'))
#
# pin 2: PA08
#
......@@ -4820,6 +5266,7 @@ class SAMD11C_SOIC(part):
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A02'))
#
# pin 14: PA04
#
self.shape = add(self.shape,translate(pad,d,.15,0))
self.pad.append(point(d,.15,0))
self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'A04'))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment