summaryrefslogtreecommitdiff
path: root/gen
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2017-12-16 19:18:35 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2017-12-16 19:18:35 +0100
commite90da11ffd28b10d340184dbeeaa094007b472ec (patch)
tree108bb9711770e2836c6afe7f3ed3704546690c0c /gen
parentbee6fd0f080d36194463e4c41e2d64ebbf76a2d5 (diff)
downloadIPC-7351-footprints-generator-e90da11ffd28b10d340184dbeeaa094007b472ec.tar.gz
IPC-7351-footprints-generator-e90da11ffd28b10d340184dbeeaa094007b472ec.tar.bz2
IPC-7351-footprints-generator-e90da11ffd28b10d340184dbeeaa094007b472ec.tar.xz
IPC-7351-footprints-generator-e90da11ffd28b10d340184dbeeaa094007b472ec.zip
o Moving some code around.
Diffstat (limited to 'gen')
-rwxr-xr-xgen105
1 files changed, 67 insertions, 38 deletions
diff --git a/gen b/gen
index 6f21655..bf9c706 100755
--- a/gen
+++ b/gen
@@ -15,42 +15,6 @@ env.globals["rnd2"] = lambda x: round(x, 2)
chip = env.get_template('CHIP.j2')
-resc_heights = {
- "1005": [0.15, 0.35, 0.37, 0.40],
- "1608": [0.40],
- "2012": [0.40],
- "3216": [0.40],
- "3225": [0.40],
- "5025": [0.40],
- "6332": [0.40],
-}
-
-capc_heights = {
- "1005": [0.15, 0.35, 0.37, 0.40],
- "1608": [0.40],
- "2012": [0.40, 1.35],
- "3216": [0.40],
- "3225": [0.40],
- "5025": [0.40],
- "6332": [0.40],
-}
-
-ledsc_heights = {
-# https://www.digikey.com/products/en/optoelectronics/led-indication-discrete/105?k=&pkeyword=&pv16=4&FV=ffe00069%2C1140003&mnonly=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=100
- "1005": [0.25, 0.35, 0.40, 0.45, 0.50, 0.52, 0.55, 0.60, 0.70, 0.71],
- "1608": [0.20, 0.25, 0.28, 0.30, 0.35, 0.39, 0.40, 0.42, 0.45, 0.46, 0.50, 0.52, 0.55, 0.60, 0.65, 0.70, 0.71, 0.75, 0.80, 0.85, 0.90, 0.95, 1.00, 1.05, 1.10, 1.15],
- "2012": [0.40, 0.45, 0.50, 0.70, 0.75, 0.79, 0.80, 0.84, 0.85, 0.90, 1.00, 1.10, 1.20, 1.25, 1.30, 2.10],
-}
-
-def auto_str(cls):
- def __str__(self):
- return '%s(%s)' % (
- type(self).__name__,
- ', '.join('%s=%s' % item for item in vars(self).items())
- )
- cls.__str__ = __str__
- return cls
-
class Value(object):
def __init__(self, typ, mn, mx):
@@ -68,6 +32,15 @@ def parse_courtyard(grid):
(grid_y, grid_x) = grid_re.match(grid).groups()
return (float(grid_x) * 0.5 / 2, float(grid_y) * 0.5 / 2)
+def auto_str(cls):
+ def __str__(self):
+ return '%s(%s)' % (
+ type(self).__name__,
+ ', '.join('%s=%s' % item for item in vars(self).items())
+ )
+ cls.__str__ = __str__
+ return cls
+
@auto_str
class ChipDimensions(object):
@@ -108,12 +81,68 @@ class ChipLandPattern(object):
pad_size_y = float(data["x"]),
courtyard_x = courtyard_x, courtyard_y = courtyard_y)
+resc_heights = {
+ "1005": [0.15, 0.35, 0.37, 0.40],
+ "1608": [0.40],
+ "2012": [0.40],
+ "3216": [0.40],
+ "3225": [0.40],
+ "5025": [0.40],
+ "6332": [0.40],
+ "7142": [0.89],
+}
+
+capc_heights = {
+ "1005": [0.15, 0.35, 0.37, 0.40],
+ "1608": [0.40],
+ "2012": [0.40, 1.35],
+ "3216": [0.40],
+ "3225": [0.40],
+ "5025": [0.40],
+ "6332": [0.40],
+}
+
+ledsc_heights = {
+# https://www.digikey.com/products/en/optoelectronics/led-indication-discrete/105?k=&pkeyword=&pv16=4&FV=ffe00069%2C1140003&mnonly=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=100
+ "1005": [0.25, 0.35, 0.40, 0.45, 0.50, 0.52, 0.55, 0.60, 0.70, 0.71],
+ "1608": [0.20, 0.25, 0.28, 0.30, 0.35, 0.39, 0.40, 0.42, 0.45, 0.46, 0.50, 0.52, 0.55, 0.60, 0.65, 0.70, 0.71, 0.75, 0.80, 0.85, 0.90, 0.95, 1.00, 1.05, 1.10, 1.15],
+ "2012": [0.40, 0.45, 0.50, 0.70, 0.75, 0.79, 0.80, 0.84, 0.85, 0.90, 1.00, 1.10, 1.20, 1.25, 1.30, 2.10],
+}
+
#resc_dims = [ChipDimensions.from_ipc(p) for p in ipc_sm_782.data["resc"]["dimensions"]]
-resc_lp = [ChipLandPattern.from_ipc(p) for p in ipc_sm_782.data["resc"]["land_patterns"]]
+resc_land_patterns = ipc_sm_782.data["resc"]["land_patterns"]
+# Some extra custom patterns
+if False:
+ resc_land_dimensions.append({
+ "size_mm": "710420",
+ "size_in": "2816",
+ "l_min": 7.10 - 0.2,
+ "l_max": 7.10 + 0.2,
+# "s_min":
+# "s_max":
+ "w_min": 4.20 - 0.2,
+ "w_max": 4.20 + 0.2,
+# "t_min":
+# "t_max":
+# "h_max":
+ })
+ resc_land_patterns.append({
+# "rlp_no":
+ "size_mm": "7142",
+ "size_in": "2816",
+# "z":
+# "g":
+# "x":
+# "y":
+# "c":
+ "grid": "10x10",
+ })
+resc_lp = [ChipLandPattern.from_ipc(p) for p in resc_land_patterns]
#capc_dims = [ChipDimensions.from_ipc(p) for p in ipc_sm_782.data["capc"]["dimensions"]]
capc_lp = [ChipLandPattern.from_ipc(p) for p in ipc_sm_782.data["capc"]["land_patterns"]]
-ledsc_lp = [ChipLandPattern.from_ipc(p) for p in ipc_sm_782.data["ledsc"]["land_patterns"]]
+# We borrow the CAPC land patterns
+ledsc_lp = [ChipLandPattern.from_ipc(p) for p in ipc_sm_782.data["capc"]["land_patterns"]]
work = [\
("RESC", resc_lp, resc_heights), \