]> git.gag.com Git - hw/altusmetrum/commitdiff
add right-angle USB connector for QuantiMotor
authorBdale Garbee <bdale@gag.com>
Wed, 31 Jul 2024 22:57:40 +0000 (16:57 -0600)
committerBdale Garbee <bdale@gag.com>
Wed, 31 Jul 2024 22:57:40 +0000 (16:57 -0600)
packages/.gitignore
packages/Makefile
packages/cu01sah.py [new file with mode: 0755]
packages/cu01sav.py

index 823fd2f208f5b3d92b7b6c9feb5520665a166bcd..45962cb4383d73e856f725381cc23499d439c388 100644 (file)
@@ -4,6 +4,7 @@ ssop-28.fp
 soic-16.fp
 soic-24.fp
 hssop-56.fp
+PTS815.fp
 s-pwson-n8.fp
 s-pwson-n6.fp
 lga14.fp
index 04871406d0d49fbbe01ba77db4b127e8375f8fb9..547d290016265ffc000d30d796b9eb4dfe8f34ff 100644 (file)
@@ -173,6 +173,7 @@ FOOTPRINTS= \
        rpsma-th.fp \
        NINA-W131.fp \
        Omega2S.fp \
+       cu01sah.fp \
        cu01sav.fp \
        TSOT26.fp \
        NRS50.fp \
diff --git a/packages/cu01sah.py b/packages/cu01sah.py
new file mode 100755 (executable)
index 0000000..816df6b
--- /dev/null
@@ -0,0 +1,137 @@
+#!/usr/bin/python3
+# Copyright 2024 by Bdale Garbee <bdale@gag.com>.  GPLv3
+#
+# Program to emit PCB footprint for
+#   CviLux CU01SAH0S00 USB Type-A Single Port Horizonal (Right Angle) Connector
+#
+# dimensions in mm from cvilux/CU0101S.pdf
+
+PinDiam = 0.92
+InnerSpacing = 2.00
+OuterSpacing = 7.00
+
+MntDiam = 2.33
+MntSpacing = 13.14
+
+Pin2Mnt = 2.71
+Pin2Box = 1.19
+
+BoxX = 13.1
+BoxY = 14.2            # this includes the lip
+
+LineWidth = 600
+ThicknessDelta = 1.0
+Clearance = .32
+MaskDelta = 0.32
+
+import sys
+
+# we're going to use the 1/100 of a mil fundamental unit form
+def mm2mils100( mm ):
+       return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
+
+print('# author: Bdale Garbee')
+print('# email: bdale@gag.com')
+print('# dist-license: GPL 3')
+print('# use-license: unlimited')
+
+print('Element[0x0 "CU01SAV" "" "" 0 0 0 0 0 100 0x0]')
+print("(")
+
+print('   Pin[', \
+        mm2mils100(-OuterSpacing/2), \
+        0, \
+        mm2mils100(PinDiam+ThicknessDelta/2), \
+        mm2mils100(Clearance), \
+        mm2mils100(PinDiam+ThicknessDelta/2+MaskDelta), \
+        mm2mils100(PinDiam), \
+       '"1"', \
+       '"1"', \
+       "0x0101", ']')
+
+print('   Pin[', \
+        mm2mils100(-InnerSpacing/2), \
+        0, \
+        mm2mils100(PinDiam+ThicknessDelta/2), \
+        mm2mils100(Clearance), \
+        mm2mils100(PinDiam+ThicknessDelta/2+MaskDelta), \
+        mm2mils100(PinDiam), \
+       '"2"', \
+       '"2"', \
+       "0x0001", ']')
+
+print('   Pin[', \
+        mm2mils100(InnerSpacing/2), \
+        0, \
+        mm2mils100(PinDiam+ThicknessDelta/2), \
+        mm2mils100(Clearance), \
+        mm2mils100(PinDiam+ThicknessDelta/2+MaskDelta), \
+        mm2mils100(PinDiam), \
+       '"3"', \
+       '"3"', \
+       "0x0001", ']')
+
+print('   Pin[', \
+        mm2mils100(OuterSpacing/2), \
+        0, \
+        mm2mils100(PinDiam+ThicknessDelta/2), \
+        mm2mils100(Clearance), \
+        mm2mils100(PinDiam+ThicknessDelta/2+MaskDelta), \
+        mm2mils100(PinDiam), \
+       '"4"', \
+       '"4"', \
+       "0x0001", ']')
+
+# ground the mounting tab holes, which means pin 4 since this is a USB A
+print('   Pin[', \
+        mm2mils100(-MntSpacing/2), \
+        mm2mils100(Pin2Mnt), \
+        mm2mils100(MntDiam+ThicknessDelta), \
+        mm2mils100(Clearance), \
+        mm2mils100(MntDiam+ThicknessDelta+MaskDelta), \
+        mm2mils100(MntDiam), \
+       '"4"', \
+       '"4"', \
+       "0x0001", ']')
+
+print('   Pin[', \
+        mm2mils100(MntSpacing/2), \
+        mm2mils100(Pin2Mnt), \
+        mm2mils100(MntDiam+ThicknessDelta), \
+        mm2mils100(Clearance), \
+        mm2mils100(MntDiam+ThicknessDelta+MaskDelta), \
+        mm2mils100(MntDiam), \
+       '"4"', \
+       '"4"', \
+       "0x0001", ']')
+
+# silkscreen box
+print('   ElementLine[', \
+        mm2mils100(BoxX/2), \
+        mm2mils100(-Pin2Box), \
+        mm2mils100(BoxX/2), \
+        mm2mils100(-Pin2Box+BoxY), \
+        LineWidth, ']')
+
+print('   ElementLine[', \
+        mm2mils100(-BoxX/2), \
+        mm2mils100(-Pin2Box), \
+        mm2mils100(-BoxX/2), \
+        mm2mils100(-Pin2Box+BoxY), \
+        LineWidth, ']')
+
+print('   ElementLine[', \
+        mm2mils100(-BoxX/2), \
+        mm2mils100(-Pin2Box), \
+        mm2mils100(+BoxX/2), \
+        mm2mils100(-Pin2Box), \
+        LineWidth, ']')
+
+print('   ElementLine[', \
+        mm2mils100(-BoxX/2), \
+        mm2mils100(-Pin2Box+BoxY), \
+        mm2mils100(+BoxX/2), \
+        mm2mils100(-Pin2Box+BoxY), \
+        LineWidth, ']')
+
+print(")")
index 691d1d904a6e56d8f82a6712c95f7b67583c1141..2adf87c90612ca6951a52d6301a4399624e40664 100755 (executable)
@@ -2,7 +2,7 @@
 # Copyright 2022 by Bdale Garbee <bdale@gag.com>.  GPLv3
 #
 # Program to emit PCB footprint for
-#   CviLux CU01SAV1S00 USB Type-A Single Port Straight Connector
+#   CviLux CU01SAV1S00 USB Type-A Single Port Vertical Connector
 #
 # dimensions in mm from cvilux/CU0112S.pdf