diff --git a/python/pcb.py b/python/pcb.py index c1b2ec4dfbefd97dfec4e738c4c77c6dfebdcfaf..6444c2f0c041a487a780a910708e19e0228ef19c 100755 --- a/python/pcb.py +++ b/python/pcb.py @@ -20,8 +20,8 @@ # uncomment for desired output: # -#output = "top, labels, and exterior" -output = "top, labels, holes, and exterior" +output = "top, labels, and exterior" +#output = "top, labels, holes, and exterior" #output = "top, bottom, labels, and exterior" #output = "top, bottom, labels, holes, and exterior" #output = "top traces" @@ -5027,6 +5027,140 @@ class ADXL343(part): # ICs # +class ATtiny3216(part): + # + # SOIC-20 + # + 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,'1VCC')) + # + # 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,'PA4')) + # + # 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,'PA5')) + # + # 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,'PA6')) + # + # 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,'PA7')) + # + # 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,'PB5')) + # + # 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,'PB4')) + # + # 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,'RB3')) + # + # 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,'TB2')) + # + # 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,'PB1')) + # + # 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,'PB0')) + # + # 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,'PC0')) + # + # 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,'PC1')) + # + # 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,'PC2')) + # + # 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,'PC3')) + # + # 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,'UPDI')) + # + # 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,'PA1')) + # + # 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,'PA2')) + # + # 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,'PA3')) + # + # 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,'GND')) + class SAMD21E(part): # # TQFP @@ -5238,7 +5372,7 @@ class SAMD21E(part): class SAMD11D(part): # - # SOIC + # SOIC-20 # def __init__(self,value=''): self.value = value