From a50d3597a2e05fc1451318a5d69cb7cee6f929df Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Sun, 29 Dec 2019 17:24:38 -0500
Subject: [PATCH] wip

---
 python/pcb.py | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/python/pcb.py b/python/pcb.py
index d61606f..ffde7a7 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -31,7 +31,7 @@ output = "top, labels, holes, and exterior"
 #output = "bottom traces reversed and exterior"
 #output = "holes"
 #output = "interior"
-#output = "holes and interior"
+output = "holes and interior"
 #output = "exterior"
 #output = "solder mask"
 
@@ -1176,6 +1176,42 @@ class choke(part):
 # connectors
 #
 
+class header_SWD_4(part):
+   #
+   # 4-pin header
+   # fci 95278-101a04lf bergstik 2x2x0.1"
+   #
+   pad_header = cube(-.05,.05,-.025,.025,0,0)
+   def __init__(self,value=''):
+      self.value = value
+      self.pad = [point(0,0,0)]
+      self.labels = []
+      #
+      # pin 1
+      #
+      self.shape = translate(pad_header,-.107,.05,0)
+      self.shape = add(self.shape,cylinder(-.157,.05,0,0,.025))
+      self.pad.append(point(-.107,.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'CLK'))
+      #
+      # pin 2
+      #
+      self.shape = add(self.shape,translate(pad_header,.107,.05,0))
+      self.pad.append(point(.107,.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'DIO'))
+      #
+      # pin 3
+      #
+      self.shape = add(self.shape,translate(pad_header,-.107,-.05,0))
+      self.pad.append(point(-.107,-.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'RST'))
+      #
+      # pin 4
+      #
+      self.shape = add(self.shape,translate(pad_header,.107,-.05,0))
+      self.pad.append(point(.107,-.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
+
 class header_UPDI(part):
    #
    # UPDI header
-- 
GitLab