]> git.gag.com Git - hw/altusmetrum/commitdiff
update C&K PN series datasheet, add footprint for SPDT momentary variant
authorBdale Garbee <bdale@gag.com>
Tue, 24 Jun 2025 18:28:15 +0000 (12:28 -0600)
committerBdale Garbee <bdale@gag.com>
Tue, 24 Jun 2025 18:28:15 +0000 (12:28 -0600)
datasheets/ck/PN_22apr10.pdf [deleted file]
datasheets/ck/pn.pdf [new file with mode: 0644]
packages/switches/.gitignore
packages/switches/Makefile
packages/switches/PN11S.py [new file with mode: 0755]
preferred-parts.ods

diff --git a/datasheets/ck/PN_22apr10.pdf b/datasheets/ck/PN_22apr10.pdf
deleted file mode 100644 (file)
index 2f80077..0000000
Binary files a/datasheets/ck/PN_22apr10.pdf and /dev/null differ
diff --git a/datasheets/ck/pn.pdf b/datasheets/ck/pn.pdf
new file mode 100644 (file)
index 0000000..ddfc07c
Binary files /dev/null and b/datasheets/ck/pn.pdf differ
index 1c7c369a80fd4e5a2a2cdf2b8722df0aff418f02..7b8408825321b52ab4184ce856893f6a3ba715d3 100644 (file)
@@ -3,5 +3,6 @@
 cus-12.fp
 lph.fp
 PNswitchDPDT.fp
+PN11S.fp
 SK12F17.fp
 1MS1T1B4M7.fp
index 6c6c0fbe0176f54edaf4429ec21730c0b36ac216..29bb4bec35b7a23a1b2f1ff0a1aead6e1dccb2cd 100644 (file)
@@ -5,6 +5,7 @@ FOOTPRINTS = \
        cus-12.fp \
        lph.fp \
        PNswitchDPDT.fp \
+       PN11S.fp \
        SK12F17.fp \
        1MS1T1B4M7.fp
 
diff --git a/packages/switches/PN11S.py b/packages/switches/PN11S.py
new file mode 100755 (executable)
index 0000000..9287520
--- /dev/null
@@ -0,0 +1,105 @@
+#!/usr/bin/python3
+# Copyright 2025 by Bdale Garbee <bdale@gag.com>.  GPLv3
+#
+# Program to emit PCB footprint for C&K PN11SHNA03QE SPDT momentary push switch
+#
+
+# dimensions in mm from ck/pn.pdf
+BodyWidth = 12                 # body outline
+BodyHeight = 5.0
+PinSpace = 2.5                 # pins are along body center line
+PinDiam = 0.9
+MntWidth = 11.3
+MntXOffset = 5.7               # rear mounting tab to center switch pin
+MntFOffset = -2.2              # Y offsets of mounting tabs from center line
+MntROffset = 1.2
+MntDiam = 1.2                  # 1.2 vs 1.1 to allow sub of e-switch parts
+
+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 "PN11S" "" "" 0 0 0 0 0 100 0x0]')
+print("(")
+print('   Pin[',\
+       mm2mils100(-PinSpace), \
+       0, \
+       mm2mils100(1.8), \
+       mm2mils100(1), \
+       mm2mils100(2.0), \
+       mm2mils100(PinDiam), \
+       '"pin1" "1" 0x0101]')
+
+print('   Pin[',\
+       mm2mils100(0), \
+       0, \
+       mm2mils100(1.8), \
+       mm2mils100(1), \
+       mm2mils100(2.0), \
+       mm2mils100(PinDiam), \
+       '"pin2" "2" 0x0001]')
+
+print('   Pin[',\
+       mm2mils100(PinSpace), \
+       0, \
+       mm2mils100(1.8), \
+       mm2mils100(1), \
+       mm2mils100(2.0), \
+       mm2mils100(PinDiam), \
+       '"pin3" "3" 0x0001]')
+
+print('   Pin[',\
+       mm2mils100(-MntXOffset), \
+       mm2mils100(MntROffset), \
+       mm2mils100(2), \
+       mm2mils100(1), \
+       mm2mils100(2.2), \
+       mm2mils100(MntDiam), \
+       '"pin7" "G" 0x0001]')
+
+print('   Pin[',\
+       mm2mils100(MntWidth-MntXOffset), \
+       mm2mils100(MntFOffset), \
+       mm2mils100(2), \
+       mm2mils100(1), \
+       mm2mils100(2.2), \
+       mm2mils100(MntDiam), \
+       '"pin8" "G" 0x0001]')
+
+print('   ElementLine[',\
+       -mm2mils100(BodyWidth/2), \
+       -mm2mils100(BodyHeight/2), \
+       mm2mils100(BodyWidth/2), \
+       -mm2mils100(BodyHeight/2), \
+       500, \
+       ']')
+print('   ElementLine[',\
+       -mm2mils100(BodyWidth/2), \
+       -mm2mils100(BodyHeight/2), \
+       -mm2mils100(BodyWidth/2), \
+       mm2mils100(BodyHeight/2), \
+       500, \
+       ']')
+print('   ElementLine[',\
+       -mm2mils100(BodyWidth/2), \
+       mm2mils100(BodyHeight/2), \
+       mm2mils100(BodyWidth/2), \
+       mm2mils100(BodyHeight/2), \
+       500, \
+       ']')
+print('   ElementLine[',\
+       mm2mils100(BodyWidth/2), \
+       mm2mils100(BodyHeight/2), \
+       mm2mils100(BodyWidth/2), \
+       -mm2mils100(BodyHeight/2), \
+       500, \
+       ']')
+
+print(")")
index 91bda4195050d46e30c3d89f8f7df6e73cac8234..174d7ebceaaa80dc9a707063de3a6c75d519662b 100644 (file)
Binary files a/preferred-parts.ods and b/preferred-parts.ods differ