more or less complete footprint for LCD chosen for TirePyro
authorBdale Garbee <bdale@gag.com>
Sat, 24 Apr 2021 16:09:37 +0000 (10:09 -0600)
committerBdale Garbee <bdale@gag.com>
Sat, 24 Apr 2021 16:09:37 +0000 (10:09 -0600)
packages/NHD-C0216CZ.py

index 62dfa388d2ac74f627e00db04bbb75c69757015f..f1be58ac41d65e673acb4508de1ea6b1906ecda4 100755 (executable)
@@ -7,14 +7,24 @@
 # dimensions in mm from NHD-C0216CZ-FSW-FBW-3V3.pdf datasheet
 BodyWidth = 41.4
 BodyHeight = 24.3
-BodyHeightOffset = -0.75       # pin row to body edge distance
 PinDiam = 0.7
 PinSpacing = 1.50
+PinOffset = 0.75
 Pins = 10
 ViewWidth = 34.22
 ViewHeight = 8.76
 ViewHCtr = 15.8 / 2 + 7.6 - BodyHeight / 2
 
+# centered rectangle of holes for alignment pins
+MntWidth = 40.2        
+MntHeight = 23.1
+MntDiam = 1.0
+
+# contacts for LED backlight
+BLWidth = 34.6
+BLOffset = 2.55
+BLDiam = 1.25          # a 1.2 x 0.6 slot is called for
+
 import sys
 
 # we're going to use the 1/100 of a mil fundamental unit form
@@ -39,7 +49,7 @@ for pin in range (1,Pins+1):
 
     print '   Pin[',\
        mm2mils100((pin - 5.5)*PinSpacing), \
-       mm2mils100(-BodyHeight/2), \
+       mm2mils100(-BodyHeight/2+PinOffset), \
        mm2mils100(PinDiam * 1.75), \
        1200, \
        mm2mils100(PinDiam * 1.75) + 600, \
@@ -48,30 +58,30 @@ for pin in range (1,Pins+1):
 
 print '   ElementLine[',\
        -mm2mils100(BodyWidth/2), \
-       -mm2mils100(BodyHeight/2-BodyHeightOffset), \
+       -mm2mils100(BodyHeight/2), \
        mm2mils100(BodyWidth/2), \
-       -mm2mils100(BodyHeight/2-BodyHeightOffset), \
+       -mm2mils100(BodyHeight/2), \
        500, \
        ']'
 print '   ElementLine[',\
        -mm2mils100(BodyWidth/2), \
-       -mm2mils100(BodyHeight/2-BodyHeightOffset), \
+       -mm2mils100(BodyHeight/2), \
        -mm2mils100(BodyWidth/2), \
-       mm2mils100(BodyHeight/2-BodyHeightOffset), \
+       mm2mils100(BodyHeight/2), \
        500, \
        ']'
 print '   ElementLine[',\
        -mm2mils100(BodyWidth/2), \
-       mm2mils100(BodyHeight/2-BodyHeightOffset), \
+       mm2mils100(BodyHeight/2), \
        mm2mils100(BodyWidth/2), \
-       mm2mils100(BodyHeight/2-BodyHeightOffset), \
+       mm2mils100(BodyHeight/2), \
        500, \
        ']'
 print '   ElementLine[',\
        mm2mils100(BodyWidth/2), \
-       mm2mils100(BodyHeight/2-BodyHeightOffset), \
+       mm2mils100(BodyHeight/2), \
        mm2mils100(BodyWidth/2), \
-       -mm2mils100(BodyHeight/2-BodyHeightOffset), \
+       -mm2mils100(BodyHeight/2), \
        500, \
        ']'
 
@@ -79,50 +89,106 @@ print '   ElementLine[',\
 
 print '   ElementLine[',\
        mm2mils100(-ViewWidth/2), \
-       mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr + ViewHeight/2), \
        mm2mils100(ViewWidth/2), \
-       mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr + ViewHeight/2), \
        500, \
        ']'
 
 print '   ElementLine[',\
        mm2mils100(-ViewWidth/2), \
-       mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr - ViewHeight/2), \
        mm2mils100(ViewWidth/2), \
-       mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr - ViewHeight/2), \
        500, \
        ']'
 
 print '   ElementLine[',\
        mm2mils100(-ViewWidth/2), \
-       mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr - ViewHeight/2), \
        mm2mils100(-ViewWidth/2), \
-       mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr + ViewHeight/2), \
        500, \
        ']'
 
 print '   ElementLine[',\
        mm2mils100(ViewWidth/2), \
-       mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr - ViewHeight/2), \
        mm2mils100(ViewWidth/2), \
-       mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr + ViewHeight/2), \
        500, \
        ']'
 
 print '   ElementLine[',\
        mm2mils100(ViewWidth/2), \
-       mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr - ViewHeight/2), \
        mm2mils100(-ViewWidth/2), \
-       mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr + ViewHeight/2), \
        500, \
        ']'
 
 print '   ElementLine[',\
        mm2mils100(-ViewWidth/2), \
-       mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr - ViewHeight/2), \
        mm2mils100(ViewWidth/2), \
-       mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+       mm2mils100(ViewHCtr + ViewHeight/2), \
        500, \
        ']'
 
+# holes for alignment pins
+print '   Pin[',\
+       mm2mils100(MntWidth/2), \
+       mm2mils100(MntHeight/2), \
+       mm2mils100(MntDiam * 1.75), \
+       1200, \
+       mm2mils100(MntDiam * 1.75) + 600, \
+       mm2mils100(MntDiam), \
+       '"G"', '"G"', '0x0001', ']'
+
+print '   Pin[',\
+       mm2mils100(MntWidth/2), \
+       mm2mils100(-MntHeight/2), \
+       mm2mils100(MntDiam * 1.75), \
+       1200, \
+       mm2mils100(MntDiam * 1.75) + 600, \
+       mm2mils100(MntDiam), \
+       '"G"', '"G"', '0x0001', ']'
+
+print '   Pin[',\
+       mm2mils100(-MntWidth/2), \
+       mm2mils100(MntHeight/2), \
+       mm2mils100(MntDiam * 1.75), \
+       1200, \
+       mm2mils100(MntDiam * 1.75) + 600, \
+       mm2mils100(MntDiam), \
+       '"G"', '"G"', '0x0001', ']'
+
+print '   Pin[',\
+       mm2mils100(-MntWidth/2), \
+       mm2mils100(-MntHeight/2), \
+       mm2mils100(MntDiam * 1.75), \
+       1200, \
+       mm2mils100(MntDiam * 1.75) + 600, \
+       mm2mils100(MntDiam), \
+       '"G"', '"G"', '0x0001', ']'
+
+# backlight pins
+print '   Pin[',\
+       mm2mils100(-BLWidth/2), \
+       mm2mils100(-BodyHeight/2+BLOffset), \
+       mm2mils100(BLDiam * 1.75), \
+       1200, \
+       mm2mils100(BLDiam * 1.75) + 600, \
+       mm2mils100(BLDiam), \
+       '"K"', '"K"', '0x0001', ']'
+
+print '   Pin[',\
+       mm2mils100(BLWidth/2), \
+       mm2mils100(-BodyHeight/2+BLOffset), \
+       mm2mils100(BLDiam * 1.75), \
+       1200, \
+       mm2mils100(BLDiam * 1.75) + 600, \
+       mm2mils100(BLDiam), \
+       '"A"', '"A"', '0x0001', ']'
+
 print ")"