diff --git a/python/pcb.py b/python/pcb.py index 6901b3354d0e75e891b217f204fea83e62f4a4ad..b98ddac3b744bf33e65a8d4fa8f35f101e211644 100755 --- a/python/pcb.py +++ b/python/pcb.py @@ -5460,6 +5460,75 @@ class XTAL_CSM_7(part): # diodes, transistors, regulators, sensors ############################################################ +class DRV8251A(part): + # + # TI DRV8251A H-bridge + # + def __init__(self,value=''): + self.value = value + self.pad = [point(0,0,0)] + self.labels = [] + w = 1.55/25.4 + h = .6/25.4 + p = 1.27/25.4 + d = 5.4/25.4/2 + pad = cube(-w/2,w/2,-h/2,h/2,0,0) + # + # pin 1 + # + 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,'.IPR',line=0.004)) + # + # pin 2 + # + 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,'IN2',line=0.004)) + # + # pin 3 + # + 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,'IN1',line=0.004)) + # + # pin 4 + # + 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,'VREF',line=0.004)) + # + # pin 5 + # + 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,'VM',line=0.004)) + # + # pin 6 + # + 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,'OUT1',line=0.004)) + # + # pin 7 + # + 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,'GND',line=0.004)) + # + # pin 8 + # + 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,'OUT2',line=0.004)) + # + # thermal pad + # + w = 2.71/25.4 + h = 3.4/25.4 + self.shape = add(self.shape,cube(-w/2,w/2,-h/2,h/2,0,0)) + + class ALS31313(part): # # Allegro ALS31313 vector magnetometer