diff --git a/python/pcb.py b/python/pcb.py index e534fad816e3ac8ba43e1b733a09cc4246f93ef5..642dbeadf796330546c4dd9b69d7c4b964c8bef5 100755 --- a/python/pcb.py +++ b/python/pcb.py @@ -19,11 +19,11 @@ # uncomment for desired output ############################################################ -#output = "top, labels, and exterior" +output = "top, labels, and exterior" #output = "top, labels, and holes" #output = "top, labels, holes, and exterior" #output = "top, bottom, labels, and exterior" -output = "top, bottom, labels, holes, and exterior" +#output = "top, bottom, labels, holes, and exterior" #output = "top traces" #output = "top traces and exterior" #output = "bottom traces" @@ -1492,8 +1492,8 @@ class IMU_4754(part): self.shape = add(self.shape,cube(height-offset-size,height-offset,width/2-size,width/2,0,0)) self.shape = add(self.shape,cube(-offset,-offset+size,-width/2,-width/2+size,0,0)) self.shape = add(self.shape,cube(height-offset-size,height-offset,-width/2,-width/2+size,0,0)) -class header_IMU_3463_hole(part): +class header_IMU_3463_hole(part): # # Adafruit 3463 IMU breakout through-hole # @@ -1970,6 +1970,34 @@ class header_2H(part): self.pad.append(point(0,-.05,0)) self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'2')) +class header_3H(part): + # + # 3x1x0.1 cable header + # Sullins GEC36SBSN-M89 + # + def __init__(self,value=''): + self.value = value + self.pad = [point(0,0,0)] + self.labels = [] + # + # pin 1 + # + self.shape = translate(pad_header,0,.1,0) + self.pad.append(point(0,.1,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1')) + # + # pin 2 + # + self.shape = add(self.shape,translate(pad_header,0,0,0)) + self.pad.append(point(0,0,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'2')) + # + # pin 3 + # + self.shape = add(self.shape,translate(pad_header,0,-.1,0)) + self.pad.append(point(0,-.1,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'3')) + class header_4H(part): # # 4x1x0.1 cable header @@ -6323,6 +6351,69 @@ class regulator_SOT223(part): self.pad.append(point(0,.12,0)) self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'out')) +class A4949LJ(part): + # + # Allegro BLDC driver + # + def __init__(self,value=''): + pad = cube(-1.75/25.4/2,1.75/25.4/2,-0.65/25.4/2,0.65/25.4/2,0,0) + dx = 5.6/25.4/2 + self.value = value + self.pad = [point(0,0,0)] + self.labels = [] + # + # pin 1 + # + self.shape = translate(pad,-dx,.075,0) + self.pad.append(point(-dx,.075,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND.')) + # + # pin 2 + # + self.shape = add(self.shape,translate(pad,-dx,.025,0)) + self.pad.append(point(-dx,.025,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'OUTA')) + # + # pin 3 + # + self.shape = add(self.shape,translate(pad,-dx,-.025,0)) + self.pad.append(point(-dx,-.025,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VBB')) + # + # pin 4 + # + self.shape = add(self.shape,translate(pad,-dx,-.075,0)) + self.pad.append(point(-dx,-.075,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'PWM')) + # + # pin 5 + # + self.shape = add(self.shape,translate(pad,dx,-.075,0)) + self.pad.append(point(dx,-.075,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VREF')) + # + # pin 6 + # + self.shape = add(self.shape,translate(pad,dx,-.025,0)) + self.pad.append(point(dx,-.025,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'FG')) + # + # pin 7 + # + self.shape = add(self.shape,translate(pad,dx,.025,0)) + self.pad.append(point(dx,.025,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'OUTC')) + # + # pin 8 + # + self.shape = add(self.shape,translate(pad,dx,.075,0)) + self.pad.append(point(dx,.075,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'OUTB')) + # + # thermal pad + # + self.shape = add(self.shape,cube(-2.41/25.4/2,2.41/25.4/2,-3.3/25.4/2,3.3/25.4/2,0,0)) + class TB67H451A(part): def __init__(self,value=''): self.value = value