From cc1db742c6d8408ac3c4391c0c3f935d3fe2f3df Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Fri, 3 Jan 2020 15:21:07 -0500
Subject: [PATCH] wip

---
 python/pcb.png | Bin 24287 -> 25999 bytes
 python/pcb.py  | 163 ++++++++++++++++++++++++++++++++++---------------
 2 files changed, 115 insertions(+), 48 deletions(-)

diff --git a/python/pcb.png b/python/pcb.png
index a6c3b584b7c8da9dcd489bd414a42d16089e3472..6ea45400e439267b87373685f5bfb6f72f7f6d60 100644
GIT binary patch
literal 25999
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

literal 24287
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
apM7^~?~zp{8Jr9Z3=E#GelF{r5}E)>cuMd9

diff --git a/python/pcb.py b/python/pcb.py
index a7b5740..866c931 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -21,12 +21,11 @@
 #
 
 #output = "top, labels, and exterior"
-output = "top, labels, holes, and exterior"
+#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 = "top traces, holes, and exterior"
 #output = "bottom traces reversed"
 #output = "bottom traces reversed and exterior"
 #output = "holes"
@@ -958,6 +957,7 @@ class PCB:
       self.exterior = subtract(true,rectangle(x0,x0+width,y0,y0+height))
       self.mask = false
       self.holes = false
+      self.cutout = false
    def add(self,part):
       self.board = add(self.board,part)
       self.mask = add(self.mask,move(part,-mask,mask))
@@ -1005,6 +1005,16 @@ class part:
          elif (angle != 0):
             self.holes = rotate(self.holes,angle)
          self.holes = translate(self.holes,x,y,z)
+      if hasattr(self,'cutout'):
+         if (angle == 90):
+            self.cutout = rotate_90(self.cutout)
+         elif (angle == 180):
+            self.cutout = rotate_180(self.cutout)
+         elif ((angle == 270) | (angle == -90)):
+            self.cutout = rotate_270(self.cutout)
+         elif (angle != 0):
+            self.cutout = rotate(self.cutout,angle)
+         self.cutout = translate(self.cutout,x,y,z)
       deg_angle = angle
       angle = math.pi*angle/180
       for i in range(len(self.pad)):
@@ -1027,6 +1037,9 @@ class part:
       pcb = pcb.add(self.shape)
       if hasattr(self,'holes'):
          pcb.holes = add(pcb.holes,self.holes)
+      if hasattr(self,'cutout'):
+         pcb.interior = subtract(pcb.interior,self.cutout)
+         pcb.exterior = add(pcb.exterior,self.cutout)
       return pcb
 
 def wire(pcb,width,*points):
@@ -1080,7 +1093,6 @@ class via(part):
       self.pad.append(point(0,0,zt))
       self.pad.append(point(0,0,zb))
 
-
 class SJ(part):
    #
    # solder jumper
@@ -1176,6 +1188,66 @@ class choke(part):
 # connectors
 #
 
+class TFT8x1v(part):
+   #
+   # TFT 8x1 vertical
+   #    2x Sullins S5635-ND
+   #
+   def __init__(self,value=''):
+      pad_header = cube(-.079/2,.079/2,-.039/2,.039/2,0,0)
+      d = .209/2-.079/2
+      self.value = value
+      self.pad = [point(0,0,0)]
+      self.labels = []
+      #
+      # pin 1
+      #
+      self.shape = translate(pad_header,-d,-.35,0)
+      self.pad.append(point(-d,-.35,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1LED'))
+      #
+      # pin 2
+      #
+      self.shape = add(self.shape,translate(pad_header,d,-.25,0))
+      self.pad.append(point(d,-.25,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'SCK'))
+      #
+      # pin 3
+      #
+      self.shape = add(self.shape,translate(pad_header,-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,'MOSI'))
+      #
+      # pin 4
+      #
+      self.shape = add(self.shape,translate(pad_header,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,'DC'))
+      #
+      # pin 5
+      #
+      self.shape = add(self.shape,translate(pad_header,-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,'RST'))
+      #
+      # pin 6
+      #
+      self.shape = add(self.shape,translate(pad_header,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,'CS'))
+      #
+      # pin 7
+      #
+      self.shape = add(self.shape,translate(pad_header,-d,.25,0))
+      self.pad.append(point(-d,.25,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
+      #
+      # pin 8
+      #
+      self.shape = add(self.shape,translate(pad_header,d,.35,0))
+      self.pad.append(point(d,.35,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VCC'))
+
 class header_SWD_4_05(part):
    #
    # 4-pin header
@@ -1329,8 +1401,8 @@ class USB_A_plug(part):
       #
       # plug cutout
       #
-      self.holes = cube(-.05,1,.24,1,zb,zt)
-      self.holes = add(self.holes,cube(-.05,1,-1,-.24,zb,zt))
+      self.cutout = cube(-.05,1,.24,1,zb,zt)
+      self.cutout = add(self.cutout,cube(-.05,1,-1,-.24,zb,zt))
 
 class header_SWD(part):
    #
@@ -6576,11 +6648,11 @@ pcb = PCB(x,y,width,height,mask)
 IC1 = ATtiny44_SOICN('IC1\nt44')
 pcb = IC1.add(pcb,x+.49,y+.56)
 
-VIC1 = via(zb,zt,rv,rp)
-pcb = VIC1.add(pcb,IC1.pad[14].x+.08,IC1.pad[14].y+.02)
+V1 = via(zb,zt,rv,rp,'V1')
+pcb = V1.add(pcb,IC1.pad[14].x+.08,IC1.pad[14].y+.02)
 
 pcb = wire(pcb,w,
-   VIC1.pad[1],
+   V1.pad[1],
    IC1.pad[14])
 
 J1 = header_ISP('J1\nISP')
@@ -6608,23 +6680,23 @@ pcb = wire(pcb,w,
    point(J1.pad[5].x,IC1.pad[4].y),
    J1.pad[5])
 
-VJ12 = via(zb,zt,rv,rp)
-pcb = VJ12.add(pcb,J1.pad[2].x+.075,J1.pad[2].y)
+V2 = via(zb,zt,rv,rp,'V2')
+pcb = V2.add(pcb,J1.pad[2].x+.075,J1.pad[2].y)
 
 pcb = wire(pcb,w,
-   VJ12.pad[1],
+   V2.pad[1],
    J1.pad[2])
 
-VJ16 = via(zb,zt,rv,rp)
-pcb = VJ16.add(pcb,J1.pad[6].x-.075,J1.pad[6].y)
+V3 = via(zb,zt,rv,rp,'V3')
+pcb = V3.add(pcb,J1.pad[6].x-.075,J1.pad[6].y)
 
 pcb = wire(pcb,w,
-   VJ16.pad[1],
+   V3.pad[1],
    J1.pad[6])
 
 pcb = wire(pcb,w,
-   VJ16.pad[2],
-   VIC1.pad[2])
+   V3.pad[2],
+   V1.pad[2])
 
 J2 = header_FTDI('J2 FTDI')
 pcb = J2.add(pcb,x+width-.22,IC1.y-.0,angle=0)
@@ -6642,16 +6714,16 @@ pcb = wire(pcb,w,
    point(IC1.pad[12].x+.11,J2.pad[5].y),
    J2.pad[5])
 
-VJ2 = via(zb,zt,rv,rp)
-pcb = VJ2.add(pcb,J2.pad[3].x+.1,J2.pad[3].y)
+V4 = via(zb,zt,rv,rp,'V4')
+pcb = V4.add(pcb,J2.pad[3].x+.1,J2.pad[3].y)
 
 pcb = wire(pcb,w,
-   VJ2.pad[1],
+   V4.pad[1],
    J2.pad[3])
 
 pcb = wire(pcb,w,
-   VJ12.pad[2],
-   VJ2.pad[2])
+   V2.pad[2],
+   V4.pad[2])
 
 XTAL1 = XTAL_EFOBM('XTAL1\n20 MHz')
 pcb = XTAL1.add(pcb,IC1.pad[4].x-.2,IC1.pad[13].y+.003,angle=-90)
@@ -6666,16 +6738,16 @@ pcb = wire(pcb,w,
    IC1.pad[3],
    XTAL1.pad[3])
 
-VXTAL = via(zb,zt,rv,rp)
-pcb = VXTAL.add(pcb,XTAL1.x-.12,XTAL1.y)
+V5 = via(zb,zt,rv,rp,'V5')
+pcb = V5.add(pcb,XTAL1.x-.12,XTAL1.y)
 
 pcb = wire(pcb,w,
    XTAL1.pad[2],
-   VXTAL.pad[1])
+   V5.pad[1])
 
 pcb = wire(pcb,w,
-   VJ16.pad[2],
-   VXTAL.pad[2])
+   V3.pad[2],
+   V5.pad[2])
 
 R1 = R_1206('R1\n10k');
 pcb = R1.add(pcb,IC1.pad[1].x,IC1.pad[1].y+.1)
@@ -6689,17 +6761,17 @@ pcb = wire(pcb,w,
    point(J1.pad[5].x,R1.y),
    J1.pad[5])
 
-VR1 = via(zb,zt,rv,rp)
-pcb = VR1.add(pcb,R1.pad[1].x-.08,R1.y)
+V6 = via(zb,zt,rv,rp,'V6')
+pcb = V6.add(pcb,R1.pad[1].x-.08,R1.y)
 
 pcb = wire(pcb,w,
-   VR1.pad[1],
+   V6.pad[1],
    R1.pad[1])
 
 pcb = wire(pcb,w,
-   VJ2.pad[2],
-   point(VJ2.x,VR1.y,zb),
-   VR1.pad[2])
+   V4.pad[2],
+   point(V4.x,V6.y,zb),
+   V6.pad[2])
 
 C1 = C_1206('C1\n1uF');
 pcb = C1.add(pcb,IC1.pad[14].x,R1.y)
@@ -6710,19 +6782,19 @@ pcb = wire(pcb,w,
 
 pcb = wire(pcb,w,
    C1.pad[2],
-   VIC1.pad[1])
+   V1.pad[1])
 
-VC1 = via(zb,zt,rv,rp)
-pcb = VC1.add(pcb,C1.pad[1].x-.025,C1.y-.06)
+V7 = via(zb,zt,rv,rp,'V7')
+pcb = V7.add(pcb,C1.pad[1].x-.025,C1.y-.06)
 
 pcb = wire(pcb,w,
-   VC1.pad[1],
+   V7.pad[1],
    C1.pad[1])
 
 pcb = wire(pcb,w,
-   VR1.pad[2],
-   point(VC1.x,VR1.y,zb),
-   VC1.pad[2])
+   V6.pad[2],
+   point(V7.x,V6.y,zb),
+   V7.pad[2])
 
 #
 # select output
@@ -6735,16 +6807,15 @@ if (output == "top, labels, and exterior"):
    outputs["layers"] = [zt]
 elif (output == "top, labels, holes, and exterior"):
    outputs["function"] = add(add(color(Tan,pcb.board),pcb.labels),
-      color(White,add(pcb.exterior,pcb.holes)))
+      add(color(White,pcb.exterior),color(Blue,pcb.holes)))
    outputs["layers"] = [zt]
 elif (output == "top, bottom, labels, and exterior"):
    outputs["function"] = add(add(color(Tan,pcb.board),pcb.labels),
       color(White,pcb.exterior))
    outputs["layers"] = [zb,zt]
 elif (output == "top, bottom, labels, holes, and exterior"):
-   outputs["function"] = add(add(color(Tan,
-      subtract(pcb.board,pcb.holes)),pcb.labels),
-      color(White,pcb.exterior))
+   outputs["function"] = add(add(color(Tan,pcb.board),pcb.labels),
+      add(color(White,pcb.exterior),color(Blue,pcb.holes)))
    outputs["layers"] = [zb,zt]
 elif (output == "top traces"):
    outputs["function"] = color(White,pcb.board)
@@ -6752,10 +6823,6 @@ elif (output == "top traces"):
 elif (output == "top traces and exterior"):
    outputs["function"] = color(White,add(pcb.board,pcb.exterior))
    outputs["layers"] = [zt]
-elif (output == "top traces, holes, and exterior"):
-   outputs["function"] = color(White,
-      add(add(pcb.board,pcb.exterior),pcb.holes))
-   outputs["layers"] = [zt]
 elif (output == "bottom traces reversed"):
    outputs["function"] = color(White,
       reflect_x(pcb.board,2*x+width))
-- 
GitLab