From 703484050325ac52f80f8f0acb01dc47cb20b67f Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Thu, 11 Jul 2019 00:25:12 -0700 Subject: [PATCH 01/62] Add YAML file template for a future QStrip_Vertical.py script --- .../Connector_Samtec/QStrip_Vertical.yaml | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml new file mode 100644 index 000000000..04d1783a5 --- /dev/null +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -0,0 +1,57 @@ +## Name: +## description: "" +## datasheet: "" +## tags: "" +## layout: +## type: "(Terminal|Socket)" +## size: # Overall connector dimensions +## - !!float mm # width +## - !!float mm # height +## silk_offset: mm # silkscreen offset from the F.Fab outline +## banks: +## n: !!int # number of banks in the connector +## pins: !!int even # number of pins in a bank +## diff: !!int <= n # number of differential banks +## space: !!float mm # distance between adjacent banks +## size: # Dimensions of bank outlines drawn on F.Fab +## - !!float mm # width +## - !!float mm # height +## pins: +## signal: # Signal pin parameters +## pitch: !!float mm +## size: +## - !!float mm # width +## - !!float mm # height +## y: !!float mm # vertical offset +## ground: # Ground pin parameters +## size: +## - # Ground pad widths +## - !!float mm # outer pins +## - !!float mm # inner pins +## - !!float mm # height +## space: # Distance between ground pads within each bank +## - !!float mm # outer pins +## - !!float mm # inner pins +## holes: # [optional] hole pair specifications +## - # Hole spec. 1 +## name: "" # [optional] name/number for plated holes +## drill: +## - !!float mm # drill diameter +## - !!float mm # [optional] annular ring +## space: !!float mm # distance between holes mirrored about the x-axis +## y: !!float mm # vertical offset +## - # Hole spec. 2 +## - # ... +## + +Samtec_QTH-090-01-x-D-A: + description: "" + datasheet: "" + tags: "" + layout: {type: "Terminal", size: [60.0,5.97], silk_offset: 0.25} + banks: {n: 3, pins: 60, diff: 0, space: 20.0, size: [16.4,3.9]} + pins: + signal: {pitch: 0.5, size: [0.305,1.45], y: 1.45} + ground: {height: 0.64, width: [2.54,4.7], space: [16.89,6.35]} + holes: + - {drill: [1.02], space: 58.48, y: 2.03} From ea323ad2faafc7a5db511fd1022f73a425890c1c Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Wed, 17 Jul 2019 22:12:25 -0700 Subject: [PATCH 02/62] Create QStrip_Vertical.py to generate Samtec Q Strip footprints --- .../Connector_Samtec/QStrip_Vertical.py | 323 ++++++++++++++++++ .../Connector_Samtec/QStrip_Vertical.yaml | 164 +++++---- 2 files changed, 430 insertions(+), 57 deletions(-) create mode 100755 scripts/Connector/Connector_Samtec/QStrip_Vertical.py diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py new file mode 100755 index 000000000..c197ebd8e --- /dev/null +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -0,0 +1,323 @@ +#!/usr/bin/python + +""" +YAML footprint specification + +--- +Footprint_Name: + description: 'Brief description of the footprint' + datasheet: 'URL to footprint datasheet' + tags: 'KiCad tags go here' + layout: + type: '(Terminal|Socket)' + size: # Overall connector dimensions + - !!float mm # width + - !!float mm # height + silk_offset: mm # silkscreen offset from the F.Fab outline + banks: + n: !!int # number of banks in the connector + pins: !!int even # number of pins in a bank + diff: !!int <= n # number of differential banks + space: !!float mm # distance between adjacent banks + width: !!float mm # Width of outline on F.Fab + height: !!float mm # Height of outline on F.Fab + pins: + signal: # Signal pin parameters + pitch: !!float mm + width: !!float mm # Pad width + height: !!float mm # Pad height + y: !!float mm # vertical offset + ground: # Ground pin parameters + width: + - !!float mm # outer pins + - !!float mm # inner pins + height: !!float mm # Ground pad heights + space: # Distance between ground pads within each bank + - !!float mm # outer pins + - !!float mm # inner pins + holes: # [optional] hole pair specifications + - # Hole spec. 1 + name: "" # [optional] name/number for plated holes + drill: !!float mm # drill diameter + ring: !!float mm # [optional] annular ring + space: !!float mm # distance between holes mirrored about the x-axis + y: !!float mm # vertical offset + - # Hole spec. 2 +... +""" + +import sys +import os +import argparse +import math +import yaml + +# Load parent path of KicadModTree +sys.path.append(os.path.join(sys.path[0], "..", "..", "..")) + +from KicadModTree import * + +def markerArrow(x, y, width, line_width, layer, angle=0, close=True): + node = Node() + points = [(-width/2, width/2), + (0, 0), + (width/2, width/2)] + + if close: + points.append((-width/2, width/2)) + + node.append(PolygoneLine(nodes = points, + layer = "F.Fab", + width = line_width)) + node.insert(Rotation(angle)) + node.insert(Translation(x,y)) + return node + +def generate_one_footprint(param, config, library): + fp = Footprint(param['name']) + + # Terminal or Socket mode + mode = param['layout']['type'].capitalize() + + # Bank parameters + banks = param['banks']['n'] + bank_x = param['banks']['space'] + pins_per_bank = param['banks']['pins'] + + ############################################################################ + # Copper layer(s) + + # Signal pad parameters + pitch = param['pins']['signal']['pitch'] + pad_w = param['pins']['signal']['width'] + pad_h = param['pins']['signal']['height'] + pad_y = param['pins']['signal']['y'] + + # Pin 1 position + pin1 = Vector2D(0,0) + pin1.x = -(pins_per_bank / 4)*pitch + pitch/2 - ((banks-1) / 2)*bank_x + if mode == "Terminal": + pin1.y = -pad_y + elif mode == "Socket": + pin1.y = pad_y + else: + raise ValueError("Connector type must be either 'Terminal' or 'Socket'") + + # Bank 1 center point + bank1_mid = pin1.x - pitch/2 + (pins_per_bank / 4)*pitch + + # Place signal pads + n = 1 # Pin counter + pin = [] # Pin position list, organized by bank + for b in range(0, banks): + pin.append([]) + for p in range(0, pins_per_bank): + # Compute next pad location + pos = Vector2D(pin1.x + (p // 2)*pitch + b*bank_x, + pin1.y - (p % 2)*(2*pin1.y)) + if b < param['banks']['diff'] and ((p+1) % 6 == 0 or (p+2) % 6 == 0): + # Place gaps between differential pairs + continue + else: + pin[b].append(pos) # Add position to list + # Create pad (both single-ended and differential) + pad = Pad(number = str(n), + at = pos, + size = (pad_w, pad_h), + type = Pad.TYPE_SMT, + layers = Pad.LAYERS_SMT, + shape = Pad.SHAPE_RECT) + fp.append(pad) + n = n + 1 + + # Ground pad parameters + gnd_height = param['pins']['ground']['height'] + gnd_width_out = param['pins']['ground']['width'][0] + gnd_width_in = param['pins']['ground']['width'][1] + gnd_space_out = param['pins']['ground']['space'][0] / 2 + gnd_space_in = param['pins']['ground']['space'][1] / 2 + gnd_space = [-gnd_space_out, -gnd_space_in, gnd_space_in, gnd_space_out] + gnd_size = [Vector2D(gnd_width_out, gnd_height), + Vector2D(gnd_width_in, gnd_height), + Vector2D(gnd_width_in, gnd_height), + Vector2D(gnd_width_out, gnd_height)] + # Place ground plane pads + for b in range(banks): + mid = bank1_mid + b*bank_x # Bank midpoint + for i in range(len(gnd_space)): + pad = Pad(number = str(n), + at = Vector2D(mid+gnd_space[i], 0), + size = gnd_size[i], + type = Pad.TYPE_SMT, + layers = Pad.LAYERS_SMT, + shape = Pad.SHAPE_RECT) + fp.append(pad) + n = n + 1 + + ############################################################################ + # Holes + if 'holes' in param: + for p in param['holes']: + h = [Pad(number = config['mounting_pad_number'] if 'ring' in p else "", + at = (m*p['space']/2, p['y']), + drill = p['drill'], + size = p['drill']+p['ring'] if 'ring' in p else p['drill'], + type = Pad.TYPE_THT if 'ring' in p else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'ring' in p else Pad.LAYERS_NPTH, + shape = Pad.SHAPE_CIRCLE) for m in (-1,1)] + fp.append(h[0]) + fp.append(h[1]) + + ############################################################################ + # Fabrication layer: F.Fab + fab_line = config['fab_line_width'] + fab_mark = pitch #config['fab_pin1_marker_length'] + fab_width = param['layout']['width'] + fab_height = param['layout']['height'] + fab_y = fab_height / 2 + lEdge = -fab_width / 2 + rEdge = lEdge + fab_width + chamfer = fab_height / 4 # 1/4 connector height, cosmetic only + + if mode == 'Terminal': + # End outlines + points = [(lEdge, -fab_y), + (lEdge, fab_y-chamfer), + (lEdge+chamfer, fab_y)] + fp.append(PolygoneLine(nodes = points, + layer = "F.Fab", + width = fab_line)) + fp.append(PolygoneLine(nodes = points, + layer = "F.Fab", + width = fab_line, + x_mirror = 0)) + # Top and bottom lines + fp.append(Line(start = (lEdge, -fab_y), + end = (rEdge, -fab_y), + layer = "F.Fab", + width = fab_line)) + fp.append(Line(start = (lEdge+chamfer, fab_y), + end = (rEdge-chamfer, fab_y), + layer = "F.Fab", + width = fab_line)) + # Pin 1 marker + fp.append(markerArrow(x = pin1.x, + y = (fab_mark-fab_height) / 2, + width = fab_mark, + angle = 180, + layer = "F.Fab", + close = False, + line_width = fab_line)) + elif mode == 'Socket': + # Outline rectangle + fp.append(RectLine(start = (lEdge, -fab_y), + end = (rEdge, fab_y), + layer = "F.Fab", + width = fab_line)) + # Chamfer lines + fp.append(Line(start = (lEdge, -fab_y+chamfer), + end = (lEdge+chamfer, -fab_y), + layer = "F.Fab", + width = fab_line)) + fp.append(Line(start = (rEdge, -fab_y+chamfer), + end = (rEdge-chamfer, -fab_y), + layer = "F.Fab", + width = fab_line)) + # Pin 1 marker + fp.append(markerArrow(x = pin1.x, + y = (fab_height-fab_mark) / 2, + width = fab_mark, + layer = "F.Fab", + close = False, + line_width = fab_line)) + + ############################################################################ + # Metadata + + # Part number + if 'pn' in param: + partnum = param['pn'] + else: + partnum = param['name'].split('_')[1] + + # Pins or pairs/bank + if param['banks']['diff'] == banks: + # Differential mode: round up to nearest even number of pairs + pins_or_pairs = (pins_per_bank // 3) + (pins_per_bank // 3) % 2 + else: + pins_or_pairs = pins_per_bank + + # Description + desc = param['description'] + desc = desc.format(pn = partnum, + type = mode, + ds = param['datasheet'], + pitch = pitch, + banks = banks, + pins = pins_or_pairs) + + fp.setDescription(desc) + fp.setTags(param['tags']) + + ############################################################################ + # Write kicad_mod file + + os.makedirs(library, exist_ok=True) + filename = os.path.join(library, param['name'] + '.kicad_mod') + KicadFileHandler(fp).writeFile(filename) + +################################################################################ +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--global-config', type=str, nargs='?', + default='../../tools/global_config_files/config_KLCv3.0.yaml', + help='Global KLC configuration YAML file') + parser.add_argument('--series-config', type=str, nargs='?', + default='../conn_config_KLCv3.yaml', + help='Series KLC configuration YAML file') + parser.add_argument('--library', type=str, nargs='?', + default='Connector_Samtec_QStrip.pretty', + help='KiCad library path') + parser.add_argument('files', metavar='file', type=str, nargs='*', + help='YAML file(s) containing footprint parameters') + args = parser.parse_args() + + with open(args.global_config, 'r') as config_stream: + try: + config = yaml.safe_load(config_stream) + except yaml.YAMLError as exc: + print(exc) + + with open(args.series_config, 'r') as config_stream: + try: + config.update(yaml.safe_load(config_stream)) + except yaml.YAMLError as exc: + print(exc) + + if len(args.files) == 0: + parser.print_help() + sys.exit(1) + + print("Library:", args.library) + + for path in args.files: + print("Reading", path) + with open(path, 'r') as stream: + try: + footprints = yaml.safe_load(stream) + + if footprints is None: + print(path, "empty, skipping...") + continue + + for fp in footprints: + print(" - Generate {}.kicad_mod".format(fp)) + fp_params = footprints.get(fp) + + if 'name' in fp_params: + print("WARNING: setting 'name' to", fp) + + fp_params['name'] = fp + generate_one_footprint(fp_params, config, args.library) + except yaml.YAMLError as exc: + print(exc) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index 04d1783a5..ea6f08321 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -1,57 +1,107 @@ -## Name: -## description: "" -## datasheet: "" -## tags: "" -## layout: -## type: "(Terminal|Socket)" -## size: # Overall connector dimensions -## - !!float mm # width -## - !!float mm # height -## silk_offset: mm # silkscreen offset from the F.Fab outline -## banks: -## n: !!int # number of banks in the connector -## pins: !!int even # number of pins in a bank -## diff: !!int <= n # number of differential banks -## space: !!float mm # distance between adjacent banks -## size: # Dimensions of bank outlines drawn on F.Fab -## - !!float mm # width -## - !!float mm # height -## pins: -## signal: # Signal pin parameters -## pitch: !!float mm -## size: -## - !!float mm # width -## - !!float mm # height -## y: !!float mm # vertical offset -## ground: # Ground pin parameters -## size: -## - # Ground pad widths -## - !!float mm # outer pins -## - !!float mm # inner pins -## - !!float mm # height -## space: # Distance between ground pads within each bank -## - !!float mm # outer pins -## - !!float mm # inner pins -## holes: # [optional] hole pair specifications -## - # Hole spec. 1 -## name: "" # [optional] name/number for plated holes -## drill: -## - !!float mm # drill diameter -## - !!float mm # [optional] annular ring -## space: !!float mm # distance between holes mirrored about the x-axis -## y: !!float mm # vertical offset -## - # Hole spec. 2 -## - # ... -## - -Samtec_QTH-090-01-x-D-A: - description: "" - datasheet: "" - tags: "" - layout: {type: "Terminal", size: [60.0,5.97], silk_offset: 0.25} - banks: {n: 3, pins: 60, diff: 0, space: 20.0, size: [16.4,3.9]} - pins: - signal: {pitch: 0.5, size: [0.305,1.45], y: 1.45} - ground: {height: 0.64, width: [2.54,4.7], space: [16.89,6.35]} - holes: - - {drill: [1.02], space: 58.48, y: 2.03} +# QTH family; 3 Banks +Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D + description: &QStrip_desc >- + Samtec {pn:s} {pitch:1.2f}mm Q Strip® High-Speed Ground Plane {type:s} Strip; + {banks:d} banks, {pins:d} pins/bank ({ds:s}) + datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' + tags: 'connector Samtec HSMC QTH mezzanine terminal vertical' + layout: &QTH_layout + type: 'Terminal' + width: 60.0 + height: 5.97 + silk_offset: 0.25 + banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} + pins: &QTH_pins + signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} + ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + +Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: + <<: *QTH-090-01-x-D + holes: + - {drill: 1.02, space: 58.48, y: -2.03} + +Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: + pn: 'ASP-122952-01' + description: >- + Samtec {pn:s} HSMC Card {type:s}; + modified QTH-090-01-L-D-A, Bank 1 differential ({ds:s}) + datasheet: 'http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf' + tags: 'connector Samtec HSMC card terminal mezzanine vertical differential' + layout: *QTH_layout + banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} + pins: *QTH_pins + holes: + - {drill: 1.02, space: 58.48, y: -2.03} + +# QTH family; 3 banks; differential +Samtec_QTH-060-01-x-D-DP_P0.5mm_Vertical: &QTH-060-01-x-D-DP + description: &QPairs_desc >- + Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, + Differential Pair; {banks:d} banks, {pins:d} pairs/bank ({ds:s}) + datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' + tags: 'connector Samtec QTH mezzanine terminal vertical differential' + layout: *QTH_layout + banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 16.4, height: 3.9} + pins: *QTH_pins + +Samtec_QTH-060-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QTH-060-01-x-D-DP + holes: + - {drill: 1.02, space: 58.48, y: -2.03} + +# QSH family; 3 Banks +Samtec_QSH-090-01-x-D_P0.5mm_Vertical: &QSH-090-01-x-D + description: *QStrip_desc + datasheet: 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf' + tags: 'connector Samtec QSH mezzanine socket vertical' + layout: &QSH_layout + type: 'Socket' + width: 61.38 + height: 7.24 + silk_offset: 0.25 + banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} + pins: &QSH_pins + signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} + ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + +Samtec_QSH-090-01-x-D-A_P0.5mm_Vertical: + <<: *QSH-090-01-x-D + holes: + - {drill: 1.02, space: 61.38, y: 2.03} + +Samtec_QSH-090-01-x-D-LC_P0.5mm_Vertical: + <<: *QSH-090-01-x-D + holes: + - {drill: 1.19, space: 61.38, y: 2.03} + +Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: + pn: 'ASP-122952-01' + description: >- + Samtec {pn:s} HSMC Host {type:s}; + modified QSH-090-01-L-D-A, Bank 1 differential ({ds:s}) + datasheet: 'http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf' + tags: 'connector Samtec HSMC host socket mezzanine vertical differential' + layout: *QSH_layout + banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} + pins: *QSH_pins + holes: + - {drill: 1.02, space: 61.38, y: 2.03} + +# QSH family; 3 banks; differential +Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP + description: *QPairs_desc + datasheet: 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-dp-xx-footprint.pdf' + tags: 'connector Samtec QSH mezzanine socket vertical differential' + layout: *QSH_layout + banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 15.89, height: 3.81} + pins: *QSH_pins + +Samtec_QSH-060-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QSH-060-01-x-D-DP + holes: + - {drill: 1.02, space: 61.38, y: 2.03} + +Samtec_QSH-060-01-x-D-DP-LC_P0.5mm_Vertical: + <<: *QSH-060-01-x-D-DP + holes: + - {drill: 1.19, space: 61.38, y: 2.03} From e7fe7ecfb343414a9450a262d37f502e9741d894 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Wed, 17 Jul 2019 22:14:24 -0700 Subject: [PATCH 03/62] Minor modification to make KicadFileHandler._serialize_LinePoints() support rotations --- KicadModTree/KicadFileHandler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/KicadModTree/KicadFileHandler.py b/KicadModTree/KicadFileHandler.py index 4372dea1d..dd6cbaaba 100644 --- a/KicadModTree/KicadFileHandler.py +++ b/KicadModTree/KicadFileHandler.py @@ -204,8 +204,8 @@ def _serialize_Circle(self, node): return sexpr def _serialize_LinePoints(self, node): - start_pos = node.getRealPosition(node.start_pos) - end_pos = node.getRealPosition(node.end_pos) + start_pos = node.getRealPosition(node.start_pos, 0)[0] + end_pos = node.getRealPosition(node.end_pos, 0)[0] return [ ['start', start_pos.x, start_pos.y], ['end', end_pos.x, end_pos.y] From bf2d404d4d1d7ddecb317aec647b941d79aa0e80 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Wed, 17 Jul 2019 22:25:58 -0700 Subject: [PATCH 04/62] Finish F.Fab layer drawing code in QStrip_Vertical.py --- scripts/Connector/Connector_Samtec/QStrip_Vertical.py | 11 +++++++++++ .../Connector/Connector_Samtec/QStrip_Vertical.yaml | 10 +++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index c197ebd8e..a77a37610 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -82,6 +82,8 @@ def generate_one_footprint(param, config, library): # Bank parameters banks = param['banks']['n'] bank_x = param['banks']['space'] + bank_w = param['banks']['width'] + bank_h = param['banks']['height'] pins_per_bank = param['banks']['pins'] ############################################################################ @@ -230,6 +232,15 @@ def generate_one_footprint(param, config, library): layer = "F.Fab", close = False, line_width = fab_line)) + + # Draw bank outlines + for b in range(banks): + mid = bank1_mid + b*bank_x + fp.append(RectLine(start = (mid-bank_w/2, -bank_h/2), + end = (mid+bank_w/2, bank_h/2), + layer = "F.Fab", + width = fab_line)) + ############################################################################ # Metadata diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index ea6f08321..a9eace063 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -67,12 +67,12 @@ Samtec_QSH-090-01-x-D_P0.5mm_Vertical: &QSH-090-01-x-D Samtec_QSH-090-01-x-D-A_P0.5mm_Vertical: <<: *QSH-090-01-x-D holes: - - {drill: 1.02, space: 61.38, y: 2.03} + - {drill: 1.02, space: 60.13, y: 2.03} Samtec_QSH-090-01-x-D-LC_P0.5mm_Vertical: <<: *QSH-090-01-x-D holes: - - {drill: 1.19, space: 61.38, y: 2.03} + - {drill: 1.19, space: 60.13, y: 2.03} Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: pn: 'ASP-122952-01' @@ -85,7 +85,7 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins holes: - - {drill: 1.02, space: 61.38, y: 2.03} + - {drill: 1.02, space: 60.13, y: 2.03} # QSH family; 3 banks; differential Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP @@ -99,9 +99,9 @@ Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP Samtec_QSH-060-01-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-060-01-x-D-DP holes: - - {drill: 1.02, space: 61.38, y: 2.03} + - {drill: 1.02, space: 60.13, y: 2.03} Samtec_QSH-060-01-x-D-DP-LC_P0.5mm_Vertical: <<: *QSH-060-01-x-D-DP holes: - - {drill: 1.19, space: 61.38, y: 2.03} + - {drill: 1.19, space: 60.13, y: 2.03} From 40bd95336cb72f400a0bcef0ec012d2d8ed41aa8 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 19 Jul 2019 13:28:17 -0700 Subject: [PATCH 05/62] Add fab and silkscreen drawing code to QStrip_Vertical.py; Update QStrip_Vertical.yaml structure/parameters --- .../Connector_Samtec/QStrip_Vertical.py | 120 ++++++-- .../Connector_Samtec/QStrip_Vertical.yaml | 259 ++++++++++++++---- 2 files changed, 306 insertions(+), 73 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index a77a37610..15b78d9d3 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -8,12 +8,12 @@ description: 'Brief description of the footprint' datasheet: 'URL to footprint datasheet' tags: 'KiCad tags go here' + add-tags: 'more tags' # [optional], used to extend the tag list layout: type: '(Terminal|Socket)' - size: # Overall connector dimensions - - !!float mm # width - - !!float mm # height - silk_offset: mm # silkscreen offset from the F.Fab outline + width: !!float mm # width + height: !!float mm # height + width: !!float mm # [optional] overrides layout::width banks: n: !!int # number of banks in the connector pins: !!int even # number of pins in a bank @@ -49,6 +49,7 @@ import sys import os import argparse +from copy import deepcopy import math import yaml @@ -139,16 +140,16 @@ def generate_one_footprint(param, config, library): gnd_space_out = param['pins']['ground']['space'][0] / 2 gnd_space_in = param['pins']['ground']['space'][1] / 2 gnd_space = [-gnd_space_out, -gnd_space_in, gnd_space_in, gnd_space_out] - gnd_size = [Vector2D(gnd_width_out, gnd_height), - Vector2D(gnd_width_in, gnd_height), - Vector2D(gnd_width_in, gnd_height), - Vector2D(gnd_width_out, gnd_height)] + gnd_size = [(gnd_width_out, gnd_height), + (gnd_width_in, gnd_height), + (gnd_width_in, gnd_height), + (gnd_width_out, gnd_height)] # Place ground plane pads for b in range(banks): mid = bank1_mid + b*bank_x # Bank midpoint for i in range(len(gnd_space)): pad = Pad(number = str(n), - at = Vector2D(mid+gnd_space[i], 0), + at = (mid+gnd_space[i], 0), size = gnd_size[i], type = Pad.TYPE_SMT, layers = Pad.LAYERS_SMT, @@ -174,7 +175,7 @@ def generate_one_footprint(param, config, library): # Fabrication layer: F.Fab fab_line = config['fab_line_width'] fab_mark = pitch #config['fab_pin1_marker_length'] - fab_width = param['layout']['width'] + fab_width = param['layout']['width'] if 'width' not in param else param['width'] fab_height = param['layout']['height'] fab_y = fab_height / 2 lEdge = -fab_width / 2 @@ -182,14 +183,15 @@ def generate_one_footprint(param, config, library): chamfer = fab_height / 4 # 1/4 connector height, cosmetic only if mode == 'Terminal': - # End outlines - points = [(lEdge, -fab_y), - (lEdge, fab_y-chamfer), - (lEdge+chamfer, fab_y)] - fp.append(PolygoneLine(nodes = points, + # Left end outline + lEnd = [(lEdge, -fab_y), + (lEdge, fab_y-chamfer), + (lEdge+chamfer, fab_y)] + fp.append(PolygoneLine(nodes = lEnd, layer = "F.Fab", width = fab_line)) - fp.append(PolygoneLine(nodes = points, + # Right end outline (mirrors left end) + fp.append(PolygoneLine(nodes = lEnd, layer = "F.Fab", width = fab_line, x_mirror = 0)) @@ -241,7 +243,70 @@ def generate_one_footprint(param, config, library): layer = "F.Fab", width = fab_line)) - + + ############################################################################ + # Silkscreen: F.SilkS + #silk_offset = param['layout']['silk-offset'] + silk_offset_fab = config['silk_fab_offset'] + silk_pad = config['silk_pad_clearance'] + pad_w/2 + silk_line = config['silk_line_width'] + silk_y = fab_y + silk_offset_fab + silk_lEdge = lEdge - silk_offset_fab + silk_rEdge = rEdge + silk_offset_fab + silk_chamfer = chamfer + silk_offset_fab/2 + silk_pin1 = pin1.x - silk_pad + silk_lEnd = [] + silk_rEnd = [] + + if mode == 'Terminal': + # Polygon left end outline points + silk_lEnd = [{'x': silk_pin1, 'y': -silk_y}, + {'x': silk_lEdge, 'y': -silk_y}, + {'x': silk_lEdge, 'y': silk_y-silk_chamfer}, + {'x': silk_lEdge+silk_chamfer, 'y': silk_y}, + {'x': silk_pin1, 'y': silk_y}] + # Pin 1 indicator + fp.append(Line(start = (silk_pin1, pin1.y - pad_h/2), + end = (silk_pin1, -silk_y), + layer = "F.SilkS", + width = silk_line)) + elif mode == 'Socket': + # Left end outline points + silk_lEnd = [{'x': silk_pin1, 'y': silk_y}, + {'x': silk_lEdge, 'y': silk_y}, + {'x': silk_lEdge, 'y': -silk_y}, + {'x': silk_pin1, 'y': -silk_y}] + # Pin 1 indicator + r = pad_w/4 + fp.append(Circle(center = (pin1.x, pin1.y + pad_h/2 + r + silk_pad), + radius = r, + layer = "F.SilkS", + width = 2*r)) + + # Generate right end outline + silk_rEnd = deepcopy(silk_lEnd) + # Mirror about x axis + for i in range(len(silk_rEnd)): + silk_rEnd[i]['x'] = -silk_rEnd[i]['x'] + # Define right outline inner offset from the last pin + # (if the last bank is differential, it does not perfectly mirror the first) + silk_rEnd[0]['x'] = silk_rEnd[-1]['x'] = pin[-1][-1].x + silk_pad + + # Draw left and right end outlines + fp.append(PolygoneLine(nodes = silk_lEnd, + layer = "F.SilkS", + width = silk_line)) + fp.append(PolygoneLine(nodes = silk_rEnd, + layer = "F.SilkS", + width = silk_line)) + + # Draw outlines between banks + for b in range(banks-1): + fp.extend([Line(start = (pin[b][-1].x + silk_pad, m*silk_y), + end = (pin[b+1][0].x - silk_pad, m*silk_y), + layer = "F.SilkS", + width = silk_line) for m in (-1,1)]) + ############################################################################ # Metadata @@ -266,9 +331,13 @@ def generate_one_footprint(param, config, library): pitch = pitch, banks = banks, pins = pins_or_pairs) - fp.setDescription(desc) - fp.setTags(param['tags']) + + # Tags + tags = param['tags'] + if 'add-tags' in param: + tags += ' ' + param['add-tags'] + fp.setTags(tags) ############################################################################ # Write kicad_mod file @@ -321,14 +390,17 @@ def generate_one_footprint(param, config, library): print(path, "empty, skipping...") continue - for fp in footprints: - print(" - Generate {}.kicad_mod".format(fp)) - fp_params = footprints.get(fp) + if '_local' in footprints: + del footprints['_local'] + + for fp_name in footprints: + print(" - Generate {}.kicad_mod".format(fp_name)) + fp_params = footprints.get(fp_name) if 'name' in fp_params: - print("WARNING: setting 'name' to", fp) + print("WARNING: setting 'name' to", fp_name) - fp_params['name'] = fp + fp_params['name'] = fp_name generate_one_footprint(fp_params, config, args.library) except yaml.YAMLError as exc: print(exc) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index a9eace063..ed3b7e848 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -1,64 +1,192 @@ -# QTH family; 3 Banks -Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D - description: &QStrip_desc >- +_local: + - &QStrip_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Strip® High-Speed Ground Plane {type:s} Strip; {banks:d} banks, {pins:d} pins/bank ({ds:s}) + - &QPairs_desc >- + Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, + Differential Pair; {banks:d} banks, {pins:d} pairs/bank ({ds:s}) + - &QStrip_tags 'connector Samtec QStrip mezzanine terminal vertical' + - &QPairs_tags 'connector Samtec QPairs mezzanine terminal vertical differential' + +################################################################################ +# QTH family; 1 bank +Samtec_QTH-030-01-x-D_P0.5mm_Vertical: &QTH-030-01-x-D + description: *QStrip_desc datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' - tags: 'connector Samtec HSMC QTH mezzanine terminal vertical' - layout: &QTH_layout - type: 'Terminal' - width: 60.0 - height: 5.97 - silk_offset: 0.25 - banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} + tags: 'connector Samtec QStrip mezzanine terminal vertical' + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} pins: &QTH_pins signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} -Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: - <<: *QTH-090-01-x-D +Samtec_QTH-030-01-x-D-A_P0.5mm_Vertical: + <<: *QTH-030-01-x-D + add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 58.48, y: -2.03} + - {drill: 1.02, space: 18.48, y: -2.03} -Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: - pn: 'ASP-122952-01' - description: >- - Samtec {pn:s} HSMC Card {type:s}; - modified QTH-090-01-L-D-A, Bank 1 differential ({ds:s}) - datasheet: 'http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf' - tags: 'connector Samtec HSMC card terminal mezzanine vertical differential' - layout: *QTH_layout - banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} +Samtec_QTH-030-01-x-D-L_P0.5mm_Vertical: + <<: *QTH-030-01-x-D + add-tags: 'locking' + width: 23.0 + holes: + - {drill: 0.81, ring: 0.5, space: 21.69, y: -0.508} + +Samtec_QTH-030-01-x-D-A-L_P0.5mm_Vertical: + <<: *QTH-030-01-x-D + add-tags: 'alignment-pins locking' + width: 23.0 + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: 0.81, ring: 0.5, space: 21.69, y: -0.508} + +# QTH family; 1 bank; differential +Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP + description: *QPairs_desc + datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' + tags: 'connector Samtec QPairs mezzanine terminal vertical differential' + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} + pins: *QTH_pins + +Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QTH-020-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + +Samtec_QTH-020-01-x-D-DP-L_P0.5mm_Vertical: + <<: *QTH-020-01-x-D-DP + add-tags: 'locking' + width: 23.0 + holes: + - {drill: 0.81, ring: 0.5, space: 21.69, y: -0.508} + +Samtec_QTH-020-01-x-D-DP-A-L_P0.5mm_Vertical: + <<: *QTH-020-01-x-D-DP + add-tags: 'alignment-pins locking' + width: 23.0 + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: 0.81, ring: 0.5, space: 21.69, y: -0.508} + +# QTH family; 2 banks +Samtec_QTH-060-01-x-D_P0.5mm_Vertical: &QTH-060-01-x-D + description: *QStrip_desc + datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' + tags: 'connector Samtec QStrip mezzanine terminal vertical' + layout: {type: 'Terminal', width: 40.0, height: 5.97} + banks: {n: 2, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} + pins: *QTH_pins + +Samtec_QTH-060-01-x-D-A_P0.5mm_Vertical: + <<: *QTH-060-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + +Samtec_QTH-060-01-x-D-L_P0.5mm_Vertical: + <<: *QTH-060-01-x-D + add-tags: 'locking' + width: 43.0 + holes: + - {drill: 0.81, ring: 0.5, space: 41.69, y: -0.508} + +Samtec_QTH-060-01-x-D-A-L_P0.5mm_Vertical: + <<: *QTH-060-01-x-D + add-tags: 'alignment-pins locking' + width: 43.0 + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: 0.81, ring: 0.5, space: 41.69, y: -0.508} + +# QTH family; 2 banks; differential +Samtec_QTH-040-01-x-D-DP_P0.5mm_Vertical: &QTH-040-01-x-D-DP + description: *QPairs_desc + datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' + tags: 'connector Samtec QPairs mezzanine terminal vertical differential' + layout: {type: 'Terminal', width: 40.0, height: 5.97} + banks: {n: 2, pins: 60, diff: 2, space: 20.0, width: 16.4, height: 3.9} + pins: *QTH_pins + +Samtec_QTH-040-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QTH-040-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + +Samtec_QTH-040-01-x-D-DP-L_P0.5mm_Vertical: + <<: *QTH-040-01-x-D-DP + add-tags: 'locking' + width: 43.0 + holes: + - {drill: 0.81, ring: 0.5, space: 41.69, y: -0.508} + +Samtec_QTH-040-01-x-D-DP-A-L_P0.5mm_Vertical: + <<: *QTH-040-01-x-D-DP + add-tags: 'alignment-pins locking' + width: 43.0 + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: 0.81, ring: 0.5, space: 41.69, y: -0.508} + +# QTH family; 3 banks +Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D + description: *QStrip_desc + datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' + tags: 'connector Samtec QStrip mezzanine terminal vertical' + layout: {type: 'Terminal', width: 60.0, height: 5.97} + banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins + +Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: + <<: *QTH-090-01-x-D + add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 58.48, y: -2.03} # QTH family; 3 banks; differential Samtec_QTH-060-01-x-D-DP_P0.5mm_Vertical: &QTH-060-01-x-D-DP - description: &QPairs_desc >- - Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, - Differential Pair; {banks:d} banks, {pins:d} pairs/bank ({ds:s}) + description: *QPairs_desc datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' - tags: 'connector Samtec QTH mezzanine terminal vertical differential' - layout: *QTH_layout + tags: 'connector Samtec QPairs mezzanine terminal vertical differential' + layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins Samtec_QTH-060-01-x-D-DP-A_P0.5mm_Vertical: <<: *QTH-060-01-x-D-DP + add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 58.48, y: -2.03} -# QSH family; 3 Banks +# QTH family; 3 banks; specialized +Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: + pn: 'ASP-122952-01' + description: >- + Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, + Bank 1 differential ({ds:s}) + datasheet: 'http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf' + tags: 'connector Samtec HSMC card terminal mezzanine vertical differential alignment-pins' + layout: {type: 'Terminal', width: 60.0, height: 5.97} + banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} + pins: *QTH_pins + holes: + - {drill: 1.02, space: 58.48, y: -2.03} + +################################################################################ +# QSH family; 1 bank +# QSH family; 1 bank; differential +# QSH family; 2 banks +# QSH family; 2 banks; differential + +# QSH family; 3 banks Samtec_QSH-090-01-x-D_P0.5mm_Vertical: &QSH-090-01-x-D description: *QStrip_desc datasheet: 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf' - tags: 'connector Samtec QSH mezzanine socket vertical' - layout: &QSH_layout - type: 'Socket' - width: 61.38 - height: 7.24 - silk_offset: 0.25 + tags: 'connector Samtec QStrip mezzanine socket vertical' + layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} pins: &QSH_pins signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} @@ -74,25 +202,12 @@ Samtec_QSH-090-01-x-D-LC_P0.5mm_Vertical: holes: - {drill: 1.19, space: 60.13, y: 2.03} -Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: - pn: 'ASP-122952-01' - description: >- - Samtec {pn:s} HSMC Host {type:s}; - modified QSH-090-01-L-D-A, Bank 1 differential ({ds:s}) - datasheet: 'http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf' - tags: 'connector Samtec HSMC host socket mezzanine vertical differential' - layout: *QSH_layout - banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} - pins: *QSH_pins - holes: - - {drill: 1.02, space: 60.13, y: 2.03} - # QSH family; 3 banks; differential Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP description: *QPairs_desc datasheet: 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-dp-xx-footprint.pdf' - tags: 'connector Samtec QSH mezzanine socket vertical differential' - layout: *QSH_layout + tags: 'connector Samtec mezzanine socket vertical differential' + layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins @@ -105,3 +220,49 @@ Samtec_QSH-060-01-x-D-DP-LC_P0.5mm_Vertical: <<: *QSH-060-01-x-D-DP holes: - {drill: 1.19, space: 60.13, y: 2.03} + +# QSH family; 3 banks; specialized +Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: + pn: 'ASP-122952-01' + description: >- + Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, + Bank 1 differential ({ds:s}) + datasheet: 'http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf' + tags: 'connector Samtec HSMC host socket mezzanine vertical differential' + layout: {type: 'Socket', width: 61.38, height: 7.24} + banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} + pins: *QSH_pins + holes: + - {drill: 1.02, space: 60.13, y: 2.03} + +################################################################################ +# QTS family; 1 bank +# QTS family; 1 bank; differential +# QTS family; 2 banks +# QTS family; 2 banks; differential +# QTS family; 3 banks +# QTS family; 3 banks; differential + +################################################################################ +# QSS family; 1 bank +# QSS family; 1 bank; differential +# QSS family; 2 banks +# QSS family; 2 banks; differential +# QSS family; 3 banks +# QSS family; 3 banks; differential + +################################################################################ +# QTE family; 1 bank +# QTE family; 1 bank; differential +# QTE family; 2 banks +# QTE family; 2 banks; differential +# QTE family; 3 banks +# QTE family; 3 banks; differential + +################################################################################ +# QSE family; 1 bank +# QSE family; 1 bank; differential +# QSE family; 2 banks +# QSE family; 2 banks; differential +# QSE family; 3 banks +# QSE family; 3 banks; differential From fb31e29e79f180aae0ce2ff7d1a325a61dc2e09d Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 19 Jul 2019 15:41:39 -0700 Subject: [PATCH 06/62] Add oval hole capability to QStrip_Vertical.py --- .../Connector_Samtec/QStrip_Vertical.py | 66 +++++++++++++------ 1 file changed, 46 insertions(+), 20 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 15b78d9d3..bb21d7a54 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -39,7 +39,7 @@ - # Hole spec. 1 name: "" # [optional] name/number for plated holes drill: !!float mm # drill diameter - ring: !!float mm # [optional] annular ring + pad: !!float mm # [optional] PTH pad diameter space: !!float mm # distance between holes mirrored about the x-axis y: !!float mm # vertical offset - # Hole spec. 2 @@ -55,8 +55,11 @@ # Load parent path of KicadModTree sys.path.append(os.path.join(sys.path[0], "..", "..", "..")) +sys.path.append(os.path.join(sys.path[0], "..", "..", "tools")) from KicadModTree import * +from footprint_text_fields import addTextFields +from helpers import * def markerArrow(x, y, width, line_width, layer, angle=0, close=True): node = Node() @@ -161,26 +164,27 @@ def generate_one_footprint(param, config, library): # Holes if 'holes' in param: for p in param['holes']: - h = [Pad(number = config['mounting_pad_number'] if 'ring' in p else "", - at = (m*p['space']/2, p['y']), - drill = p['drill'], - size = p['drill']+p['ring'] if 'ring' in p else p['drill'], - type = Pad.TYPE_THT if 'ring' in p else Pad.TYPE_NPTH, - layers = Pad.LAYERS_THT if 'ring' in p else Pad.LAYERS_NPTH, - shape = Pad.SHAPE_CIRCLE) for m in (-1,1)] - fp.append(h[0]) - fp.append(h[1]) + drill = p['drill'] + shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL + h = [Pad(number = "MP" if 'pad' in p else "", + at = (m*p['space']/2, p['y']), + drill = drill, + size = p['pad'] if 'pad' in p else drill, + type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, + shape = shape) for m in (-1,1)] + fp.extend(h) ############################################################################ # Fabrication layer: F.Fab fab_line = config['fab_line_width'] fab_mark = pitch #config['fab_pin1_marker_length'] - fab_width = param['layout']['width'] if 'width' not in param else param['width'] - fab_height = param['layout']['height'] - fab_y = fab_height / 2 - lEdge = -fab_width / 2 - rEdge = lEdge + fab_width - chamfer = fab_height / 4 # 1/4 connector height, cosmetic only + fab_w = param['layout']['width'] if 'width' not in param else param['width'] + fab_h = param['layout']['height'] + fab_y = fab_h / 2 + lEdge = -fab_w / 2 + rEdge = lEdge + fab_w + chamfer = fab_h / 4 # 1/4 connector height, cosmetic only if mode == 'Terminal': # Left end outline @@ -206,7 +210,7 @@ def generate_one_footprint(param, config, library): width = fab_line)) # Pin 1 marker fp.append(markerArrow(x = pin1.x, - y = (fab_mark-fab_height) / 2, + y = (fab_mark-fab_h) / 2, width = fab_mark, angle = 180, layer = "F.Fab", @@ -229,7 +233,7 @@ def generate_one_footprint(param, config, library): width = fab_line)) # Pin 1 marker fp.append(markerArrow(x = pin1.x, - y = (fab_height-fab_mark) / 2, + y = (fab_h-fab_mark) / 2, width = fab_mark, layer = "F.Fab", close = False, @@ -255,8 +259,6 @@ def generate_one_footprint(param, config, library): silk_rEdge = rEdge + silk_offset_fab silk_chamfer = chamfer + silk_offset_fab/2 silk_pin1 = pin1.x - silk_pad - silk_lEnd = [] - silk_rEnd = [] if mode == 'Terminal': # Polygon left end outline points @@ -306,9 +308,33 @@ def generate_one_footprint(param, config, library): end = (pin[b+1][0].x - silk_pad, m*silk_y), layer = "F.SilkS", width = silk_line) for m in (-1,1)]) + + ############################################################################ + # Courtyard: F.CrtYd + court_line = config['courtyard_line_width'] + court_grid = config['courtyard_grid'] + court_offset = config['courtyard_offset']['connector'] + + court_x = roundToBase(fab_w/2 + court_offset, court_grid) + court_y = roundToBase(max(fab_y, pad_y + pad_h/2) + court_offset, court_grid) + + fp.append(RectLine(start = (-court_x, -court_y), + end = ( court_x, court_y), + layer = "F.CrtYd", + width = court_line)) ############################################################################ # Metadata + text_y = court_y + 1.0 + fp.append(Text(type = 'reference', text = 'REF**', + at = (0, -text_y), + layer = "F.SilkS")) + fp.append(Text(type = 'user', text = '%R', + at = (0, -text_y), + layer = "F.Fab")) + fp.append(Text(type = 'value', text=param['name'], + at = (0, text_y), + layer='F.Fab')) # Part number if 'pn' in param: From bf250a0e24df716cf4851d09e262ea819b2f1ba5 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 19 Jul 2019 15:50:47 -0700 Subject: [PATCH 07/62] Finish adding QSH and QTH specifications to QStrip_Vertical.yaml --- .../Connector_Samtec/QStrip_Vertical.yaml | 151 +++++++++++++----- 1 file changed, 114 insertions(+), 37 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index ed3b7e848..2bea72860 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -5,15 +5,13 @@ _local: - &QPairs_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} banks, {pins:d} pairs/bank ({ds:s}) - - &QStrip_tags 'connector Samtec QStrip mezzanine terminal vertical' - - &QPairs_tags 'connector Samtec QPairs mezzanine terminal vertical differential' ################################################################################ # QTH family; 1 bank Samtec_QTH-030-01-x-D_P0.5mm_Vertical: &QTH-030-01-x-D description: *QStrip_desc - datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' - tags: 'connector Samtec QStrip mezzanine terminal vertical' + datasheet: &QTH_ds 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' + tags: &QTH_tags 'connector Samtec QStrip QTH mezzanine terminal vertical' layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} pins: &QTH_pins @@ -28,24 +26,24 @@ Samtec_QTH-030-01-x-D-A_P0.5mm_Vertical: Samtec_QTH-030-01-x-D-L_P0.5mm_Vertical: <<: *QTH-030-01-x-D - add-tags: 'locking' + add-tags: 'latching' width: 23.0 holes: - - {drill: 0.81, ring: 0.5, space: 21.69, y: -0.508} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} Samtec_QTH-030-01-x-D-A-L_P0.5mm_Vertical: <<: *QTH-030-01-x-D - add-tags: 'alignment-pins locking' + add-tags: 'alignment-pins latching' width: 23.0 holes: - {drill: 1.02, space: 18.48, y: -2.03} - - {drill: 0.81, ring: 0.5, space: 21.69, y: -0.508} + - {drill: 0.8, pad: 1.5, space: 21.69, y: -0.508} # QTH family; 1 bank; differential Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP description: *QPairs_desc - datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' - tags: 'connector Samtec QPairs mezzanine terminal vertical differential' + datasheet: &QTH-DP_ds 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' + tags: &QTH-DP_tags 'connector Samtec QPairs QTH mezzanine terminal vertical differential' layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -58,24 +56,24 @@ Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: Samtec_QTH-020-01-x-D-DP-L_P0.5mm_Vertical: <<: *QTH-020-01-x-D-DP - add-tags: 'locking' + add-tags: 'latching' width: 23.0 holes: - - {drill: 0.81, ring: 0.5, space: 21.69, y: -0.508} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} Samtec_QTH-020-01-x-D-DP-A-L_P0.5mm_Vertical: <<: *QTH-020-01-x-D-DP - add-tags: 'alignment-pins locking' + add-tags: 'alignment-pins latching' width: 23.0 holes: - {drill: 1.02, space: 18.48, y: -2.03} - - {drill: 0.81, ring: 0.5, space: 21.69, y: -0.508} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 2 banks Samtec_QTH-060-01-x-D_P0.5mm_Vertical: &QTH-060-01-x-D description: *QStrip_desc - datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' - tags: 'connector Samtec QStrip mezzanine terminal vertical' + datasheet: *QTH_ds + tags: *QTH_tags layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -88,24 +86,24 @@ Samtec_QTH-060-01-x-D-A_P0.5mm_Vertical: Samtec_QTH-060-01-x-D-L_P0.5mm_Vertical: <<: *QTH-060-01-x-D - add-tags: 'locking' + add-tags: 'latching' width: 43.0 holes: - - {drill: 0.81, ring: 0.5, space: 41.69, y: -0.508} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} Samtec_QTH-060-01-x-D-A-L_P0.5mm_Vertical: <<: *QTH-060-01-x-D - add-tags: 'alignment-pins locking' + add-tags: 'alignment-pins latching' width: 43.0 holes: - {drill: 1.02, space: 38.48, y: -2.03} - - {drill: 0.81, ring: 0.5, space: 41.69, y: -0.508} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 2 banks; differential Samtec_QTH-040-01-x-D-DP_P0.5mm_Vertical: &QTH-040-01-x-D-DP description: *QPairs_desc - datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' - tags: 'connector Samtec QPairs mezzanine terminal vertical differential' + datasheet: *QTH-DP_ds + tags: *QTH-DP_tags layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, pins: 60, diff: 2, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -118,24 +116,24 @@ Samtec_QTH-040-01-x-D-DP-A_P0.5mm_Vertical: Samtec_QTH-040-01-x-D-DP-L_P0.5mm_Vertical: <<: *QTH-040-01-x-D-DP - add-tags: 'locking' + add-tags: 'latching' width: 43.0 holes: - - {drill: 0.81, ring: 0.5, space: 41.69, y: -0.508} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} Samtec_QTH-040-01-x-D-DP-A-L_P0.5mm_Vertical: <<: *QTH-040-01-x-D-DP - add-tags: 'alignment-pins locking' + add-tags: 'alignment-pins latching' width: 43.0 holes: - {drill: 1.02, space: 38.48, y: -2.03} - - {drill: 0.81, ring: 0.5, space: 41.69, y: -0.508} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 3 banks Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D description: *QStrip_desc - datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' - tags: 'connector Samtec QStrip mezzanine terminal vertical' + datasheet: *QTH_ds + tags: *QTH_tags layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -149,8 +147,8 @@ Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: # QTH family; 3 banks; differential Samtec_QTH-060-01-x-D-DP_P0.5mm_Vertical: &QTH-060-01-x-D-DP description: *QPairs_desc - datasheet: 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' - tags: 'connector Samtec QPairs mezzanine terminal vertical differential' + datasheet: *QTH-DP_ds + tags: *QTH-DP_tags layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -177,36 +175,115 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: ################################################################################ # QSH family; 1 bank +Samtec_QSH-030-01-x-D_P0.5mm_Vertical: &QSH-030-01-x-D + description: *QStrip_desc + datasheet: &QSH_ds 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf' + tags: &QSH_tags 'connector Samtec QStrip QSH mezzanine socket vertical' + layout: {type: 'Socket', width: 21.31, height: 7.24} + banks: {n: 1, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} + pins: &QSH_pins + signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} + ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + +Samtec_QSH-030-01-x-D-A_P0.5mm_Vertical: + <<: *QSH-030-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 20.13, y: 2.03} + +Samtec_QSH-030-01-x-D-LC_P0.5mm_Vertical: + <<: *QSH-030-01-x-D + add-tags: 'locking-clips' + holes: + - {drill: 1.19, space: 20.13, y: 2.03} + # QSH family; 1 bank; differential +Samtec_QSH-020-01-x-D-DP_P0.5mm_Vertical: &QSH-020-01-x-D-DP + description: *QPairs_desc + datasheet: &QSH-DP_ds 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf' + tags: &QSH-DP_tags 'connector Samtec QPairs QSH mezzanine socket vertical differential' + layout: {type: 'Socket', width: 21.31, height: 7.24} + banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} + pins: *QSH_pins + +Samtec_QSH-020-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QSH-020-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 20.13, y: 2.03} + +Samtec_QSH-020-01-x-D-DP-LC_P0.5mm_Vertical: + <<: *QSH-020-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.19, space: 20.13, y: 2.03} + # QSH family; 2 banks +Samtec_QSH-060-01-x-D_P0.5mm_Vertical: &QSH-060-01-x-D + description: *QStrip_desc + datasheet: *QSH_ds + tags: *QSH_tags + layout: {type: 'Socket', width: 41.31, height: 7.24} + banks: {n: 2, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} + pins: *QSH_pins + +Samtec_QSH-060-01-x-D-A_P0.5mm_Vertical: + <<: *QSH-060-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 40.13, y: 2.03} + +Samtec_QSH-060-01-x-D-LC_P0.5mm_Vertical: + <<: *QSH-060-01-x-D + add-tags: 'locking-clips' + holes: + - {drill: 1.19, space: 40.13, y: 2.03} + # QSH family; 2 banks; differential +Samtec_QSH-040-01-x-D-DP_P0.5mm_Vertical: &QSH-040-01-x-D-DP + description: *QPairs_desc + datasheet: *QSH-DP_ds + tags: *QSH-DP_tags + layout: {type: 'Socket', width: 41.31, height: 7.24} + banks: {n: 2, pins: 60, diff: 2, space: 20.0, width: 15.89, height: 3.81} + pins: *QSH_pins + +Samtec_QSH-040-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QSH-040-01-x-D-DP + holes: + - {drill: 1.02, space: 40.13, y: 2.03} + +Samtec_QSH-040-01-x-D-DP-LC_P0.5mm_Vertical: + <<: *QSH-040-01-x-D-DP + holes: + - {drill: 1.19, space: 40.13, y: 2.03} # QSH family; 3 banks Samtec_QSH-090-01-x-D_P0.5mm_Vertical: &QSH-090-01-x-D description: *QStrip_desc - datasheet: 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf' - tags: 'connector Samtec QStrip mezzanine socket vertical' + datasheet: *QSH_ds + tags: *QSH_tags layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} - pins: &QSH_pins - signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} - ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + pins: *QSH_pins Samtec_QSH-090-01-x-D-A_P0.5mm_Vertical: <<: *QSH-090-01-x-D + add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 60.13, y: 2.03} Samtec_QSH-090-01-x-D-LC_P0.5mm_Vertical: <<: *QSH-090-01-x-D + add-tags: 'locking-clips' holes: - {drill: 1.19, space: 60.13, y: 2.03} # QSH family; 3 banks; differential Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP description: *QPairs_desc - datasheet: 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-dp-xx-footprint.pdf' - tags: 'connector Samtec mezzanine socket vertical differential' + datasheet: *QSH-DP_ds + tags: *QSH-DP_tags layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins From e9209654f6b3557adf7e9e34e7d39875137f6067 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 19 Jul 2019 16:36:05 -0700 Subject: [PATCH 08/62] Add 3D model path code to QStrip_Vertical.py --- .../Connector_Samtec/QStrip_Vertical.py | 27 +++++++++++++------ .../Connector_Samtec/QStrip_Vertical.yaml | 2 +- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index bb21d7a54..ff17099cd 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -279,11 +279,11 @@ def generate_one_footprint(param, config, library): {'x': silk_lEdge, 'y': -silk_y}, {'x': silk_pin1, 'y': -silk_y}] # Pin 1 indicator - r = pad_w/4 - fp.append(Circle(center = (pin1.x, pin1.y + pad_h/2 + r + silk_pad), + r = 0.075 + fp.append(Circle(center = (pin1.x, pin1.y + pad_h/2 + silk_pad), radius = r, layer = "F.SilkS", - width = 2*r)) + width = 0.15)) # Generate right end outline silk_rEnd = deepcopy(silk_lEnd) @@ -324,7 +324,9 @@ def generate_one_footprint(param, config, library): width = court_line)) ############################################################################ - # Metadata + # Set Metadata + + # Draw reference and value text_y = court_y + 1.0 fp.append(Text(type = 'reference', text = 'REF**', at = (0, -text_y), @@ -334,7 +336,10 @@ def generate_one_footprint(param, config, library): layer = "F.Fab")) fp.append(Text(type = 'value', text=param['name'], at = (0, text_y), - layer='F.Fab')) + layer="F.Fab")) + + # Set surface-mount attribute + fp.setAttribute('smd') # Part number if 'pn' in param: @@ -365,11 +370,17 @@ def generate_one_footprint(param, config, library): tags += ' ' + param['add-tags'] fp.setTags(tags) + # 3D model path + model_path = os.path.join('${KISYS3DMOD}', + library + '.3dshapes', + param['name'] + '.wrl') + fp.append(Model(filename = model_path)) + ############################################################################ # Write kicad_mod file os.makedirs(library, exist_ok=True) - filename = os.path.join(library, param['name'] + '.kicad_mod') + filename = os.path.join(library+'.pretty', param['name']+'.kicad_mod') KicadFileHandler(fp).writeFile(filename) ################################################################################ @@ -382,8 +393,8 @@ def generate_one_footprint(param, config, library): default='../conn_config_KLCv3.yaml', help='Series KLC configuration YAML file') parser.add_argument('--library', type=str, nargs='?', - default='Connector_Samtec_QStrip.pretty', - help='KiCad library path') + default='Connector_Samtec_QStrip', + help='KiCad library name (without extension)') parser.add_argument('files', metavar='file', type=str, nargs='*', help='YAML file(s) containing footprint parameters') args = parser.parse_args() diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index 2bea72860..7785ffca8 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -37,7 +37,7 @@ Samtec_QTH-030-01-x-D-A-L_P0.5mm_Vertical: width: 23.0 holes: - {drill: 1.02, space: 18.48, y: -2.03} - - {drill: 0.8, pad: 1.5, space: 21.69, y: -0.508} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 1 bank; differential Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP From be34746fa9d96c0b3b411037b19ab7a19520d17e Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 19 Jul 2019 23:15:57 -0700 Subject: [PATCH 09/62] Fix a minor issue with differential banks in QStrip_Vertical.py; finish adding QTS-series connectors to QStrip_Vertical.yaml --- .../Connector_Samtec/QStrip_Vertical.py | 61 +-- .../Connector_Samtec/QStrip_Vertical.yaml | 392 ++++++++++++------ 2 files changed, 299 insertions(+), 154 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index ff17099cd..1c4e0cf80 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -5,10 +5,12 @@ --- Footprint_Name: - description: 'Brief description of the footprint' - datasheet: 'URL to footprint datasheet' - tags: 'KiCad tags go here' - add-tags: 'more tags' # [optional], used to extend the tag list + meta: # Footprint metadata + pn: 'part number' # [optional], overrides automatic part number detection + description: 'Brief description of the footprint' + datasheet: 'URL to footprint datasheet' + tags: 'KiCad tags go here' + tags: 'more tags' # [optional], used to extend the tag list layout: type: '(Terminal|Socket)' width: !!float mm # width @@ -61,7 +63,7 @@ from footprint_text_fields import addTextFields from helpers import * -def markerArrow(x, y, width, line_width, layer, angle=0, close=True): +def markerArrow(x, y, width, line_width, layer="F.Fab", angle=0, close=True): node = Node() points = [(-width/2, width/2), (0, 0), @@ -71,7 +73,7 @@ def markerArrow(x, y, width, line_width, layer, angle=0, close=True): points.append((-width/2, width/2)) node.append(PolygoneLine(nodes = points, - layer = "F.Fab", + layer = layer, width = line_width)) node.insert(Rotation(angle)) node.insert(Translation(x,y)) @@ -117,24 +119,29 @@ def generate_one_footprint(param, config, library): pin = [] # Pin position list, organized by bank for b in range(0, banks): pin.append([]) - for p in range(0, pins_per_bank): + for p in range(pins_per_bank): # Compute next pad location pos = Vector2D(pin1.x + (p // 2)*pitch + b*bank_x, pin1.y - (p % 2)*(2*pin1.y)) - if b < param['banks']['diff'] and ((p+1) % 6 == 0 or (p+2) % 6 == 0): - # Place gaps between differential pairs - continue - else: - pin[b].append(pos) # Add position to list - # Create pad (both single-ended and differential) - pad = Pad(number = str(n), - at = pos, - size = (pad_w, pad_h), - type = Pad.TYPE_SMT, - layers = Pad.LAYERS_SMT, - shape = Pad.SHAPE_RECT) - fp.append(pad) - n = n + 1 + + # Skip slots for differential banks + if b < param['banks']['diff']: + if ((p+1) % 6 == 0 or # Skip every 3rd odd pin + (p+2) % 6 == 0 or # Skip every 3rd even pin + (p+3) > pins_per_bank): # Skip half-pair at end of bank + continue + + # Create pad + pin[b].append(pos) # Add position to list + # Create pad (both single-ended and differential) + pad = Pad(number = str(n), + at = pos, + size = (pad_w, pad_h), + type = Pad.TYPE_SMT, + layers = Pad.LAYERS_SMT, + shape = Pad.SHAPE_RECT) + fp.append(pad) + n = n + 1 # Ground pad parameters gnd_height = param['pins']['ground']['height'] @@ -342,8 +349,8 @@ def generate_one_footprint(param, config, library): fp.setAttribute('smd') # Part number - if 'pn' in param: - partnum = param['pn'] + if 'pn' in param['meta']: + partnum = param['meta']['pn'] else: partnum = param['name'].split('_')[1] @@ -355,17 +362,17 @@ def generate_one_footprint(param, config, library): pins_or_pairs = pins_per_bank # Description - desc = param['description'] + desc = param['meta']['description'] desc = desc.format(pn = partnum, type = mode, - ds = param['datasheet'], + ds = param['meta']['datasheet'], pitch = pitch, banks = banks, pins = pins_or_pairs) fp.setDescription(desc) # Tags - tags = param['tags'] + tags = param['meta']['tags'] if 'add-tags' in param: tags += ' ' + param['add-tags'] fp.setTags(tags) @@ -379,7 +386,7 @@ def generate_one_footprint(param, config, library): ############################################################################ # Write kicad_mod file - os.makedirs(library, exist_ok=True) + os.makedirs(library+'.pretty', exist_ok=True) filename = os.path.join(library+'.pretty', param['name']+'.kicad_mod') KicadFileHandler(fp).writeFile(filename) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index 7785ffca8..c0ba7b466 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -1,17 +1,20 @@ _local: - &QStrip_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Strip® High-Speed Ground Plane {type:s} Strip; - {banks:d} banks, {pins:d} pins/bank ({ds:s}) + {banks:d} bank(s), {pins:d} pins/bank; {ds:s} - &QPairs_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, - Differential Pair; {banks:d} banks, {pins:d} pairs/bank ({ds:s}) + Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank; {ds:s} ################################################################################ # QTH family; 1 bank Samtec_QTH-030-01-x-D_P0.5mm_Vertical: &QTH-030-01-x-D - description: *QStrip_desc - datasheet: &QTH_ds 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf' - tags: &QTH_tags 'connector Samtec QStrip QTH mezzanine terminal vertical' + meta: &QTH_meta + description: *QStrip_desc + tags: 'connector Samtec QStrip QTH mezzanine terminal vertical' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} pins: &QTH_pins @@ -39,41 +42,9 @@ Samtec_QTH-030-01-x-D-A-L_P0.5mm_Vertical: - {drill: 1.02, space: 18.48, y: -2.03} - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} -# QTH family; 1 bank; differential -Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP - description: *QPairs_desc - datasheet: &QTH-DP_ds 'http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf' - tags: &QTH-DP_tags 'connector Samtec QPairs QTH mezzanine terminal vertical differential' - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} - pins: *QTH_pins - -Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QTH-020-01-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.02, space: 18.48, y: -2.03} - -Samtec_QTH-020-01-x-D-DP-L_P0.5mm_Vertical: - <<: *QTH-020-01-x-D-DP - add-tags: 'latching' - width: 23.0 - holes: - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} - -Samtec_QTH-020-01-x-D-DP-A-L_P0.5mm_Vertical: - <<: *QTH-020-01-x-D-DP - add-tags: 'alignment-pins latching' - width: 23.0 - holes: - - {drill: 1.02, space: 18.48, y: -2.03} - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} - # QTH family; 2 banks Samtec_QTH-060-01-x-D_P0.5mm_Vertical: &QTH-060-01-x-D - description: *QStrip_desc - datasheet: *QTH_ds - tags: *QTH_tags + meta: *QTH_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -99,11 +70,55 @@ Samtec_QTH-060-01-x-D-A-L_P0.5mm_Vertical: - {drill: 1.02, space: 38.48, y: -2.03} - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +# QTH family; 3 banks +Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D + meta: *QTH_meta + layout: {type: 'Terminal', width: 60.0, height: 5.97} + banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} + pins: *QTH_pins + +Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: + <<: *QTH-090-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 58.48, y: -2.03} + +# QTH family; 1 bank; differential +Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP + meta: &QTH-DP_meta + description: *QPairs_desc + tags: 'connector Samtec QPairs QTH mezzanine terminal vertical differential' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf) + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} + pins: *QTH_pins + +Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QTH-020-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + +Samtec_QTH-020-01-x-D-DP-L_P0.5mm_Vertical: + <<: *QTH-020-01-x-D-DP + add-tags: 'latching' + width: 23.0 + holes: + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} + +Samtec_QTH-020-01-x-D-DP-A-L_P0.5mm_Vertical: + <<: *QTH-020-01-x-D-DP + add-tags: 'alignment-pins latching' + width: 23.0 + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} + # QTH family; 2 banks; differential Samtec_QTH-040-01-x-D-DP_P0.5mm_Vertical: &QTH-040-01-x-D-DP - description: *QPairs_desc - datasheet: *QTH-DP_ds - tags: *QTH-DP_tags + meta: *QTH-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, pins: 60, diff: 2, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -129,26 +144,9 @@ Samtec_QTH-040-01-x-D-DP-A-L_P0.5mm_Vertical: - {drill: 1.02, space: 38.48, y: -2.03} - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} -# QTH family; 3 banks -Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D - description: *QStrip_desc - datasheet: *QTH_ds - tags: *QTH_tags - layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} - pins: *QTH_pins - -Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: - <<: *QTH-090-01-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.02, space: 58.48, y: -2.03} - # QTH family; 3 banks; differential Samtec_QTH-060-01-x-D-DP_P0.5mm_Vertical: &QTH-060-01-x-D-DP - description: *QPairs_desc - datasheet: *QTH-DP_ds - tags: *QTH-DP_tags + meta: *QTH-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -161,12 +159,13 @@ Samtec_QTH-060-01-x-D-DP-A_P0.5mm_Vertical: # QTH family; 3 banks; specialized Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: - pn: 'ASP-122952-01' - description: >- - Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, - Bank 1 differential ({ds:s}) - datasheet: 'http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf' - tags: 'connector Samtec HSMC card terminal mezzanine vertical differential alignment-pins' + meta: + pn: 'ASP-122952-01' + tags: 'connector Samtec HSMC card terminal mezzanine vertical differential alignment-pins' + datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf)' + description: >- + Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, + Bank 1 differential; {ds:s} layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins @@ -176,9 +175,12 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: ################################################################################ # QSH family; 1 bank Samtec_QSH-030-01-x-D_P0.5mm_Vertical: &QSH-030-01-x-D - description: *QStrip_desc - datasheet: &QSH_ds 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf' - tags: &QSH_tags 'connector Samtec QStrip QSH mezzanine socket vertical' + meta: &QSH_meta + description: *QStrip_desc + tags: 'connector Samtec QStrip QSH mezzanine socket vertical' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} banks: {n: 1, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} pins: &QSH_pins @@ -197,32 +199,9 @@ Samtec_QSH-030-01-x-D-LC_P0.5mm_Vertical: holes: - {drill: 1.19, space: 20.13, y: 2.03} -# QSH family; 1 bank; differential -Samtec_QSH-020-01-x-D-DP_P0.5mm_Vertical: &QSH-020-01-x-D-DP - description: *QPairs_desc - datasheet: &QSH-DP_ds 'http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf' - tags: &QSH-DP_tags 'connector Samtec QPairs QSH mezzanine socket vertical differential' - layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} - pins: *QSH_pins - -Samtec_QSH-020-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QSH-020-01-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.02, space: 20.13, y: 2.03} - -Samtec_QSH-020-01-x-D-DP-LC_P0.5mm_Vertical: - <<: *QSH-020-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.19, space: 20.13, y: 2.03} - # QSH family; 2 banks Samtec_QSH-060-01-x-D_P0.5mm_Vertical: &QSH-060-01-x-D - description: *QStrip_desc - datasheet: *QSH_ds - tags: *QSH_tags + meta: *QSH_meta layout: {type: 'Socket', width: 41.31, height: 7.24} banks: {n: 2, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins @@ -239,30 +218,9 @@ Samtec_QSH-060-01-x-D-LC_P0.5mm_Vertical: holes: - {drill: 1.19, space: 40.13, y: 2.03} -# QSH family; 2 banks; differential -Samtec_QSH-040-01-x-D-DP_P0.5mm_Vertical: &QSH-040-01-x-D-DP - description: *QPairs_desc - datasheet: *QSH-DP_ds - tags: *QSH-DP_tags - layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, pins: 60, diff: 2, space: 20.0, width: 15.89, height: 3.81} - pins: *QSH_pins - -Samtec_QSH-040-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QSH-040-01-x-D-DP - holes: - - {drill: 1.02, space: 40.13, y: 2.03} - -Samtec_QSH-040-01-x-D-DP-LC_P0.5mm_Vertical: - <<: *QSH-040-01-x-D-DP - holes: - - {drill: 1.19, space: 40.13, y: 2.03} - # QSH family; 3 banks Samtec_QSH-090-01-x-D_P0.5mm_Vertical: &QSH-090-01-x-D - description: *QStrip_desc - datasheet: *QSH_ds - tags: *QSH_tags + meta: *QSH_meta layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins @@ -279,11 +237,50 @@ Samtec_QSH-090-01-x-D-LC_P0.5mm_Vertical: holes: - {drill: 1.19, space: 60.13, y: 2.03} +# QSH family; 1 bank; differential +Samtec_QSH-020-01-x-D-DP_P0.5mm_Vertical: &QSH-020-01-x-D-DP + meta: &QSH-DP_meta + description: *QPairs_desc + tags: 'connector Samtec QPairs QSH mezzanine socket vertical differential' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-dp-xx-footprint.pdf) + layout: {type: 'Socket', width: 21.31, height: 7.24} + banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} + pins: *QSH_pins + +Samtec_QSH-020-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QSH-020-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 20.13, y: 2.03} + +Samtec_QSH-020-01-x-D-DP-LC_P0.5mm_Vertical: + <<: *QSH-020-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.19, space: 20.13, y: 2.03} + +# QSH family; 2 banks; differential +Samtec_QSH-040-01-x-D-DP_P0.5mm_Vertical: &QSH-040-01-x-D-DP + meta: *QSH-DP_meta + layout: {type: 'Socket', width: 41.31, height: 7.24} + banks: {n: 2, pins: 60, diff: 2, space: 20.0, width: 15.89, height: 3.81} + pins: *QSH_pins + +Samtec_QSH-040-01-x-D-DP-A_P0.5mm_Vertical: + <<: *QSH-040-01-x-D-DP + holes: + - {drill: 1.02, space: 40.13, y: 2.03} + +Samtec_QSH-040-01-x-D-DP-LC_P0.5mm_Vertical: + <<: *QSH-040-01-x-D-DP + holes: + - {drill: 1.19, space: 40.13, y: 2.03} + # QSH family; 3 banks; differential Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP - description: *QPairs_desc - datasheet: *QSH-DP_ds - tags: *QSH-DP_tags + meta: *QSH-DP_meta layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins @@ -300,12 +297,13 @@ Samtec_QSH-060-01-x-D-DP-LC_P0.5mm_Vertical: # QSH family; 3 banks; specialized Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: - pn: 'ASP-122952-01' - description: >- - Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, - Bank 1 differential ({ds:s}) - datasheet: 'http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf' - tags: 'connector Samtec HSMC host socket mezzanine vertical differential' + meta: + pn: 'ASP-122953-01' + tags: 'connector Samtec HSMC host socket mezzanine vertical differential' + datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf)' + description: >- + Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, + Bank 1 differential; {ds:s} layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins @@ -314,18 +312,158 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: ################################################################################ # QTS family; 1 bank -# QTS family; 1 bank; differential +Samtec_QTS-025-01-x-D_P0.635mm_Vertical: &QTS-025-01-x-D + meta: &QTS_meta + description: *QStrip_desc + tags: 'connector Samtec QStrip QTS mezzanine terminal vertical' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf) + [footprint](http://suddendocs.samtec.com/prints/qts-xxx-01-x-d-xx-footprint.pdf) + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, pins: 50, diff: 0, space: 20.0, width: 16.4, height: 3.94} + pins: &QTS_pins + signal: {pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} + ground: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} + +Samtec_QTS-025-01-x-D-A_P0.635mm_Vertical: + <<: *QTS-025-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + # QTS family; 2 banks -# QTS family; 2 banks; differential +Samtec_QTS-050-01-x-D_P0.635mm_Vertical: &QTS-050-01-x-D + meta: *QTS_meta + layout: {type: 'Terminal', width: 40.0, height: 5.97} + banks: {n: 2, pins: 50, diff: 0, space: 20.0, width: 16.4, height: 3.94} + pins: *QTS_pins + +Samtec_QTS-050-01-x-D-A_P0.635mm_Vertical: + <<: *QTS-050-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + # QTS family; 3 banks +Samtec_QTS-075-01-x-D_P0.635mm_Vertical: &QTS-075-01-x-D + meta: *QTS_meta + layout: {type: 'Terminal', width: 60.0, height: 5.97} + banks: {n: 3, pins: 50, diff: 0, space: 20.0, width: 16.4, height: 3.94} + pins: *QTS_pins + +Samtec_QTS-075-01-x-D-A_P0.635mm_Vertical: + <<: *QTS-075-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 58.48, y: -2.03} + +# QTS family; 1 bank; differential +Samtec_QTS-016-01-x-D-DP_P0.635mm_Vertical: &QTS-016-01-x-D-DP + meta: &QTS-DP_meta + description: *QPairs_desc + tags: 'connector Samtec QPairs QTS mezzanine terminal vertical differential' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf) + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, pins: 50, diff: 1, space: 20.0, width: 16.4, height: 3.94} + pins: *QTS_pins + +Samtec_QTS-016-01-x-D-DP-A_P0.635mm_Vertical: + <<: *QTS-016-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + +Samtec_QTS-016-01-x-D-DP-LC_P0.635mm_Vertical: + <<: *QTS-016-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.16, space: 18.48, y: -2.03} + +# QTS family; 2 banks; differential +Samtec_QTS-032-01-x-D-DP_P0.635mm_Vertical: &QTS-032-01-x-D-DP + meta: *QTS-DP_meta + layout: {type: 'Terminal', width: 40.0, height: 5.97} + banks: {n: 2, pins: 50, diff: 2, space: 20.0, width: 16.4, height: 3.94} + pins: *QTS_pins + +Samtec_QTS-032-01-x-D-DP-A_P0.635mm_Vertical: + <<: *QTS-032-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + +Samtec_QTS-032-01-x-D-DP-LC_P0.635mm_Vertical: + <<: *QTS-032-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.16, space: 38.48, y: -2.03} + # QTS family; 3 banks; differential +Samtec_QTS-048-01-x-D-DP_P0.635mm_Vertical: &QTS-048-01-x-D-DP + meta: *QTS-DP_meta + layout: {type: 'Terminal', width: 60.0, height: 5.97} + banks: {n: 3, pins: 50, diff: 3, space: 20.0, width: 16.4, height: 3.94} + pins: *QTS_pins + +Samtec_QTS-048-01-x-D-DP-A_P0.635mm_Vertical: + <<: *QTS-048-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 58.48, y: -2.03} + +Samtec_QTS-048-01-x-D-DP-LC_P0.635mm_Vertical: + <<: *QTS-048-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.16, space: 58.48, y: -2.03} + +# QTS family; 4 banks; differential +Samtec_QTS-064-01-x-D-DP_P0.635mm_Vertical: &QTS-064-01-x-D-DP + meta: *QTS-DP_meta + layout: {type: 'Terminal', width: 80.0, height: 5.97} + banks: {n: 4, pins: 50, diff: 4, space: 20.0, width: 16.4, height: 3.94} + pins: *QTS_pins + +Samtec_QTS-064-01-x-D-DP-A_P0.635mm_Vertical: + <<: *QTS-064-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 78.49, y: -2.03} + +Samtec_QTS-064-01-x-D-DP-LC_P0.635mm_Vertical: + <<: *QTS-064-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.16, space: 78.49, y: -2.03} + +# QTS family; 4 banks; differential +Samtec_QTS-080-01-x-D-DP_P0.635mm_Vertical: &QTS-080-01-x-D-DP + meta: *QTS-DP_meta + layout: {type: 'Terminal', width: 100.0, height: 5.97} + banks: {n: 5, pins: 50, diff: 5, space: 20.0, width: 16.4, height: 3.94} + pins: *QTS_pins + +Samtec_QTS-080-01-x-D-DP-A_P0.635mm_Vertical: + <<: *QTS-080-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 98.49, y: -2.03} + +Samtec_QTS-080-01-x-D-DP-LC_P0.635mm_Vertical: + <<: *QTS-080-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.16, space: 98.49, y: -2.03} ################################################################################ # QSS family; 1 bank -# QSS family; 1 bank; differential # QSS family; 2 banks -# QSS family; 2 banks; differential # QSS family; 3 banks + +# QSS family; 1 bank; differential +# QSS family; 2 banks; differential # QSS family; 3 banks; differential ################################################################################ From 5e569246f7e91a2a568a5b2e10aa5f7fa73584ee Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 19 Jul 2019 23:21:22 -0700 Subject: [PATCH 10/62] Remove 4- and 5-bank QTS specifications from QStrip_Vertical.yaml, no standard mating options exist. --- .../Connector_Samtec/QStrip_Vertical.yaml | 42 +------------------ 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index c0ba7b466..13458be87 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -419,44 +419,6 @@ Samtec_QTS-048-01-x-D-DP-LC_P0.635mm_Vertical: holes: - {drill: 1.16, space: 58.48, y: -2.03} -# QTS family; 4 banks; differential -Samtec_QTS-064-01-x-D-DP_P0.635mm_Vertical: &QTS-064-01-x-D-DP - meta: *QTS-DP_meta - layout: {type: 'Terminal', width: 80.0, height: 5.97} - banks: {n: 4, pins: 50, diff: 4, space: 20.0, width: 16.4, height: 3.94} - pins: *QTS_pins - -Samtec_QTS-064-01-x-D-DP-A_P0.635mm_Vertical: - <<: *QTS-064-01-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.02, space: 78.49, y: -2.03} - -Samtec_QTS-064-01-x-D-DP-LC_P0.635mm_Vertical: - <<: *QTS-064-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.16, space: 78.49, y: -2.03} - -# QTS family; 4 banks; differential -Samtec_QTS-080-01-x-D-DP_P0.635mm_Vertical: &QTS-080-01-x-D-DP - meta: *QTS-DP_meta - layout: {type: 'Terminal', width: 100.0, height: 5.97} - banks: {n: 5, pins: 50, diff: 5, space: 20.0, width: 16.4, height: 3.94} - pins: *QTS_pins - -Samtec_QTS-080-01-x-D-DP-A_P0.635mm_Vertical: - <<: *QTS-080-01-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.02, space: 98.49, y: -2.03} - -Samtec_QTS-080-01-x-D-DP-LC_P0.635mm_Vertical: - <<: *QTS-080-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.16, space: 98.49, y: -2.03} - ################################################################################ # QSS family; 1 bank # QSS family; 2 banks @@ -468,10 +430,10 @@ Samtec_QTS-080-01-x-D-DP-LC_P0.635mm_Vertical: ################################################################################ # QTE family; 1 bank -# QTE family; 1 bank; differential # QTE family; 2 banks -# QTE family; 2 banks; differential # QTE family; 3 banks +# QTE family; 1 bank; differential +# QTE family; 2 banks; differential # QTE family; 3 banks; differential ################################################################################ From 092c80dd203827dfda8a9f6b07655f3ffc32143f Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 20 Jul 2019 11:01:32 -0700 Subject: [PATCH 11/62] Add QSS specifications to QStrip_Vertical.yaml --- .../Connector_Samtec/QStrip_Vertical.py | 18 +- .../Connector_Samtec/QStrip_Vertical.yaml | 158 +++++++++++++++--- 2 files changed, 142 insertions(+), 34 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 1c4e0cf80..5a6b48730 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -79,7 +79,7 @@ def markerArrow(x, y, width, line_width, layer="F.Fab", angle=0, close=True): node.insert(Translation(x,y)) return node -def generate_one_footprint(param, config, library): +def generate_one_footprint(param, config, default_lib): fp = Footprint(param['name']) # Terminal or Socket mode @@ -349,10 +349,11 @@ def generate_one_footprint(param, config, library): fp.setAttribute('smd') # Part number - if 'pn' in param['meta']: - partnum = param['meta']['pn'] - else: - partnum = param['name'].split('_')[1] + partnum = param['meta'].get('pn', param['name'].split('_')[1]) + #if 'pn' in param['meta']: + # partnum = param['meta']['pn'] + #else: + # partnum = param['name'].split('_')[1] # Pins or pairs/bank if param['banks']['diff'] == banks: @@ -378,8 +379,9 @@ def generate_one_footprint(param, config, library): fp.setTags(tags) # 3D model path + library = param.get('library', default_lib) model_path = os.path.join('${KISYS3DMOD}', - library + '.3dshapes', + library+'.3dshapes', param['name'] + '.wrl') fp.append(Model(filename = model_path)) @@ -401,7 +403,7 @@ def generate_one_footprint(param, config, library): help='Series KLC configuration YAML file') parser.add_argument('--library', type=str, nargs='?', default='Connector_Samtec_QStrip', - help='KiCad library name (without extension)') + help='Default KiCad library name (without extension)') parser.add_argument('files', metavar='file', type=str, nargs='*', help='YAML file(s) containing footprint parameters') args = parser.parse_args() @@ -422,7 +424,7 @@ def generate_one_footprint(param, config, library): parser.print_help() sys.exit(1) - print("Library:", args.library) + print("Default Library:", args.library) for path in args.files: print("Reading", path) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index 13458be87..c33cccb1c 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -11,12 +11,12 @@ _local: Samtec_QTH-030-01-x-D_P0.5mm_Vertical: &QTH-030-01-x-D meta: &QTH_meta description: *QStrip_desc - tags: 'connector Samtec QStrip QTH mezzanine terminal vertical' + tags: 'connector Samtec QStrip QTH mezzanine terminal vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 1, diff: 0, pins: 60, space: 20.0, width: 16.4, height: 3.9} pins: &QTH_pins signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -46,7 +46,7 @@ Samtec_QTH-030-01-x-D-A-L_P0.5mm_Vertical: Samtec_QTH-060-01-x-D_P0.5mm_Vertical: &QTH-060-01-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 2, diff: 0, pins: 60, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins Samtec_QTH-060-01-x-D-A_P0.5mm_Vertical: @@ -74,7 +74,7 @@ Samtec_QTH-060-01-x-D-A-L_P0.5mm_Vertical: Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 3, diff: 0, pins: 60, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: @@ -92,7 +92,7 @@ Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 1, diff: 1, pins: 60, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: @@ -120,7 +120,7 @@ Samtec_QTH-020-01-x-D-DP-A-L_P0.5mm_Vertical: Samtec_QTH-040-01-x-D-DP_P0.5mm_Vertical: &QTH-040-01-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, pins: 60, diff: 2, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 2, diff: 2, pins: 60, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins Samtec_QTH-040-01-x-D-DP-A_P0.5mm_Vertical: @@ -148,7 +148,7 @@ Samtec_QTH-040-01-x-D-DP-A-L_P0.5mm_Vertical: Samtec_QTH-060-01-x-D-DP_P0.5mm_Vertical: &QTH-060-01-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 3, diff: 3, pins: 60, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins Samtec_QTH-060-01-x-D-DP-A_P0.5mm_Vertical: @@ -157,17 +157,20 @@ Samtec_QTH-060-01-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 58.48, y: -2.03} -# QTH family; 3 banks; specialized +# QTH family; 3 banks; application-specific Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: + library: 'Connector_Samtec' meta: pn: 'ASP-122952-01' - tags: 'connector Samtec HSMC card terminal mezzanine vertical differential alignment-pins' datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf)' + tags: >- + connector Samtec QStrip QPairs HSMC card terminal mezzanine vertical + single-ended differential alignment-pins application-specific' description: >- Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 differential; {ds:s} layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 3, diff: 1, pins: 60, space: 20.0, width: 16.4, height: 3.9} pins: *QTH_pins holes: - {drill: 1.02, space: 58.48, y: -2.03} @@ -177,12 +180,12 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: Samtec_QSH-030-01-x-D_P0.5mm_Vertical: &QSH-030-01-x-D meta: &QSH_meta description: *QStrip_desc - tags: 'connector Samtec QStrip QSH mezzanine socket vertical' + tags: 'connector Samtec QStrip QSH mezzanine socket vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 1, diff: 0, pins: 60, space: 20.0, width: 15.89, height: 3.81} pins: &QSH_pins signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} @@ -203,7 +206,7 @@ Samtec_QSH-030-01-x-D-LC_P0.5mm_Vertical: Samtec_QSH-060-01-x-D_P0.5mm_Vertical: &QSH-060-01-x-D meta: *QSH_meta layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 2, diff: 0, pins: 60, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins Samtec_QSH-060-01-x-D-A_P0.5mm_Vertical: @@ -222,7 +225,7 @@ Samtec_QSH-060-01-x-D-LC_P0.5mm_Vertical: Samtec_QSH-090-01-x-D_P0.5mm_Vertical: &QSH-090-01-x-D meta: *QSH_meta layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, pins: 60, diff: 0, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 3, diff: 0, pins: 60, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins Samtec_QSH-090-01-x-D-A_P0.5mm_Vertical: @@ -246,7 +249,7 @@ Samtec_QSH-020-01-x-D-DP_P0.5mm_Vertical: &QSH-020-01-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 1, diff: 1, pins: 60, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins Samtec_QSH-020-01-x-D-DP-A_P0.5mm_Vertical: @@ -265,7 +268,7 @@ Samtec_QSH-020-01-x-D-DP-LC_P0.5mm_Vertical: Samtec_QSH-040-01-x-D-DP_P0.5mm_Vertical: &QSH-040-01-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, pins: 60, diff: 2, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 2, diff: 2, pins: 60, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins Samtec_QSH-040-01-x-D-DP-A_P0.5mm_Vertical: @@ -282,7 +285,7 @@ Samtec_QSH-040-01-x-D-DP-LC_P0.5mm_Vertical: Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, pins: 60, diff: 3, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 3, diff: 3, pins: 60, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins Samtec_QSH-060-01-x-D-DP-A_P0.5mm_Vertical: @@ -297,15 +300,18 @@ Samtec_QSH-060-01-x-D-DP-LC_P0.5mm_Vertical: # QSH family; 3 banks; specialized Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: + library: 'Connector_Samtec' meta: pn: 'ASP-122953-01' - tags: 'connector Samtec HSMC host socket mezzanine vertical differential' datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf)' + tags: >- + connector Samtec QStrip QPairs HSMC host socket mezzanine vertical + single-ended differential application-specific description: >- Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 differential; {ds:s} layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, pins: 60, diff: 1, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 3, diff: 1, pins: 60, space: 20.0, width: 15.89, height: 3.81} pins: *QSH_pins holes: - {drill: 1.02, space: 60.13, y: 2.03} @@ -317,10 +323,10 @@ Samtec_QTS-025-01-x-D_P0.635mm_Vertical: &QTS-025-01-x-D description: *QStrip_desc tags: 'connector Samtec QStrip QTS mezzanine terminal vertical' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf) + [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-01-x-d-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, pins: 50, diff: 0, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 1, diff: 0, pins: 50, space: 20.0, width: 16.4, height: 3.94} pins: &QTS_pins signal: {pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} ground: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -335,7 +341,7 @@ Samtec_QTS-025-01-x-D-A_P0.635mm_Vertical: Samtec_QTS-050-01-x-D_P0.635mm_Vertical: &QTS-050-01-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, pins: 50, diff: 0, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 2, diff: 0, pins: 50, space: 20.0, width: 16.4, height: 3.94} pins: *QTS_pins Samtec_QTS-050-01-x-D-A_P0.635mm_Vertical: @@ -348,7 +354,7 @@ Samtec_QTS-050-01-x-D-A_P0.635mm_Vertical: Samtec_QTS-075-01-x-D_P0.635mm_Vertical: &QTS-075-01-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, pins: 50, diff: 0, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 3, diff: 0, pins: 50, space: 20.0, width: 16.4, height: 3.94} pins: *QTS_pins Samtec_QTS-075-01-x-D-A_P0.635mm_Vertical: @@ -366,7 +372,7 @@ Samtec_QTS-016-01-x-D-DP_P0.635mm_Vertical: &QTS-016-01-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, pins: 50, diff: 1, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 1, diff: 1, pins: 50, space: 20.0, width: 16.4, height: 3.94} pins: *QTS_pins Samtec_QTS-016-01-x-D-DP-A_P0.635mm_Vertical: @@ -385,7 +391,7 @@ Samtec_QTS-016-01-x-D-DP-LC_P0.635mm_Vertical: Samtec_QTS-032-01-x-D-DP_P0.635mm_Vertical: &QTS-032-01-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, pins: 50, diff: 2, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 2, diff: 2, pins: 50, space: 20.0, width: 16.4, height: 3.94} pins: *QTS_pins Samtec_QTS-032-01-x-D-DP-A_P0.635mm_Vertical: @@ -404,7 +410,7 @@ Samtec_QTS-032-01-x-D-DP-LC_P0.635mm_Vertical: Samtec_QTS-048-01-x-D-DP_P0.635mm_Vertical: &QTS-048-01-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, pins: 50, diff: 3, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 3, diff: 3, pins: 50, space: 20.0, width: 16.4, height: 3.94} pins: *QTS_pins Samtec_QTS-048-01-x-D-DP-A_P0.635mm_Vertical: @@ -421,12 +427,112 @@ Samtec_QTS-048-01-x-D-DP-LC_P0.635mm_Vertical: ################################################################################ # QSS family; 1 bank +Samtec_QSS-025-01-x-D_P0.635mm_Vertical: &QSS-025-01-x-D + meta: &QSS_meta + description: *QStrip_desc + tags: 'connector Samtec QStrip QSS mezzanine socket vertical single-ended' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qss-xxx-01-x-d-xx-footprint.pdf) + layout: {type: 'Socket', width: 21.27, height: 7.24} + banks: {n: 1, diff: 0, pins: 50, space: 20.0, width: 15.89, height: 3.66} + pins: &QSS_pins + signal: {pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} + ground: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} + +Samtec_QSS-025-01-x-D-A_P0.635mm_Vertical: + <<: *QSS-025-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 20.0, y: 2.65} + # QSS family; 2 banks +Samtec_QSS-050-01-x-D_P0.635mm_Vertical: &QSS-050-01-x-D + meta: *QSS_meta + layout: {type: 'Socket', width: 41.28, height: 7.24} + banks: {n: 2, diff: 0, pins: 50, space: 20.0, width: 15.89, height: 3.66} + pins: *QSS_pins + +Samtec_QSS-050-01-x-D-A_P0.635mm_Vertical: + <<: *QSS-050-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 40.0, y: 2.65} + # QSS family; 3 banks +Samtec_QSS-075-01-x-D_P0.635mm_Vertical: &QSS-075-01-x-D + meta: *QSS_meta + layout: {type: 'Socket', width: 61.28, height: 7.24} + banks: {n: 3, diff: 0, pins: 50, space: 20.0, width: 15.89, height: 3.66} + pins: *QSS_pins + +Samtec_QSS-075-01-x-D-A_P0.635mm_Vertical: + <<: *QSS-075-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 60.0, y: 2.65} # QSS family; 1 bank; differential +Samtec_QSS-016-01-x-D-DP_P0.635mm_Vertical: &QSS-016-01-x-D-DP + meta: &QSS-DP_meta + description: *QPairs_desc + tags: 'connector Samtec QPairs QSS mezzanine socket vertical differential' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qss-xxx-01-x-d-dp-xx-footprint.pdf) + layout: {type: 'Socket', width: 21.27, height: 7.24} + banks: {n: 1, diff: 1, pins: 50, space: 20.0, width: 15.89, height: 3.66} + pins: *QSS_pins + +Samtec_QSS-016-01-x-D-DP-A_P0.635mm_Vertical: + <<: *QSS-016-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 20.0, y: 2.67} + +Samtec_QSS-016-01-x-D-DP-LC_P0.635mm_Vertical: + <<: *QSS-016-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.16, space: 20.0, y: 2.67} + # QSS family; 2 banks; differential +Samtec_QSS-032-01-x-D-DP_P0.635mm_Vertical: &QSS-032-01-x-D-DP + meta: *QSS-DP_meta + layout: {type: 'Socket', width: 41.28, height: 7.24} + banks: {n: 2, diff: 2, pins: 50, space: 20.0, width: 15.89, height: 3.66} + pins: *QSS_pins + +Samtec_QSS-032-01-x-D-DP-A_P0.635mm_Vertical: + <<: *QSS-032-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 40.0, y: 2.67} + +Samtec_QSS-032-01-x-D-DP-LC_P0.635mm_Vertical: + <<: *QSS-032-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.16, space: 40.0, y: 2.67} + # QSS family; 3 banks; differential +Samtec_QSS-048-01-x-D-DP_P0.635mm_Vertical: &QSS-048-01-x-D-DP + meta: *QSS-DP_meta + layout: {type: 'Socket', width: 61.28, height: 7.24} + banks: {n: 3, diff: 3, pins: 50, space: 20.0, width: 15.89, height: 3.66} + pins: *QSS_pins + +Samtec_QSS-048-01-x-D-DP-A_P0.635mm_Vertical: + <<: *QSS-048-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 60.0, y: 2.67} + +Samtec_QSS-048-01-x-D-DP-LC_P0.635mm_Vertical: + <<: *QSS-048-01-x-D-DP + add-tags: 'locking-clips' + holes: + - {drill: 1.16, space: 60.0, y: 2.67} ################################################################################ # QTE family; 1 bank From fcb88f5a23afc1c61faa888867731a2fa7922e8f Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 20 Jul 2019 11:35:49 -0700 Subject: [PATCH 12/62] Add QTE specifications to QStrip_Vertical.yaml --- .../Connector_Samtec/QStrip_Vertical.yaml | 116 ++++++++++++++++-- 1 file changed, 108 insertions(+), 8 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index c33cccb1c..3bf28c65e 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -488,13 +488,13 @@ Samtec_QSS-016-01-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-016-01-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.0, y: 2.67} + - {drill: 1.02, space: 20.0, y: 2.65} Samtec_QSS-016-01-x-D-DP-LC_P0.635mm_Vertical: <<: *QSS-016-01-x-D-DP add-tags: 'locking-clips' holes: - - {drill: 1.16, space: 20.0, y: 2.67} + - {drill: 1.16, space: 20.0, y: 2.65} # QSS family; 2 banks; differential Samtec_QSS-032-01-x-D-DP_P0.635mm_Vertical: &QSS-032-01-x-D-DP @@ -507,13 +507,13 @@ Samtec_QSS-032-01-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-032-01-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.0, y: 2.67} + - {drill: 1.02, space: 40.0, y: 2.65} Samtec_QSS-032-01-x-D-DP-LC_P0.635mm_Vertical: <<: *QSS-032-01-x-D-DP add-tags: 'locking-clips' holes: - - {drill: 1.16, space: 40.0, y: 2.67} + - {drill: 1.16, space: 40.0, y: 2.65} # QSS family; 3 banks; differential Samtec_QSS-048-01-x-D-DP_P0.635mm_Vertical: &QSS-048-01-x-D-DP @@ -526,26 +526,126 @@ Samtec_QSS-048-01-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-048-01-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.0, y: 2.67} + - {drill: 1.02, space: 60.0, y: 2.65} Samtec_QSS-048-01-x-D-DP-LC_P0.635mm_Vertical: <<: *QSS-048-01-x-D-DP add-tags: 'locking-clips' holes: - - {drill: 1.16, space: 60.0, y: 2.67} + - {drill: 1.16, space: 60.0, y: 2.65} ################################################################################ # QTE family; 1 bank +Samtec_QTE-020-01-x-D_P0.8mm_Vertical: &QTE-020-01-x-D + meta: &QTE_meta + description: *QStrip_desc + tags: 'connector Samtec QStrip QTE mezzanine terminal vertical' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf) + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, diff: 0, pins: 40, space: 20.0, width: 16.4, height: 3.94} + pins: &QTE_pins + signal: {pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} + ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + +Samtec_QTE-020-01-x-D-A_P0.8mm_Vertical: + <<: *QTE-020-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + # QTE family; 2 banks +Samtec_QTE-040-01-x-D_P0.8mm_Vertical: &QTE-040-01-x-D + meta: *QTE_meta + layout: {type: 'Terminal', width: 40.0, height: 5.97} + banks: {n: 2, diff: 0, pins: 40, space: 20.0, width: 16.4, height: 3.94} + pins: *QTE_pins + +Samtec_QTE-040-01-x-D-A_P0.8mm_Vertical: + <<: *QTE-040-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + # QTE family; 3 banks +Samtec_QTE-060-01-x-D_P0.8mm_Vertical: &QTE-060-01-x-D + meta: *QTE_meta + layout: {type: 'Terminal', width: 60.0, height: 5.97} + banks: {n: 3, diff: 0, pins: 40, space: 20.0, width: 16.4, height: 3.94} + pins: *QTE_pins + +Samtec_QTE-060-01-x-D-A_P0.8mm_Vertical: + <<: *QTE-060-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 58.48, y: -2.03} + # QTE family; 1 bank; differential +Samtec_QTE-014-01-x-D-DP_P0.8mm_Vertical: &QTE-014-01-x-D-DP + meta: &QTE-DP_meta + description: *QPairs_desc + tags: 'connector Samtec QPairs QTE mezzanine terminal vertical differential' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-dp-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf) + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, diff: 1, pins: 40, space: 20.0, width: 16.4, height: 3.94} + pins: *QTE_pins + +Samtec_QTE-014-01-x-D-DP-A_P0.8mm_Vertical: + <<: *QTE-014-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + +Samtec_QTE-014-01-x-D-DP-A-L_P0.8mm_Vertical: + <<: *QTE-014-01-x-D-DP + add-tags: 'alignment-pins latching' + width: 23.0 + holes: + - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.51} + # QTE family; 2 banks; differential +Samtec_QTE-028-01-x-D-DP_P0.8mm_Vertical: &QTE-028-01-x-D-DP + meta: *QTE-DP_meta + layout: {type: 'Terminal', width: 40.0, height: 5.97} + banks: {n: 2, diff: 2, pins: 40, space: 20.0, width: 16.4, height: 3.94} + pins: *QTE_pins + +Samtec_QTE-028-01-x-D-DP-A_P0.8mm_Vertical: + <<: *QTE-028-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + +Samtec_QTE-028-01-x-D-DP-A-L_P0.8mm_Vertical: + <<: *QTE-028-01-x-D-DP + add-tags: 'alignment-pins latching' + width: 23.0 + holes: + - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.51} + # QTE family; 3 banks; differential +Samtec_QTE-042-01-x-D-DP_P0.8mm_Vertical: &QTE-042-01-x-D-DP + meta: *QTE-DP_meta + layout: {type: 'Terminal', width: 60.0, height: 5.97} + banks: {n: 3, diff: 3, pins: 40, space: 20.0, width: 16.4, height: 3.94} + pins: *QTE_pins + +Samtec_QTE-042-01-x-D-DP-A_P0.8mm_Vertical: + <<: *QTE-042-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 58.48, y: -2.03} ################################################################################ # QSE family; 1 bank -# QSE family; 1 bank; differential # QSE family; 2 banks -# QSE family; 2 banks; differential # QSE family; 3 banks + +# QSE family; 1 bank; differential +# QSE family; 2 banks; differential # QSE family; 3 banks; differential From aa845e690e35c5e047ea60c0cacd315485714e8e Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 20 Jul 2019 15:54:34 -0700 Subject: [PATCH 13/62] Add QSE specifications to QStrip_Vertical.yaml; fix a differential pin generation issue in QStrip_Vertical.py --- .../Connector_Samtec/QStrip_Vertical.py | 37 +- .../Connector_Samtec/QStrip_Vertical.yaml | 438 +++++++++++------- 2 files changed, 292 insertions(+), 183 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 5a6b48730..703a87b63 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -81,16 +81,16 @@ def markerArrow(x, y, width, line_width, layer="F.Fab", angle=0, close=True): def generate_one_footprint(param, config, default_lib): fp = Footprint(param['name']) - + # Terminal or Socket mode mode = param['layout']['type'].capitalize() - + # Bank parameters banks = param['banks']['n'] bank_x = param['banks']['space'] bank_w = param['banks']['width'] bank_h = param['banks']['height'] - pins_per_bank = param['banks']['pins'] + bank_slots = param['banks']['slots'] ############################################################################ # Copper layer(s) @@ -103,7 +103,7 @@ def generate_one_footprint(param, config, default_lib): # Pin 1 position pin1 = Vector2D(0,0) - pin1.x = -(pins_per_bank / 4)*pitch + pitch/2 - ((banks-1) / 2)*bank_x + pin1.x = -(bank_slots / 4)*pitch + pitch/2 - ((banks-1) / 2)*bank_x if mode == "Terminal": pin1.y = -pad_y elif mode == "Socket": @@ -112,23 +112,26 @@ def generate_one_footprint(param, config, default_lib): raise ValueError("Connector type must be either 'Terminal' or 'Socket'") # Bank 1 center point - bank1_mid = pin1.x - pitch/2 + (pins_per_bank / 4)*pitch + bank1_mid = pin1.x - pitch/2 + (bank_slots / 4)*pitch # Place signal pads n = 1 # Pin counter pin = [] # Pin position list, organized by bank for b in range(0, banks): pin.append([]) - for p in range(pins_per_bank): + for slot in range(bank_slots): # Compute next pad location - pos = Vector2D(pin1.x + (p // 2)*pitch + b*bank_x, - pin1.y - (p % 2)*(2*pin1.y)) + pos = {'x': pin1.x + (slot // 2)*pitch + b*bank_x, + 'y': pin1.y - (slot % 2)*(2*pin1.y), + 'n': n+1, 'slot': slot} # Skip slots for differential banks if b < param['banks']['diff']: - if ((p+1) % 6 == 0 or # Skip every 3rd odd pin - (p+2) % 6 == 0 or # Skip every 3rd even pin - (p+3) > pins_per_bank): # Skip half-pair at end of bank + if ((slot+1) % 6 == 0 or # Skip every 3rd odd slot + (slot+2) % 6 == 0 or # Skip every 3rd even slot + # Only add end-of-bank pins if they are completing a pair + (slot+2 >= bank_slots and + pin[b][-2]['slot'] != slot-2)): continue # Create pad @@ -141,7 +144,7 @@ def generate_one_footprint(param, config, default_lib): layers = Pad.LAYERS_SMT, shape = Pad.SHAPE_RECT) fp.append(pad) - n = n + 1 + n += 1 # Ground pad parameters gnd_height = param['pins']['ground']['height'] @@ -299,7 +302,7 @@ def generate_one_footprint(param, config, default_lib): silk_rEnd[i]['x'] = -silk_rEnd[i]['x'] # Define right outline inner offset from the last pin # (if the last bank is differential, it does not perfectly mirror the first) - silk_rEnd[0]['x'] = silk_rEnd[-1]['x'] = pin[-1][-1].x + silk_pad + silk_rEnd[0]['x'] = silk_rEnd[-1]['x'] = pin[-1][-1]['x'] + silk_pad # Draw left and right end outlines fp.append(PolygoneLine(nodes = silk_lEnd, @@ -311,8 +314,8 @@ def generate_one_footprint(param, config, default_lib): # Draw outlines between banks for b in range(banks-1): - fp.extend([Line(start = (pin[b][-1].x + silk_pad, m*silk_y), - end = (pin[b+1][0].x - silk_pad, m*silk_y), + fp.extend([Line(start = (pin[b][-1]['x'] + silk_pad, m*silk_y), + end = (pin[b+1][0]['x'] - silk_pad, m*silk_y), layer = "F.SilkS", width = silk_line) for m in (-1,1)]) @@ -358,9 +361,9 @@ def generate_one_footprint(param, config, default_lib): # Pins or pairs/bank if param['banks']['diff'] == banks: # Differential mode: round up to nearest even number of pairs - pins_or_pairs = (pins_per_bank // 3) + (pins_per_bank // 3) % 2 + pins_or_pairs = (bank_slots // 3) + (bank_slots // 3) % 2 else: - pins_or_pairs = pins_per_bank + pins_or_pairs = bank_slots # Description desc = param['meta']['description'] diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index 3bf28c65e..ebbbcbc40 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -16,7 +16,7 @@ Samtec_QTH-030-01-x-D_P0.5mm_Vertical: &QTH-030-01-x-D [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, pins: 60, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: &QTH_pins signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -27,26 +27,26 @@ Samtec_QTH-030-01-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -Samtec_QTH-030-01-x-D-L_P0.5mm_Vertical: - <<: *QTH-030-01-x-D - add-tags: 'latching' - width: 23.0 - holes: - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} - -Samtec_QTH-030-01-x-D-A-L_P0.5mm_Vertical: - <<: *QTH-030-01-x-D - add-tags: 'alignment-pins latching' - width: 23.0 - holes: - - {drill: 1.02, space: 18.48, y: -2.03} - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +##Samtec_QTH-030-01-x-D-L_P0.5mm_Vertical: +## <<: *QTH-030-01-x-D +## add-tags: 'latching' +## width: 23.0 +## holes: +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +## +##Samtec_QTH-030-01-x-D-A-L_P0.5mm_Vertical: +## <<: *QTH-030-01-x-D +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 2 banks Samtec_QTH-060-01-x-D_P0.5mm_Vertical: &QTH-060-01-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, pins: 60, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 2, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins Samtec_QTH-060-01-x-D-A_P0.5mm_Vertical: @@ -55,26 +55,26 @@ Samtec_QTH-060-01-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -Samtec_QTH-060-01-x-D-L_P0.5mm_Vertical: - <<: *QTH-060-01-x-D - add-tags: 'latching' - width: 43.0 - holes: - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} - -Samtec_QTH-060-01-x-D-A-L_P0.5mm_Vertical: - <<: *QTH-060-01-x-D - add-tags: 'alignment-pins latching' - width: 43.0 - holes: - - {drill: 1.02, space: 38.48, y: -2.03} - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +##Samtec_QTH-060-01-x-D-L_P0.5mm_Vertical: +## <<: *QTH-060-01-x-D +## add-tags: 'latching' +## width: 43.0 +## holes: +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +## +##Samtec_QTH-060-01-x-D-A-L_P0.5mm_Vertical: +## <<: *QTH-060-01-x-D +## add-tags: 'alignment-pins latching' +## width: 43.0 +## holes: +## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 3 banks Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, pins: 60, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 3, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: @@ -92,7 +92,7 @@ Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, pins: 60, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 1, diff: 1, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: @@ -101,26 +101,26 @@ Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -Samtec_QTH-020-01-x-D-DP-L_P0.5mm_Vertical: - <<: *QTH-020-01-x-D-DP - add-tags: 'latching' - width: 23.0 - holes: - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} - -Samtec_QTH-020-01-x-D-DP-A-L_P0.5mm_Vertical: - <<: *QTH-020-01-x-D-DP - add-tags: 'alignment-pins latching' - width: 23.0 - holes: - - {drill: 1.02, space: 18.48, y: -2.03} - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +##Samtec_QTH-020-01-x-D-DP-L_P0.5mm_Vertical: +## <<: *QTH-020-01-x-D-DP +## add-tags: 'latching' +## width: 23.0 +## holes: +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +## +##Samtec_QTH-020-01-x-D-DP-A-L_P0.5mm_Vertical: +## <<: *QTH-020-01-x-D-DP +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 2 banks; differential Samtec_QTH-040-01-x-D-DP_P0.5mm_Vertical: &QTH-040-01-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, pins: 60, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 2, diff: 2, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins Samtec_QTH-040-01-x-D-DP-A_P0.5mm_Vertical: @@ -129,26 +129,26 @@ Samtec_QTH-040-01-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -Samtec_QTH-040-01-x-D-DP-L_P0.5mm_Vertical: - <<: *QTH-040-01-x-D-DP - add-tags: 'latching' - width: 43.0 - holes: - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} - -Samtec_QTH-040-01-x-D-DP-A-L_P0.5mm_Vertical: - <<: *QTH-040-01-x-D-DP - add-tags: 'alignment-pins latching' - width: 43.0 - holes: - - {drill: 1.02, space: 38.48, y: -2.03} - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +##Samtec_QTH-040-01-x-D-DP-L_P0.5mm_Vertical: +## <<: *QTH-040-01-x-D-DP +## add-tags: 'latching' +## width: 43.0 +## holes: +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +## +##Samtec_QTH-040-01-x-D-DP-A-L_P0.5mm_Vertical: +## <<: *QTH-040-01-x-D-DP +## add-tags: 'alignment-pins latching' +## width: 43.0 +## holes: +## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 3 banks; differential Samtec_QTH-060-01-x-D-DP_P0.5mm_Vertical: &QTH-060-01-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, pins: 60, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 3, diff: 3, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins Samtec_QTH-060-01-x-D-DP-A_P0.5mm_Vertical: @@ -170,7 +170,7 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 differential; {ds:s} layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 1, pins: 60, space: 20.0, width: 16.4, height: 3.9} + banks: {n: 3, diff: 1, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins holes: - {drill: 1.02, space: 58.48, y: -2.03} @@ -185,7 +185,7 @@ Samtec_QSH-030-01-x-D_P0.5mm_Vertical: &QSH-030-01-x-D [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, diff: 0, pins: 60, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: &QSH_pins signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} @@ -196,17 +196,17 @@ Samtec_QSH-030-01-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 20.13, y: 2.03} -Samtec_QSH-030-01-x-D-LC_P0.5mm_Vertical: - <<: *QSH-030-01-x-D - add-tags: 'locking-clips' - holes: - - {drill: 1.19, space: 20.13, y: 2.03} +##Samtec_QSH-030-01-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-030-01-x-D +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.19, space: 20.13, y: 2.03} # QSH family; 2 banks Samtec_QSH-060-01-x-D_P0.5mm_Vertical: &QSH-060-01-x-D meta: *QSH_meta layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, diff: 0, pins: 60, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 2, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins Samtec_QSH-060-01-x-D-A_P0.5mm_Vertical: @@ -215,17 +215,17 @@ Samtec_QSH-060-01-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 40.13, y: 2.03} -Samtec_QSH-060-01-x-D-LC_P0.5mm_Vertical: - <<: *QSH-060-01-x-D - add-tags: 'locking-clips' - holes: - - {drill: 1.19, space: 40.13, y: 2.03} +##Samtec_QSH-060-01-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-060-01-x-D +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.19, space: 40.13, y: 2.03} # QSH family; 3 banks Samtec_QSH-090-01-x-D_P0.5mm_Vertical: &QSH-090-01-x-D meta: *QSH_meta layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 0, pins: 60, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 3, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins Samtec_QSH-090-01-x-D-A_P0.5mm_Vertical: @@ -234,11 +234,11 @@ Samtec_QSH-090-01-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 60.13, y: 2.03} -Samtec_QSH-090-01-x-D-LC_P0.5mm_Vertical: - <<: *QSH-090-01-x-D - add-tags: 'locking-clips' - holes: - - {drill: 1.19, space: 60.13, y: 2.03} +##Samtec_QSH-090-01-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-090-01-x-D +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.19, space: 60.13, y: 2.03} # QSH family; 1 bank; differential Samtec_QSH-020-01-x-D-DP_P0.5mm_Vertical: &QSH-020-01-x-D-DP @@ -249,7 +249,7 @@ Samtec_QSH-020-01-x-D-DP_P0.5mm_Vertical: &QSH-020-01-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, diff: 1, pins: 60, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 1, diff: 1, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins Samtec_QSH-020-01-x-D-DP-A_P0.5mm_Vertical: @@ -258,17 +258,17 @@ Samtec_QSH-020-01-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 20.13, y: 2.03} -Samtec_QSH-020-01-x-D-DP-LC_P0.5mm_Vertical: - <<: *QSH-020-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.19, space: 20.13, y: 2.03} +##Samtec_QSH-020-01-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-020-01-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.19, space: 20.13, y: 2.03} # QSH family; 2 banks; differential Samtec_QSH-040-01-x-D-DP_P0.5mm_Vertical: &QSH-040-01-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, diff: 2, pins: 60, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 2, diff: 2, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins Samtec_QSH-040-01-x-D-DP-A_P0.5mm_Vertical: @@ -276,16 +276,16 @@ Samtec_QSH-040-01-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 40.13, y: 2.03} -Samtec_QSH-040-01-x-D-DP-LC_P0.5mm_Vertical: - <<: *QSH-040-01-x-D-DP - holes: - - {drill: 1.19, space: 40.13, y: 2.03} +##Samtec_QSH-040-01-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-040-01-x-D-DP +## holes: +## - {drill: 1.19, space: 40.13, y: 2.03} # QSH family; 3 banks; differential Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 3, pins: 60, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 3, diff: 3, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins Samtec_QSH-060-01-x-D-DP-A_P0.5mm_Vertical: @@ -293,10 +293,10 @@ Samtec_QSH-060-01-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 60.13, y: 2.03} -Samtec_QSH-060-01-x-D-DP-LC_P0.5mm_Vertical: - <<: *QSH-060-01-x-D-DP - holes: - - {drill: 1.19, space: 60.13, y: 2.03} +##Samtec_QSH-060-01-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-060-01-x-D-DP +## holes: +## - {drill: 1.19, space: 60.13, y: 2.03} # QSH family; 3 banks; specialized Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: @@ -311,7 +311,7 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 differential; {ds:s} layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 1, pins: 60, space: 20.0, width: 15.89, height: 3.81} + banks: {n: 3, diff: 1, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins holes: - {drill: 1.02, space: 60.13, y: 2.03} @@ -326,7 +326,7 @@ Samtec_QTS-025-01-x-D_P0.635mm_Vertical: &QTS-025-01-x-D [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-01-x-d-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, pins: 50, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: &QTS_pins signal: {pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} ground: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -341,7 +341,7 @@ Samtec_QTS-025-01-x-D-A_P0.635mm_Vertical: Samtec_QTS-050-01-x-D_P0.635mm_Vertical: &QTS-050-01-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, pins: 50, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 2, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins Samtec_QTS-050-01-x-D-A_P0.635mm_Vertical: @@ -354,7 +354,7 @@ Samtec_QTS-050-01-x-D-A_P0.635mm_Vertical: Samtec_QTS-075-01-x-D_P0.635mm_Vertical: &QTS-075-01-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, pins: 50, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 3, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins Samtec_QTS-075-01-x-D-A_P0.635mm_Vertical: @@ -372,7 +372,7 @@ Samtec_QTS-016-01-x-D-DP_P0.635mm_Vertical: &QTS-016-01-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, pins: 50, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 1, diff: 1, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins Samtec_QTS-016-01-x-D-DP-A_P0.635mm_Vertical: @@ -381,17 +381,17 @@ Samtec_QTS-016-01-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -Samtec_QTS-016-01-x-D-DP-LC_P0.635mm_Vertical: - <<: *QTS-016-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.16, space: 18.48, y: -2.03} +##Samtec_QTS-016-01-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-016-01-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 18.48, y: -2.03} # QTS family; 2 banks; differential Samtec_QTS-032-01-x-D-DP_P0.635mm_Vertical: &QTS-032-01-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, pins: 50, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 2, diff: 2, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins Samtec_QTS-032-01-x-D-DP-A_P0.635mm_Vertical: @@ -400,17 +400,17 @@ Samtec_QTS-032-01-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -Samtec_QTS-032-01-x-D-DP-LC_P0.635mm_Vertical: - <<: *QTS-032-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.16, space: 38.48, y: -2.03} +##Samtec_QTS-032-01-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-032-01-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 38.48, y: -2.03} # QTS family; 3 banks; differential Samtec_QTS-048-01-x-D-DP_P0.635mm_Vertical: &QTS-048-01-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, pins: 50, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 3, diff: 3, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins Samtec_QTS-048-01-x-D-DP-A_P0.635mm_Vertical: @@ -419,11 +419,11 @@ Samtec_QTS-048-01-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 58.48, y: -2.03} -Samtec_QTS-048-01-x-D-DP-LC_P0.635mm_Vertical: - <<: *QTS-048-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.16, space: 58.48, y: -2.03} +##Samtec_QTS-048-01-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-048-01-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 58.48, y: -2.03} ################################################################################ # QSS family; 1 bank @@ -435,7 +435,7 @@ Samtec_QSS-025-01-x-D_P0.635mm_Vertical: &QSS-025-01-x-D [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qss-xxx-01-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 0, pins: 50, space: 20.0, width: 15.89, height: 3.66} + banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: &QSS_pins signal: {pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} ground: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} @@ -444,33 +444,33 @@ Samtec_QSS-025-01-x-D-A_P0.635mm_Vertical: <<: *QSS-025-01-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.0, y: 2.65} + - {drill: 1.02, space: 20.0, y: 2.67} # QSS family; 2 banks Samtec_QSS-050-01-x-D_P0.635mm_Vertical: &QSS-050-01-x-D meta: *QSS_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 0, pins: 50, space: 20.0, width: 15.89, height: 3.66} + banks: {n: 2, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins Samtec_QSS-050-01-x-D-A_P0.635mm_Vertical: <<: *QSS-050-01-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.0, y: 2.65} + - {drill: 1.02, space: 40.0, y: 2.67} # QSS family; 3 banks Samtec_QSS-075-01-x-D_P0.635mm_Vertical: &QSS-075-01-x-D meta: *QSS_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 0, pins: 50, space: 20.0, width: 15.89, height: 3.66} + banks: {n: 3, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins Samtec_QSS-075-01-x-D-A_P0.635mm_Vertical: <<: *QSS-075-01-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.0, y: 2.65} + - {drill: 1.02, space: 60.0, y: 2.67} # QSS family; 1 bank; differential Samtec_QSS-016-01-x-D-DP_P0.635mm_Vertical: &QSS-016-01-x-D-DP @@ -481,58 +481,58 @@ Samtec_QSS-016-01-x-D-DP_P0.635mm_Vertical: &QSS-016-01-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qss-xxx-01-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 1, pins: 50, space: 20.0, width: 15.89, height: 3.66} + banks: {n: 1, diff: 1, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins Samtec_QSS-016-01-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-016-01-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.0, y: 2.65} + - {drill: 1.02, space: 20.0, y: 2.67} -Samtec_QSS-016-01-x-D-DP-LC_P0.635mm_Vertical: - <<: *QSS-016-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.16, space: 20.0, y: 2.65} +##Samtec_QSS-016-01-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-016-01-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 20.0, y: 2.67} # QSS family; 2 banks; differential Samtec_QSS-032-01-x-D-DP_P0.635mm_Vertical: &QSS-032-01-x-D-DP meta: *QSS-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 2, pins: 50, space: 20.0, width: 15.89, height: 3.66} + banks: {n: 2, diff: 2, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins Samtec_QSS-032-01-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-032-01-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.0, y: 2.65} + - {drill: 1.02, space: 40.0, y: 2.67} -Samtec_QSS-032-01-x-D-DP-LC_P0.635mm_Vertical: - <<: *QSS-032-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.16, space: 40.0, y: 2.65} +##Samtec_QSS-032-01-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-032-01-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 40.0, y: 2.67} # QSS family; 3 banks; differential Samtec_QSS-048-01-x-D-DP_P0.635mm_Vertical: &QSS-048-01-x-D-DP meta: *QSS-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 3, pins: 50, space: 20.0, width: 15.89, height: 3.66} + banks: {n: 3, diff: 3, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins Samtec_QSS-048-01-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-048-01-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.0, y: 2.65} + - {drill: 1.02, space: 60.0, y: 2.67} -Samtec_QSS-048-01-x-D-DP-LC_P0.635mm_Vertical: - <<: *QSS-048-01-x-D-DP - add-tags: 'locking-clips' - holes: - - {drill: 1.16, space: 60.0, y: 2.65} +##Samtec_QSS-048-01-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-048-01-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 60.0, y: 2.67} ################################################################################ # QTE family; 1 bank @@ -544,7 +544,7 @@ Samtec_QTE-020-01-x-D_P0.8mm_Vertical: &QTE-020-01-x-D [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, pins: 40, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: &QTE_pins signal: {pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -555,11 +555,19 @@ Samtec_QTE-020-01-x-D-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} +##Samtec_QTE-020-01-x-D-A-L_P0.8mm_Vertical: +## <<: *QTE-020-01-x-D +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} + # QTE family; 2 banks Samtec_QTE-040-01-x-D_P0.8mm_Vertical: &QTE-040-01-x-D meta: *QTE_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, pins: 40, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 2, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins Samtec_QTE-040-01-x-D-A_P0.8mm_Vertical: @@ -568,11 +576,19 @@ Samtec_QTE-040-01-x-D-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} +##Samtec_QTE-040-01-x-D-A-L_P0.8mm_Vertical: +## <<: *QTE-040-01-x-D +## add-tags: 'alignment-pins latching' +## width: 43.0 +## holes: +## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} + # QTE family; 3 banks Samtec_QTE-060-01-x-D_P0.8mm_Vertical: &QTE-060-01-x-D meta: *QTE_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, pins: 40, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 3, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins Samtec_QTE-060-01-x-D-A_P0.8mm_Vertical: @@ -590,7 +606,7 @@ Samtec_QTE-014-01-x-D-DP_P0.8mm_Vertical: &QTE-014-01-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, pins: 40, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 1, diff: 1, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins Samtec_QTE-014-01-x-D-DP-A_P0.8mm_Vertical: @@ -599,19 +615,19 @@ Samtec_QTE-014-01-x-D-DP-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -Samtec_QTE-014-01-x-D-DP-A-L_P0.8mm_Vertical: - <<: *QTE-014-01-x-D-DP - add-tags: 'alignment-pins latching' - width: 23.0 - holes: - - {drill: 1.02, space: 18.48, y: -2.03} - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.51} +##Samtec_QTE-014-01-x-D-DP-A-L_P0.8mm_Vertical: +## <<: *QTE-014-01-x-D-DP +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.51} # QTE family; 2 banks; differential Samtec_QTE-028-01-x-D-DP_P0.8mm_Vertical: &QTE-028-01-x-D-DP meta: *QTE-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, pins: 40, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 2, diff: 2, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins Samtec_QTE-028-01-x-D-DP-A_P0.8mm_Vertical: @@ -620,19 +636,19 @@ Samtec_QTE-028-01-x-D-DP-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -Samtec_QTE-028-01-x-D-DP-A-L_P0.8mm_Vertical: - <<: *QTE-028-01-x-D-DP - add-tags: 'alignment-pins latching' - width: 23.0 - holes: - - {drill: 1.02, space: 38.48, y: -2.03} - - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.51} +##Samtec_QTE-028-01-x-D-DP-A-L_P0.8mm_Vertical: +## <<: *QTE-028-01-x-D-DP +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.51} # QTE family; 3 banks; differential Samtec_QTE-042-01-x-D-DP_P0.8mm_Vertical: &QTE-042-01-x-D-DP meta: *QTE-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, pins: 40, space: 20.0, width: 16.4, height: 3.94} + banks: {n: 3, diff: 3, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins Samtec_QTE-042-01-x-D-DP-A_P0.8mm_Vertical: @@ -643,9 +659,99 @@ Samtec_QTE-042-01-x-D-DP-A_P0.8mm_Vertical: ################################################################################ # QSE family; 1 bank +Samtec_QSE-020-01-x-D_P0.8mm_Vertical: &QSE-020-01-x-D + meta: &QSE_meta + description: *QStrip_desc + tags: 'connector Samtec QStrip QSE mezzanine socket vertical single-ended' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qse-xxx-01-xxx-d-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qse-xxx-01-x-d-xx-footprint.pdf) + layout: {type: 'Socket', width: 21.27, height: 7.24} + banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} + pins: &QSE_pins + signal: {pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} + ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + +Samtec_QSE-020-01-x-D-A_P0.8mm_Vertical: + <<: *QSE-020-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 20.13, y: 2.67} + +##Samtec_QSE-020-01-x-D-A-L_P0.8mm_Vertical: +## <<: *QSE-020-01-x-D +## add-tags: 'alignment-pins latching' +## width: 26.61 +## holes: +## - {drill: 1.02, space: 20.13, y: 2.67} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 24.36, y: -0.51} + # QSE family; 2 banks +Samtec_QSE-040-01-x-D_P0.8mm_Vertical: &QSE-040-01-x-D + meta: *QSE_meta + layout: {type: 'Socket', width: 41.28, height: 7.24} + banks: {n: 2, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} + pins: *QSE_pins + +Samtec_QSE-040-01-x-D-A_P0.8mm_Vertical: + <<: *QSE-040-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 40.13, y: 2.67} + # QSE family; 3 banks +Samtec_QSE-060-01-x-D_P0.8mm_Vertical: &QSE-060-01-x-D + meta: *QSE_meta + layout: {type: 'Socket', width: 61.28, height: 7.24} + banks: {n: 3, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} + pins: *QSE_pins + +Samtec_QSE-060-01-x-D-A_P0.8mm_Vertical: + <<: *QSE-060-01-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 60.13, y: 2.67} # QSE family; 1 bank; differential +Samtec_QSE-014-01-x-D-DP_P0.8mm_Vertical: &QSE-014-01-x-D-DP + meta: &QSE-DP_meta + description: *QPairs_desc + tags: 'connector Samtec QPairs QSE mezzanine socket vertical differential' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-dp-xxx-xxxxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-dp-xxx-footprint.pdf) + layout: {type: 'Socket', width: 21.27, height: 7.24} + banks: {n: 1, diff: 1, slots: 40, space: 20.0, width: 16.0, height: 3.8} + pins: *QSE_pins + +Samtec_QSE-014-01-x-D-DP-A_P0.8mm_Vertical: + <<: *QSE-014-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 20.13, y: 2.67} + # QSE family; 2 banks; differential +Samtec_QSE-028-01-x-D-DP_P0.8mm_Vertical: &QSE-028-01-x-D-DP + meta: *QSE-DP_meta + layout: {type: 'Socket', width: 41.28, height: 7.24} + banks: {n: 2, diff: 2, slots: 40, space: 20.0, width: 16.0, height: 3.8} + pins: *QSE_pins + +Samtec_QSE-028-01-x-D-DP-A_P0.8mm_Vertical: + <<: *QSE-028-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 40.13, y: 2.67} + # QSE family; 3 banks; differential +Samtec_QSE-042-01-x-D-DP_P0.8mm_Vertical: &QSE-042-01-x-D-DP + meta: *QSE-DP_meta + layout: {type: 'Socket', width: 61.28, height: 7.24} + banks: {n: 3, diff: 3, slots: 40, space: 20.0, width: 16.0, height: 3.8} + pins: *QSE_pins + +Samtec_QSE-042-01-x-D-DP-A_P0.8mm_Vertical: + <<: *QSE-042-01-x-D-DP + add-tags: 'alignment-pins' + holes: + - {drill: 1.02, space: 60.13, y: 2.67} From 1a378fe1ed2f0e16f9048f2892636afc1f95f01c Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 20 Jul 2019 17:06:26 -0700 Subject: [PATCH 14/62] Minor edits/clean-up --- .../Connector_Samtec/QStrip_Vertical.py | 12 +++++------- .../Connector_Samtec/QStrip_Vertical.yaml | 16 ++++++---------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 703a87b63..23f98ac34 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -5,6 +5,7 @@ --- Footprint_Name: + library: 'library name' # [optional] KiCad library to use meta: # Footprint metadata pn: 'part number' # [optional], overrides automatic part number detection description: 'Brief description of the footprint' @@ -18,7 +19,7 @@ width: !!float mm # [optional] overrides layout::width banks: n: !!int # number of banks in the connector - pins: !!int even # number of pins in a bank + slots: !!int even # number of pin positions in a bank diff: !!int <= n # number of differential banks space: !!float mm # distance between adjacent banks width: !!float mm # Width of outline on F.Fab @@ -40,11 +41,11 @@ holes: # [optional] hole pair specifications - # Hole spec. 1 name: "" # [optional] name/number for plated holes - drill: !!float mm # drill diameter - pad: !!float mm # [optional] PTH pad diameter + drill: !!float mm # drill diameter (a list produces an oval) + pad: !!float mm # [optional] PTH pad diameter (a list produces an oval) space: !!float mm # distance between holes mirrored about the x-axis y: !!float mm # vertical offset - - # Hole spec. 2 + - # Hole spec. 2... ... """ @@ -439,9 +440,6 @@ def generate_one_footprint(param, config, default_lib): print(path, "empty, skipping...") continue - if '_local' in footprints: - del footprints['_local'] - for fp_name in footprints: print(" - Generate {}.kicad_mod".format(fp_name)) fp_params = footprints.get(fp_name) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index ebbbcbc40..bee612444 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -1,16 +1,10 @@ -_local: - - &QStrip_desc >- - Samtec {pn:s} {pitch:1.2f}mm Q Strip® High-Speed Ground Plane {type:s} Strip; - {banks:d} bank(s), {pins:d} pins/bank; {ds:s} - - &QPairs_desc >- - Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, - Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank; {ds:s} - ################################################################################ # QTH family; 1 bank Samtec_QTH-030-01-x-D_P0.5mm_Vertical: &QTH-030-01-x-D meta: &QTH_meta - description: *QStrip_desc + description: &QStrip_desc >- + Samtec {pn:s} {pitch:1.2f}mm Q Strip® High-Speed Ground Plane {type:s} Strip; + {banks:d} bank(s), {pins:d} pins/bank; {ds:s} tags: 'connector Samtec QStrip QTH mezzanine terminal vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), @@ -86,7 +80,9 @@ Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: # QTH family; 1 bank; differential Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP meta: &QTH-DP_meta - description: *QPairs_desc + description: &QPairs_desc >- + Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, + Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank; {ds:s} tags: 'connector Samtec QPairs QTH mezzanine terminal vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf), From 09d3077f807561b53ed6de832b9545a3a8538662 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 20 Jul 2019 23:11:40 -0700 Subject: [PATCH 15/62] Make height option generic for Q Strip footprints (-01 changed to -xx) --- .../Connector_Samtec/QStrip_Vertical.yaml | 332 +++++++++--------- 1 file changed, 166 insertions(+), 166 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index bee612444..2da816b76 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -1,6 +1,6 @@ ################################################################################ # QTH family; 1 bank -Samtec_QTH-030-01-x-D_P0.5mm_Vertical: &QTH-030-01-x-D +Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D meta: &QTH_meta description: &QStrip_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Strip® High-Speed Ground Plane {type:s} Strip; @@ -15,21 +15,21 @@ Samtec_QTH-030-01-x-D_P0.5mm_Vertical: &QTH-030-01-x-D signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} -Samtec_QTH-030-01-x-D-A_P0.5mm_Vertical: - <<: *QTH-030-01-x-D +Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: + <<: *QTH-030-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTH-030-01-x-D-L_P0.5mm_Vertical: -## <<: *QTH-030-01-x-D +##Samtec_QTH-030-xx-x-D-L_P0.5mm_Vertical: +## <<: *QTH-030-xx-x-D ## add-tags: 'latching' ## width: 23.0 ## holes: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} ## -##Samtec_QTH-030-01-x-D-A-L_P0.5mm_Vertical: -## <<: *QTH-030-01-x-D +##Samtec_QTH-030-xx-x-D-A-L_P0.5mm_Vertical: +## <<: *QTH-030-xx-x-D ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: @@ -37,27 +37,27 @@ Samtec_QTH-030-01-x-D-A_P0.5mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 2 banks -Samtec_QTH-060-01-x-D_P0.5mm_Vertical: &QTH-060-01-x-D +Samtec_QTH-060-xx-x-D_P0.5mm_Vertical: &QTH-060-xx-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins -Samtec_QTH-060-01-x-D-A_P0.5mm_Vertical: - <<: *QTH-060-01-x-D +Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical: + <<: *QTH-060-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTH-060-01-x-D-L_P0.5mm_Vertical: -## <<: *QTH-060-01-x-D +##Samtec_QTH-060-xx-x-D-L_P0.5mm_Vertical: +## <<: *QTH-060-xx-x-D ## add-tags: 'latching' ## width: 43.0 ## holes: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} ## -##Samtec_QTH-060-01-x-D-A-L_P0.5mm_Vertical: -## <<: *QTH-060-01-x-D +##Samtec_QTH-060-xx-x-D-A-L_P0.5mm_Vertical: +## <<: *QTH-060-xx-x-D ## add-tags: 'alignment-pins latching' ## width: 43.0 ## holes: @@ -65,20 +65,20 @@ Samtec_QTH-060-01-x-D-A_P0.5mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 3 banks -Samtec_QTH-090-01-x-D_P0.5mm_Vertical: &QTH-090-01-x-D +Samtec_QTH-090-xx-x-D_P0.5mm_Vertical: &QTH-090-xx-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins -Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical: - <<: *QTH-090-01-x-D +Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical: + <<: *QTH-090-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 58.48, y: -2.03} # QTH family; 1 bank; differential -Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP +Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP meta: &QTH-DP_meta description: &QPairs_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, @@ -91,21 +91,21 @@ Samtec_QTH-020-01-x-D-DP_P0.5mm_Vertical: &QTH-020-01-x-D-DP banks: {n: 1, diff: 1, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins -Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QTH-020-01-x-D-DP +Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical: + <<: *QTH-020-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTH-020-01-x-D-DP-L_P0.5mm_Vertical: -## <<: *QTH-020-01-x-D-DP +##Samtec_QTH-020-xx-x-D-DP-L_P0.5mm_Vertical: +## <<: *QTH-020-xx-x-D-DP ## add-tags: 'latching' ## width: 23.0 ## holes: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} ## -##Samtec_QTH-020-01-x-D-DP-A-L_P0.5mm_Vertical: -## <<: *QTH-020-01-x-D-DP +##Samtec_QTH-020-xx-x-D-DP-A-L_P0.5mm_Vertical: +## <<: *QTH-020-xx-x-D-DP ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: @@ -113,27 +113,27 @@ Samtec_QTH-020-01-x-D-DP-A_P0.5mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 2 banks; differential -Samtec_QTH-040-01-x-D-DP_P0.5mm_Vertical: &QTH-040-01-x-D-DP +Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical: &QTH-040-xx-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 2, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins -Samtec_QTH-040-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QTH-040-01-x-D-DP +Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical: + <<: *QTH-040-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTH-040-01-x-D-DP-L_P0.5mm_Vertical: -## <<: *QTH-040-01-x-D-DP +##Samtec_QTH-040-xx-x-D-DP-L_P0.5mm_Vertical: +## <<: *QTH-040-xx-x-D-DP ## add-tags: 'latching' ## width: 43.0 ## holes: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} ## -##Samtec_QTH-040-01-x-D-DP-A-L_P0.5mm_Vertical: -## <<: *QTH-040-01-x-D-DP +##Samtec_QTH-040-xx-x-D-DP-A-L_P0.5mm_Vertical: +## <<: *QTH-040-xx-x-D-DP ## add-tags: 'alignment-pins latching' ## width: 43.0 ## holes: @@ -141,14 +141,14 @@ Samtec_QTH-040-01-x-D-DP-A_P0.5mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 3 banks; differential -Samtec_QTH-060-01-x-D-DP_P0.5mm_Vertical: &QTH-060-01-x-D-DP +Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical: &QTH-060-xx-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 3, slots: 60, space: 20.0, width: 16.5, height: 4.0} pins: *QTH_pins -Samtec_QTH-060-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QTH-060-01-x-D-DP +Samtec_QTH-060-xx-x-D-DP-A_P0.5mm_Vertical: + <<: *QTH-060-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 58.48, y: -2.03} @@ -173,124 +173,124 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: ################################################################################ # QSH family; 1 bank -Samtec_QSH-030-01-x-D_P0.5mm_Vertical: &QSH-030-01-x-D +Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D meta: &QSH_meta description: *QStrip_desc tags: 'connector Samtec QStrip QSH mezzanine socket vertical single-ended' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-xx-footprint.pdf) + [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: &QSH_pins signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} -Samtec_QSH-030-01-x-D-A_P0.5mm_Vertical: - <<: *QSH-030-01-x-D +Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: + <<: *QSH-030-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 20.13, y: 2.03} -##Samtec_QSH-030-01-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-030-01-x-D +##Samtec_QSH-030-xx-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-030-xx-x-D ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.19, space: 20.13, y: 2.03} # QSH family; 2 banks -Samtec_QSH-060-01-x-D_P0.5mm_Vertical: &QSH-060-01-x-D +Samtec_QSH-060-xx-x-D_P0.5mm_Vertical: &QSH-060-xx-x-D meta: *QSH_meta layout: {type: 'Socket', width: 41.31, height: 7.24} banks: {n: 2, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins -Samtec_QSH-060-01-x-D-A_P0.5mm_Vertical: - <<: *QSH-060-01-x-D +Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical: + <<: *QSH-060-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 40.13, y: 2.03} -##Samtec_QSH-060-01-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-060-01-x-D +##Samtec_QSH-060-xx-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-060-xx-x-D ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.19, space: 40.13, y: 2.03} # QSH family; 3 banks -Samtec_QSH-090-01-x-D_P0.5mm_Vertical: &QSH-090-01-x-D +Samtec_QSH-090-xx-x-D_P0.5mm_Vertical: &QSH-090-xx-x-D meta: *QSH_meta layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins -Samtec_QSH-090-01-x-D-A_P0.5mm_Vertical: - <<: *QSH-090-01-x-D +Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: + <<: *QSH-090-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 60.13, y: 2.03} -##Samtec_QSH-090-01-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-090-01-x-D +##Samtec_QSH-090-xx-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-090-xx-x-D ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.19, space: 60.13, y: 2.03} # QSH family; 1 bank; differential -Samtec_QSH-020-01-x-D-DP_P0.5mm_Vertical: &QSH-020-01-x-D-DP +Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP meta: &QSH-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QSH mezzanine socket vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-01-x-d-dp-xx-footprint.pdf) + [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} banks: {n: 1, diff: 1, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins -Samtec_QSH-020-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QSH-020-01-x-D-DP +Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical: + <<: *QSH-020-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 20.13, y: 2.03} -##Samtec_QSH-020-01-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-020-01-x-D-DP +##Samtec_QSH-020-xx-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-020-xx-x-D-DP ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.19, space: 20.13, y: 2.03} # QSH family; 2 banks; differential -Samtec_QSH-040-01-x-D-DP_P0.5mm_Vertical: &QSH-040-01-x-D-DP +Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical: &QSH-040-xx-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 41.31, height: 7.24} banks: {n: 2, diff: 2, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins -Samtec_QSH-040-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QSH-040-01-x-D-DP +Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical: + <<: *QSH-040-xx-x-D-DP holes: - {drill: 1.02, space: 40.13, y: 2.03} -##Samtec_QSH-040-01-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-040-01-x-D-DP +##Samtec_QSH-040-xx-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-040-xx-x-D-DP ## holes: ## - {drill: 1.19, space: 40.13, y: 2.03} # QSH family; 3 banks; differential -Samtec_QSH-060-01-x-D-DP_P0.5mm_Vertical: &QSH-060-01-x-D-DP +Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical: &QSH-060-xx-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, diff: 3, slots: 60, space: 20.0, width: 16.0, height: 3.8} pins: *QSH_pins -Samtec_QSH-060-01-x-D-DP-A_P0.5mm_Vertical: - <<: *QSH-060-01-x-D-DP +Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical: + <<: *QSH-060-xx-x-D-DP holes: - {drill: 1.02, space: 60.13, y: 2.03} -##Samtec_QSH-060-01-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-060-01-x-D-DP +##Samtec_QSH-060-xx-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-060-xx-x-D-DP ## holes: ## - {drill: 1.19, space: 60.13, y: 2.03} @@ -314,53 +314,53 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: ################################################################################ # QTS family; 1 bank -Samtec_QTS-025-01-x-D_P0.635mm_Vertical: &QTS-025-01-x-D +Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D meta: &QTS_meta description: *QStrip_desc tags: 'connector Samtec QStrip QTS mezzanine terminal vertical' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qts-xxx-01-x-d-xx-footprint.pdf) + [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: &QTS_pins signal: {pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} ground: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} -Samtec_QTS-025-01-x-D-A_P0.635mm_Vertical: - <<: *QTS-025-01-x-D +Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical: + <<: *QTS-025-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 18.48, y: -2.03} # QTS family; 2 banks -Samtec_QTS-050-01-x-D_P0.635mm_Vertical: &QTS-050-01-x-D +Samtec_QTS-050-xx-x-D_P0.635mm_Vertical: &QTS-050-xx-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins -Samtec_QTS-050-01-x-D-A_P0.635mm_Vertical: - <<: *QTS-050-01-x-D +Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical: + <<: *QTS-050-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 38.48, y: -2.03} # QTS family; 3 banks -Samtec_QTS-075-01-x-D_P0.635mm_Vertical: &QTS-075-01-x-D +Samtec_QTS-075-xx-x-D_P0.635mm_Vertical: &QTS-075-xx-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins -Samtec_QTS-075-01-x-D-A_P0.635mm_Vertical: - <<: *QTS-075-01-x-D +Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical: + <<: *QTS-075-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 58.48, y: -2.03} # QTS family; 1 bank; differential -Samtec_QTS-016-01-x-D-DP_P0.635mm_Vertical: &QTS-016-01-x-D-DP +Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical: &QTS-016-xx-x-D-DP meta: &QTS-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QTS mezzanine terminal vertical differential' @@ -371,168 +371,168 @@ Samtec_QTS-016-01-x-D-DP_P0.635mm_Vertical: &QTS-016-01-x-D-DP banks: {n: 1, diff: 1, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins -Samtec_QTS-016-01-x-D-DP-A_P0.635mm_Vertical: - <<: *QTS-016-01-x-D-DP +Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical: + <<: *QTS-016-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTS-016-01-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-016-01-x-D-DP +##Samtec_QTS-016-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-016-xx-x-D-DP ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.16, space: 18.48, y: -2.03} # QTS family; 2 banks; differential -Samtec_QTS-032-01-x-D-DP_P0.635mm_Vertical: &QTS-032-01-x-D-DP +Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical: &QTS-032-xx-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 2, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins -Samtec_QTS-032-01-x-D-DP-A_P0.635mm_Vertical: - <<: *QTS-032-01-x-D-DP +Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical: + <<: *QTS-032-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTS-032-01-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-032-01-x-D-DP +##Samtec_QTS-032-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-032-xx-x-D-DP ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.16, space: 38.48, y: -2.03} # QTS family; 3 banks; differential -Samtec_QTS-048-01-x-D-DP_P0.635mm_Vertical: &QTS-048-01-x-D-DP +Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical: &QTS-048-xx-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 3, slots: 50, space: 20.0, width: 16.5, height: 4.0} pins: *QTS_pins -Samtec_QTS-048-01-x-D-DP-A_P0.635mm_Vertical: - <<: *QTS-048-01-x-D-DP +Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: + <<: *QTS-048-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 58.48, y: -2.03} -##Samtec_QTS-048-01-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-048-01-x-D-DP +##Samtec_QTS-048-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-048-xx-x-D-DP ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.16, space: 58.48, y: -2.03} ################################################################################ # QSS family; 1 bank -Samtec_QSS-025-01-x-D_P0.635mm_Vertical: &QSS-025-01-x-D +Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D meta: &QSS_meta description: *QStrip_desc tags: 'connector Samtec QStrip QSS mezzanine socket vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qss-xxx-01-x-d-xx-footprint.pdf) + [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: &QSS_pins signal: {pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} ground: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} -Samtec_QSS-025-01-x-D-A_P0.635mm_Vertical: - <<: *QSS-025-01-x-D +Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical: + <<: *QSS-025-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 20.0, y: 2.67} # QSS family; 2 banks -Samtec_QSS-050-01-x-D_P0.635mm_Vertical: &QSS-050-01-x-D +Samtec_QSS-050-xx-x-D_P0.635mm_Vertical: &QSS-050-xx-x-D meta: *QSS_meta layout: {type: 'Socket', width: 41.28, height: 7.24} banks: {n: 2, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins -Samtec_QSS-050-01-x-D-A_P0.635mm_Vertical: - <<: *QSS-050-01-x-D +Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical: + <<: *QSS-050-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 40.0, y: 2.67} # QSS family; 3 banks -Samtec_QSS-075-01-x-D_P0.635mm_Vertical: &QSS-075-01-x-D +Samtec_QSS-075-xx-x-D_P0.635mm_Vertical: &QSS-075-xx-x-D meta: *QSS_meta layout: {type: 'Socket', width: 61.28, height: 7.24} banks: {n: 3, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins -Samtec_QSS-075-01-x-D-A_P0.635mm_Vertical: - <<: *QSS-075-01-x-D +Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical: + <<: *QSS-075-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 60.0, y: 2.67} # QSS family; 1 bank; differential -Samtec_QSS-016-01-x-D-DP_P0.635mm_Vertical: &QSS-016-01-x-D-DP +Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP meta: &QSS-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QSS mezzanine socket vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qss-xxx-01-x-d-dp-xx-footprint.pdf) + [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 1, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins -Samtec_QSS-016-01-x-D-DP-A_P0.635mm_Vertical: - <<: *QSS-016-01-x-D-DP +Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: + <<: *QSS-016-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 20.0, y: 2.67} -##Samtec_QSS-016-01-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-016-01-x-D-DP +##Samtec_QSS-016-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-016-xx-x-D-DP ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.16, space: 20.0, y: 2.67} # QSS family; 2 banks; differential -Samtec_QSS-032-01-x-D-DP_P0.635mm_Vertical: &QSS-032-01-x-D-DP +Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical: &QSS-032-xx-x-D-DP meta: *QSS-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} banks: {n: 2, diff: 2, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins -Samtec_QSS-032-01-x-D-DP-A_P0.635mm_Vertical: - <<: *QSS-032-01-x-D-DP +Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: + <<: *QSS-032-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 40.0, y: 2.67} -##Samtec_QSS-032-01-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-032-01-x-D-DP +##Samtec_QSS-032-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-032-xx-x-D-DP ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.16, space: 40.0, y: 2.67} # QSS family; 3 banks; differential -Samtec_QSS-048-01-x-D-DP_P0.635mm_Vertical: &QSS-048-01-x-D-DP +Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical: &QSS-048-xx-x-D-DP meta: *QSS-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} banks: {n: 3, diff: 3, slots: 50, space: 20.0, width: 16.0, height: 3.66} pins: *QSS_pins -Samtec_QSS-048-01-x-D-DP-A_P0.635mm_Vertical: - <<: *QSS-048-01-x-D-DP +Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: + <<: *QSS-048-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 60.0, y: 2.67} -##Samtec_QSS-048-01-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-048-01-x-D-DP +##Samtec_QSS-048-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-048-xx-x-D-DP ## add-tags: 'locking-clips' ## holes: ## - {drill: 1.16, space: 60.0, y: 2.67} ################################################################################ # QTE family; 1 bank -Samtec_QTE-020-01-x-D_P0.8mm_Vertical: &QTE-020-01-x-D +Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D meta: &QTE_meta description: *QStrip_desc tags: 'connector Samtec QStrip QTE mezzanine terminal vertical' @@ -545,14 +545,14 @@ Samtec_QTE-020-01-x-D_P0.8mm_Vertical: &QTE-020-01-x-D signal: {pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} -Samtec_QTE-020-01-x-D-A_P0.8mm_Vertical: - <<: *QTE-020-01-x-D +Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical: + <<: *QTE-020-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTE-020-01-x-D-A-L_P0.8mm_Vertical: -## <<: *QTE-020-01-x-D +##Samtec_QTE-020-xx-x-D-A-L_P0.8mm_Vertical: +## <<: *QTE-020-xx-x-D ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: @@ -560,20 +560,20 @@ Samtec_QTE-020-01-x-D-A_P0.8mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTE family; 2 banks -Samtec_QTE-040-01-x-D_P0.8mm_Vertical: &QTE-040-01-x-D +Samtec_QTE-040-xx-x-D_P0.8mm_Vertical: &QTE-040-xx-x-D meta: *QTE_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins -Samtec_QTE-040-01-x-D-A_P0.8mm_Vertical: - <<: *QTE-040-01-x-D +Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical: + <<: *QTE-040-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTE-040-01-x-D-A-L_P0.8mm_Vertical: -## <<: *QTE-040-01-x-D +##Samtec_QTE-040-xx-x-D-A-L_P0.8mm_Vertical: +## <<: *QTE-040-xx-x-D ## add-tags: 'alignment-pins latching' ## width: 43.0 ## holes: @@ -581,20 +581,20 @@ Samtec_QTE-040-01-x-D-A_P0.8mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTE family; 3 banks -Samtec_QTE-060-01-x-D_P0.8mm_Vertical: &QTE-060-01-x-D +Samtec_QTE-060-xx-x-D_P0.8mm_Vertical: &QTE-060-xx-x-D meta: *QTE_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins -Samtec_QTE-060-01-x-D-A_P0.8mm_Vertical: - <<: *QTE-060-01-x-D +Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical: + <<: *QTE-060-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 58.48, y: -2.03} # QTE family; 1 bank; differential -Samtec_QTE-014-01-x-D-DP_P0.8mm_Vertical: &QTE-014-01-x-D-DP +Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical: &QTE-014-xx-x-D-DP meta: &QTE-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QTE mezzanine terminal vertical differential' @@ -605,14 +605,14 @@ Samtec_QTE-014-01-x-D-DP_P0.8mm_Vertical: &QTE-014-01-x-D-DP banks: {n: 1, diff: 1, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins -Samtec_QTE-014-01-x-D-DP-A_P0.8mm_Vertical: - <<: *QTE-014-01-x-D-DP +Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical: + <<: *QTE-014-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTE-014-01-x-D-DP-A-L_P0.8mm_Vertical: -## <<: *QTE-014-01-x-D-DP +##Samtec_QTE-014-xx-x-D-DP-A-L_P0.8mm_Vertical: +## <<: *QTE-014-xx-x-D-DP ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: @@ -620,20 +620,20 @@ Samtec_QTE-014-01-x-D-DP-A_P0.8mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.51} # QTE family; 2 banks; differential -Samtec_QTE-028-01-x-D-DP_P0.8mm_Vertical: &QTE-028-01-x-D-DP +Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical: &QTE-028-xx-x-D-DP meta: *QTE-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 2, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins -Samtec_QTE-028-01-x-D-DP-A_P0.8mm_Vertical: - <<: *QTE-028-01-x-D-DP +Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical: + <<: *QTE-028-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTE-028-01-x-D-DP-A-L_P0.8mm_Vertical: -## <<: *QTE-028-01-x-D-DP +##Samtec_QTE-028-xx-x-D-DP-A-L_P0.8mm_Vertical: +## <<: *QTE-028-xx-x-D-DP ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: @@ -641,41 +641,41 @@ Samtec_QTE-028-01-x-D-DP-A_P0.8mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.51} # QTE family; 3 banks; differential -Samtec_QTE-042-01-x-D-DP_P0.8mm_Vertical: &QTE-042-01-x-D-DP +Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical: &QTE-042-xx-x-D-DP meta: *QTE-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 3, slots: 40, space: 20.0, width: 16.5, height: 4.0} pins: *QTE_pins -Samtec_QTE-042-01-x-D-DP-A_P0.8mm_Vertical: - <<: *QTE-042-01-x-D-DP +Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical: + <<: *QTE-042-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 58.48, y: -2.03} ################################################################################ # QSE family; 1 bank -Samtec_QSE-020-01-x-D_P0.8mm_Vertical: &QSE-020-01-x-D +Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D meta: &QSE_meta description: *QStrip_desc tags: 'connector Samtec QStrip QSE mezzanine socket vertical single-ended' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qse-xxx-01-xxx-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qse-xxx-01-x-d-xx-footprint.pdf) + [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} pins: &QSE_pins signal: {pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} -Samtec_QSE-020-01-x-D-A_P0.8mm_Vertical: - <<: *QSE-020-01-x-D +Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: + <<: *QSE-020-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 20.13, y: 2.67} -##Samtec_QSE-020-01-x-D-A-L_P0.8mm_Vertical: -## <<: *QSE-020-01-x-D +##Samtec_QSE-020-xx-x-D-A-L_P0.8mm_Vertical: +## <<: *QSE-020-xx-x-D ## add-tags: 'alignment-pins latching' ## width: 26.61 ## holes: @@ -683,33 +683,33 @@ Samtec_QSE-020-01-x-D-A_P0.8mm_Vertical: ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 24.36, y: -0.51} # QSE family; 2 banks -Samtec_QSE-040-01-x-D_P0.8mm_Vertical: &QSE-040-01-x-D +Samtec_QSE-040-xx-x-D_P0.8mm_Vertical: &QSE-040-xx-x-D meta: *QSE_meta layout: {type: 'Socket', width: 41.28, height: 7.24} banks: {n: 2, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} pins: *QSE_pins -Samtec_QSE-040-01-x-D-A_P0.8mm_Vertical: - <<: *QSE-040-01-x-D +Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical: + <<: *QSE-040-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 40.13, y: 2.67} # QSE family; 3 banks -Samtec_QSE-060-01-x-D_P0.8mm_Vertical: &QSE-060-01-x-D +Samtec_QSE-060-xx-x-D_P0.8mm_Vertical: &QSE-060-xx-x-D meta: *QSE_meta layout: {type: 'Socket', width: 61.28, height: 7.24} banks: {n: 3, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} pins: *QSE_pins -Samtec_QSE-060-01-x-D-A_P0.8mm_Vertical: - <<: *QSE-060-01-x-D +Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical: + <<: *QSE-060-xx-x-D add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 60.13, y: 2.67} # QSE family; 1 bank; differential -Samtec_QSE-014-01-x-D-DP_P0.8mm_Vertical: &QSE-014-01-x-D-DP +Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP meta: &QSE-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QSE mezzanine socket vertical differential' @@ -720,34 +720,34 @@ Samtec_QSE-014-01-x-D-DP_P0.8mm_Vertical: &QSE-014-01-x-D-DP banks: {n: 1, diff: 1, slots: 40, space: 20.0, width: 16.0, height: 3.8} pins: *QSE_pins -Samtec_QSE-014-01-x-D-DP-A_P0.8mm_Vertical: - <<: *QSE-014-01-x-D-DP +Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical: + <<: *QSE-014-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 20.13, y: 2.67} # QSE family; 2 banks; differential -Samtec_QSE-028-01-x-D-DP_P0.8mm_Vertical: &QSE-028-01-x-D-DP +Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical: &QSE-028-xx-x-D-DP meta: *QSE-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} banks: {n: 2, diff: 2, slots: 40, space: 20.0, width: 16.0, height: 3.8} pins: *QSE_pins -Samtec_QSE-028-01-x-D-DP-A_P0.8mm_Vertical: - <<: *QSE-028-01-x-D-DP +Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical: + <<: *QSE-028-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 40.13, y: 2.67} # QSE family; 3 banks; differential -Samtec_QSE-042-01-x-D-DP_P0.8mm_Vertical: &QSE-042-01-x-D-DP +Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical: &QSE-042-xx-x-D-DP meta: *QSE-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} banks: {n: 3, diff: 3, slots: 40, space: 20.0, width: 16.0, height: 3.8} pins: *QSE_pins -Samtec_QSE-042-01-x-D-DP-A_P0.8mm_Vertical: - <<: *QSE-042-01-x-D-DP +Samtec_QSE-042-xx-x-D-DP-A_P0.8mm_Vertical: + <<: *QSE-042-xx-x-D-DP add-tags: 'alignment-pins' holes: - {drill: 1.02, space: 60.13, y: 2.67} From bd45310107adc76b1c4d527cf4106d73f93f8ce9 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 20 Jul 2019 23:50:20 -0700 Subject: [PATCH 16/62] Clean up in QStrip_Vertical.py: simplify ground pad code and replace silkscreen dot with arrow in socket mode. --- .../Connector_Samtec/QStrip_Vertical.py | 56 +++++++++---------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 23f98ac34..c01ec770e 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -148,23 +148,20 @@ def generate_one_footprint(param, config, default_lib): n += 1 # Ground pad parameters - gnd_height = param['pins']['ground']['height'] - gnd_width_out = param['pins']['ground']['width'][0] - gnd_width_in = param['pins']['ground']['width'][1] - gnd_space_out = param['pins']['ground']['space'][0] / 2 - gnd_space_in = param['pins']['ground']['space'][1] / 2 - gnd_space = [-gnd_space_out, -gnd_space_in, gnd_space_in, gnd_space_out] - gnd_size = [(gnd_width_out, gnd_height), - (gnd_width_in, gnd_height), - (gnd_width_in, gnd_height), - (gnd_width_out, gnd_height)] + gnd_h = param['pins']['ground']['height'] + gnd_w = {'out': param['pins']['ground']['width'][0], + 'in' : param['pins']['ground']['width'][1]} + gnd_s = {'out': param['pins']['ground']['space'][0] / 2, + 'in' : param['pins']['ground']['space'][1] / 2} + # Place ground plane pads for b in range(banks): mid = bank1_mid + b*bank_x # Bank midpoint - for i in range(len(gnd_space)): + for s in (-gnd_s['out'], -gnd_s['in'], gnd_s['in'], gnd_s['out']): + w = gnd_w['out'] if abs(s) == gnd_s['out'] else gnd_w['in'] pad = Pad(number = str(n), - at = (mid+gnd_space[i], 0), - size = gnd_size[i], + at = (mid + s, 0), + size = (w, gnd_h), type = Pad.TYPE_SMT, layers = Pad.LAYERS_SMT, shape = Pad.SHAPE_RECT) @@ -189,7 +186,7 @@ def generate_one_footprint(param, config, default_lib): ############################################################################ # Fabrication layer: F.Fab fab_line = config['fab_line_width'] - fab_mark = pitch #config['fab_pin1_marker_length'] + fab_mark = config['fab_pin1_marker_length'] fab_w = param['layout']['width'] if 'width' not in param else param['width'] fab_h = param['layout']['height'] fab_y = fab_h / 2 @@ -262,14 +259,15 @@ def generate_one_footprint(param, config, default_lib): ############################################################################ # Silkscreen: F.SilkS #silk_offset = param['layout']['silk-offset'] - silk_offset_fab = config['silk_fab_offset'] - silk_pad = config['silk_pad_clearance'] + pad_w/2 + silk_offset = config['silk_fab_offset'] + silk_pad_x = config['silk_pad_clearance'] + pad_w/2 + silk_pad_y = config['silk_pad_clearance'] + pad_h/2 silk_line = config['silk_line_width'] - silk_y = fab_y + silk_offset_fab - silk_lEdge = lEdge - silk_offset_fab - silk_rEdge = rEdge + silk_offset_fab - silk_chamfer = chamfer + silk_offset_fab/2 - silk_pin1 = pin1.x - silk_pad + silk_y = fab_y + silk_offset + silk_lEdge = lEdge - silk_offset + silk_rEdge = rEdge + silk_offset + silk_chamfer = chamfer + silk_offset/2 + silk_pin1 = pin1.x - silk_pad_x if mode == 'Terminal': # Polygon left end outline points @@ -290,11 +288,11 @@ def generate_one_footprint(param, config, default_lib): {'x': silk_lEdge, 'y': -silk_y}, {'x': silk_pin1, 'y': -silk_y}] # Pin 1 indicator - r = 0.075 - fp.append(Circle(center = (pin1.x, pin1.y + pad_h/2 + silk_pad), - radius = r, - layer = "F.SilkS", - width = 0.15)) + fp.append(markerArrow(x = pin1.x, + y = pin1.y + silk_pad_y, + width = fab_mark / 2, + line_width = silk_line, + layer = "F.SilkS")) # Generate right end outline silk_rEnd = deepcopy(silk_lEnd) @@ -303,7 +301,7 @@ def generate_one_footprint(param, config, default_lib): silk_rEnd[i]['x'] = -silk_rEnd[i]['x'] # Define right outline inner offset from the last pin # (if the last bank is differential, it does not perfectly mirror the first) - silk_rEnd[0]['x'] = silk_rEnd[-1]['x'] = pin[-1][-1]['x'] + silk_pad + silk_rEnd[0]['x'] = silk_rEnd[-1]['x'] = pin[-1][-1]['x'] + silk_pad_x # Draw left and right end outlines fp.append(PolygoneLine(nodes = silk_lEnd, @@ -315,8 +313,8 @@ def generate_one_footprint(param, config, default_lib): # Draw outlines between banks for b in range(banks-1): - fp.extend([Line(start = (pin[b][-1]['x'] + silk_pad, m*silk_y), - end = (pin[b+1][0]['x'] - silk_pad, m*silk_y), + fp.extend([Line(start = (pin[b][-1]['x'] + silk_pad_x, m*silk_y), + end = (pin[b+1][0]['x'] - silk_pad_x, m*silk_y), layer = "F.SilkS", width = silk_line) for m in (-1,1)]) From dd87a8027294eb43086548679e2c908e8abca3bf Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 20 Jul 2019 23:54:21 -0700 Subject: [PATCH 17/62] Minor clean-up --- .../Connector/Connector_Samtec/QStrip_Vertical.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index c01ec770e..5da01ec43 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -260,14 +260,14 @@ def generate_one_footprint(param, config, default_lib): # Silkscreen: F.SilkS #silk_offset = param['layout']['silk-offset'] silk_offset = config['silk_fab_offset'] - silk_pad_x = config['silk_pad_clearance'] + pad_w/2 - silk_pad_y = config['silk_pad_clearance'] + pad_h/2 + silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, + 'y': config['silk_pad_clearance'] + pad_h/2} silk_line = config['silk_line_width'] silk_y = fab_y + silk_offset silk_lEdge = lEdge - silk_offset silk_rEdge = rEdge + silk_offset silk_chamfer = chamfer + silk_offset/2 - silk_pin1 = pin1.x - silk_pad_x + silk_pin1 = pin1.x - silk_pad['x'] if mode == 'Terminal': # Polygon left end outline points @@ -289,7 +289,7 @@ def generate_one_footprint(param, config, default_lib): {'x': silk_pin1, 'y': -silk_y}] # Pin 1 indicator fp.append(markerArrow(x = pin1.x, - y = pin1.y + silk_pad_y, + y = pin1.y + silk_pad['y'], width = fab_mark / 2, line_width = silk_line, layer = "F.SilkS")) @@ -301,7 +301,7 @@ def generate_one_footprint(param, config, default_lib): silk_rEnd[i]['x'] = -silk_rEnd[i]['x'] # Define right outline inner offset from the last pin # (if the last bank is differential, it does not perfectly mirror the first) - silk_rEnd[0]['x'] = silk_rEnd[-1]['x'] = pin[-1][-1]['x'] + silk_pad_x + silk_rEnd[0]['x'] = silk_rEnd[-1]['x'] = pin[-1][-1]['x'] + silk_pad['x'] # Draw left and right end outlines fp.append(PolygoneLine(nodes = silk_lEnd, @@ -313,8 +313,8 @@ def generate_one_footprint(param, config, default_lib): # Draw outlines between banks for b in range(banks-1): - fp.extend([Line(start = (pin[b][-1]['x'] + silk_pad_x, m*silk_y), - end = (pin[b+1][0]['x'] - silk_pad_x, m*silk_y), + fp.extend([Line(start = (pin[b][-1]['x'] + silk_pad['x'], m*silk_y), + end = (pin[b+1][0]['x'] - silk_pad['x'], m*silk_y), layer = "F.SilkS", width = silk_line) for m in (-1,1)]) From 4f51e1855dab2c8b05ad44b74eb7a9bca8004b4b Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 21 Jul 2019 08:55:14 -0700 Subject: [PATCH 18/62] Rename QStrip_Vertical* to QStrip_QPairs_Vertical* and update metadata --- ..._Vertical.py => QStrip_QPairs_Vertical.py} | 2 +- ...tical.yaml => QStrip_QPairs_Vertical.yaml} | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) rename scripts/Connector/Connector_Samtec/{QStrip_Vertical.py => QStrip_QPairs_Vertical.py} (99%) rename scripts/Connector/Connector_Samtec/{QStrip_Vertical.yaml => QStrip_QPairs_Vertical.yaml} (95%) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py similarity index 99% rename from scripts/Connector/Connector_Samtec/QStrip_Vertical.py rename to scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 5da01ec43..1c94bbfd7 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -404,7 +404,7 @@ def generate_one_footprint(param, config, default_lib): default='../conn_config_KLCv3.yaml', help='Series KLC configuration YAML file') parser.add_argument('--library', type=str, nargs='?', - default='Connector_Samtec_QStrip', + default='Connector_Samtec_QStrip_QPairs', help='Default KiCad library name (without extension)') parser.add_argument('files', metavar='file', type=str, nargs='*', help='YAML file(s) containing footprint parameters') diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml similarity index 95% rename from scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml rename to scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml index 2da816b76..dc8a6a3a8 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml @@ -5,7 +5,7 @@ Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D description: &QStrip_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Strip® High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank; {ds:s} - tags: 'connector Samtec QStrip QTH mezzanine terminal vertical single-ended' + tags: 'connector Samtec Q-Strip QTH mezzanine terminal vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) @@ -83,7 +83,7 @@ Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP description: &QPairs_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank; {ds:s} - tags: 'connector Samtec QPairs QTH mezzanine terminal vertical differential' + tags: 'connector Samtec Q-Pairs QTH mezzanine terminal vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf) @@ -160,7 +160,7 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: pn: 'ASP-122952-01' datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf)' tags: >- - connector Samtec QStrip QPairs HSMC card terminal mezzanine vertical + connector Samtec Q-Strip QPairs HSMC card terminal mezzanine vertical single-ended differential alignment-pins application-specific' description: >- Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, @@ -176,7 +176,7 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D meta: &QSH_meta description: *QStrip_desc - tags: 'connector Samtec QStrip QSH mezzanine socket vertical single-ended' + tags: 'connector Samtec Q-Strip QSH mezzanine socket vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xx-footprint.pdf) @@ -240,7 +240,7 @@ Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP meta: &QSH-DP_meta description: *QPairs_desc - tags: 'connector Samtec QPairs QSH mezzanine socket vertical differential' + tags: 'connector Samtec Q-Pairs QSH mezzanine socket vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xx-footprint.pdf) @@ -301,7 +301,7 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: pn: 'ASP-122953-01' datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf)' tags: >- - connector Samtec QStrip QPairs HSMC host socket mezzanine vertical + connector Samtec Q-Strip QPairs HSMC host socket mezzanine vertical single-ended differential application-specific description: >- Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, @@ -317,7 +317,7 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D meta: &QTS_meta description: *QStrip_desc - tags: 'connector Samtec QStrip QTS mezzanine terminal vertical' + tags: 'connector Samtec Q-Strip QTS mezzanine terminal vertical' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-xx-footprint.pdf) @@ -363,7 +363,7 @@ Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical: Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical: &QTS-016-xx-x-D-DP meta: &QTS-DP_meta description: *QPairs_desc - tags: 'connector Samtec QPairs QTS mezzanine terminal vertical differential' + tags: 'connector Samtec Q-Pairs QTS mezzanine terminal vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf) @@ -426,7 +426,7 @@ Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D meta: &QSS_meta description: *QStrip_desc - tags: 'connector Samtec QStrip QSS mezzanine socket vertical single-ended' + tags: 'connector Samtec Q-Strip QSS mezzanine socket vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-xx-footprint.pdf) @@ -472,7 +472,7 @@ Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical: Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP meta: &QSS-DP_meta description: *QPairs_desc - tags: 'connector Samtec QPairs QSS mezzanine socket vertical differential' + tags: 'connector Samtec Q-Pairs QSS mezzanine socket vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-dp-xx-footprint.pdf) @@ -535,7 +535,7 @@ Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D meta: &QTE_meta description: *QStrip_desc - tags: 'connector Samtec QStrip QTE mezzanine terminal vertical' + tags: 'connector Samtec Q-Strip QTE mezzanine terminal vertical' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf) @@ -597,7 +597,7 @@ Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical: Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical: &QTE-014-xx-x-D-DP meta: &QTE-DP_meta description: *QPairs_desc - tags: 'connector Samtec QPairs QTE mezzanine terminal vertical differential' + tags: 'connector Samtec Q-Pairs QTE mezzanine terminal vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf) @@ -658,7 +658,7 @@ Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical: Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D meta: &QSE_meta description: *QStrip_desc - tags: 'connector Samtec QStrip QSE mezzanine socket vertical single-ended' + tags: 'connector Samtec Q-Strip QSE mezzanine socket vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-xx-footprint.pdf) @@ -712,7 +712,7 @@ Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical: Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP meta: &QSE-DP_meta description: *QPairs_desc - tags: 'connector Samtec QPairs QSE mezzanine socket vertical differential' + tags: 'connector Samtec Q-Pairs QSE mezzanine socket vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-dp-xxx-xxxxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-dp-xxx-footprint.pdf) From c8d90f113caeb95ab3e91df7f18d40697ac100f2 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 22 Jul 2019 00:01:17 -0700 Subject: [PATCH 19/62] QStrip_QPairs_Vertical.py: rewrite ground pad code to make it generic --- .../QStrip_QPairs_Vertical.py | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 1c94bbfd7..9c9fe86bc 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -149,24 +149,24 @@ def generate_one_footprint(param, config, default_lib): # Ground pad parameters gnd_h = param['pins']['ground']['height'] - gnd_w = {'out': param['pins']['ground']['width'][0], - 'in' : param['pins']['ground']['width'][1]} - gnd_s = {'out': param['pins']['ground']['space'][0] / 2, - 'in' : param['pins']['ground']['space'][1] / 2} - + # Combine spacing and width data into a zipped list: [(space,width), ...] + gnd_sw = [sw for sw in zip(param['pins']['ground']['space'], + param['pins']['ground']['width'])] + gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing + # Place ground plane pads for b in range(banks): mid = bank1_mid + b*bank_x # Bank midpoint - for s in (-gnd_s['out'], -gnd_s['in'], gnd_s['in'], gnd_s['out']): - w = gnd_w['out'] if abs(s) == gnd_s['out'] else gnd_w['in'] + # Iterate through space/width list to generate ground pads... + for (space, width) in [(-s,w) for s,w in reversed(gnd_sw)] + gnd_sw: pad = Pad(number = str(n), - at = (mid + s, 0), - size = (w, gnd_h), + at = (mid + space/2, 0), + size = (width, gnd_h), type = Pad.TYPE_SMT, layers = Pad.LAYERS_SMT, shape = Pad.SHAPE_RECT) fp.append(pad) - n = n + 1 + n += 1 ############################################################################ # Holes @@ -247,14 +247,21 @@ def generate_one_footprint(param, config, default_lib): close = False, line_width = fab_line)) - # Draw bank outlines + # Draw bank and ground plane outlines for b in range(banks): mid = bank1_mid + b*bank_x + # Bank outline fp.append(RectLine(start = (mid-bank_w/2, -bank_h/2), end = (mid+bank_w/2, bank_h/2), layer = "F.Fab", width = fab_line)) - + # Ground planes + #for m in (-1,1): + # fp.append(Line(start = (mid-bank_w/2, m*gnd_h/2), + # end = (mid+bank_w/2, m*gnd_h/2), + # layer = "F.Fab", + # width = fab_line)) + ############################################################################ # Silkscreen: F.SilkS From 95d5d9aa23ce353c972a807d16a720e31e25019d Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 22 Jul 2019 10:53:47 -0700 Subject: [PATCH 20/62] Clean up QStrip_QPairs_Vertical.py --- .../QStrip_QPairs_Vertical.py | 60 ++++++++----------- .../QStrip_QPairs_Vertical.yaml | 4 +- 2 files changed, 28 insertions(+), 36 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 9c9fe86bc..970c29d8a 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -5,32 +5,32 @@ --- Footprint_Name: - library: 'library name' # [optional] KiCad library to use + library: 'library name' # [optional] KiCad library to use, overrides default meta: # Footprint metadata - pn: 'part number' # [optional], overrides automatic part number detection + pn: 'part number' # [optional] overrides automatic part number detection description: 'Brief description of the footprint' - datasheet: 'URL to footprint datasheet' + datasheet: 'URL(s) to footprint datasheet' tags: 'KiCad tags go here' - tags: 'more tags' # [optional], used to extend the tag list - layout: - type: '(Terminal|Socket)' - width: !!float mm # width - height: !!float mm # height - width: !!float mm # [optional] overrides layout::width + add-tags: 'more tags' # [optional] extends the tag list + layout: # General footprint layout/drawing data + type: '(Terminal|Socket)' # sets Pin 1 position and drawing mode + width: !!float mm # [cosmetic] overall width of the connector + height: !!float mm # [cosmetic] overall height of the connector + width: !!float mm # [optional, cosmetic] overrides layout::width banks: - n: !!int # number of banks in the connector - slots: !!int even # number of pin positions in a bank - diff: !!int <= n # number of differential banks + n: !!uint # number of banks in the connector + diff: !!uint # number of differential banks + slots: !!uint even # number of pin positions in a bank space: !!float mm # distance between adjacent banks - width: !!float mm # Width of outline on F.Fab - height: !!float mm # Height of outline on F.Fab + width: !!float mm # width of bank outline drawn on F.Fab + height: !!float mm # height of bank outline drawn on F.Fab pins: - signal: # Signal pin parameters + signal: # signal pin parameters pitch: !!float mm width: !!float mm # Pad width height: !!float mm # Pad height y: !!float mm # vertical offset - ground: # Ground pin parameters + ground: # ground pin parameters width: - !!float mm # outer pins - !!float mm # inner pins @@ -38,12 +38,12 @@ space: # Distance between ground pads within each bank - !!float mm # outer pins - !!float mm # inner pins - holes: # [optional] hole pair specifications + holes: # [optional] hole pair specifications, mirrored about y axis - # Hole spec. 1 name: "" # [optional] name/number for plated holes drill: !!float mm # drill diameter (a list produces an oval) pad: !!float mm # [optional] PTH pad diameter (a list produces an oval) - space: !!float mm # distance between holes mirrored about the x-axis + space: !!float mm # distance between holes mirrored about the y-axis y: !!float mm # vertical offset - # Hole spec. 2... ... @@ -255,13 +255,6 @@ def generate_one_footprint(param, config, default_lib): end = (mid+bank_w/2, bank_h/2), layer = "F.Fab", width = fab_line)) - # Ground planes - #for m in (-1,1): - # fp.append(Line(start = (mid-bank_w/2, m*gnd_h/2), - # end = (mid+bank_w/2, m*gnd_h/2), - # layer = "F.Fab", - # width = fab_line)) - ############################################################################ # Silkscreen: F.SilkS @@ -359,11 +352,7 @@ def generate_one_footprint(param, config, default_lib): # Part number partnum = param['meta'].get('pn', param['name'].split('_')[1]) - #if 'pn' in param['meta']: - # partnum = param['meta']['pn'] - #else: - # partnum = param['name'].split('_')[1] - + # Pins or pairs/bank if param['banks']['diff'] == banks: # Differential mode: round up to nearest even number of pairs @@ -446,13 +435,16 @@ def generate_one_footprint(param, config, default_lib): continue for fp_name in footprints: - print(" - Generate {}.kicad_mod".format(fp_name)) - fp_params = footprints.get(fp_name) - + fp_params = footprints.get(fp_name) if 'name' in fp_params: print("WARNING: setting 'name' to", fp_name) - + fp_params['name'] = fp_name + + bprint(" - ", + fp_params.get('library', args.library), ".pretty/", + fp_name, ".kicad_mod", sep="") + generate_one_footprint(fp_params, config, args.library) except yaml.YAMLError as exc: print(exc) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml index dc8a6a3a8..836543b92 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml @@ -3,7 +3,7 @@ Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D meta: &QTH_meta description: &QStrip_desc >- - Samtec {pn:s} {pitch:1.2f}mm Q Strip® High-Speed Ground Plane {type:s} Strip; + Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank; {ds:s} tags: 'connector Samtec Q-Strip QTH mezzanine terminal vertical single-ended' datasheet: >- @@ -81,7 +81,7 @@ Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical: Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP meta: &QTH-DP_meta description: &QPairs_desc >- - Samtec {pn:s} {pitch:1.2f}mm Q Pairs® High-Speed Ground Plane {type:s} Strip, + Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank; {ds:s} tags: 'connector Samtec Q-Pairs QTH mezzanine terminal vertical differential' datasheet: >- From 35b9416740af6075206082a51b8a8bc2aee3db1e Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 22 Jul 2019 11:14:51 -0700 Subject: [PATCH 21/62] Add heading comments to QStrip_QPairs_Vertical* --- .../QStrip_QPairs_Vertical.py | 16 +- .../QStrip_QPairs_Vertical.yaml | 311 +++++++++--------- 2 files changed, 177 insertions(+), 150 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 970c29d8a..c2d40c313 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -1,8 +1,22 @@ #!/usr/bin/python """ -YAML footprint specification +This file is part of kicad-footprint-generator. + +kicad-footprint-generator is free software: you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or (at your +option) any later version. + +kicad-footprint-generator is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. You should have received a copy of the GNU General Public License +along with kicad-footprint-generator. If not, see <http://www.gnu.org/licenses/>. +""" +""" +YAML footprint specification --- Footprint_Name: library: 'library name' # [optional] KiCad library to use, overrides default diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml index 836543b92..947a29574 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml @@ -1,3 +1,16 @@ +# This file contains footprint specifications the vertical variations of Samtec +# Q Strip and Q Pairs connectors. QStrip_QPairs_Vertical.py, contains a complete +# specification of the properties and data types that can be used in this file. +# Several non-standard (or uncommon) configurations of Q Strip and Q Pairs +# connectors were added during the development process, but have since been +# commented out in order to avoid cluttering the KiCad footprint library. Such +# configurations are denoted with a double-comment followed by a space ("## "). +# +# Links: +# - [Q Strip](https://www.samtec.com/connectors/high-speed-board-to-board/mezzanine/qstrip) +# - [Q Pairs](https://www.samtec.com/connectors/high-speed-board-to-board/mezzanine/qpairs) +# + ################################################################################ # QTH family; 1 bank Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D @@ -21,20 +34,20 @@ Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTH-030-xx-x-D-L_P0.5mm_Vertical: -## <<: *QTH-030-xx-x-D -## add-tags: 'latching' -## width: 23.0 -## holes: -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} -## -##Samtec_QTH-030-xx-x-D-A-L_P0.5mm_Vertical: -## <<: *QTH-030-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.02, space: 18.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +## Samtec_QTH-030-xx-x-D-L_P0.5mm_Vertical: +## <<: *QTH-030-xx-x-D +## add-tags: 'latching' +## width: 23.0 +## holes: +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +## +## Samtec_QTH-030-xx-x-D-A-L_P0.5mm_Vertical: +## <<: *QTH-030-xx-x-D +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 2 banks Samtec_QTH-060-xx-x-D_P0.5mm_Vertical: &QTH-060-xx-x-D @@ -49,20 +62,20 @@ Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTH-060-xx-x-D-L_P0.5mm_Vertical: -## <<: *QTH-060-xx-x-D -## add-tags: 'latching' -## width: 43.0 -## holes: -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} -## -##Samtec_QTH-060-xx-x-D-A-L_P0.5mm_Vertical: -## <<: *QTH-060-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 43.0 -## holes: -## - {drill: 1.02, space: 38.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +## Samtec_QTH-060-xx-x-D-L_P0.5mm_Vertical: +## <<: *QTH-060-xx-x-D +## add-tags: 'latching' +## width: 43.0 +## holes: +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +## +## Samtec_QTH-060-xx-x-D-A-L_P0.5mm_Vertical: +## <<: *QTH-060-xx-x-D +## add-tags: 'alignment-pins latching' +## width: 43.0 +## holes: +## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 3 banks Samtec_QTH-090-xx-x-D_P0.5mm_Vertical: &QTH-090-xx-x-D @@ -97,20 +110,20 @@ Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTH-020-xx-x-D-DP-L_P0.5mm_Vertical: -## <<: *QTH-020-xx-x-D-DP -## add-tags: 'latching' -## width: 23.0 -## holes: -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} -## -##Samtec_QTH-020-xx-x-D-DP-A-L_P0.5mm_Vertical: -## <<: *QTH-020-xx-x-D-DP -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.02, space: 18.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +## Samtec_QTH-020-xx-x-D-DP-L_P0.5mm_Vertical: +## <<: *QTH-020-xx-x-D-DP +## add-tags: 'latching' +## width: 23.0 +## holes: +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +## +## Samtec_QTH-020-xx-x-D-DP-A-L_P0.5mm_Vertical: +## <<: *QTH-020-xx-x-D-DP +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 2 banks; differential Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical: &QTH-040-xx-x-D-DP @@ -125,20 +138,20 @@ Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTH-040-xx-x-D-DP-L_P0.5mm_Vertical: -## <<: *QTH-040-xx-x-D-DP -## add-tags: 'latching' -## width: 43.0 -## holes: -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} -## -##Samtec_QTH-040-xx-x-D-DP-A-L_P0.5mm_Vertical: -## <<: *QTH-040-xx-x-D-DP -## add-tags: 'alignment-pins latching' -## width: 43.0 -## holes: -## - {drill: 1.02, space: 38.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +## Samtec_QTH-040-xx-x-D-DP-L_P0.5mm_Vertical: +## <<: *QTH-040-xx-x-D-DP +## add-tags: 'latching' +## width: 43.0 +## holes: +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +## +## Samtec_QTH-040-xx-x-D-DP-A-L_P0.5mm_Vertical: +## <<: *QTH-040-xx-x-D-DP +## add-tags: 'alignment-pins latching' +## width: 43.0 +## holes: +## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 3 banks; differential Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical: &QTH-060-xx-x-D-DP @@ -192,11 +205,11 @@ Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 20.13, y: 2.03} -##Samtec_QSH-030-xx-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-030-xx-x-D -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.19, space: 20.13, y: 2.03} +## Samtec_QSH-030-xx-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-030-xx-x-D +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.19, space: 20.13, y: 2.03} # QSH family; 2 banks Samtec_QSH-060-xx-x-D_P0.5mm_Vertical: &QSH-060-xx-x-D @@ -211,11 +224,11 @@ Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 40.13, y: 2.03} -##Samtec_QSH-060-xx-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-060-xx-x-D -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.19, space: 40.13, y: 2.03} +## Samtec_QSH-060-xx-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-060-xx-x-D +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.19, space: 40.13, y: 2.03} # QSH family; 3 banks Samtec_QSH-090-xx-x-D_P0.5mm_Vertical: &QSH-090-xx-x-D @@ -230,11 +243,11 @@ Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 60.13, y: 2.03} -##Samtec_QSH-090-xx-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-090-xx-x-D -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.19, space: 60.13, y: 2.03} +## Samtec_QSH-090-xx-x-D-LC_P0.5mm_Vertical: +## <<: *QSH-090-xx-x-D +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.19, space: 60.13, y: 2.03} # QSH family; 1 bank; differential Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP @@ -254,11 +267,11 @@ Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 20.13, y: 2.03} -##Samtec_QSH-020-xx-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-020-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.19, space: 20.13, y: 2.03} +## Samtec_QSH-020-xx-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-020-xx-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.19, space: 20.13, y: 2.03} # QSH family; 2 banks; differential Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical: &QSH-040-xx-x-D-DP @@ -272,10 +285,10 @@ Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 40.13, y: 2.03} -##Samtec_QSH-040-xx-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-040-xx-x-D-DP -## holes: -## - {drill: 1.19, space: 40.13, y: 2.03} +## Samtec_QSH-040-xx-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-040-xx-x-D-DP +## holes: +## - {drill: 1.19, space: 40.13, y: 2.03} # QSH family; 3 banks; differential Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical: &QSH-060-xx-x-D-DP @@ -289,10 +302,10 @@ Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical: holes: - {drill: 1.02, space: 60.13, y: 2.03} -##Samtec_QSH-060-xx-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-060-xx-x-D-DP -## holes: -## - {drill: 1.19, space: 60.13, y: 2.03} +## Samtec_QSH-060-xx-x-D-DP-LC_P0.5mm_Vertical: +## <<: *QSH-060-xx-x-D-DP +## holes: +## - {drill: 1.19, space: 60.13, y: 2.03} # QSH family; 3 banks; specialized Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: @@ -377,11 +390,11 @@ Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTS-016-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-016-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 18.48, y: -2.03} +## Samtec_QTS-016-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-016-xx-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 18.48, y: -2.03} # QTS family; 2 banks; differential Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical: &QTS-032-xx-x-D-DP @@ -396,11 +409,11 @@ Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTS-032-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-032-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 38.48, y: -2.03} +## Samtec_QTS-032-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-032-xx-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 38.48, y: -2.03} # QTS family; 3 banks; differential Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical: &QTS-048-xx-x-D-DP @@ -415,11 +428,11 @@ Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 58.48, y: -2.03} -##Samtec_QTS-048-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-048-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 58.48, y: -2.03} +## Samtec_QTS-048-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QTS-048-xx-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 58.48, y: -2.03} ################################################################################ # QSS family; 1 bank @@ -486,11 +499,11 @@ Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 20.0, y: 2.67} -##Samtec_QSS-016-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-016-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 20.0, y: 2.67} +## Samtec_QSS-016-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-016-xx-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 20.0, y: 2.67} # QSS family; 2 banks; differential Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical: &QSS-032-xx-x-D-DP @@ -505,11 +518,11 @@ Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 40.0, y: 2.67} -##Samtec_QSS-032-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-032-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 40.0, y: 2.67} +## Samtec_QSS-032-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-032-xx-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 40.0, y: 2.67} # QSS family; 3 banks; differential Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical: &QSS-048-xx-x-D-DP @@ -524,11 +537,11 @@ Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: holes: - {drill: 1.02, space: 60.0, y: 2.67} -##Samtec_QSS-048-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-048-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 60.0, y: 2.67} +## Samtec_QSS-048-xx-x-D-DP-LC_P0.635mm_Vertical: +## <<: *QSS-048-xx-x-D-DP +## add-tags: 'locking-clips' +## holes: +## - {drill: 1.16, space: 60.0, y: 2.67} ################################################################################ # QTE family; 1 bank @@ -551,13 +564,13 @@ Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTE-020-xx-x-D-A-L_P0.8mm_Vertical: -## <<: *QTE-020-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.02, space: 18.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} +## Samtec_QTE-020-xx-x-D-A-L_P0.8mm_Vertical: +## <<: *QTE-020-xx-x-D +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTE family; 2 banks Samtec_QTE-040-xx-x-D_P0.8mm_Vertical: &QTE-040-xx-x-D @@ -572,13 +585,13 @@ Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTE-040-xx-x-D-A-L_P0.8mm_Vertical: -## <<: *QTE-040-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 43.0 -## holes: -## - {drill: 1.02, space: 38.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} +## Samtec_QTE-040-xx-x-D-A-L_P0.8mm_Vertical: +## <<: *QTE-040-xx-x-D +## add-tags: 'alignment-pins latching' +## width: 43.0 +## holes: +## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTE family; 3 banks Samtec_QTE-060-xx-x-D_P0.8mm_Vertical: &QTE-060-xx-x-D @@ -611,13 +624,13 @@ Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 18.48, y: -2.03} -##Samtec_QTE-014-xx-x-D-DP-A-L_P0.8mm_Vertical: -## <<: *QTE-014-xx-x-D-DP -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.02, space: 18.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.51} +## Samtec_QTE-014-xx-x-D-DP-A-L_P0.8mm_Vertical: +## <<: *QTE-014-xx-x-D-DP +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.51} # QTE family; 2 banks; differential Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical: &QTE-028-xx-x-D-DP @@ -632,13 +645,13 @@ Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 38.48, y: -2.03} -##Samtec_QTE-028-xx-x-D-DP-A-L_P0.8mm_Vertical: -## <<: *QTE-028-xx-x-D-DP -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.02, space: 38.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.51} +## Samtec_QTE-028-xx-x-D-DP-A-L_P0.8mm_Vertical: +## <<: *QTE-028-xx-x-D-DP +## add-tags: 'alignment-pins latching' +## width: 23.0 +## holes: +## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.51} # QTE family; 3 banks; differential Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical: &QTE-042-xx-x-D-DP @@ -674,13 +687,13 @@ Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: holes: - {drill: 1.02, space: 20.13, y: 2.67} -##Samtec_QSE-020-xx-x-D-A-L_P0.8mm_Vertical: -## <<: *QSE-020-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 26.61 -## holes: -## - {drill: 1.02, space: 20.13, y: 2.67} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 24.36, y: -0.51} +## Samtec_QSE-020-xx-x-D-A-L_P0.8mm_Vertical: +## <<: *QSE-020-xx-x-D +## add-tags: 'alignment-pins latching' +## width: 26.61 +## holes: +## - {drill: 1.02, space: 20.13, y: 2.67} +## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 24.36, y: -0.51} # QSE family; 2 banks Samtec_QSE-040-xx-x-D_P0.8mm_Vertical: &QSE-040-xx-x-D From 82eba245fcc7e150a5a40aef726ddfea0d1715e8 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 22 Jul 2019 12:09:13 -0700 Subject: [PATCH 22/62] Move markerArrow to helpers.py --- .../QStrip_QPairs_Vertical.py | 18 +-------- scripts/Connector/Connector_Samtec/helpers.py | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index c2d40c313..57233aa87 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -78,22 +78,6 @@ from footprint_text_fields import addTextFields from helpers import * -def markerArrow(x, y, width, line_width, layer="F.Fab", angle=0, close=True): - node = Node() - points = [(-width/2, width/2), - (0, 0), - (width/2, width/2)] - - if close: - points.append((-width/2, width/2)) - - node.append(PolygoneLine(nodes = points, - layer = layer, - width = line_width)) - node.insert(Rotation(angle)) - node.insert(Translation(x,y)) - return node - def generate_one_footprint(param, config, default_lib): fp = Footprint(param['name']) @@ -455,7 +439,7 @@ def generate_one_footprint(param, config, default_lib): fp_params['name'] = fp_name - bprint(" - ", + print(" - ", fp_params.get('library', args.library), ".pretty/", fp_name, ".kicad_mod", sep="") diff --git a/scripts/Connector/Connector_Samtec/helpers.py b/scripts/Connector/Connector_Samtec/helpers.py index 3a8ba0ff5..86464571c 100644 --- a/scripts/Connector/Connector_Samtec/helpers.py +++ b/scripts/Connector/Connector_Samtec/helpers.py @@ -1,4 +1,41 @@ +import sys +import os + +sys.path.append(os.path.join(sys.path[0], "..", "..", "..")) +import KicadModTree + def roundToBase(value, base): if base == 0: return value return round(value/base) * base + +def markerArrow(x, y, width, line_width, layer="F.Fab", angle=0, close=True): + """ + Draws a triangular marker arrow at the specified location. + + Args: + x: x-coordinate of arrow tip + y: y-coordinate of arrow tip + width: width of the arrow + line_width: width of lines forming the arrow + layer: PCB layer string (default: "F.Fab") + angle: orientation of the arrow in degrees (0° points up) + close (bool): True to draw a line closing the triangle + + Returns: + KicadModTree.Node object that generates the marker arrow + """ + node = KicadModTree.Node() + points = [(-width/2, width/2), + (0, 0), + (width/2, width/2)] + + if close: + points.append((-width/2, width/2)) + + node.append(KicadModTree.PolygoneLine(nodes = points, + layer = layer, + width = line_width)) + node.insert(KicadModTree.Rotation(angle)) + node.insert(KicadModTree.Translation(x,y)) + return node From 1f6fe3bbfcb011f92251cedecd69b146c5a923f1 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 22 Jul 2019 23:21:43 -0700 Subject: [PATCH 23/62] Add copyright notice to QStrip_QPairs_Vertical.py --- scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 57233aa87..e9bd35124 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -13,6 +13,8 @@ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with kicad-footprint-generator. If not, see <http://www.gnu.org/licenses/>. + +Copyright (C) 2019 be Caleb Reister <calebreister@gmail.com> """ """ From 91fa1c652c935cee79bbb43090539d9ee3598913 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 22 Jul 2019 23:22:07 -0700 Subject: [PATCH 24/62] Fix a typo --- scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index e9bd35124..0893fc8ea 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -14,7 +14,7 @@ more details. You should have received a copy of the GNU General Public License along with kicad-footprint-generator. If not, see <http://www.gnu.org/licenses/>. -Copyright (C) 2019 be Caleb Reister <calebreister@gmail.com> +Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> """ """ From dff42b10461ac48a13bc624e6888b99fc33a2a50 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 22 Jul 2019 23:24:06 -0700 Subject: [PATCH 25/62] Move license from docstring to comment block --- .../QStrip_QPairs_Vertical.py | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 0893fc8ea..545cf1e61 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -1,21 +1,21 @@ #!/usr/bin/python -""" -This file is part of kicad-footprint-generator. - -kicad-footprint-generator is free software: you can redistribute it and/or -modify it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or (at your -option) any later version. - -kicad-footprint-generator is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -more details. You should have received a copy of the GNU General Public License -along with kicad-footprint-generator. If not, see <http://www.gnu.org/licenses/>. - -Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> -""" +# This file is part of kicad-footprint-generator. +# +# kicad-footprint-generator is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# kicad-footprint-generator is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. You should have received a copy of the GNU General Public +# License along with kicad-footprint-generator. If not, see +# <http://www.gnu.org/licenses/>. +# +# Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> +# """ YAML footprint specification From 2ca0199918bed0e980c7b958830d3070a07c50de Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 29 Jul 2019 13:54:40 -0700 Subject: [PATCH 26/62] Rename parameters in QStrip_QPairs_Vertical.* --- .../QStrip_QPairs_Vertical.py | 14 ++-- .../QStrip_QPairs_Vertical.yaml | 76 +++++++++---------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 545cf1e61..511738f3d 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -97,10 +97,10 @@ def generate_one_footprint(param, config, default_lib): # Copper layer(s) # Signal pad parameters - pitch = param['pins']['signal']['pitch'] - pad_w = param['pins']['signal']['width'] - pad_h = param['pins']['signal']['height'] - pad_y = param['pins']['signal']['y'] + pitch = param['pads']['signal']['pitch'] + pad_w = param['pads']['signal']['width'] + pad_h = param['pads']['signal']['height'] + pad_y = param['pads']['signal']['y'] # Pin 1 position pin1 = Vector2D(0,0) @@ -148,10 +148,10 @@ def generate_one_footprint(param, config, default_lib): n += 1 # Ground pad parameters - gnd_h = param['pins']['ground']['height'] + gnd_h = param['pads']['ground']['height'] # Combine spacing and width data into a zipped list: [(space,width), ...] - gnd_sw = [sw for sw in zip(param['pins']['ground']['space'], - param['pins']['ground']['width'])] + gnd_sw = [sw for sw in zip(param['pads']['ground']['space'], + param['pads']['ground']['width'])] gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing # Place ground plane pads diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml index 947a29574..eca43e7c3 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml @@ -24,7 +24,7 @@ Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} - pins: &QTH_pins + pads: &QTH_pads signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -54,7 +54,7 @@ Samtec_QTH-060-xx-x-D_P0.5mm_Vertical: &QTH-060-xx-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} - pins: *QTH_pins + pads: *QTH_pads Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical: <<: *QTH-060-xx-x-D @@ -82,7 +82,7 @@ Samtec_QTH-090-xx-x-D_P0.5mm_Vertical: &QTH-090-xx-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} - pins: *QTH_pins + pads: *QTH_pads Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical: <<: *QTH-090-xx-x-D @@ -102,7 +102,7 @@ Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 1, slots: 60, space: 20.0, width: 16.5, height: 4.0} - pins: *QTH_pins + pads: *QTH_pads Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QTH-020-xx-x-D-DP @@ -130,7 +130,7 @@ Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical: &QTH-040-xx-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 2, slots: 60, space: 20.0, width: 16.5, height: 4.0} - pins: *QTH_pins + pads: *QTH_pads Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QTH-040-xx-x-D-DP @@ -158,7 +158,7 @@ Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical: &QTH-060-xx-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 3, slots: 60, space: 20.0, width: 16.5, height: 4.0} - pins: *QTH_pins + pads: *QTH_pads Samtec_QTH-060-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QTH-060-xx-x-D-DP @@ -180,7 +180,7 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: Bank 1 differential; {ds:s} layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 1, slots: 60, space: 20.0, width: 16.5, height: 4.0} - pins: *QTH_pins + pads: *QTH_pads holes: - {drill: 1.02, space: 58.48, y: -2.03} @@ -195,7 +195,7 @@ Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} - pins: &QSH_pins + pads: &QSH_pads signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} @@ -216,7 +216,7 @@ Samtec_QSH-060-xx-x-D_P0.5mm_Vertical: &QSH-060-xx-x-D meta: *QSH_meta layout: {type: 'Socket', width: 41.31, height: 7.24} banks: {n: 2, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} - pins: *QSH_pins + pads: *QSH_pads Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-060-xx-x-D @@ -235,7 +235,7 @@ Samtec_QSH-090-xx-x-D_P0.5mm_Vertical: &QSH-090-xx-x-D meta: *QSH_meta layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} - pins: *QSH_pins + pads: *QSH_pads Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-090-xx-x-D @@ -259,7 +259,7 @@ Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} banks: {n: 1, diff: 1, slots: 60, space: 20.0, width: 16.0, height: 3.8} - pins: *QSH_pins + pads: *QSH_pads Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-020-xx-x-D-DP @@ -278,7 +278,7 @@ Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical: &QSH-040-xx-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 41.31, height: 7.24} banks: {n: 2, diff: 2, slots: 60, space: 20.0, width: 16.0, height: 3.8} - pins: *QSH_pins + pads: *QSH_pads Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-040-xx-x-D-DP @@ -295,7 +295,7 @@ Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical: &QSH-060-xx-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, diff: 3, slots: 60, space: 20.0, width: 16.0, height: 3.8} - pins: *QSH_pins + pads: *QSH_pads Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-060-xx-x-D-DP @@ -321,7 +321,7 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: Bank 1 differential; {ds:s} layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, diff: 1, slots: 60, space: 20.0, width: 16.0, height: 3.8} - pins: *QSH_pins + pads: *QSH_pads holes: - {drill: 1.02, space: 60.13, y: 2.03} @@ -336,7 +336,7 @@ Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} - pins: &QTS_pins + pads: &QTS_pads signal: {pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} ground: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -351,7 +351,7 @@ Samtec_QTS-050-xx-x-D_P0.635mm_Vertical: &QTS-050-xx-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} - pins: *QTS_pins + pads: *QTS_pads Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical: <<: *QTS-050-xx-x-D @@ -364,7 +364,7 @@ Samtec_QTS-075-xx-x-D_P0.635mm_Vertical: &QTS-075-xx-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} - pins: *QTS_pins + pads: *QTS_pads Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical: <<: *QTS-075-xx-x-D @@ -382,7 +382,7 @@ Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical: &QTS-016-xx-x-D-DP [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 1, slots: 50, space: 20.0, width: 16.5, height: 4.0} - pins: *QTS_pins + pads: *QTS_pads Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QTS-016-xx-x-D-DP @@ -401,7 +401,7 @@ Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical: &QTS-032-xx-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 2, slots: 50, space: 20.0, width: 16.5, height: 4.0} - pins: *QTS_pins + pads: *QTS_pads Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QTS-032-xx-x-D-DP @@ -420,7 +420,7 @@ Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical: &QTS-048-xx-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 3, slots: 50, space: 20.0, width: 16.5, height: 4.0} - pins: *QTS_pins + pads: *QTS_pads Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QTS-048-xx-x-D-DP @@ -445,7 +445,7 @@ Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} - pins: &QSS_pins + pads: &QSS_pads signal: {pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} ground: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} @@ -460,7 +460,7 @@ Samtec_QSS-050-xx-x-D_P0.635mm_Vertical: &QSS-050-xx-x-D meta: *QSS_meta layout: {type: 'Socket', width: 41.28, height: 7.24} banks: {n: 2, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} - pins: *QSS_pins + pads: *QSS_pads Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-050-xx-x-D @@ -473,7 +473,7 @@ Samtec_QSS-075-xx-x-D_P0.635mm_Vertical: &QSS-075-xx-x-D meta: *QSS_meta layout: {type: 'Socket', width: 61.28, height: 7.24} banks: {n: 3, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} - pins: *QSS_pins + pads: *QSS_pads Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-075-xx-x-D @@ -491,7 +491,7 @@ Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 1, slots: 50, space: 20.0, width: 16.0, height: 3.66} - pins: *QSS_pins + pads: *QSS_pads Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-016-xx-x-D-DP @@ -510,7 +510,7 @@ Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical: &QSS-032-xx-x-D-DP meta: *QSS-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} banks: {n: 2, diff: 2, slots: 50, space: 20.0, width: 16.0, height: 3.66} - pins: *QSS_pins + pads: *QSS_pads Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-032-xx-x-D-DP @@ -529,7 +529,7 @@ Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical: &QSS-048-xx-x-D-DP meta: *QSS-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} banks: {n: 3, diff: 3, slots: 50, space: 20.0, width: 16.0, height: 3.66} - pins: *QSS_pins + pads: *QSS_pads Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-048-xx-x-D-DP @@ -554,7 +554,7 @@ Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} - pins: &QTE_pins + pads: &QTE_pads signal: {pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -577,7 +577,7 @@ Samtec_QTE-040-xx-x-D_P0.8mm_Vertical: &QTE-040-xx-x-D meta: *QTE_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} - pins: *QTE_pins + pads: *QTE_pads Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical: <<: *QTE-040-xx-x-D @@ -598,7 +598,7 @@ Samtec_QTE-060-xx-x-D_P0.8mm_Vertical: &QTE-060-xx-x-D meta: *QTE_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} - pins: *QTE_pins + pads: *QTE_pads Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical: <<: *QTE-060-xx-x-D @@ -616,7 +616,7 @@ Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical: &QTE-014-xx-x-D-DP [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 1, slots: 40, space: 20.0, width: 16.5, height: 4.0} - pins: *QTE_pins + pads: *QTE_pads Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QTE-014-xx-x-D-DP @@ -637,7 +637,7 @@ Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical: &QTE-028-xx-x-D-DP meta: *QTE-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} banks: {n: 2, diff: 2, slots: 40, space: 20.0, width: 16.5, height: 4.0} - pins: *QTE_pins + pads: *QTE_pads Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QTE-028-xx-x-D-DP @@ -658,7 +658,7 @@ Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical: &QTE-042-xx-x-D-DP meta: *QTE-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 3, slots: 40, space: 20.0, width: 16.5, height: 4.0} - pins: *QTE_pins + pads: *QTE_pads Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QTE-042-xx-x-D-DP @@ -677,7 +677,7 @@ Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} - pins: &QSE_pins + pads: &QSE_pads signal: {pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} @@ -700,7 +700,7 @@ Samtec_QSE-040-xx-x-D_P0.8mm_Vertical: &QSE-040-xx-x-D meta: *QSE_meta layout: {type: 'Socket', width: 41.28, height: 7.24} banks: {n: 2, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} - pins: *QSE_pins + pads: *QSE_pads Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-040-xx-x-D @@ -713,7 +713,7 @@ Samtec_QSE-060-xx-x-D_P0.8mm_Vertical: &QSE-060-xx-x-D meta: *QSE_meta layout: {type: 'Socket', width: 61.28, height: 7.24} banks: {n: 3, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} - pins: *QSE_pins + pads: *QSE_pads Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-060-xx-x-D @@ -731,7 +731,7 @@ Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-dp-xxx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 1, slots: 40, space: 20.0, width: 16.0, height: 3.8} - pins: *QSE_pins + pads: *QSE_pads Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-014-xx-x-D-DP @@ -744,7 +744,7 @@ Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical: &QSE-028-xx-x-D-DP meta: *QSE-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} banks: {n: 2, diff: 2, slots: 40, space: 20.0, width: 16.0, height: 3.8} - pins: *QSE_pins + pads: *QSE_pads Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-028-xx-x-D-DP @@ -757,7 +757,7 @@ Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical: &QSE-042-xx-x-D-DP meta: *QSE-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} banks: {n: 3, diff: 3, slots: 40, space: 20.0, width: 16.0, height: 3.8} - pins: *QSE_pins + pads: *QSE_pads Samtec_QSE-042-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-042-xx-x-D-DP From a3bc5e6d810509079fa0c29ff2b1e2e6d19a2ef8 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 5 Jul 2020 11:08:07 -0700 Subject: [PATCH 27/62] Create initial version of RazorBeam_Vertical.py and YAML file --- .../Connector_Samtec/RazorBeam_Vertical.py | 289 ++++++++++++++++++ .../Connector_Samtec/RazorBeam_Vertical.yaml | 191 ++++++++++++ 2 files changed, 480 insertions(+) create mode 100755 scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py create mode 100644 scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py new file mode 100755 index 000000000..bdb1ebe97 --- /dev/null +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -0,0 +1,289 @@ +#!/usr/bin/python + +# This file is part of kicad-footprint-generator. +# +# kicad-footprint-generator is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# kicad-footprint-generator is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. You should have received a copy of the GNU General Public +# License along with kicad-footprint-generator. If not, see +# <http://www.gnu.org/licenses/>. +# +# Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> +# + +import sys +import os +import argparse +from copy import deepcopy +import math +import yaml + +# Load parent path of KicadModTree +sys.path.append(os.path.join(sys.path[0], "..", "..", "..")) +sys.path.append(os.path.join(sys.path[0], "..", "..", "tools")) + +from KicadModTree import * +from footprint_text_fields import addTextFields +from helpers import * + +def generate_one_footprint(param, config, default_lib): + fp = Footprint(param['name']) + + # Pad parameters + pitch = param['pads']['pitch'] + pad_w = param['pads']['width'] + pad_h = param['pads']['height'] + pad_y = param['pads']['y'] + pins = param['pins'] # Pin count + + # Part number + partnum = param['meta'].get('pn', param['name'].split('_')[1]) + + # Description + desc = param['meta']['description'] + desc = desc.format(pn = partnum, pitch = pitch, + ds = param['meta']['datasheet']) + fp.setDescription(desc) + + # Tags + tags = param['meta']['tags'] + if 'add-tags' in param: + tags += ' ' + param['add-tags'] + fp.setTags(tags) + + ############################################################################ + # Place pads + # Pin 1 position + pin1 = Vector2D(0,0) + pin1.x = -(pins / 4)*pitch + pitch/2 + pin1.y = -pad_y + + pin = [] # Pin position list + for p in range(pins): + # Compute next pad location + pos = {'x': pin1.x + (p // 2)*pitch, + 'y': pin1.y - (p % 2)*(2*pin1.y)} + + # Create pad + pin.append(pos) + pad = Pad(number = str(p+1), + at = pos, + size = (pad_w, pad_h), + type = Pad.TYPE_SMT, + layers = Pad.LAYERS_SMT, + shape = Pad.SHAPE_RECT) + fp.append(pad) + + ############################################################################ + # Holes + hole_list = param['holes'] + param.get('add-holes', []) + for p in hole_list: + drill = p['drill'] + shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL + h = [Pad(number = "SH" if 'pad' in p else "", + at = (m*p['space']/2, p['y']), + drill = drill, + size = p['pad'] if 'pad' in p else drill, + type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, + shape = shape) for m in (-1,1)] + fp.extend(h) + + ############################################################################ + # Fabrication layer: F.Fab + fab_line = config['fab_line_width'] + fab_mark = config['fab_pin1_marker_length'] + fab_w = param['layout']['width'] + if 'add-width' in param: + fab_w += param['add-width'] + fab_h = param['layout']['height'] + fab_y = fab_h / 2 + lEdge = -fab_w / 2 + rEdge = lEdge + fab_w + chamfer = fab_h / 10 # cosmetic only + + # Draw outline + outline = [(lEdge + chamfer, -fab_y), + (lEdge, -fab_y + chamfer), + (lEdge, fab_y - chamfer), + (lEdge + chamfer, fab_y), + (rEdge - chamfer, fab_y), + (rEdge, fab_y - chamfer), + (rEdge, -fab_y + chamfer), + (rEdge - chamfer, -fab_y), + (lEdge + chamfer, -fab_y)] + fp.append(PolygoneLine(nodes = outline, + layer = "F.Fab", + width = fab_line)) + + # Pin 1 marker + fp.append(markerArrow(x = pin1.x, + y = (fab_mark-fab_h) / 2, + width = fab_mark, + angle = 180, + layer = "F.Fab", + close = False, + line_width = fab_line)) + + ############################################################################ + # Courtyard: F.CrtYd + court_line = config['courtyard_line_width'] + court_grid = config['courtyard_grid'] + court_offset = config['courtyard_offset']['connector'] + + court_x = roundToBase(fab_w/2 + court_offset, court_grid) + court_y = roundToBase(max(fab_y, pad_y + pad_h/2) + court_offset, court_grid) + + fp.append(RectLine(start = (-court_x, -court_y), + end = ( court_x, court_y), + layer = "F.CrtYd", + width = court_line)) + + ############################################################################ + # Silkscreen: F.SilkS + silk_offset = config['silk_fab_offset'] + silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, + 'y': config['silk_pad_clearance'] + pad_h/2} + silk_line = config['silk_line_width'] + silk_y = fab_y + silk_offset + silk_lEdge = lEdge - silk_offset + silk_rEdge = rEdge + silk_offset + silk_chamfer = chamfer + silk_offset/2 + silk_pin1 = pin1.x - silk_pad['x'] + + if 'shield' in tags: + silk_lEnd = [[{'x': silk_pin1, 'y': -silk_y}, + {'x': silk_lEdge + silk_chamfer, 'y': -silk_y}, + {'x': silk_lEdge, 'y': -silk_y + silk_chamfer}, + {'x': silk_lEdge, 'y': 0}], + [{'x': silk_lEdge + silk_chamfer/2, 'y': silk_y - silk_chamfer/2}, + {'x': silk_lEdge + silk_chamfer, 'y': silk_y}, + {'x': silk_pin1, 'y': silk_y}]] + else: + silk_lEnd = [[{'x': silk_pin1, 'y': -silk_y}, + {'x': silk_lEdge + silk_chamfer, 'y': -silk_y}, + {'x': silk_lEdge, 'y': -silk_y + silk_chamfer}, + {'x': silk_lEdge, 'y': silk_y - silk_chamfer}, + {'x': silk_lEdge + silk_chamfer, 'y': silk_y}, + {'x': silk_pin1, 'y': silk_y}]] + + # Generate right outline + silk_rEnd = deepcopy(silk_lEnd) + # Mirror about x axis + for a in range(len(silk_lEnd)): + for b in range(len(silk_lEnd[a])): + silk_rEnd[a][b]['x'] = -silk_rEnd[a][b]['x'] + + # Draw left and right outlines + for i in range(len(silk_lEnd)): + fp.append(PolygoneLine(nodes = silk_lEnd[i], + layer = "F.SilkS", + width = silk_line)) + fp.append(PolygoneLine(nodes = silk_rEnd[i], + layer = "F.SilkS", + width = silk_line)) + + # Pin 1 indicator + fp.append(markerArrow(x = pin1.x, + y = pin1.y - silk_pad['y'], + width = fab_mark / 2, + angle = 180, + line_width = silk_line, + layer = "F.SilkS")) + + ############################################################################ + # Set Metadata + + # Draw reference and value + text_y = court_y + 1.0 + fp.append(Text(type = 'reference', text = 'REF**', + at = (0, -text_y), + layer = "F.SilkS")) + fp.append(Text(type = 'user', text = '%R', + at = (0, -text_y), + layer = "F.Fab")) + fp.append(Text(type = 'value', text=param['name'], + at = (0, text_y), + layer="F.Fab")) + + # Set surface-mount attribute + fp.setAttribute('smd') + + # 3D model path + library = param.get('library', default_lib) + model_path = os.path.join('${KISYS3DMOD}', + library+'.3dshapes', + param['name'] + '.wrl') + fp.append(Model(filename = model_path)) + + ############################################################################ + # Write kicad_mod file + + os.makedirs(library+'.pretty', exist_ok=True) + filename = os.path.join(library+'.pretty', param['name']+'.kicad_mod') + KicadFileHandler(fp).writeFile(filename) + +################################################################################ +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--global-config', type=str, nargs='?', + default='../../tools/global_config_files/config_KLCv3.0.yaml', + help='Global KLC configuration YAML file') + parser.add_argument('--series-config', type=str, nargs='?', + default='../conn_config_KLCv3.yaml', + help='Series KLC configuration YAML file') + parser.add_argument('--library', type=str, nargs='?', + default='Connector_Samtec_QStrip_QPairs', + help='Default KiCad library name (without extension)') + parser.add_argument('files', metavar='file', type=str, nargs='*', + help='YAML file(s) containing footprint parameters') + args = parser.parse_args() + + with open(args.global_config, 'r') as config_stream: + try: + config = yaml.safe_load(config_stream) + except yaml.YAMLError as exc: + print(exc) + + with open(args.series_config, 'r') as config_stream: + try: + config.update(yaml.safe_load(config_stream)) + except yaml.YAMLError as exc: + print(exc) + + if len(args.files) == 0: + parser.print_help() + sys.exit(1) + + print("Default Library:", args.library) + + for path in args.files: + print("Reading", path) + with open(path, 'r') as stream: + try: + footprints = yaml.safe_load(stream) + + if footprints is None: + print(path, "empty, skipping...") + continue + + for fp_name in footprints: + fp_params = footprints.get(fp_name) + if 'name' in fp_params: + print("WARNING: setting 'name' to", fp_name) + + fp_params['name'] = fp_name + + print(" - ", + fp_params.get('library', args.library), ".pretty/", + fp_name, ".kicad_mod", sep="") + + generate_one_footprint(fp_params, config, args.library) + except yaml.YAMLError as exc: + print(exc) diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml new file mode 100644 index 000000000..de1e138ad --- /dev/null +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml @@ -0,0 +1,191 @@ +################################################################################ +# LSHM family +Samtec_LSHM-105-xx.x-x-DV-A-N_Vertical: &LSHM-105 + meta: &LSHM_meta + description: 'Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip; {ds:s}' + tags: 'connector Samtec RazorBeam LSHM self-mating terminal socket vertical' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/lshm-1xx-xx.x-xxx-dv-a-x-x-xx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/lshm-1xx-xx.x-x-dv-a-x-x-tr-footprint.pdf) + pads: &LSHM_pads {pitch: 0.5, y: 1.85, width: 0.3, height: 1.5} + layout: {width: 7.2, height: 4.98} + pins: 10 + holes: + - {drill: 1.45, space: 4.5, y: -0.85} + +Samtec_LSHM-105-xx.x-x-DV-A-S_Vertical: + <<: *LSHM-105 + add-tags: 'shield' + add-width: 0.45 + add-holes: + - {drill: 1.0, pad: 2.0, space: 7.45, y: 1.15} + +Samtec_LSHM-110-xx.x-x-DV-A-N_Vertical: &LSHM-110 + meta: *LSHM_meta + pads: *LSHM_pads + layout: {width: 9.7, height: 4.98} + pins: 20 + holes: + - {drill: 1.45, space: 7.0, y: -0.85} + +Samtec_LSHM-110-xx.x-x-DV-A-S_Vertical: + <<: *LSHM-110 + add-tags: 'shield' + add-width: 0.45 + add-holes: + - {drill: 1.0, pad: 2.0, space: 9.95, y: 1.15} + +Samtec_LSHM-120-xx.x-x-DV-A-N_Vertical: &LSHM-120 + meta: *LSHM_meta + pads: *LSHM_pads + layout: {width: 14.7, height: 4.98} + pins: 40 + holes: + - {drill: 1.45, space: 12.0, y: -0.85} + +Samtec_LSHM-120-xx.x-x-DV-A-S_Vertical: + <<: *LSHM-120 + add-tags: 'shield' + add-width: 0.45 + add-holes: + - {drill: 1.0, pad: 2.0, space: 14.95, y: 1.15} + +Samtec_LSHM-130-xx.x-x-DV-A-N_Vertical: &LSHM-130 + meta: *LSHM_meta + pads: *LSHM_pads + layout: {width: 19.7, height: 4.98} + pins: 60 + holes: + - {drill: 1.45, space: 17.0, y: -0.85} + +Samtec_LSHM-130-xx.x-x-DV-A-S_Vertical: + <<: *LSHM-130 + add-tags: 'shield' + add-width: 0.45 + add-holes: + - {drill: 1.0, pad: 2.0, space: 19.95, y: 1.15} + +Samtec_LSHM-140-xx.x-x-DV-A-N_Vertical: &LSHM-140 + meta: *LSHM_meta + pads: *LSHM_pads + layout: {width: 24.7, height: 4.98} + pins: 80 + holes: + - {drill: 1.45, space: 22.0, y: -0.85} + +Samtec_LSHM-140-xx.x-x-DV-A-S_Vertical: + <<: *LSHM-140 + add-tags: 'shield' + add-width: 0.45 + add-holes: + - {drill: 1.0, pad: 2.0, space: 24.95, y: 1.15} + +Samtec_LSHM-150-xx.x-x-DV-A-N_Vertical: &LSHM-150 + meta: *LSHM_meta + pads: *LSHM_pads + layout: {width: 29.7, height: 4.98} + pins: 100 + holes: + - {drill: 1.45, space: 27.0, y: -0.85} + +Samtec_LSHM-150-xx.x-x-DV-A-S_Vertical: + <<: *LSHM-150 + add-tags: 'shield' + add-width: 0.45 + add-holes: + - {drill: 1.0, pad: 2.0, space: 29.95, y: 1.15} + +################################################################################ +# LSS family +#Samtec_LSS-105-xx-x-DV-A_Vertical: +# meta: &LSS_meta +# description: 'Samtec {pn:s} {pitch:1.3f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip; {ds:s}' +# tags: 'connector Samtec RazorBeam LSS self-mating terminal socket vertical' +# datasheet: >- +# [drawing](http://suddendocs.samtec.com/prints/lss-1xx-xx-xx-dv-xx-xx-mkt.pdf), +# [footprint](http://suddendocs.samtec.com/prints/lss-1xx-xx-xx-dv-xx-xx-footprint.pdf) +# pads: &LSS_pads {pitch: 0.635, y: 1.8, width: 0.4, height: 1.6} +# layout: {width: , height: 4.0} +# pins: 10 +# holes: +# - {drill: 0.89, space: 4.675, y: -1.1} +# +#Samtec_LSS-110-xx-x-DV-A_Vertical: +# meta: *LSS_meta +# pads: *LSS_pads +# layout: {width: , height: 4.0} +# pins: 20 +# holes: +# - {drill: 0.89, space: , y: 1.1} +# +#Samtec_LSS-120-xx-x-DV-A_Vertical: +# meta: *LSS_meta +# pads: *LSS_pads +# layout: {width: } +# pins: 40 +# holes: +# - {drill: 0.89, space: , y: 1.1} +# +#Samtec_LSS-130-xx-x-DV-A_Vertical: +# meta: *LSS_meta +# pads: *LSS_pads +# layout: {width: } +# pins: 60 +# holes: +# - {drill: 0.89, space: , y: 1.1} +# +#Samtec_LSS-140-xx-x-DV-A_Vertical: +# meta: *LSS_meta +# pads: *LSS_pads +# layout: {width: } +# pins: 80 +# holes: +# - {drill: 0.89, space: , y: 1.1} +# +#Samtec_LSS-150-xx-x-DV-A_Vertical: +# meta: *LSS_meta +# pads: *LSS_pads +# layout: {width: } +# pins: 100 +# holes: +# - {drill: 0.89, space: , y: 1.1} + +################################################################################ +# LSEM family +#Samtec_LSEM-120-xx.x-x-DV-A-N_Vertical: +# meta: &LSEM_meta +# description: 'Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip; {ds:s}' +# tags: 'connector Samtec RazorBeam LSEM self-mating terminal socket vertical' +# datasheet: >- +# [drawing](http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr-mkt.pdf), +# [footprint](http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr%20footprint.pdf) +# pads: &LSEM_pads {pitch: 0.8, y: , width: 0.38, height: 1.65} +# layout: {width: 20.4} +# pins: 40 +# holes: +# - {drill: 1.5, space: 17.7, y: } +# +#Samtec_LSS-130-xx-x-DV-A_Vertical: +# meta: *LSEM_meta +# pads: *LSEM_pads +# layout: {width: 28.4} +# pins: 60 +# holes: +# - {drill: 1.5, space: 25.7, y: } +# +#Samtec_LSS-140-xx-x-DV-A_Vertical: +# meta: *LSEM_meta +# pads: *LSEM_pads +# layout: {width: 36.4} +# pins: 80 +# holes: +# - {drill: 1.5, space: 33.7, y: } +# +#Samtec_LSS-150-xx-x-DV-A_Vertical: +# meta: *LSEM_meta +# pads: *LSEM_pads +# layout: {width: 44.4} +# pins: 100 +# holes: +# - {drill: 1.5, space: 41.7, y: } +# From 590fd6095583f43cc73fd4df9fbcfba32d92e714 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 5 Jul 2020 13:00:01 -0700 Subject: [PATCH 28/62] Add LSEM series to RazorBeam_Vertical --- .../Connector_Samtec/RazorBeam_Vertical.py | 12 +-- .../Connector_Samtec/RazorBeam_Vertical.yaml | 80 ++++++++++--------- 2 files changed, 50 insertions(+), 42 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py index bdb1ebe97..5872bd54a 100755 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -100,9 +100,11 @@ def generate_one_footprint(param, config, default_lib): fab_line = config['fab_line_width'] fab_mark = config['fab_pin1_marker_length'] fab_w = param['layout']['width'] + fab_h = param['layout']['height'] if 'add-width' in param: fab_w += param['add-width'] - fab_h = param['layout']['height'] + if 'add-height' in param: + fab_h += param['add-height'] fab_y = fab_h / 2 lEdge = -fab_w / 2 rEdge = lEdge + fab_w @@ -148,10 +150,10 @@ def generate_one_footprint(param, config, default_lib): ############################################################################ # Silkscreen: F.SilkS silk_offset = config['silk_fab_offset'] + silk_y = fab_y + silk_offset silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, - 'y': config['silk_pad_clearance'] + pad_h/2} + 'y': config['silk_pad_clearance'] + silk_y} silk_line = config['silk_line_width'] - silk_y = fab_y + silk_offset silk_lEdge = lEdge - silk_offset silk_rEdge = rEdge + silk_offset silk_chamfer = chamfer + silk_offset/2 @@ -162,7 +164,7 @@ def generate_one_footprint(param, config, default_lib): {'x': silk_lEdge + silk_chamfer, 'y': -silk_y}, {'x': silk_lEdge, 'y': -silk_y + silk_chamfer}, {'x': silk_lEdge, 'y': 0}], - [{'x': silk_lEdge + silk_chamfer/2, 'y': silk_y - silk_chamfer/2}, + [{'x': silk_lEdge, 'y': silk_y - silk_chamfer}, {'x': silk_lEdge + silk_chamfer, 'y': silk_y}, {'x': silk_pin1, 'y': silk_y}]] else: @@ -191,7 +193,7 @@ def generate_one_footprint(param, config, default_lib): # Pin 1 indicator fp.append(markerArrow(x = pin1.x, - y = pin1.y - silk_pad['y'], + y = -silk_pad['y'], width = fab_mark / 2, angle = 180, line_width = silk_line, diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml index de1e138ad..1b64a88c6 100644 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml @@ -17,6 +17,7 @@ Samtec_LSHM-105-xx.x-x-DV-A-S_Vertical: <<: *LSHM-105 add-tags: 'shield' add-width: 0.45 + add-height: 0.45 add-holes: - {drill: 1.0, pad: 2.0, space: 7.45, y: 1.15} @@ -32,6 +33,7 @@ Samtec_LSHM-110-xx.x-x-DV-A-S_Vertical: <<: *LSHM-110 add-tags: 'shield' add-width: 0.45 + add-height: 0.45 add-holes: - {drill: 1.0, pad: 2.0, space: 9.95, y: 1.15} @@ -47,6 +49,7 @@ Samtec_LSHM-120-xx.x-x-DV-A-S_Vertical: <<: *LSHM-120 add-tags: 'shield' add-width: 0.45 + add-height: 0.45 add-holes: - {drill: 1.0, pad: 2.0, space: 14.95, y: 1.15} @@ -62,6 +65,7 @@ Samtec_LSHM-130-xx.x-x-DV-A-S_Vertical: <<: *LSHM-130 add-tags: 'shield' add-width: 0.45 + add-height: 0.45 add-holes: - {drill: 1.0, pad: 2.0, space: 19.95, y: 1.15} @@ -77,6 +81,7 @@ Samtec_LSHM-140-xx.x-x-DV-A-S_Vertical: <<: *LSHM-140 add-tags: 'shield' add-width: 0.45 + add-height: 0.45 add-holes: - {drill: 1.0, pad: 2.0, space: 24.95, y: 1.15} @@ -92,6 +97,7 @@ Samtec_LSHM-150-xx.x-x-DV-A-S_Vertical: <<: *LSHM-150 add-tags: 'shield' add-width: 0.45 + add-height: 0.45 add-holes: - {drill: 1.0, pad: 2.0, space: 29.95, y: 1.15} @@ -152,40 +158,40 @@ Samtec_LSHM-150-xx.x-x-DV-A-S_Vertical: ################################################################################ # LSEM family -#Samtec_LSEM-120-xx.x-x-DV-A-N_Vertical: -# meta: &LSEM_meta -# description: 'Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip; {ds:s}' -# tags: 'connector Samtec RazorBeam LSEM self-mating terminal socket vertical' -# datasheet: >- -# [drawing](http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr-mkt.pdf), -# [footprint](http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr%20footprint.pdf) -# pads: &LSEM_pads {pitch: 0.8, y: , width: 0.38, height: 1.65} -# layout: {width: 20.4} -# pins: 40 -# holes: -# - {drill: 1.5, space: 17.7, y: } -# -#Samtec_LSS-130-xx-x-DV-A_Vertical: -# meta: *LSEM_meta -# pads: *LSEM_pads -# layout: {width: 28.4} -# pins: 60 -# holes: -# - {drill: 1.5, space: 25.7, y: } -# -#Samtec_LSS-140-xx-x-DV-A_Vertical: -# meta: *LSEM_meta -# pads: *LSEM_pads -# layout: {width: 36.4} -# pins: 80 -# holes: -# - {drill: 1.5, space: 33.7, y: } -# -#Samtec_LSS-150-xx-x-DV-A_Vertical: -# meta: *LSEM_meta -# pads: *LSEM_pads -# layout: {width: 44.4} -# pins: 100 -# holes: -# - {drill: 1.5, space: 41.7, y: } -# +Samtec_LSEM-120-xx.x-x-DV-A-N_Vertical: + meta: &LSEM_meta + description: 'Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip; {ds:s}' + tags: 'connector Samtec RazorBeam LSEM self-mating terminal socket vertical' + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr%20footprint.pdf) + pads: &LSEM_pads {pitch: 0.8, y: 1.85, width: 0.38, height: 1.65} + layout: {width: 20.4, height: 4.98} + pins: 40 + holes: + - {drill: 1.5, space: 17.7, y: -0.85} + +Samtec_LSS-130-xx-x-DV-A_Vertical: + meta: *LSEM_meta + pads: *LSEM_pads + layout: {width: 28.4, height: 4.98} + pins: 60 + holes: + - {drill: 1.5, space: 25.7, y: -0.85} + +Samtec_LSS-140-xx-x-DV-A_Vertical: + meta: *LSEM_meta + pads: *LSEM_pads + layout: {width: 36.4, height: 4.98} + pins: 80 + holes: + - {drill: 1.5, space: 33.7, y: -0.85} + +Samtec_LSS-150-xx-x-DV-A_Vertical: + meta: *LSEM_meta + pads: *LSEM_pads + layout: {width: 44.4, height: 4.98} + pins: 100 + holes: + - {drill: 1.5, space: 41.7, y: -0.85} + From fb0beb81b7d2fdfe7c1fef236c8c023b28714a06 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 5 Jul 2020 13:34:29 -0700 Subject: [PATCH 29/62] Adjust RazorBeam pin 1 indicator --- scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py | 4 ++-- scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py index 5872bd54a..1024e1d24 100755 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -152,7 +152,7 @@ def generate_one_footprint(param, config, default_lib): silk_offset = config['silk_fab_offset'] silk_y = fab_y + silk_offset silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, - 'y': config['silk_pad_clearance'] + silk_y} + 'y': config['silk_pad_clearance'] + pad_y/2} silk_line = config['silk_line_width'] silk_lEdge = lEdge - silk_offset silk_rEdge = rEdge + silk_offset @@ -193,7 +193,7 @@ def generate_one_footprint(param, config, default_lib): # Pin 1 indicator fp.append(markerArrow(x = pin1.x, - y = -silk_pad['y'], + y = pin1.y - silk_pad['y'], width = fab_mark / 2, angle = 180, line_width = silk_line, diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml index 1b64a88c6..3f618593a 100644 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml @@ -171,7 +171,7 @@ Samtec_LSEM-120-xx.x-x-DV-A-N_Vertical: holes: - {drill: 1.5, space: 17.7, y: -0.85} -Samtec_LSS-130-xx-x-DV-A_Vertical: +Samtec_LSEM-130-xx-x-DV-A-N_Vertical: meta: *LSEM_meta pads: *LSEM_pads layout: {width: 28.4, height: 4.98} @@ -179,7 +179,7 @@ Samtec_LSS-130-xx-x-DV-A_Vertical: holes: - {drill: 1.5, space: 25.7, y: -0.85} -Samtec_LSS-140-xx-x-DV-A_Vertical: +Samtec_LSEM-140-xx-x-DV-A-N_Vertical: meta: *LSEM_meta pads: *LSEM_pads layout: {width: 36.4, height: 4.98} @@ -187,7 +187,7 @@ Samtec_LSS-140-xx-x-DV-A_Vertical: holes: - {drill: 1.5, space: 33.7, y: -0.85} -Samtec_LSS-150-xx-x-DV-A_Vertical: +Samtec_LSEM-150-xx-x-DV-A-N_Vertical: meta: *LSEM_meta pads: *LSEM_pads layout: {width: 44.4, height: 4.98} From 4ac386a4c93b75d882b3bb2f6c54e10562de9688 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 5 Jul 2020 13:44:34 -0700 Subject: [PATCH 30/62] Fix LSEM part names --- scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml index 3f618593a..a0dbe11d9 100644 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml @@ -171,7 +171,7 @@ Samtec_LSEM-120-xx.x-x-DV-A-N_Vertical: holes: - {drill: 1.5, space: 17.7, y: -0.85} -Samtec_LSEM-130-xx-x-DV-A-N_Vertical: +Samtec_LSEM-130-xx.x-x-DV-A-N_Vertical: meta: *LSEM_meta pads: *LSEM_pads layout: {width: 28.4, height: 4.98} @@ -179,7 +179,7 @@ Samtec_LSEM-130-xx-x-DV-A-N_Vertical: holes: - {drill: 1.5, space: 25.7, y: -0.85} -Samtec_LSEM-140-xx-x-DV-A-N_Vertical: +Samtec_LSEM-140-xx.x-x-DV-A-N_Vertical: meta: *LSEM_meta pads: *LSEM_pads layout: {width: 36.4, height: 4.98} @@ -187,7 +187,7 @@ Samtec_LSEM-140-xx-x-DV-A-N_Vertical: holes: - {drill: 1.5, space: 33.7, y: -0.85} -Samtec_LSEM-150-xx-x-DV-A-N_Vertical: +Samtec_LSEM-150-xx.x-x-DV-A-N_Vertical: meta: *LSEM_meta pads: *LSEM_pads layout: {width: 44.4, height: 4.98} From c4bcac382b1b037f6665cc559cf6fab8e9bc090e Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 6 Jul 2020 09:19:50 -0700 Subject: [PATCH 31/62] QStrip_QPairs_Vertical: rename plane pads to "P{bank}" --- scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 511738f3d..68043dac1 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -159,7 +159,7 @@ def generate_one_footprint(param, config, default_lib): mid = bank1_mid + b*bank_x # Bank midpoint # Iterate through space/width list to generate ground pads... for (space, width) in [(-s,w) for s,w in reversed(gnd_sw)] + gnd_sw: - pad = Pad(number = str(n), + pad = Pad(number = "P" + str(b+1), at = (mid + space/2, 0), size = (width, gnd_h), type = Pad.TYPE_SMT, From c81552ffecd5f9b1f340b9c012edd3dd4b6b73a3 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 6 Jul 2020 10:08:17 -0700 Subject: [PATCH 32/62] Change QStrip_QPairs_Vertical.yaml property names --- .../Connector_Samtec/QStrip_QPairs_Vertical.py | 6 +++--- .../Connector_Samtec/QStrip_QPairs_Vertical.yaml | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 68043dac1..d6eafaf69 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -148,10 +148,10 @@ def generate_one_footprint(param, config, default_lib): n += 1 # Ground pad parameters - gnd_h = param['pads']['ground']['height'] + gnd_h = param['pads']['plane']['height'] # Combine spacing and width data into a zipped list: [(space,width), ...] - gnd_sw = [sw for sw in zip(param['pads']['ground']['space'], - param['pads']['ground']['width'])] + gnd_sw = [sw for sw in zip(param['pads']['plane']['space'], + param['pads']['plane']['width'])] gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing # Place ground plane pads diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml index eca43e7c3..c3b098245 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml @@ -26,7 +26,7 @@ Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} pads: &QTH_pads signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + plane: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QTH-030-xx-x-D @@ -197,7 +197,7 @@ Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} pads: &QSH_pads signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} - ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + plane: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-030-xx-x-D @@ -338,7 +338,7 @@ Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} pads: &QTS_pads signal: {pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} - ground: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} + plane: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QTS-025-xx-x-D @@ -447,7 +447,7 @@ Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} pads: &QSS_pads signal: {pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} - ground: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} + plane: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-025-xx-x-D @@ -556,7 +556,7 @@ Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} pads: &QTE_pads signal: {pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} - ground: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + plane: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QTE-020-xx-x-D @@ -679,7 +679,7 @@ Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} pads: &QSE_pads signal: {pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} - ground: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + plane: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-020-xx-x-D From 5f4e7bb4378b709ffdbc767a38ce657ea5b7ff8c Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Tue, 7 Jul 2020 11:08:25 -0600 Subject: [PATCH 33/62] Minor update to YAML schema --- .../Connector_Samtec/QStrip_QPairs_Vertical.py | 16 ++++++++-------- .../Connector_Samtec/QStrip_QPairs_Vertical.yaml | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index d6eafaf69..d9ec0aec7 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -40,13 +40,13 @@ space: !!float mm # distance between adjacent banks width: !!float mm # width of bank outline drawn on F.Fab height: !!float mm # height of bank outline drawn on F.Fab - pins: + pads: signal: # signal pin parameters pitch: !!float mm width: !!float mm # Pad width height: !!float mm # Pad height y: !!float mm # vertical offset - ground: # ground pin parameters + planes: # plane parameters width: - !!float mm # outer pins - !!float mm # inner pins @@ -148,10 +148,10 @@ def generate_one_footprint(param, config, default_lib): n += 1 # Ground pad parameters - gnd_h = param['pads']['plane']['height'] + gnd_h = param['pads']['planes']['height'] # Combine spacing and width data into a zipped list: [(space,width), ...] - gnd_sw = [sw for sw in zip(param['pads']['plane']['space'], - param['pads']['plane']['width'])] + gnd_sw = [sw for sw in zip(param['pads']['planes']['space'], + param['pads']['planes']['width'])] gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing # Place ground plane pads @@ -378,9 +378,9 @@ def generate_one_footprint(param, config, default_lib): # 3D model path library = param.get('library', default_lib) - model_path = os.path.join('${KISYS3DMOD}', - library+'.3dshapes', - param['name'] + '.wrl') + model_path = os.path.join("${KISYS3DMOD}", + library+".3dshapes", + param['name'] + ".wrl") fp.append(Model(filename = model_path)) ############################################################################ diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml index c3b098245..420970346 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml @@ -26,7 +26,7 @@ Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} pads: &QTH_pads signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - plane: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + planes: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QTH-030-xx-x-D @@ -197,7 +197,7 @@ Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} pads: &QSH_pads signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} - plane: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + planes: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-030-xx-x-D @@ -338,7 +338,7 @@ Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} pads: &QTS_pads signal: {pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} - plane: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} + planes: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QTS-025-xx-x-D @@ -447,7 +447,7 @@ Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} pads: &QSS_pads signal: {pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} - plane: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} + planes: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-025-xx-x-D @@ -556,7 +556,7 @@ Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} pads: &QTE_pads signal: {pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} - plane: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + planes: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QTE-020-xx-x-D @@ -679,7 +679,7 @@ Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} pads: &QSE_pads signal: {pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} - plane: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + planes: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-020-xx-x-D From 494053c5fde600c1d6ff509af186ea4f2128395a Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 12 Jul 2020 08:44:15 -0700 Subject: [PATCH 34/62] Create initial version of QStrip_QPairs_Horizontal script --- .../QStrip_QPairs_Horizontal.py | 354 ++++++++++++++++++ .../QStrip_QPairs_Horizontal.yaml | 41 ++ 2 files changed, 395 insertions(+) create mode 100755 scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py create mode 100644 scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py new file mode 100755 index 000000000..a0d03a9bd --- /dev/null +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py @@ -0,0 +1,354 @@ +#!/usr/bin/python + +# This file is part of kicad-footprint-generator. +# +# kicad-footprint-generator is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# kicad-footprint-generator is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. You should have received a copy of the GNU General Public +# License along with kicad-footprint-generator. If not, see +# <http://www.gnu.org/licenses/>. +# +# Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> +# + +""" +YAML footprint specification +--- +Footprint_Name: + library: 'library name' # [optional] KiCad library to use, overrides default + meta: # Footprint metadata + pn: 'part number' # [optional] overrides automatic part number detection + description: 'Brief description of the footprint' + datasheet: 'URL(s) to footprint datasheet' + tags: 'KiCad tags go here' + add-tags: 'more tags' # [optional] extends the tag list + layout: # General footprint layout/drawing data + type: '(Terminal|Socket)' # sets Pin 1 position and drawing mode + width: !!float mm # [cosmetic] overall width of the connector + height: !!float mm # [cosmetic] overall height of the connector + width: !!float mm # [optional, cosmetic] overrides layout::width + banks: + n: !!uint # number of banks in the connector + diff: !!uint # number of differential banks + space: !!float mm # distance between adjacent banks + width: !!float mm # width of bank outline drawn on F.Fab + height: !!float mm # height of bank outline drawn on F.Fab + pads: + signal: # signal pin parameters + pitch: !!float mm + width: !!float mm # Pad width + height: !!float mm # Pad height + y: !!float mm # vertical offset + planes: # plane parameters + width: + - !!float mm # outer pins + - !!float mm # inner pins + height: !!float mm # Ground pad heights + space: # Distance between ground pads within each bank + - !!float mm # outer pins + - !!float mm # inner pins + holes: # [optional] hole pair specifications, mirrored about y axis + - # Hole spec. 1 + name: "" # [optional] name/number for plated holes + drill: !!float mm # drill diameter (a list produces an oval) + pad: !!float mm # [optional] PTH pad diameter (a list produces an oval) + space: !!float mm # distance between holes mirrored about the y-axis + y: !!float mm # vertical offset + - # Hole spec. 2... +... +""" + +import sys +import os +import argparse +from copy import deepcopy +import math +import yaml + +# Load parent path of KicadModTree +sys.path.append(os.path.join(sys.path[0], "..", "..", "..")) +sys.path.append(os.path.join(sys.path[0], "..", "..", "tools")) + +from KicadModTree import * +from footprint_text_fields import addTextFields +from helpers import * + +def generate_one_footprint(param, config, default_lib): + fp = Footprint(param['name']) + + # Terminal or Socket mode + mode = param['layout']['type'].capitalize() + + # Bank parameters + banks = param['banks']['n'] + bank_x = param['banks']['space'] + bank_w = param['banks']['width'] + bank_h = param['banks']['height'] + + ############################################################################ + # Copper layer(s) + + # Signal pad parameters + pad_pitch = param['pads']['signal']['pitch'] + pad_w = param['pads']['signal']['width'] + pad_h = param['pads']['signal']['height'] + pad_y = param['pads']['signal']['y'] + pad_n = param['pads']['signal']['n'] + + # Plane parameters + plane_pitch = param['pads']['plane']['pitch'] + plane_d = param['pads']['plane']['drill'] + plane_p = param['pads']['plane']['pad'] + plane_y = param['pads']['plane']['y'] + plane_n = param['pads']['plane']['n'] + + # Pin 1 position + pin1 = Vector2D(0,0) + pin1.x = -(pad_n / 4)*pad_pitch + pad_pitch/2 - ((banks-1) / 2)*bank_x + if mode == "Terminal": + pin1.y = -pad_y + elif mode == "Socket": + pin1.y = pad_y + else: + raise ValueError("Connector type must be either 'Terminal' or 'Socket'") + + # Bank 1 center point + bank1_mid = pin1.x - pad_pitch/2 + (pad_n / 4)*pad_pitch + + # Place signal pads + n = 1 # Pin counter + pin = [] # Pin position list, organized by bank + for b in range(banks): + pin.append([]) + for slot in range(pad_n): + # Compute next pad location + pos = {'x': pin1.x + (slot // 2)*pad_pitch + b*bank_x, + 'y': pin1.y - (slot % 2)*(2*pin1.y), + 'n': n+1, 'slot': slot} + + # Skip slots for differential banks + if b < param['banks']['diff']: + if ((slot+1) % 6 == 0 or # Skip every 3rd odd slot + (slot+2) % 6 == 0 or # Skip every 3rd even slot + # Only add end-of-bank pins if they are completing a pair + (slot+2 >= pad_n and + pin[b][-2]['slot'] != slot-2)): + continue + + # Create pad + pin[b].append(pos) # Add position to list + # Create pad (both single-ended and differential) + pad = Pad(number = str(n), + at = pos, + size = (pad_w, pad_h), + type = Pad.TYPE_SMT, + layers = Pad.LAYERS_SMT, + shape = Pad.SHAPE_RECT) + fp.append(pad) + n += 1 + + mid = bank1_mid + b*bank_x # Bank midpoint + for h in range(plane_n): + hole = Pad(number = "P" + str(b+1), + at = ((h - (plane_n-1)/2)*plane_pitch + mid, plane_y), + drill = plane_d, + size = plane_p, + type = Pad.TYPE_THT, + layers = Pad.LAYERS_THT, + shape = Pad.SHAPE_CIRCLE) + fp.append(hole) + + ############################################################################ + # Holes + if 'holes' in param: + for p in param['holes']: + drill = p['drill'] + shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL + h = [Pad(number = "MP" if 'pad' in p else "", + at = (m*p['space']/2, p['y']), + drill = drill, + size = p['pad'] if 'pad' in p else drill, + type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, + shape = shape) for m in (-1,1)] + fp.extend(h) + + ############################################################################ + # Fabrication layer: F.Fab + fab_line = config['fab_line_width'] + fab_mark = config['fab_pin1_marker_length'] + fab_w = param['layout']['width'] if 'width' not in param else param['width'] + fab_h = param['layout']['height'] + fab_y = fab_h / 2 + lEdge = -fab_w / 2 + rEdge = lEdge + fab_w + chamfer = fab_h / 4 # 1/4 connector height, cosmetic only + + if param['layout']['type'] == "Terminal": + # Plug outline + plug_h = param['layout']['plug']['height'] + fp.append(RectLine(start = (-banks*bank_w/2, -fab_y), + end = ( banks*bank_w/2, -fab_y - plug_h), + layer = "F.CrtYd", + width = fab_line)) + + ############################################################################ + # Silkscreen: F.SilkS + #silk_offset = param['layout']['silk-offset'] + silk_offset = config['silk_fab_offset'] + silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, + 'y': config['silk_pad_clearance'] + pad_h/2} + silk_line = config['silk_line_width'] + silk_y = fab_y + silk_offset + silk_lEdge = lEdge - silk_offset + silk_rEdge = rEdge + silk_offset + silk_chamfer = chamfer + silk_offset/2 + silk_pin1 = pin1.x - silk_pad['x'] + + ############################################################################ + # PCB Edge: Dwgs.User + fp.append(Line(start = (lEdge, param['layout']['edge']), + end = (rEdge, param['layout']['edge']), + layer = "Dwgs.User", + width = fab_line)) + + fp.append(Text(type = "user", text = "PCB Edge", + at = (0, param['layout']['edge'] - 1.0), + layer = "Dwgs.User")) + + ############################################################################ + # Courtyard: F.CrtYd + court_line = config['courtyard_line_width'] + court_grid = config['courtyard_grid'] + court_offset = config['courtyard_offset']['connector'] + + court_x = roundToBase(fab_w/2 + court_offset, court_grid) + court_y = roundToBase(max(fab_y, pad_y + pad_h/2) + court_offset, court_grid) + + fp.append(RectLine(start = (-court_x, -court_y), + end = ( court_x, court_y), + layer = "F.CrtYd", + width = court_line)) + + ############################################################################ + # Set Metadata + + # Draw reference and value + text_y = court_y + 1.0 + fp.append(Text(type = 'reference', text = 'REF**', + at = (0, -text_y), + layer = "F.SilkS")) + fp.append(Text(type = 'user', text = '%R', + at = (0, -text_y), + layer = "F.Fab")) + fp.append(Text(type = 'value', text=param['name'], + at = (0, text_y), + layer="F.Fab")) + + # Set surface-mount attribute + fp.setAttribute('smd') + + # Part number + partnum = param['meta'].get('pn', param['name'].split('_')[1]) + + # Pins or pairs/bank + if param['banks']['diff'] == banks: + # Differential mode: round up to nearest even number of pairs + pins_or_pairs = (pad_n // 3) + (pad_n // 3) % 2 + else: + pins_or_pairs = pad_n + + # Description + desc = param['meta']['description'] + desc = desc.format(pn = partnum, + type = mode, + ds = param['meta']['datasheet'], + pitch = pad_pitch, + banks = banks, + pins = pins_or_pairs) + fp.setDescription(desc) + + # Tags + tags = param['meta']['tags'] + if 'add-tags' in param: + tags += ' ' + param['add-tags'] + fp.setTags(tags) + + # 3D model path + library = param.get('library', default_lib) + model_path = os.path.join("${KISYS3DMOD}", + library+".3dshapes", + param['name'] + ".wrl") + fp.append(Model(filename = model_path)) + + ############################################################################ + # Write kicad_mod file + + os.makedirs(library+'.pretty', exist_ok=True) + filename = os.path.join(library+'.pretty', param['name']+'.kicad_mod') + KicadFileHandler(fp).writeFile(filename) + +################################################################################ +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--global-config', type=str, nargs='?', + default='../../tools/global_config_files/config_KLCv3.0.yaml', + help='Global KLC configuration YAML file') + parser.add_argument('--series-config', type=str, nargs='?', + default='../conn_config_KLCv3.yaml', + help='Series KLC configuration YAML file') + parser.add_argument('--library', type=str, nargs='?', + default='Connector_Samtec_QStrip_QPairs', + help='Default KiCad library name (without extension)') + parser.add_argument('files', metavar='file', type=str, nargs='*', + help='YAML file(s) containing footprint parameters') + args = parser.parse_args() + + with open(args.global_config, 'r') as config_stream: + try: + config = yaml.safe_load(config_stream) + except yaml.YAMLError as exc: + print(exc) + + with open(args.series_config, 'r') as config_stream: + try: + config.update(yaml.safe_load(config_stream)) + except yaml.YAMLError as exc: + print(exc) + + if len(args.files) == 0: + parser.print_help() + sys.exit(1) + + print("Default Library:", args.library) + + for path in args.files: + print("Reading", path) + with open(path, 'r') as stream: + try: + footprints = yaml.safe_load(stream) + + if footprints is None: + print(path, "empty, skipping...") + continue + + for fp_name in footprints: + fp_params = footprints.get(fp_name) + if 'name' in fp_params: + print("WARNING: setting 'name' to", fp_name) + + fp_params['name'] = fp_name + + print(" - ", + fp_params.get('library', args.library), ".pretty/", + fp_name, ".kicad_mod", sep="") + + generate_one_footprint(fp_params, config, args.library) + except yaml.YAMLError as exc: + print(exc) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml new file mode 100644 index 000000000..de8f441f1 --- /dev/null +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml @@ -0,0 +1,41 @@ +# QTH-RA family +Samtec_QTH-030-xx-x-D-RA_P0.5mm_Horizontal: + meta: &QTH-RA_meta + description: >- + Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; + {banks:d} bank(s), {pins:d} pins/bank; {ds:s} + tags: "connector Samtec Q-Strip QTH mezzanine terminal horizontal single-ended" + datasheet: >- + [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), + [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) + layout: {type: "Terminal", width: 25.72, height: 9.78, edge: -3.309, plug: + {width: 20.0, height: 3.05}} + banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 4.0} + pads: &QTH-RA_pads + signal: {n: 60, pitch: 0.5, y: 2.3055, width: 0.305, height: 1.45} + plane: {n: 8, pitch: 2.032, y: 0, drill: 0.533, pad: 1.0} + holes: # Holes sorted by dimension labels in Samtec ECN-264948 Rev. E + - {drill: 1.067, pad: 1.8, space: 23.178, y: -2.197} # "A" + - {drill: 1.448, space: 21.908, y: 0.851} # "B" + - {drill: 1.067, pad: 1.8, space: 18.190, y: 3.607} # "C" + +Samtec_QTH-060-xx-x-D-RA_P0.5mm_Horizontal: + meta: *QTH-RA_meta + pads: *QTH-RA_pads + layout: {type: "Terminal", width: 45.72, height: 1.45, edge: -3.309, plug: + {width: 40.01, height: 3.05}} + banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 4.0} + holes: + - {drill: 1.067, pad: 1.8, space: 43.180, y: -2.197} # "A" + - {drill: 1.448, space: 41.910, y: 0.851} # "B" + - {drill: 1.067, pad: 1.8, space: 38.913, y: 3.607} # "C" + +Samtec_QTH-090-xx-x-D-RA_P0.5mm_Horizontal: + meta: *QTH-RA_meta + pads: *QTH-RA_pads + layout: {type: "Terminal", width: 65.72, height: 1.45, edge: -3.309, plug: {height: 3.05}} + banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 4.0} + holes: + - {drill: 1.067, pad: 1.8, space: 63.183, y: -2.197} # "A" + - {drill: 1.448, space: 61.913, y: 0.851} # "B" + - {drill: 1.067, pad: 1.8, space: 58.915, y: 3.607} # "C" From b442e13982c4bfe0d4d4890b72873fe2a1a6378c Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Tue, 28 Jul 2020 19:44:39 -0700 Subject: [PATCH 35/62] Rewrite QStrip_QPairs_Vertical code to draw sockets from right to left so that pin 1 is on top. --- .../QStrip_QPairs_Vertical.py | 138 ++++++++---------- .../QStrip_QPairs_Vertical.yaml | 38 ++--- 2 files changed, 83 insertions(+), 93 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index d9ec0aec7..dac9cd89f 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -85,6 +85,13 @@ def generate_one_footprint(param, config, default_lib): # Terminal or Socket mode mode = param['layout']['type'].capitalize() + if mode == "Terminal": + x_inv = 1 + elif mode == "Socket": + x_inv = -1 + else: + raise ValueError("Connector type must be either 'Terminal' or 'Socket'") + # Bank parameters banks = param['banks']['n'] @@ -105,24 +112,27 @@ def generate_one_footprint(param, config, default_lib): # Pin 1 position pin1 = Vector2D(0,0) pin1.x = -(bank_slots / 4)*pitch + pitch/2 - ((banks-1) / 2)*bank_x - if mode == "Terminal": - pin1.y = -pad_y - elif mode == "Socket": - pin1.y = pad_y - else: - raise ValueError("Connector type must be either 'Terminal' or 'Socket'") + pin1.y = -pad_y # Bank 1 center point - bank1_mid = pin1.x - pitch/2 + (bank_slots / 4)*pitch + bank1_mid = x_inv * (pin1.x - pitch/2 + (bank_slots / 4)*pitch) + + # Ground pad parameters + gnd_h = param['pads']['planes']['height'] + # Combine spacing and width data into a zipped list: [(space,width), ...] + gnd_sw = [sw for sw in zip(param['pads']['planes']['space'], + param['pads']['planes']['width'])] + gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing - # Place signal pads + # Place pads n = 1 # Pin counter pin = [] # Pin position list, organized by bank - for b in range(0, banks): + for b in range(banks): pin.append([]) + # Place signal pads for slot in range(bank_slots): # Compute next pad location - pos = {'x': pin1.x + (slot // 2)*pitch + b*bank_x, + pos = {'x': x_inv * (pin1.x + (slot // 2)*pitch + b*bank_x), 'y': pin1.y - (slot % 2)*(2*pin1.y), 'n': n+1, 'slot': slot} @@ -147,16 +157,8 @@ def generate_one_footprint(param, config, default_lib): fp.append(pad) n += 1 - # Ground pad parameters - gnd_h = param['pads']['planes']['height'] - # Combine spacing and width data into a zipped list: [(space,width), ...] - gnd_sw = [sw for sw in zip(param['pads']['planes']['space'], - param['pads']['planes']['width'])] - gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing - - # Place ground plane pads - for b in range(banks): - mid = bank1_mid + b*bank_x # Bank midpoint + # Place plane pads + mid = bank1_mid + x_inv*b*bank_x # Bank midpoint # Iterate through space/width list to generate ground pads... for (space, width) in [(-s,w) for s,w in reversed(gnd_sw)] + gnd_sw: pad = Pad(number = "P" + str(b+1), @@ -190,15 +192,14 @@ def generate_one_footprint(param, config, default_lib): fab_w = param['layout']['width'] if 'width' not in param else param['width'] fab_h = param['layout']['height'] fab_y = fab_h / 2 - lEdge = -fab_w / 2 - rEdge = lEdge + fab_w + fab_edge = fab_w/2 chamfer = fab_h / 4 # 1/4 connector height, cosmetic only if mode == 'Terminal': # Left end outline - lEnd = [(lEdge, -fab_y), - (lEdge, fab_y-chamfer), - (lEdge+chamfer, fab_y)] + lEnd = [(-fab_edge, -fab_y), + (-fab_edge, fab_y-chamfer), + (-fab_edge+chamfer, fab_y)] fp.append(PolygoneLine(nodes = lEnd, layer = "F.Fab", width = fab_line)) @@ -208,12 +209,12 @@ def generate_one_footprint(param, config, default_lib): width = fab_line, x_mirror = 0)) # Top and bottom lines - fp.append(Line(start = (lEdge, -fab_y), - end = (rEdge, -fab_y), + fp.append(Line(start = (-fab_edge, -fab_y), + end = ( fab_edge, -fab_y), layer = "F.Fab", width = fab_line)) - fp.append(Line(start = (lEdge+chamfer, fab_y), - end = (rEdge-chamfer, fab_y), + fp.append(Line(start = (-fab_edge+chamfer, fab_y), + end = ( fab_edge-chamfer, fab_y), layer = "F.Fab", width = fab_line)) # Pin 1 marker @@ -226,30 +227,31 @@ def generate_one_footprint(param, config, default_lib): line_width = fab_line)) elif mode == 'Socket': # Outline rectangle - fp.append(RectLine(start = (lEdge, -fab_y), - end = (rEdge, fab_y), + fp.append(RectLine(start = (-fab_edge, -fab_y), + end = ( fab_edge, fab_y), layer = "F.Fab", width = fab_line)) # Chamfer lines - fp.append(Line(start = (lEdge, -fab_y+chamfer), - end = (lEdge+chamfer, -fab_y), + fp.append(Line(start = (-fab_edge, fab_y-chamfer), + end = (-fab_edge+chamfer, fab_y), layer = "F.Fab", width = fab_line)) - fp.append(Line(start = (rEdge, -fab_y+chamfer), - end = (rEdge-chamfer, -fab_y), + fp.append(Line(start = (fab_edge, fab_y-chamfer), + end = (fab_edge-chamfer, fab_y), layer = "F.Fab", width = fab_line)) # Pin 1 marker - fp.append(markerArrow(x = pin1.x, - y = (fab_h-fab_mark) / 2, + fp.append(markerArrow(x = -pin1.x, + y = -(fab_h-fab_mark) / 2, width = fab_mark, + angle = 180, layer = "F.Fab", close = False, line_width = fab_line)) # Draw bank and ground plane outlines for b in range(banks): - mid = bank1_mid + b*bank_x + mid = bank1_mid + x_inv*b*bank_x # Bank outline fp.append(RectLine(start = (mid-bank_w/2, -bank_h/2), end = (mid+bank_w/2, bank_h/2), @@ -258,63 +260,51 @@ def generate_one_footprint(param, config, default_lib): ############################################################################ # Silkscreen: F.SilkS - #silk_offset = param['layout']['silk-offset'] silk_offset = config['silk_fab_offset'] silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, 'y': config['silk_pad_clearance'] + pad_h/2} silk_line = config['silk_line_width'] silk_y = fab_y + silk_offset - silk_lEdge = lEdge - silk_offset - silk_rEdge = rEdge + silk_offset + silk_edge = fab_edge + silk_offset silk_chamfer = chamfer + silk_offset/2 - silk_pin1 = pin1.x - silk_pad['x'] if mode == 'Terminal': # Polygon left end outline points - silk_lEnd = [{'x': silk_pin1, 'y': -silk_y}, - {'x': silk_lEdge, 'y': -silk_y}, - {'x': silk_lEdge, 'y': silk_y-silk_chamfer}, - {'x': silk_lEdge+silk_chamfer, 'y': silk_y}, - {'x': silk_pin1, 'y': silk_y}] + silk_end = [[(pin[i][i]['x']+m*silk_pad['x'], -silk_y), + (m*silk_edge, -silk_y), + (m*silk_edge, silk_y-silk_chamfer), + (m*(silk_edge-silk_chamfer), silk_y), + (pin[i][i]['x']+m*silk_pad['x'], silk_y)] + for (i,m) in ((0,-1), (-1,1))] # Pin 1 indicator - fp.append(Line(start = (silk_pin1, pin1.y - pad_h/2), - end = (silk_pin1, -silk_y), + fp.append(Line(start = (pin[0][0]['x']-silk_pad['x'], pin1.y - pad_h/2), + end = (pin[0][0]['x']-silk_pad['x'], -silk_y), layer = "F.SilkS", width = silk_line)) elif mode == 'Socket': # Left end outline points - silk_lEnd = [{'x': silk_pin1, 'y': silk_y}, - {'x': silk_lEdge, 'y': silk_y}, - {'x': silk_lEdge, 'y': -silk_y}, - {'x': silk_pin1, 'y': -silk_y}] + silk_end = [[(pin[i][i]['x']+m*silk_pad['x'], silk_y), + (m*silk_edge, silk_y), + (m*silk_edge, -silk_y), + (pin[i][i]['x']+m*silk_pad['x'], -silk_y)] + for (i,m) in ((0,1), (-1,-1))] # Pin 1 indicator - fp.append(markerArrow(x = pin1.x, - y = pin1.y + silk_pad['y'], + fp.append(markerArrow(x = pin[0][0]['x'], + y = pin[0][0]['y'] - silk_pad['y'], width = fab_mark / 2, line_width = silk_line, + angle = 180, layer = "F.SilkS")) - - # Generate right end outline - silk_rEnd = deepcopy(silk_lEnd) - # Mirror about x axis - for i in range(len(silk_rEnd)): - silk_rEnd[i]['x'] = -silk_rEnd[i]['x'] - # Define right outline inner offset from the last pin - # (if the last bank is differential, it does not perfectly mirror the first) - silk_rEnd[0]['x'] = silk_rEnd[-1]['x'] = pin[-1][-1]['x'] + silk_pad['x'] - - # Draw left and right end outlines - fp.append(PolygoneLine(nodes = silk_lEnd, - layer = "F.SilkS", - width = silk_line)) - fp.append(PolygoneLine(nodes = silk_rEnd, - layer = "F.SilkS", - width = silk_line)) + + # Draw end outlines + fp.extend([PolygoneLine(nodes = end, + layer = "F.SilkS", + width = silk_line) for end in silk_end]) # Draw outlines between banks for b in range(banks-1): - fp.extend([Line(start = (pin[b][-1]['x'] + silk_pad['x'], m*silk_y), - end = (pin[b+1][0]['x'] - silk_pad['x'], m*silk_y), + fp.extend([Line(start = (pin[b][-1]['x'] + x_inv*silk_pad['x'], m*silk_y), + end = (pin[b+1][0]['x'] - x_inv*silk_pad['x'], m*silk_y), layer = "F.SilkS", width = silk_line) for m in (-1,1)]) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml index 420970346..8e141ca04 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml @@ -203,7 +203,7 @@ Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-030-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.13, y: 2.03} + - {drill: 1.02, space: 20.13, y: -2.03} ## Samtec_QSH-030-xx-x-D-LC_P0.5mm_Vertical: ## <<: *QSH-030-xx-x-D @@ -222,7 +222,7 @@ Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-060-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.13, y: 2.03} + - {drill: 1.02, space: 40.13, y: -2.03} ## Samtec_QSH-060-xx-x-D-LC_P0.5mm_Vertical: ## <<: *QSH-060-xx-x-D @@ -241,7 +241,7 @@ Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-090-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.13, y: 2.03} + - {drill: 1.02, space: 60.13, y: -2.03} ## Samtec_QSH-090-xx-x-D-LC_P0.5mm_Vertical: ## <<: *QSH-090-xx-x-D @@ -265,7 +265,7 @@ Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-020-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.13, y: 2.03} + - {drill: 1.02, space: 20.13, y: -2.03} ## Samtec_QSH-020-xx-x-D-DP-LC_P0.5mm_Vertical: ## <<: *QSH-020-xx-x-D-DP @@ -283,7 +283,7 @@ Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical: &QSH-040-xx-x-D-DP Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-040-xx-x-D-DP holes: - - {drill: 1.02, space: 40.13, y: 2.03} + - {drill: 1.02, space: 40.13, y: -2.03} ## Samtec_QSH-040-xx-x-D-DP-LC_P0.5mm_Vertical: ## <<: *QSH-040-xx-x-D-DP @@ -300,7 +300,7 @@ Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical: &QSH-060-xx-x-D-DP Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-060-xx-x-D-DP holes: - - {drill: 1.02, space: 60.13, y: 2.03} + - {drill: 1.02, space: 60.13, y: -2.03} ## Samtec_QSH-060-xx-x-D-DP-LC_P0.5mm_Vertical: ## <<: *QSH-060-xx-x-D-DP @@ -323,7 +323,7 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: banks: {n: 3, diff: 1, slots: 60, space: 20.0, width: 16.0, height: 3.8} pads: *QSH_pads holes: - - {drill: 1.02, space: 60.13, y: 2.03} + - {drill: 1.02, space: 60.13, y: -2.03} ################################################################################ # QTS family; 1 bank @@ -453,7 +453,7 @@ Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-025-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.0, y: 2.67} + - {drill: 1.02, space: 20.0, y: -2.67} # QSS family; 2 banks Samtec_QSS-050-xx-x-D_P0.635mm_Vertical: &QSS-050-xx-x-D @@ -466,7 +466,7 @@ Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-050-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.0, y: 2.67} + - {drill: 1.02, space: 40.0, y: -2.67} # QSS family; 3 banks Samtec_QSS-075-xx-x-D_P0.635mm_Vertical: &QSS-075-xx-x-D @@ -479,7 +479,7 @@ Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-075-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.0, y: 2.67} + - {drill: 1.02, space: 60.0, y: -2.67} # QSS family; 1 bank; differential Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP @@ -497,7 +497,7 @@ Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-016-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.0, y: 2.67} + - {drill: 1.02, space: 20.0, y: -2.67} ## Samtec_QSS-016-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QSS-016-xx-x-D-DP @@ -516,7 +516,7 @@ Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-032-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.0, y: 2.67} + - {drill: 1.02, space: 40.0, y: -2.67} ## Samtec_QSS-032-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QSS-032-xx-x-D-DP @@ -535,7 +535,7 @@ Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-048-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.0, y: 2.67} + - {drill: 1.02, space: 60.0, y: -2.67} ## Samtec_QSS-048-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QSS-048-xx-x-D-DP @@ -685,7 +685,7 @@ Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-020-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.13, y: 2.67} + - {drill: 1.02, space: 20.13, y: -2.67} ## Samtec_QSE-020-xx-x-D-A-L_P0.8mm_Vertical: ## <<: *QSE-020-xx-x-D @@ -706,7 +706,7 @@ Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-040-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.13, y: 2.67} + - {drill: 1.02, space: 40.13, y: -2.67} # QSE family; 3 banks Samtec_QSE-060-xx-x-D_P0.8mm_Vertical: &QSE-060-xx-x-D @@ -719,7 +719,7 @@ Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-060-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.13, y: 2.67} + - {drill: 1.02, space: 60.13, y: -2.67} # QSE family; 1 bank; differential Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP @@ -737,7 +737,7 @@ Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-014-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.13, y: 2.67} + - {drill: 1.02, space: 20.13, y: -2.67} # QSE family; 2 banks; differential Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical: &QSE-028-xx-x-D-DP @@ -750,7 +750,7 @@ Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-028-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.13, y: 2.67} + - {drill: 1.02, space: 40.13, y: -2.67} # QSE family; 3 banks; differential Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical: &QSE-042-xx-x-D-DP @@ -763,4 +763,4 @@ Samtec_QSE-042-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-042-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.13, y: 2.67} + - {drill: 1.02, space: 60.13, y: -2.67} From 5893c21b775640b3da71175353f02c1c94a9cffc Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Tue, 28 Jul 2020 19:51:39 -0700 Subject: [PATCH 36/62] Fix pin numbering error in QStrip_QPairs_Vertical script --- scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index dac9cd89f..0bf214ad7 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -168,7 +168,6 @@ def generate_one_footprint(param, config, default_lib): layers = Pad.LAYERS_SMT, shape = Pad.SHAPE_RECT) fp.append(pad) - n += 1 ############################################################################ # Holes From 4b63a72e294f1d94dc2ac44f2b997efa74de2566 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Wed, 29 Jul 2020 22:37:44 -0700 Subject: [PATCH 37/62] + Finish terminal mode in QStrip_QPairs_Horizontal + Minor cleanup in QStrip_QPairs_Vertical --- .../QStrip_QPairs_Horizontal.py | 147 +++++++++++++----- .../QStrip_QPairs_Horizontal.yaml | 36 ++--- .../QStrip_QPairs_Vertical.py | 12 +- 3 files changed, 127 insertions(+), 68 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py index a0d03a9bd..35e9dcf46 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py @@ -68,7 +68,7 @@ import os import argparse from copy import deepcopy -import math +from math import * import yaml # Load parent path of KicadModTree @@ -96,6 +96,7 @@ def generate_one_footprint(param, config, default_lib): # Signal pad parameters pad_pitch = param['pads']['signal']['pitch'] + pad_rows = param['pads']['signal']['rows'] pad_w = param['pads']['signal']['width'] pad_h = param['pads']['signal']['height'] pad_y = param['pads']['signal']['y'] @@ -108,16 +109,20 @@ def generate_one_footprint(param, config, default_lib): plane_y = param['pads']['plane']['y'] plane_n = param['pads']['plane']['n'] - # Pin 1 position - pin1 = Vector2D(0,0) - pin1.x = -(pad_n / 4)*pad_pitch + pad_pitch/2 - ((banks-1) / 2)*bank_x + # Terminal or Socket mode + mode = param['layout']['type'].capitalize() if mode == "Terminal": - pin1.y = -pad_y + x_inv = 1 elif mode == "Socket": - pin1.y = pad_y + x_inv = -1 else: raise ValueError("Connector type must be either 'Terminal' or 'Socket'") + # Pin 1 position + pin1 = Vector2D(0,0) + pin1.x = -(pad_n/4)*pad_pitch + pad_pitch/2 - ((banks-1) / 2)*bank_x + pin1.y = pad_y[0] + # Bank 1 center point bank1_mid = pin1.x - pad_pitch/2 + (pad_n / 4)*pad_pitch @@ -128,9 +133,10 @@ def generate_one_footprint(param, config, default_lib): pin.append([]) for slot in range(pad_n): # Compute next pad location - pos = {'x': pin1.x + (slot // 2)*pad_pitch + b*bank_x, - 'y': pin1.y - (slot % 2)*(2*pin1.y), - 'n': n+1, 'slot': slot} + for r in range(pad_rows): + pos = {'x': pin1.x + (slot // pad_rows)*pad_pitch + b*bank_x, + 'y': pad_y[slot % 2], + 'n': n+1, 'slot': slot} # Skip slots for differential banks if b < param['banks']['diff']: @@ -170,14 +176,14 @@ def generate_one_footprint(param, config, default_lib): for p in param['holes']: drill = p['drill'] shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL - h = [Pad(number = "MP" if 'pad' in p else "", - at = (m*p['space']/2, p['y']), - drill = drill, - size = p['pad'] if 'pad' in p else drill, - type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, - layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, - shape = shape) for m in (-1,1)] - fp.extend(h) + holes = [Pad(number = "MP" if 'pad' in p else "", + at = ((h/(p['n']-1) - 1/2)*p['space'], p['y']), + drill = drill, + size = p['pad'] if 'pad' in p else drill, + type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, + shape = shape) for h in range(p['n'])] + fp.extend(holes) ############################################################################ # Fabrication layer: F.Fab @@ -185,41 +191,95 @@ def generate_one_footprint(param, config, default_lib): fab_mark = config['fab_pin1_marker_length'] fab_w = param['layout']['width'] if 'width' not in param else param['width'] fab_h = param['layout']['height'] - fab_y = fab_h / 2 - lEdge = -fab_w / 2 - rEdge = lEdge + fab_w - chamfer = fab_h / 4 # 1/4 connector height, cosmetic only + fab_y = param['layout']['y'] + fab_edge = fab_w/2 if param['layout']['type'] == "Terminal": - # Plug outline - plug_h = param['layout']['plug']['height'] - fp.append(RectLine(start = (-banks*bank_w/2, -fab_y), - end = ( banks*bank_w/2, -fab_y - plug_h), - layer = "F.CrtYd", + # Draw left and right outlines + fab_end = [[banks*bank_x/2, pin1.y], + [banks*bank_x/2 + (fab_y-fab_h-pin1.y)/tan(radians(-60)), fab_y-fab_h], + [fab_w/2, fab_y-fab_h], + [fab_w/2, fab_y], + [banks*bank_x/2, fab_y]] + fp.append(PolygoneLine(nodes = fab_end, + layer = "F.Fab", + width = fab_line)) + fp.append(PolygoneLine(nodes = fab_end, + layer = "F.Fab", + width = fab_line, + x_mirror = 0)) + fp.append(Line(start = (-banks*bank_x/2, pin1.y), + end = ( banks*bank_x/2, pin1.y), + layer = "F.Fab", + width = fab_line)) + # Terminal outline + fp.append(RectLine(start = (-banks*bank_x/2, fab_y), + end = ( banks*bank_x/2, fab_y + bank_h), + layer = "F.Fab", width = fab_line)) - + ############################################################################ # Silkscreen: F.SilkS - #silk_offset = param['layout']['silk-offset'] silk_offset = config['silk_fab_offset'] silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, 'y': config['silk_pad_clearance'] + pad_h/2} silk_line = config['silk_line_width'] - silk_y = fab_y + silk_offset - silk_lEdge = lEdge - silk_offset - silk_rEdge = rEdge + silk_offset - silk_chamfer = chamfer + silk_offset/2 - silk_pin1 = pin1.x - silk_pad['x'] + silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, + 'y': config['silk_pad_clearance'] + pad_h/2} + + # Draw silkscreen end outlines + silk_end = fab_end.copy() + silk_end.pop() + silk_end_offset = [(-silk_offset, -silk_offset), + (-silk_offset, -silk_offset), + ( silk_offset, -silk_offset), + ( silk_offset, 0)] + for a in range(len(silk_end)): + for b in range(2): + silk_end[a][b] += silk_end_offset[a][b] + + fp.append(PolygoneLine(nodes = silk_end, + layer = "F.SilkS", + width = silk_line)) + fp.append(PolygoneLine(nodes = silk_end, + layer = "F.SilkS", + width = silk_line, + x_mirror = 0)) + + # Extend end outlines to pins + fp.append(Line(start = (-banks*bank_x/2+silk_offset, pin1.y-silk_offset), + end = (pin[0][0]['x']-silk_pad['x'], pin1.y-silk_offset), + layer = "F.SilkS", + width = silk_line)) + fp.append(Line(start = (banks*bank_x/2-silk_offset, pin1.y-silk_offset), + end = (pin[-1][-1]['x']+silk_pad['x'], pin1.y-silk_offset), + layer = "F.SilkS", + width = silk_line)) + + # Pin 1 indicator + fp.append(markerArrow(x = pin[0][0]['x'], + y = pin[0][0]['y'] - silk_pad['y'], + width = fab_mark / 2, + line_width = silk_line, + angle = 180, + layer = "F.SilkS")) + # Draw outlines between banks + for b in range(banks-1): + fp.append(Line(start = (pin[b][-1]['x'] + x_inv*silk_pad['x'], pin1.y-silk_offset), + end = (pin[b+1][0]['x'] - x_inv*silk_pad['x'], pin1.y-silk_offset), + layer = "F.SilkS", + width = silk_line)) + ############################################################################ # PCB Edge: Dwgs.User - fp.append(Line(start = (lEdge, param['layout']['edge']), - end = (rEdge, param['layout']['edge']), + fp.append(Line(start = (-fab_edge, fab_y + param['layout']['edge']), + end = ( fab_edge, fab_y + param['layout']['edge']), layer = "Dwgs.User", width = fab_line)) fp.append(Text(type = "user", text = "PCB Edge", - at = (0, param['layout']['edge'] - 1.0), + at = (bank1_mid, fab_y + param['layout']['edge'] - 1.0), layer = "Dwgs.User")) ############################################################################ @@ -227,12 +287,13 @@ def generate_one_footprint(param, config, default_lib): court_line = config['courtyard_line_width'] court_grid = config['courtyard_grid'] court_offset = config['courtyard_offset']['connector'] - + court_x = roundToBase(fab_w/2 + court_offset, court_grid) - court_y = roundToBase(max(fab_y, pad_y + pad_h/2) + court_offset, court_grid) - - fp.append(RectLine(start = (-court_x, -court_y), - end = ( court_x, court_y), + court_y = [roundToBase(fab_y - fab_h - court_offset, court_grid), + roundToBase(fab_y + bank_h + court_offset, court_grid)] + + fp.append(RectLine(start = (-court_x, court_y[0]), + end = ( court_x, court_y[1]), layer = "F.CrtYd", width = court_line)) @@ -240,7 +301,7 @@ def generate_one_footprint(param, config, default_lib): # Set Metadata # Draw reference and value - text_y = court_y + 1.0 + text_y = fab_y + 1.0 fp.append(Text(type = 'reference', text = 'REF**', at = (0, -text_y), layer = "F.SilkS")) @@ -248,7 +309,7 @@ def generate_one_footprint(param, config, default_lib): at = (0, -text_y), layer = "F.Fab")) fp.append(Text(type = 'value', text=param['name'], - at = (0, text_y), + at = (0, text_y + bank_h + court_offset), layer="F.Fab")) # Set surface-mount attribute diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml index de8f441f1..b7c0850af 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml @@ -8,34 +8,32 @@ Samtec_QTH-030-xx-x-D-RA_P0.5mm_Horizontal: datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) - layout: {type: "Terminal", width: 25.72, height: 9.78, edge: -3.309, plug: - {width: 20.0, height: 3.05}} - banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 4.0} + layout: {type: "Terminal", width: 25.72, height: 9.78, y: 3.81, edge: 0.38} + banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 3.05} pads: &QTH-RA_pads - signal: {n: 60, pitch: 0.5, y: 2.3055, width: 0.305, height: 1.45} - plane: {n: 8, pitch: 2.032, y: 0, drill: 0.533, pad: 1.0} + signal: {n: 60, rows: 2, pitch: 0.5, y: [-3.277, 1.334], width: 0.305, height: 1.45} + plane: {n: 8, pitch: 2.032, y: -0.851, drill: 0.533, pad: 1.0} holes: # Holes sorted by dimension labels in Samtec ECN-264948 Rev. E - - {drill: 1.067, pad: 1.8, space: 23.178, y: -2.197} # "A" - - {drill: 1.448, space: 21.908, y: 0.851} # "B" - - {drill: 1.067, pad: 1.8, space: 18.190, y: 3.607} # "C" + - {n: 2, drill: 1.067, pad: 1.8, space: 23.178, y: -2.54} # "A" + - {n: 2, drill: 1.448, space: 21.908, y: 0} # "B" + - {n: 2, drill: 1.067, pad: 1.8, space: 18.190, y: 3.048} # "C" Samtec_QTH-060-xx-x-D-RA_P0.5mm_Horizontal: meta: *QTH-RA_meta pads: *QTH-RA_pads - layout: {type: "Terminal", width: 45.72, height: 1.45, edge: -3.309, plug: - {width: 40.01, height: 3.05}} - banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 4.0} + layout: {type: "Terminal", width: 45.72, height: 9.78, y: 3.81, edge: 0.38} + banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 3.05} holes: - - {drill: 1.067, pad: 1.8, space: 43.180, y: -2.197} # "A" - - {drill: 1.448, space: 41.910, y: 0.851} # "B" - - {drill: 1.067, pad: 1.8, space: 38.913, y: 3.607} # "C" + - {n: 2, drill: 1.067, pad: 1.8, space: 43.180, y: -2.54} # "A" + - {n: 2, drill: 1.448, space: 41.910, y: 0} # "B" + - {n: 3, drill: 1.067, pad: 1.8, space: 38.913, y: 3.048} # "C" Samtec_QTH-090-xx-x-D-RA_P0.5mm_Horizontal: meta: *QTH-RA_meta pads: *QTH-RA_pads - layout: {type: "Terminal", width: 65.72, height: 1.45, edge: -3.309, plug: {height: 3.05}} - banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 4.0} + layout: {type: "Terminal", width: 65.72, height: 9.78, y: 3.81, edge: 0.38} + banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 3.05} holes: - - {drill: 1.067, pad: 1.8, space: 63.183, y: -2.197} # "A" - - {drill: 1.448, space: 61.913, y: 0.851} # "B" - - {drill: 1.067, pad: 1.8, space: 58.915, y: 3.607} # "C" + - {n: 2, drill: 1.067, pad: 1.8, space: 63.183, y: -2.54} # "A" + - {n: 2, drill: 1.448, space: 61.913, y: 0} # "B" + - {n: 4, drill: 1.067, pad: 1.8, space: 58.915, y: 3.048} # "C" diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index 0bf214ad7..e1d2e4eb9 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -195,15 +195,15 @@ def generate_one_footprint(param, config, default_lib): chamfer = fab_h / 4 # 1/4 connector height, cosmetic only if mode == 'Terminal': - # Left end outline - lEnd = [(-fab_edge, -fab_y), - (-fab_edge, fab_y-chamfer), - (-fab_edge+chamfer, fab_y)] - fp.append(PolygoneLine(nodes = lEnd, + # End outline + fab_end = [(-fab_edge, -fab_y), + (-fab_edge, fab_y-chamfer), + (-fab_edge+chamfer, fab_y)] + fp.append(PolygoneLine(nodes = fab_end, layer = "F.Fab", width = fab_line)) # Right end outline (mirrors left end) - fp.append(PolygoneLine(nodes = lEnd, + fp.append(PolygoneLine(nodes = fab_end, layer = "F.Fab", width = fab_line, x_mirror = 0)) From 5d5625dd3251dc6fb30232835eec18b05c948819 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 3 Aug 2020 22:09:05 -0700 Subject: [PATCH 38/62] + Clean up/restructure QStrip_QPairs scripts in preparation for Basic Beam & Blade connector support + Continue work on QStrip_QPairs_Horizontal script --- .../QStrip_QPairs_Horizontal.py | 57 +++---- .../QStrip_QPairs_Horizontal.yaml | 26 ++-- .../QStrip_QPairs_Vertical.py | 57 ++++--- .../QStrip_QPairs_Vertical.yaml | 146 ++++++++++-------- .../Connector_Samtec/RazorBeam_Vertical.py | 2 +- 5 files changed, 152 insertions(+), 136 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py index 35e9dcf46..e67554642 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py @@ -25,14 +25,15 @@ meta: # Footprint metadata pn: 'part number' # [optional] overrides automatic part number detection description: 'Brief description of the footprint' - datasheet: 'URL(s) to footprint datasheet' tags: 'KiCad tags go here' + datasheet: 'URL(s) to footprint datasheet' add-tags: 'more tags' # [optional] extends the tag list layout: # General footprint layout/drawing data type: '(Terminal|Socket)' # sets Pin 1 position and drawing mode width: !!float mm # [cosmetic] overall width of the connector height: !!float mm # [cosmetic] overall height of the connector - width: !!float mm # [optional, cosmetic] overrides layout::width + y: !!float mm # [cosmetic] y-offset used to draw connector outline + edge: !!float mm # y-offset of PCB edge banks: n: !!uint # number of banks in the connector diff: !!uint # number of differential banks @@ -41,21 +42,22 @@ height: !!float mm # height of bank outline drawn on F.Fab pads: signal: # signal pin parameters + n: !!uint # Number of pin slots on a bank + rows: !!uint # Number of pin rows pitch: !!float mm width: !!float mm # Pad width height: !!float mm # Pad height - y: !!float mm # vertical offset - planes: # plane parameters - width: - - !!float mm # outer pins - - !!float mm # inner pins - height: !!float mm # Ground pad heights - space: # Distance between ground pads within each bank - - !!float mm # outer pins - - !!float mm # inner pins + y: [!!float mm, ...] # y-offset for each pin row + plane: # plane parameters + n: !!uint # Number of holes for plane connection + pitch: !!float mm + y: !!float mm # y-offset of plane holes + drill: !!float mm # drill diameter + pad: !!float mm # pad diameter holes: # [optional] hole pair specifications, mirrored about y axis - # Hole spec. 1 name: "" # [optional] name/number for plated holes + n: !!uint # number of holes to drill drill: !!float mm # drill diameter (a list produces an oval) pad: !!float mm # [optional] PTH pad diameter (a list produces an oval) space: !!float mm # distance between holes mirrored about the y-axis @@ -173,16 +175,16 @@ def generate_one_footprint(param, config, default_lib): ############################################################################ # Holes if 'holes' in param: - for p in param['holes']: - drill = p['drill'] + for hole in param['holes']: + drill = hole['drill'] shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL - holes = [Pad(number = "MP" if 'pad' in p else "", - at = ((h/(p['n']-1) - 1/2)*p['space'], p['y']), + holes = [Pad(number = "MP" if 'pad' in hole else "", + at = ((h/(hole['n']-1) - 1/2)*hole['space'], hole['y']), drill = drill, - size = p['pad'] if 'pad' in p else drill, - type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, - layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, - shape = shape) for h in range(p['n'])] + size = hole['pad'] if 'pad' in hole else drill, + type = Pad.TYPE_THT if 'pad' in hole else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'pad' in hole else Pad.LAYERS_NPTH, + shape = shape) for h in range(hole['n'])] fp.extend(holes) ############################################################################ @@ -196,8 +198,9 @@ def generate_one_footprint(param, config, default_lib): if param['layout']['type'] == "Terminal": # Draw left and right outlines + # Angle measured from 3D model of QTH-060-01-L-D-RA fab_end = [[banks*bank_x/2, pin1.y], - [banks*bank_x/2 + (fab_y-fab_h-pin1.y)/tan(radians(-60)), fab_y-fab_h], + [banks*bank_x/2 + (fab_y-fab_h-pin1.y)/tan(-1.112), fab_y-fab_h], [fab_w/2, fab_y-fab_h], [fab_w/2, fab_y], [banks*bank_x/2, fab_y]] @@ -279,7 +282,7 @@ def generate_one_footprint(param, config, default_lib): width = fab_line)) fp.append(Text(type = "user", text = "PCB Edge", - at = (bank1_mid, fab_y + param['layout']['edge'] - 1.0), + at = (0, fab_y + param['layout']['edge'] + 1.0), layer = "Dwgs.User")) ############################################################################ @@ -288,12 +291,12 @@ def generate_one_footprint(param, config, default_lib): court_grid = config['courtyard_grid'] court_offset = config['courtyard_offset']['connector'] - court_x = roundToBase(fab_w/2 + court_offset, court_grid) - court_y = [roundToBase(fab_y - fab_h - court_offset, court_grid), - roundToBase(fab_y + bank_h + court_offset, court_grid)] + court = {'x': roundToBase(fab_w/2 + court_offset, court_grid), + 'y': [roundToBase(fab_y - fab_h - court_offset, court_grid), + roundToBase(fab_y + bank_h + court_offset, court_grid)]} - fp.append(RectLine(start = (-court_x, court_y[0]), - end = ( court_x, court_y[1]), + fp.append(RectLine(start = (-court['x'], court['y'][0]), + end = ( court['x'], court['y'][1]), layer = "F.CrtYd", width = court_line)) @@ -365,7 +368,7 @@ def generate_one_footprint(param, config, default_lib): default='../conn_config_KLCv3.yaml', help='Series KLC configuration YAML file') parser.add_argument('--library', type=str, nargs='?', - default='Connector_Samtec_QStrip_QPairs', + default='Connector_Samtec_QSeries', help='Default KiCad library name (without extension)') parser.add_argument('files', metavar='file', type=str, nargs='*', help='YAML file(s) containing footprint parameters') diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml index b7c0850af..b9f09f081 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml @@ -4,36 +4,36 @@ Samtec_QTH-030-xx-x-D-RA_P0.5mm_Horizontal: description: >- Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank; {ds:s} - tags: "connector Samtec Q-Strip QTH mezzanine terminal horizontal single-ended" + tags: "connector Samtec QStrip QTH mezzanine terminal horizontal single-ended" datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) - layout: {type: "Terminal", width: 25.72, height: 9.78, y: 3.81, edge: 0.38} + layout: {type: "Terminal", width: 25.72, height: 9.78, y: 3.8, edge: 0.38} banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 3.05} pads: &QTH-RA_pads signal: {n: 60, rows: 2, pitch: 0.5, y: [-3.277, 1.334], width: 0.305, height: 1.45} plane: {n: 8, pitch: 2.032, y: -0.851, drill: 0.533, pad: 1.0} holes: # Holes sorted by dimension labels in Samtec ECN-264948 Rev. E - - {n: 2, drill: 1.067, pad: 1.8, space: 23.178, y: -2.54} # "A" - - {n: 2, drill: 1.448, space: 21.908, y: 0} # "B" - - {n: 2, drill: 1.067, pad: 1.8, space: 18.190, y: 3.048} # "C" + - {n: 2, drill: 1.067, pad: 1.8, space: 23.178, y: -3.048} # "A" + - {n: 2, drill: 1.448, space: 21.908, y: 0} # "B" + - {n: 2, drill: 1.067, pad: 1.8, space: 18.190, y: 2.54} # "C" Samtec_QTH-060-xx-x-D-RA_P0.5mm_Horizontal: meta: *QTH-RA_meta pads: *QTH-RA_pads - layout: {type: "Terminal", width: 45.72, height: 9.78, y: 3.81, edge: 0.38} + layout: {type: "Terminal", width: 45.72, height: 9.78, y: 3.8, edge: 0.38} banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 3.05} holes: - - {n: 2, drill: 1.067, pad: 1.8, space: 43.180, y: -2.54} # "A" - - {n: 2, drill: 1.448, space: 41.910, y: 0} # "B" - - {n: 3, drill: 1.067, pad: 1.8, space: 38.913, y: 3.048} # "C" + - {n: 2, drill: 1.067, pad: 1.8, space: 43.180, y: -3.048} # "A" + - {n: 2, drill: 1.448, space: 41.910, y: 0} # "B" + - {n: 3, drill: 1.067, pad: 1.8, space: 38.913, y: 2.54} # "C" Samtec_QTH-090-xx-x-D-RA_P0.5mm_Horizontal: meta: *QTH-RA_meta pads: *QTH-RA_pads - layout: {type: "Terminal", width: 65.72, height: 9.78, y: 3.81, edge: 0.38} + layout: {type: "Terminal", width: 65.72, height: 9.78, y: 3.8, edge: 0.38} banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 3.05} holes: - - {n: 2, drill: 1.067, pad: 1.8, space: 63.183, y: -2.54} # "A" - - {n: 2, drill: 1.448, space: 61.913, y: 0} # "B" - - {n: 4, drill: 1.067, pad: 1.8, space: 58.915, y: 3.048} # "C" + - {n: 2, drill: 1.067, pad: 1.8, space: 63.183, y: -3.048} # "A" + - {n: 2, drill: 1.448, space: 61.913, y: 0} # "B" + - {n: 4, drill: 1.067, pad: 1.8, space: 58.915, y: 2.54} # "C" diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py index e1d2e4eb9..9e0d2f8a1 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py @@ -91,14 +91,12 @@ def generate_one_footprint(param, config, default_lib): x_inv = -1 else: raise ValueError("Connector type must be either 'Terminal' or 'Socket'") - # Bank parameters banks = param['banks']['n'] bank_x = param['banks']['space'] bank_w = param['banks']['width'] bank_h = param['banks']['height'] - bank_slots = param['banks']['slots'] ############################################################################ # Copper layer(s) @@ -108,21 +106,22 @@ def generate_one_footprint(param, config, default_lib): pad_w = param['pads']['signal']['width'] pad_h = param['pads']['signal']['height'] pad_y = param['pads']['signal']['y'] + pad_n = param['pads']['signal']['n'] # Pin 1 position pin1 = Vector2D(0,0) - pin1.x = -(bank_slots / 4)*pitch + pitch/2 - ((banks-1) / 2)*bank_x + pin1.x = -(pad_n / 4)*pitch + pitch/2 - ((banks-1) / 2)*bank_x pin1.y = -pad_y # Bank 1 center point - bank1_mid = x_inv * (pin1.x - pitch/2 + (bank_slots / 4)*pitch) + bank1_mid = x_inv * (pin1.x - pitch/2 + (pad_n / 4)*pitch) # Ground pad parameters - gnd_h = param['pads']['planes']['height'] + #gnd_h = param['pads']['planes']['height'] # Combine spacing and width data into a zipped list: [(space,width), ...] - gnd_sw = [sw for sw in zip(param['pads']['planes']['space'], - param['pads']['planes']['width'])] - gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing + #gnd_sw = [sw for sw in zip(param['pads']['planes']['space'], + # param['pads']['planes']['width'])] + #gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing # Place pads n = 1 # Pin counter @@ -130,7 +129,7 @@ def generate_one_footprint(param, config, default_lib): for b in range(banks): pin.append([]) # Place signal pads - for slot in range(bank_slots): + for slot in range(pad_n): # Compute next pad location pos = {'x': x_inv * (pin1.x + (slot // 2)*pitch + b*bank_x), 'y': pin1.y - (slot % 2)*(2*pin1.y), @@ -141,7 +140,7 @@ def generate_one_footprint(param, config, default_lib): if ((slot+1) % 6 == 0 or # Skip every 3rd odd slot (slot+2) % 6 == 0 or # Skip every 3rd even slot # Only add end-of-bank pins if they are completing a pair - (slot+2 >= bank_slots and + (slot+2 >= pad_n and pin[b][-2]['slot'] != slot-2)): continue @@ -159,28 +158,28 @@ def generate_one_footprint(param, config, default_lib): # Place plane pads mid = bank1_mid + x_inv*b*bank_x # Bank midpoint - # Iterate through space/width list to generate ground pads... - for (space, width) in [(-s,w) for s,w in reversed(gnd_sw)] + gnd_sw: - pad = Pad(number = "P" + str(b+1), - at = (mid + space/2, 0), - size = (width, gnd_h), - type = Pad.TYPE_SMT, - layers = Pad.LAYERS_SMT, - shape = Pad.SHAPE_RECT) - fp.append(pad) + if 'planes' in param['pads']: + for plane in param['pads']['planes']: + pad = [Pad(number = "P" + str(b+1), + at = ((x - (plane['n']-1)/2)*plane['pitch'] + mid, plane['y']), + size = (plane['width'], plane['height']), + type = Pad.TYPE_SMT, + layers = Pad.LAYERS_SMT, + shape = Pad.SHAPE_RECT) for x in range(plane['n'])] + fp.extend(pad) ############################################################################ # Holes if 'holes' in param: - for p in param['holes']: - drill = p['drill'] + for hole in param['holes']: + drill = hole['drill'] shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL - h = [Pad(number = "MP" if 'pad' in p else "", - at = (m*p['space']/2, p['y']), + h = [Pad(number = "MP" if 'pad' in hole else "", + at = (m*hole['space']/2, hole['y']), drill = drill, - size = p['pad'] if 'pad' in p else drill, - type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, - layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, + size = hole['pad'] if 'pad' in hole else drill, + type = Pad.TYPE_THT if 'pad' in hole else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'pad' in hole else Pad.LAYERS_NPTH, shape = shape) for m in (-1,1)] fp.extend(h) @@ -345,9 +344,9 @@ def generate_one_footprint(param, config, default_lib): # Pins or pairs/bank if param['banks']['diff'] == banks: # Differential mode: round up to nearest even number of pairs - pins_or_pairs = (bank_slots // 3) + (bank_slots // 3) % 2 + pins_or_pairs = (pad_n // 3) + (pad_n // 3) % 2 else: - pins_or_pairs = bank_slots + pins_or_pairs = pad_n # Description desc = param['meta']['description'] @@ -389,7 +388,7 @@ def generate_one_footprint(param, config, default_lib): default='../conn_config_KLCv3.yaml', help='Series KLC configuration YAML file') parser.add_argument('--library', type=str, nargs='?', - default='Connector_Samtec_QStrip_QPairs', + default='Connector_Samtec_QSeries', help='Default KiCad library name (without extension)') parser.add_argument('files', metavar='file', type=str, nargs='*', help='YAML file(s) containing footprint parameters') diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml index 8e141ca04..744827c3f 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml @@ -18,15 +18,17 @@ Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D description: &QStrip_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank; {ds:s} - tags: 'connector Samtec Q-Strip QTH mezzanine terminal vertical single-ended' + tags: 'connector Samtec QStrip QTH mezzanine terminal vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: &QTH_pads - signal: {pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - planes: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + signal: {n: 60, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} + planes: #{height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + - {n: 2, pitch: 16.89, y: 0, width: 2.54, height: 0.64} + - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.64} Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QTH-030-xx-x-D @@ -53,7 +55,7 @@ Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: Samtec_QTH-060-xx-x-D_P0.5mm_Vertical: &QTH-060-xx-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: *QTH_pads Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical: @@ -81,7 +83,7 @@ Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical: Samtec_QTH-090-xx-x-D_P0.5mm_Vertical: &QTH-090-xx-x-D meta: *QTH_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, slots: 60, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: *QTH_pads Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical: @@ -96,12 +98,12 @@ Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP description: &QPairs_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank; {ds:s} - tags: 'connector Samtec Q-Pairs QTH mezzanine terminal vertical differential' + tags: 'connector Samtec QPairs QTH mezzanine terminal vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, slots: 60, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 1, space: 20.0, width: 16.5, height: 4.0} pads: *QTH_pads Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical: @@ -129,7 +131,7 @@ Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical: Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical: &QTH-040-xx-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, slots: 60, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 2, space: 20.0, width: 16.5, height: 4.0} pads: *QTH_pads Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical: @@ -157,7 +159,7 @@ Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical: Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical: &QTH-060-xx-x-D-DP meta: *QTH-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, slots: 60, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 3, space: 20.0, width: 16.5, height: 4.0} pads: *QTH_pads Samtec_QTH-060-xx-x-D-DP-A_P0.5mm_Vertical: @@ -173,13 +175,13 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: pn: 'ASP-122952-01' datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf)' tags: >- - connector Samtec Q-Strip QPairs HSMC card terminal mezzanine vertical - single-ended differential alignment-pins application-specific' + connector Samtec QSeries QStrip QPairs HSMC card terminal mezzanine + vertical single-ended differential alignment-pins application-specific description: >- Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 differential; {ds:s} layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 1, slots: 60, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 1, space: 20.0, width: 16.5, height: 4.0} pads: *QTH_pads holes: - {drill: 1.02, space: 58.48, y: -2.03} @@ -189,15 +191,18 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D meta: &QSH_meta description: *QStrip_desc - tags: 'connector Samtec Q-Strip QSH mezzanine socket vertical single-ended' + tags: 'connector Samtec QStrip QSH mezzanine socket vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 1, diff: 0, space: 20.0, width: 16.0, height: 3.8} pads: &QSH_pads - signal: {pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} - planes: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + signal: {n: 60, pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} + planes: #{height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + - {n: 2, pitch: 16.13, y: 0, width: 2.54, height: 0.43} + - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.43} + Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-030-xx-x-D @@ -215,7 +220,7 @@ Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: Samtec_QSH-060-xx-x-D_P0.5mm_Vertical: &QSH-060-xx-x-D meta: *QSH_meta layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 2, diff: 0, space: 20.0, width: 16.0, height: 3.8} pads: *QSH_pads Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical: @@ -234,7 +239,7 @@ Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical: Samtec_QSH-090-xx-x-D_P0.5mm_Vertical: &QSH-090-xx-x-D meta: *QSH_meta layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 0, slots: 60, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 0, space: 20.0, width: 16.0, height: 3.8} pads: *QSH_pads Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: @@ -253,12 +258,12 @@ Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP meta: &QSH-DP_meta description: *QPairs_desc - tags: 'connector Samtec Q-Pairs QSH mezzanine socket vertical differential' + tags: 'connector Samtec QPairs QSH mezzanine socket vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, diff: 1, slots: 60, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 1, diff: 1, space: 20.0, width: 16.0, height: 3.8} pads: *QSH_pads Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical: @@ -277,7 +282,7 @@ Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical: Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical: &QSH-040-xx-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, diff: 2, slots: 60, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 2, diff: 2, space: 20.0, width: 16.0, height: 3.8} pads: *QSH_pads Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical: @@ -294,7 +299,7 @@ Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical: Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical: &QSH-060-xx-x-D-DP meta: *QSH-DP_meta layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 3, slots: 60, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 3, space: 20.0, width: 16.0, height: 3.8} pads: *QSH_pads Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical: @@ -314,13 +319,13 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: pn: 'ASP-122953-01' datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf)' tags: >- - connector Samtec Q-Strip QPairs HSMC host socket mezzanine vertical - single-ended differential application-specific + connector Samtec QSeries QStrip QPairs HSMC host socket mezzanine + vertical single-ended differential application-specific description: >- Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 differential; {ds:s} layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 1, slots: 60, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 1, space: 20.0, width: 16.0, height: 3.8} pads: *QSH_pads holes: - {drill: 1.02, space: 60.13, y: -2.03} @@ -330,15 +335,17 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D meta: &QTS_meta description: *QStrip_desc - tags: 'connector Samtec Q-Strip QTS mezzanine terminal vertical' + tags: 'connector Samtec QStrip QTS mezzanine terminal vertical' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: &QTS_pads - signal: {pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} - planes: {height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} + signal: {n: 50, pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} + planes: #{height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} + - {n: 2, pitch: 16.89, y: 0, width: 2.54, height: 0.635} + - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.635} Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QTS-025-xx-x-D @@ -350,7 +357,7 @@ Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical: Samtec_QTS-050-xx-x-D_P0.635mm_Vertical: &QTS-050-xx-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: *QTS_pads Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical: @@ -363,7 +370,7 @@ Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical: Samtec_QTS-075-xx-x-D_P0.635mm_Vertical: &QTS-075-xx-x-D meta: *QTS_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, slots: 50, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: *QTS_pads Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical: @@ -376,12 +383,12 @@ Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical: Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical: &QTS-016-xx-x-D-DP meta: &QTS-DP_meta description: *QPairs_desc - tags: 'connector Samtec Q-Pairs QTS mezzanine terminal vertical differential' + tags: 'connector Samtec QPairs QTS mezzanine terminal vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, slots: 50, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 1, space: 20.0, width: 16.5, height: 4.0} pads: *QTS_pads Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical: @@ -400,7 +407,7 @@ Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical: Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical: &QTS-032-xx-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, slots: 50, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 2, space: 20.0, width: 16.5, height: 4.0} pads: *QTS_pads Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical: @@ -419,7 +426,7 @@ Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical: Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical: &QTS-048-xx-x-D-DP meta: *QTS-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, slots: 50, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 3, space: 20.0, width: 16.5, height: 4.0} pads: *QTS_pads Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: @@ -439,15 +446,17 @@ Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D meta: &QSS_meta description: *QStrip_desc - tags: 'connector Samtec Q-Strip QSS mezzanine socket vertical single-ended' + tags: 'connector Samtec QStrip QSS mezzanine socket vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 1, diff: 0, space: 20.0, width: 16.0, height: 3.66} pads: &QSS_pads - signal: {pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} - planes: {height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} + signal: {n: 50, pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} + planes: #{height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} + - {n: 2, pitch: 16.13, y: 0, width: 2.8, height: 0.432} + - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.432} Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-025-xx-x-D @@ -459,7 +468,7 @@ Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical: Samtec_QSS-050-xx-x-D_P0.635mm_Vertical: &QSS-050-xx-x-D meta: *QSS_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 2, diff: 0, space: 20.0, width: 16.0, height: 3.66} pads: *QSS_pads Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical: @@ -472,7 +481,7 @@ Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical: Samtec_QSS-075-xx-x-D_P0.635mm_Vertical: &QSS-075-xx-x-D meta: *QSS_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 0, slots: 50, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 3, diff: 0, space: 20.0, width: 16.0, height: 3.66} pads: *QSS_pads Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical: @@ -485,12 +494,12 @@ Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical: Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP meta: &QSS-DP_meta description: *QPairs_desc - tags: 'connector Samtec Q-Pairs QSS mezzanine socket vertical differential' + tags: 'connector Samtec QPairs QSS mezzanine socket vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 1, slots: 50, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 1, diff: 1, space: 20.0, width: 16.0, height: 3.66} pads: *QSS_pads Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: @@ -509,7 +518,7 @@ Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical: &QSS-032-xx-x-D-DP meta: *QSS-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 2, slots: 50, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 2, diff: 2, space: 20.0, width: 16.0, height: 3.66} pads: *QSS_pads Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: @@ -528,7 +537,7 @@ Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical: &QSS-048-xx-x-D-DP meta: *QSS-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 3, slots: 50, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 3, diff: 3, space: 20.0, width: 16.0, height: 3.66} pads: *QSS_pads Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: @@ -548,15 +557,17 @@ Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D meta: &QTE_meta description: *QStrip_desc - tags: 'connector Samtec Q-Strip QTE mezzanine terminal vertical' + tags: 'connector Samtec QStrip QTE mezzanine terminal vertical' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: &QTE_pads - signal: {pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} - planes: {height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + signal: {n: 40, pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} + planes: #{height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} + - {n: 2, pitch: 16.89, y: 0, width: 2.54, height: 0.64} + - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.64} Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QTE-020-xx-x-D @@ -576,7 +587,7 @@ Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical: Samtec_QTE-040-xx-x-D_P0.8mm_Vertical: &QTE-040-xx-x-D meta: *QTE_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: *QTE_pads Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical: @@ -597,7 +608,7 @@ Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical: Samtec_QTE-060-xx-x-D_P0.8mm_Vertical: &QTE-060-xx-x-D meta: *QTE_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, slots: 40, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 4.0} pads: *QTE_pads Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical: @@ -610,12 +621,12 @@ Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical: Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical: &QTE-014-xx-x-D-DP meta: &QTE-DP_meta description: *QPairs_desc - tags: 'connector Samtec Q-Pairs QTE mezzanine terminal vertical differential' + tags: 'connector Samtec QPairs QTE mezzanine terminal vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, slots: 40, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 1, space: 20.0, width: 16.5, height: 4.0} pads: *QTE_pads Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical: @@ -636,7 +647,7 @@ Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical: Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical: &QTE-028-xx-x-D-DP meta: *QTE-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, slots: 40, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 2, space: 20.0, width: 16.5, height: 4.0} pads: *QTE_pads Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical: @@ -657,7 +668,7 @@ Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical: Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical: &QTE-042-xx-x-D-DP meta: *QTE-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, slots: 40, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 3, space: 20.0, width: 16.5, height: 4.0} pads: *QTE_pads Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical: @@ -671,15 +682,18 @@ Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical: Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D meta: &QSE_meta description: *QStrip_desc - tags: 'connector Samtec Q-Strip QSE mezzanine socket vertical single-ended' + tags: 'connector Samtec QStrip QSE mezzanine socket vertical single-ended' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 1, diff: 0, space: 20.0, width: 16.0, height: 3.8} pads: &QSE_pads - signal: {pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} - planes: {height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + signal: {n: 40, pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} + planes: #{height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} + - {n: 2, pitch: 16.13, y: 0, width: 2.54, height: 0.43} + - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.43} + Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-020-xx-x-D @@ -699,7 +713,7 @@ Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: Samtec_QSE-040-xx-x-D_P0.8mm_Vertical: &QSE-040-xx-x-D meta: *QSE_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 2, diff: 0, space: 20.0, width: 16.0, height: 3.8} pads: *QSE_pads Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical: @@ -712,7 +726,7 @@ Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical: Samtec_QSE-060-xx-x-D_P0.8mm_Vertical: &QSE-060-xx-x-D meta: *QSE_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 0, slots: 40, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 0, space: 20.0, width: 16.0, height: 3.8} pads: *QSE_pads Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical: @@ -725,12 +739,12 @@ Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical: Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP meta: &QSE-DP_meta description: *QPairs_desc - tags: 'connector Samtec Q-Pairs QSE mezzanine socket vertical differential' + tags: 'connector Samtec QPairs QSE mezzanine socket vertical differential' datasheet: >- [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-dp-xxx-xxxxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-dp-xxx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 1, slots: 40, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 1, diff: 1, space: 20.0, width: 16.0, height: 3.8} pads: *QSE_pads Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical: @@ -743,7 +757,7 @@ Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical: Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical: &QSE-028-xx-x-D-DP meta: *QSE-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 2, slots: 40, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 2, diff: 2, space: 20.0, width: 16.0, height: 3.8} pads: *QSE_pads Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical: @@ -756,7 +770,7 @@ Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical: Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical: &QSE-042-xx-x-D-DP meta: *QSE-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 3, slots: 40, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 3, space: 20.0, width: 16.0, height: 3.8} pads: *QSE_pads Samtec_QSE-042-xx-x-D-DP-A_P0.8mm_Vertical: diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py index 1024e1d24..9c25834a6 100755 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -241,7 +241,7 @@ def generate_one_footprint(param, config, default_lib): default='../conn_config_KLCv3.yaml', help='Series KLC configuration YAML file') parser.add_argument('--library', type=str, nargs='?', - default='Connector_Samtec_QStrip_QPairs', + default='Connector_Samtec_RazorBeam', help='Default KiCad library name (without extension)') parser.add_argument('files', metavar='file', type=str, nargs='*', help='YAML file(s) containing footprint parameters') From 5cea3cd5984f9ee8b5375d4bdac3d698d6143f96 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 7 Aug 2020 18:01:16 -0700 Subject: [PATCH 39/62] QStrip_Vertical: + Correct hole position error in socket footprints + Make make bank widths match datasheets BasicBladeAndBeam_Vertical: + Add BTH and BSH series footprints --- .../BasicBladeAndBeam_Vertical.yaml | 204 ++++++++++++++ ...irs_Horizontal.py => QStrip_Horizontal.py} | 0 ...Horizontal.yaml => QStrip_Horizontal.yaml} | 0 ..._QPairs_Vertical.py => QStrip_Vertical.py} | 19 +- ...irs_Vertical.yaml => QStrip_Vertical.yaml} | 257 ++++++++++-------- 5 files changed, 354 insertions(+), 126 deletions(-) create mode 100644 scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml rename scripts/Connector/Connector_Samtec/{QStrip_QPairs_Horizontal.py => QStrip_Horizontal.py} (100%) rename scripts/Connector/Connector_Samtec/{QStrip_QPairs_Horizontal.yaml => QStrip_Horizontal.yaml} (100%) rename scripts/Connector/Connector_Samtec/{QStrip_QPairs_Vertical.py => QStrip_Vertical.py} (96%) rename scripts/Connector/Connector_Samtec/{QStrip_QPairs_Vertical.yaml => QStrip_Vertical.yaml} (76%) diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml new file mode 100644 index 000000000..3f787a4d6 --- /dev/null +++ b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml @@ -0,0 +1,204 @@ +# This file contains footprint specifications the vertical variations of Samtec +# Basic Blade & Beam connectors. QStrip_QPairs_Vertical.py contains a complete +# specification of the properties and data types that can be used in this file. +# +# Note: +# - Basic Blade & Beam connectors are very similar to their Q Strip/Q Pairs +# counterparts. The only difference is that the Q Strip connectors have an +# integrated ground plane. +# - This file should be passed as an argument to QStrip_Vertical.py +# + +################################################################################ +# BTH family (0.5mm terminal) +Samtec_BTH-030-xx-x-D_P0.5mm_Vertical: &BTH-030-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: &BTH_meta + description: &desc >- + Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins; + {ds:s} + tags: 'connector Samtec BTH mezzanine terminal vertical' + datasheet: >- + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 16.88, height: 4.0} + pads: + signal: {n: 60, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTH-030-xx-x-D-A_P0.5mm_Vertical: + <<: *BTH-030-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 18.48} + +Samtec_BTH-050-xx-x-D_P0.5mm_Vertical: &BTH-050-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTH_meta + layout: {type: 'Terminal', width: 30.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 26.88, height: 4.0} + pads: + signal: {n: 100, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTH-050-xx-x-D-A_P0.5mm_Vertical: + <<: *BTH-050-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 28.48} + +Samtec_BTH-060-xx-x-D_P0.5mm_Vertical: &BTH-060-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTH_meta + layout: {type: 'Terminal', width: 35.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 31.88, height: 4.0} + pads: + signal: {n: 120, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTH-060-xx-x-D-A_P0.5mm_Vertical: + <<: *BTH-060-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 33.48} + +Samtec_BTH-090-xx-x-D_P0.5mm_Vertical: &BTH-090-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTH_meta + layout: {type: 'Terminal', width: 50.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 46.88, height: 4.0} + pads: + signal: {n: 180, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTH-090-xx-x-D-A_P0.5mm_Vertical: + <<: *BTH-090-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 48.48} + +Samtec_BTH-120-xx-x-D_P0.5mm_Vertical: &BTH-120-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTH_meta + layout: {type: 'Terminal', width: 65.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 61.88, height: 4.0} + pads: + signal: {n: 240, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTH-120-xx-x-D-A_P0.5mm_Vertical: + <<: *BTH-120-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 63.48} + +Samtec_BTH-150-xx-x-D_P0.5mm_Vertical: &BTH-150-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTH_meta + layout: {type: 'Terminal', width: 80.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 76.88, height: 4.0} + pads: + signal: {n: 300, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTH-150-xx-x-D-A_P0.5mm_Vertical: + <<: *BTH-150-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 78.48} + +################################################################################ +# BSH family (0.5mm socket) +Samtec_BSH-030-xx-x-D_P0.5mm_Vertical: &BSH-030-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: &BSH_meta + description: *desc + tags: 'connector Samtec BSH mezzanine socket vertical' + datasheet: >- + layout: {type: 'Socket', width: 21.3, height: 7.24} + banks: {n: 1, diff: 0, space: 0, width: 16.6, height: 3.8} + pads: + signal: {n: 60, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} + + +Samtec_BSH-030-xx-x-D-A_P0.5mm_Vertical: + <<: *BSH-030-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, space: 20.13, y: 2.67} + +Samtec_BSH-050-xx-x-D_P0.5mm_Vertical: &BSH-050-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSH_meta + layout: {type: 'Socket', width: 31.3, height: 7.24} + banks: {n: 1, diff: 0, space: 20.0, width: 26.6, height: 3.8} + pads: + signal: {n: 100, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} + +Samtec_BSH-050-xx-x-D-A_P0.5mm_Vertical: + <<: *BSH-050-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, space: 30.13, y: 2.67} + +Samtec_BSH-060-xx-x-D_P0.5mm_Vertical: &BSH-060-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSH_meta + layout: {type: 'Socket', width: 36.3, height: 7.24} + banks: {n: 1, diff: 0, space: 20.0, width: 31.6, height: 3.8} + pads: + signal: {n: 120, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} + +Samtec_BSH-060-xx-x-D-A_P0.5mm_Vertical: + <<: *BSH-060-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, space: 35.13, y: 2.67} + +Samtec_BSH-090-xx-x-D_P0.5mm_Vertical: &BSH-090-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSH_meta + layout: {type: 'Socket', width: 51.3, height: 7.24} + banks: {n: 1, diff: 0, space: 20.0, width: 46.6, height: 3.8} + pads: + signal: {n: 180, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} + +Samtec_BSH-090-xx-x-D-A_P0.5mm_Vertical: + <<: *BSH-090-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, space: 50.13, y: 2.67} + +Samtec_BSH-120-xx-x-D_P0.5mm_Vertical: &BSH-120-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSH_meta + layout: {type: 'Socket', width: 66.3, height: 7.24} + banks: {n: 1, diff: 0, space: 20.0, width: 61.6, height: 3.8} + pads: + signal: {n: 240, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} + +Samtec_BSH-120-xx-x-D-A_P0.5mm_Vertical: + <<: *BSH-120-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, space: 65.13, y: 2.67} + +Samtec_BSH-150-xx-x-D_P0.5mm_Vertical: &BSH-150-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSH_meta + layout: {type: 'Socket', width: 81.3, height: 7.24} + banks: {n: 1, diff: 0, space: 20.0, width: 76.6, height: 3.8} + pads: + signal: {n: 300, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} + +Samtec_BSH-150-xx-x-D-A_P0.5mm_Vertical: + <<: *BSH-150-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, space: 80.13, y: 2.67} + +################################################################################ +# BTS family (0.635mm terminal) + +################################################################################ +# BSS family (0.635mm socket) + +################################################################################ +# BTE family (0.8mm terminal) + +################################################################################ +# BSE family (0.8mm socket) + diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py b/scripts/Connector/Connector_Samtec/QStrip_Horizontal.py similarity index 100% rename from scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.py rename to scripts/Connector/Connector_Samtec/QStrip_Horizontal.py diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml b/scripts/Connector/Connector_Samtec/QStrip_Horizontal.yaml similarity index 100% rename from scripts/Connector/Connector_Samtec/QStrip_QPairs_Horizontal.yaml rename to scripts/Connector/Connector_Samtec/QStrip_Horizontal.yaml diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py similarity index 96% rename from scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py rename to scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 9e0d2f8a1..502f59b8d 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -42,18 +42,14 @@ height: !!float mm # height of bank outline drawn on F.Fab pads: signal: # signal pin parameters + n: !!uint # number of pin positions in a bank pitch: !!float mm + y: !!float mm # vertical offset width: !!float mm # Pad width height: !!float mm # Pad height - y: !!float mm # vertical offset planes: # plane parameters - width: - - !!float mm # outer pins - - !!float mm # inner pins - height: !!float mm # Ground pad heights - space: # Distance between ground pads within each bank - - !!float mm # outer pins - - !!float mm # inner pins + - {n, pitch, y, width, height} + - ... holes: # [optional] hole pair specifications, mirrored about y axis - # Hole spec. 1 name: "" # [optional] name/number for plated holes @@ -116,13 +112,6 @@ def generate_one_footprint(param, config, default_lib): # Bank 1 center point bank1_mid = x_inv * (pin1.x - pitch/2 + (pad_n / 4)*pitch) - # Ground pad parameters - #gnd_h = param['pads']['planes']['height'] - # Combine spacing and width data into a zipped list: [(space,width), ...] - #gnd_sw = [sw for sw in zip(param['pads']['planes']['space'], - # param['pads']['planes']['width'])] - #gnd_sw.sort() # Sort from lowest (inner) to highest (outer) spacing - # Place pads n = 1 # Pin counter pin = [] # Pin position list, organized by bank diff --git a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml similarity index 76% rename from scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml rename to scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index 744827c3f..f53767255 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_QPairs_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -14,6 +14,7 @@ ################################################################################ # QTH family; 1 bank Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D + library: 'Connector_Samtec_QStrip' meta: &QTH_meta description: &QStrip_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; @@ -23,7 +24,7 @@ Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: &QTH_pads signal: {n: 60, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} planes: #{height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -34,7 +35,7 @@ Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QTH-030-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: 1.0, space: 18.48, y: -2.03} ## Samtec_QTH-030-xx-x-D-L_P0.5mm_Vertical: ## <<: *QTH-030-xx-x-D @@ -48,21 +49,22 @@ Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: -## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: 1.0, space: 18.48, y: -2.03} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTH family; 2 banks Samtec_QTH-060-xx-x-D_P0.5mm_Vertical: &QTH-060-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QTH_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: *QTH_pads Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical: <<: *QTH-060-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: 1.0, space: 38.48, y: -2.03} ## Samtec_QTH-060-xx-x-D-L_P0.5mm_Vertical: ## <<: *QTH-060-xx-x-D @@ -76,24 +78,26 @@ Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical: ## add-tags: 'alignment-pins latching' ## width: 43.0 ## holes: -## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: 1.0, space: 38.48, y: -2.03} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTH family; 3 banks Samtec_QTH-090-xx-x-D_P0.5mm_Vertical: &QTH-090-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QTH_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: *QTH_pads Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical: <<: *QTH-090-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 58.48, y: -2.03} + - {drill: 1.0, space: 58.48, y: -2.03} -# QTH family; 1 bank; differential +# QTH-DP family; 1 bank; differential Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: &QTH-DP_meta description: &QPairs_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, @@ -103,14 +107,14 @@ Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} pads: *QTH_pads Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QTH-020-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: 1.0, space: 18.48, y: -2.03} ## Samtec_QTH-020-xx-x-D-DP-L_P0.5mm_Vertical: ## <<: *QTH-020-xx-x-D-DP @@ -124,21 +128,22 @@ Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical: ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: -## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: 1.0, space: 18.48, y: -2.03} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} -# QTH family; 2 banks; differential +# QTH-DP family; 2 banks; differential Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical: &QTH-040-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QTH-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 2, space: 20.0, width: 16.88, height: 4.0} pads: *QTH_pads Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QTH-040-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: 1.0, space: 38.48, y: -2.03} ## Samtec_QTH-040-xx-x-D-DP-L_P0.5mm_Vertical: ## <<: *QTH-040-xx-x-D-DP @@ -152,21 +157,22 @@ Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical: ## add-tags: 'alignment-pins latching' ## width: 43.0 ## holes: -## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: 1.0, space: 38.48, y: -2.03} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} -# QTH family; 3 banks; differential +# QTH-DP family; 3 banks; differential Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical: &QTH-060-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QTH-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 3, space: 20.0, width: 16.88, height: 4.0} pads: *QTH_pads Samtec_QTH-060-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QTH-060-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 58.48, y: -2.03} + - {drill: 1.0, space: 58.48, y: -2.03} # QTH family; 3 banks; application-specific Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: @@ -181,14 +187,15 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 differential; {ds:s} layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 1, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 1, space: 20.0, width: 16.88, height: 4.0} pads: *QTH_pads holes: - - {drill: 1.02, space: 58.48, y: -2.03} + - {drill: 1.0, space: 58.48, y: -2.03} ################################################################################ # QSH family; 1 bank Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D + library: 'Connector_Samtec_QStrip' meta: &QSH_meta description: *QStrip_desc tags: 'connector Samtec QStrip QSH mezzanine socket vertical single-ended' @@ -196,9 +203,9 @@ Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 1, diff: 0, space: 20.0, width: 17.14, height: 3.8} pads: &QSH_pads - signal: {n: 60, pitch: 0.5, y: 2.67, width: 0.279, height: 2.27} + signal: {n: 60, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} planes: #{height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} - {n: 2, pitch: 16.13, y: 0, width: 2.54, height: 0.43} - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.43} @@ -208,54 +215,57 @@ Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-030-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.13, y: -2.03} + - {drill: 1.0, space: 20.13, y: 2.67} ## Samtec_QSH-030-xx-x-D-LC_P0.5mm_Vertical: ## <<: *QSH-030-xx-x-D ## add-tags: 'locking-clips' ## holes: -## - {drill: 1.19, space: 20.13, y: 2.03} +## - {drill: 1.19, space: 20.13, y: 2.67} # QSH family; 2 banks Samtec_QSH-060-xx-x-D_P0.5mm_Vertical: &QSH-060-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QSH_meta layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, diff: 0, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 2, diff: 0, space: 20.0, width: 17.14, height: 3.8} pads: *QSH_pads Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-060-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.13, y: -2.03} + - {drill: 1.0, space: 40.13, y: 2.67} ## Samtec_QSH-060-xx-x-D-LC_P0.5mm_Vertical: ## <<: *QSH-060-xx-x-D ## add-tags: 'locking-clips' ## holes: -## - {drill: 1.19, space: 40.13, y: 2.03} +## - {drill: 1.19, space: 40.13, y: 2.67} # QSH family; 3 banks Samtec_QSH-090-xx-x-D_P0.5mm_Vertical: &QSH-090-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QSH_meta layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 0, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 0, space: 20.0, width: 17.14, height: 3.8} pads: *QSH_pads Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: <<: *QSH-090-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.13, y: -2.03} + - {drill: 1.0, space: 60.13, y: 2.67} ## Samtec_QSH-090-xx-x-D-LC_P0.5mm_Vertical: ## <<: *QSH-090-xx-x-D ## add-tags: 'locking-clips' ## holes: -## - {drill: 1.19, space: 60.13, y: 2.03} +## - {drill: 1.19, space: 60.13, y: 2.67} -# QSH family; 1 bank; differential +# QSH-DP family; 1 bank; differential Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: &QSH-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QSH mezzanine socket vertical differential' @@ -263,54 +273,56 @@ Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, diff: 1, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 1, diff: 1, space: 20.0, width: 17.14, height: 3.8} pads: *QSH_pads Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-020-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.13, y: -2.03} + - {drill: 1.0, space: 20.13, y: 2.67} ## Samtec_QSH-020-xx-x-D-DP-LC_P0.5mm_Vertical: ## <<: *QSH-020-xx-x-D-DP ## add-tags: 'locking-clips' ## holes: -## - {drill: 1.19, space: 20.13, y: 2.03} +## - {drill: 1.19, space: 20.13, y: 2.67} -# QSH family; 2 banks; differential +# QSH-DP family; 2 banks; differential Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical: &QSH-040-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QSH-DP_meta layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, diff: 2, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 2, diff: 2, space: 20.0, width: 17.14, height: 3.8} pads: *QSH_pads Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-040-xx-x-D-DP holes: - - {drill: 1.02, space: 40.13, y: -2.03} + - {drill: 1.0, space: 40.13, y: 2.67} ## Samtec_QSH-040-xx-x-D-DP-LC_P0.5mm_Vertical: ## <<: *QSH-040-xx-x-D-DP ## holes: -## - {drill: 1.19, space: 40.13, y: 2.03} +## - {drill: 1.19, space: 40.13, y: 2.67} -# QSH family; 3 banks; differential +# QSH-DP family; 3 banks; differential Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical: &QSH-060-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QSH-DP_meta layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 3, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 3, space: 20.0, width: 17.14, height: 3.8} pads: *QSH_pads Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical: <<: *QSH-060-xx-x-D-DP holes: - - {drill: 1.02, space: 60.13, y: -2.03} + - {drill: 1.0, space: 60.13, y: 2.67} ## Samtec_QSH-060-xx-x-D-DP-LC_P0.5mm_Vertical: ## <<: *QSH-060-xx-x-D-DP ## holes: -## - {drill: 1.19, space: 60.13, y: 2.03} +## - {drill: 1.19, space: 60.13, y: 2.67} # QSH family; 3 banks; specialized Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: @@ -325,14 +337,15 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 differential; {ds:s} layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 1, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 1, space: 20.0, width: 17.14, height: 3.8} pads: *QSH_pads holes: - - {drill: 1.02, space: 60.13, y: -2.03} + - {drill: 1.0, space: 60.13, y: 2.67} ################################################################################ # QTS family; 1 bank Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D + library: 'Connector_Samtec_QStrip' meta: &QTS_meta description: *QStrip_desc tags: 'connector Samtec QStrip QTS mezzanine terminal vertical' @@ -340,7 +353,7 @@ Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: &QTS_pads signal: {n: 50, pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} planes: #{height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -351,36 +364,39 @@ Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QTS-025-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: 1.0, space: 18.48, y: -2.03} # QTS family; 2 banks Samtec_QTS-050-xx-x-D_P0.635mm_Vertical: &QTS-050-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QTS_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: *QTS_pads Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical: <<: *QTS-050-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: 1.0, space: 38.48, y: -2.03} # QTS family; 3 banks Samtec_QTS-075-xx-x-D_P0.635mm_Vertical: &QTS-075-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QTS_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: *QTS_pads Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical: <<: *QTS-075-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 58.48, y: -2.03} + - {drill: 1.0, space: 58.48, y: -2.03} -# QTS family; 1 bank; differential +# QTS-DP family; 1 bank; differential Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical: &QTS-016-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: &QTS-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QTS mezzanine terminal vertical differential' @@ -388,14 +404,14 @@ Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical: &QTS-016-xx-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} pads: *QTS_pads Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QTS-016-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: 1.0, space: 18.48, y: -2.03} ## Samtec_QTS-016-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QTS-016-xx-x-D-DP @@ -403,18 +419,19 @@ Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical: ## holes: ## - {drill: 1.16, space: 18.48, y: -2.03} -# QTS family; 2 banks; differential +# QTS-DP family; 2 banks; differential Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical: &QTS-032-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QTS-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 2, space: 20.0, width: 16.88, height: 4.0} pads: *QTS_pads Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QTS-032-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: 1.0, space: 38.48, y: -2.03} ## Samtec_QTS-032-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QTS-032-xx-x-D-DP @@ -422,18 +439,19 @@ Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical: ## holes: ## - {drill: 1.16, space: 38.48, y: -2.03} -# QTS family; 3 banks; differential +# QTS-DP family; 3 banks; differential Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical: &QTS-048-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QTS-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 3, space: 20.0, width: 16.88, height: 4.0} pads: *QTS_pads Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QTS-048-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 58.48, y: -2.03} + - {drill: 1.0, space: 58.48, y: -2.03} ## Samtec_QTS-048-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QTS-048-xx-x-D-DP @@ -444,6 +462,7 @@ Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: ################################################################################ # QSS family; 1 bank Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D + library: 'Connector_Samtec_QStrip' meta: &QSS_meta description: *QStrip_desc tags: 'connector Samtec QStrip QSS mezzanine socket vertical single-ended' @@ -451,7 +470,7 @@ Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 1, diff: 0, space: 20.0, width: 16.64, height: 3.66} pads: &QSS_pads signal: {n: 50, pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} planes: #{height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} @@ -462,36 +481,39 @@ Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-025-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.0, y: -2.67} + - {drill: 1.0, space: 20.0, y: 2.67} # QSS family; 2 banks Samtec_QSS-050-xx-x-D_P0.635mm_Vertical: &QSS-050-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QSS_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 0, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 2, diff: 0, space: 20.0, width: 16.64, height: 3.66} pads: *QSS_pads Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-050-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.0, y: -2.67} + - {drill: 1.0, space: 40.0, y: 2.67} # QSS family; 3 banks Samtec_QSS-075-xx-x-D_P0.635mm_Vertical: &QSS-075-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QSS_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 0, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 3, diff: 0, space: 20.0, width: 16.64, height: 3.66} pads: *QSS_pads Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical: <<: *QSS-075-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.0, y: -2.67} + - {drill: 1.0, space: 60.0, y: 2.67} -# QSS family; 1 bank; differential +# QSS-DP family; 1 bank; differential Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: &QSS-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QSS mezzanine socket vertical differential' @@ -499,14 +521,14 @@ Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 1, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 1, diff: 1, space: 20.0, width: 16.64, height: 3.66} pads: *QSS_pads Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-016-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.0, y: -2.67} + - {drill: 1.0, space: 20.0, y: 2.67} ## Samtec_QSS-016-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QSS-016-xx-x-D-DP @@ -514,18 +536,19 @@ Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: ## holes: ## - {drill: 1.16, space: 20.0, y: 2.67} -# QSS family; 2 banks; differential +# QSS-DP family; 2 banks; differential Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical: &QSS-032-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QSS-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 2, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 2, diff: 2, space: 20.0, width: 16.64, height: 3.66} pads: *QSS_pads Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-032-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.0, y: -2.67} + - {drill: 1.0, space: 40.0, y: 2.67} ## Samtec_QSS-032-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QSS-032-xx-x-D-DP @@ -533,18 +556,19 @@ Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: ## holes: ## - {drill: 1.16, space: 40.0, y: 2.67} -# QSS family; 3 banks; differential +# QSS-DP family; 3 banks; differential Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical: &QSS-048-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QSS-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 3, space: 20.0, width: 16.0, height: 3.66} + banks: {n: 3, diff: 3, space: 20.0, width: 16.64, height: 3.66} pads: *QSS_pads Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: <<: *QSS-048-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.0, y: -2.67} + - {drill: 1.0, space: 60.0, y: 2.67} ## Samtec_QSS-048-xx-x-D-DP-LC_P0.635mm_Vertical: ## <<: *QSS-048-xx-x-D-DP @@ -555,6 +579,7 @@ Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: ################################################################################ # QTE family; 1 bank Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D + library: 'Connector_Samtec_QStrip' meta: &QTE_meta description: *QStrip_desc tags: 'connector Samtec QStrip QTE mezzanine terminal vertical' @@ -562,7 +587,7 @@ Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: &QTE_pads signal: {n: 40, pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} planes: #{height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} @@ -573,52 +598,55 @@ Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QTE-020-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: 1.0, space: 18.48, y: -2.03} ## Samtec_QTE-020-xx-x-D-A-L_P0.8mm_Vertical: ## <<: *QTE-020-xx-x-D ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: -## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: 1.0, space: 18.48, y: -2.03} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} # QTE family; 2 banks Samtec_QTE-040-xx-x-D_P0.8mm_Vertical: &QTE-040-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QTE_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: *QTE_pads Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical: <<: *QTE-040-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: 1.0, space: 38.48, y: -2.03} ## Samtec_QTE-040-xx-x-D-A-L_P0.8mm_Vertical: ## <<: *QTE-040-xx-x-D ## add-tags: 'alignment-pins latching' ## width: 43.0 ## holes: -## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: 1.0, space: 38.48, y: -2.03} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} # QTE family; 3 banks Samtec_QTE-060-xx-x-D_P0.8mm_Vertical: &QTE-060-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QTE_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: *QTE_pads Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical: <<: *QTE-060-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 58.48, y: -2.03} + - {drill: 1.0, space: 58.48, y: -2.03} -# QTE family; 1 bank; differential +# QTE-DP family; 1 bank; differential Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical: &QTE-014-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: &QTE-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QTE mezzanine terminal vertical differential' @@ -626,60 +654,63 @@ Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical: &QTE-014-xx-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-dp-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf) layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} pads: *QTE_pads Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QTE-014-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 18.48, y: -2.03} + - {drill: 1.0, space: 18.48, y: -2.03} ## Samtec_QTE-014-xx-x-D-DP-A-L_P0.8mm_Vertical: ## <<: *QTE-014-xx-x-D-DP ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: -## - {drill: 1.02, space: 18.48, y: -2.03} +## - {drill: 1.0, space: 18.48, y: -2.03} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.51} -# QTE family; 2 banks; differential +# QTE-DP family; 2 banks; differential Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical: &QTE-028-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QTE-DP_meta layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 2, diff: 2, space: 20.0, width: 16.88, height: 4.0} pads: *QTE_pads Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QTE-028-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 38.48, y: -2.03} + - {drill: 1.0, space: 38.48, y: -2.03} ## Samtec_QTE-028-xx-x-D-DP-A-L_P0.8mm_Vertical: ## <<: *QTE-028-xx-x-D-DP ## add-tags: 'alignment-pins latching' ## width: 23.0 ## holes: -## - {drill: 1.02, space: 38.48, y: -2.03} +## - {drill: 1.0, space: 38.48, y: -2.03} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.51} -# QTE family; 3 banks; differential +# QTE-DP family; 3 banks; differential Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical: &QTE-042-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QTE-DP_meta layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, space: 20.0, width: 16.5, height: 4.0} + banks: {n: 3, diff: 3, space: 20.0, width: 16.88, height: 4.0} pads: *QTE_pads Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QTE-042-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 58.48, y: -2.03} + - {drill: 1.0, space: 58.48, y: -2.03} ################################################################################ # QSE family; 1 bank Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D + library: 'Connector_Samtec_QStrip' meta: &QSE_meta description: *QStrip_desc tags: 'connector Samtec QStrip QSE mezzanine socket vertical single-ended' @@ -687,56 +718,58 @@ Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-xxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-xx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 1, diff: 0, space: 20.0, width: 16.34, height: 3.8} pads: &QSE_pads signal: {n: 40, pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} planes: #{height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} - {n: 2, pitch: 16.13, y: 0, width: 2.54, height: 0.43} - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.43} - Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-020-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.13, y: -2.67} + - {drill: 1.0, space: 20.13, y: 2.67} ## Samtec_QSE-020-xx-x-D-A-L_P0.8mm_Vertical: ## <<: *QSE-020-xx-x-D ## add-tags: 'alignment-pins latching' ## width: 26.61 ## holes: -## - {drill: 1.02, space: 20.13, y: 2.67} +## - {drill: 1.0, space: 20.13, y: 2.67} ## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 24.36, y: -0.51} # QSE family; 2 banks Samtec_QSE-040-xx-x-D_P0.8mm_Vertical: &QSE-040-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QSE_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 0, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 2, diff: 0, space: 20.0, width: 16.34, height: 3.8} pads: *QSE_pads Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-040-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.13, y: -2.67} + - {drill: 1.0, space: 40.13, y: 2.67} # QSE family; 3 banks Samtec_QSE-060-xx-x-D_P0.8mm_Vertical: &QSE-060-xx-x-D + library: 'Connector_Samtec_QStrip' meta: *QSE_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 0, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 0, space: 20.0, width: 16.34, height: 3.8} pads: *QSE_pads Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical: <<: *QSE-060-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.13, y: -2.67} + - {drill: 1.0, space: 60.13, y: 2.67} -# QSE family; 1 bank; differential +# QSE-DP family; 1 bank; differential Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: &QSE-DP_meta description: *QPairs_desc tags: 'connector Samtec QPairs QSE mezzanine socket vertical differential' @@ -744,37 +777,39 @@ Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-dp-xxx-xxxxx-mkt.pdf), [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-dp-xxx-footprint.pdf) layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 1, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 1, diff: 1, space: 20.0, width: 16.34, height: 3.8} pads: *QSE_pads Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-014-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 20.13, y: -2.67} + - {drill: 1.0, space: 20.13, y: 2.67} -# QSE family; 2 banks; differential +# QSE-DP family; 2 banks; differential Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical: &QSE-028-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QSE-DP_meta layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 2, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 2, diff: 2, space: 20.0, width: 16.34, height: 3.8} pads: *QSE_pads Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-028-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 40.13, y: -2.67} + - {drill: 1.0, space: 40.13, y: 2.67} -# QSE family; 3 banks; differential +# QSE-DP family; 3 banks; differential Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical: &QSE-042-xx-x-D-DP + library: 'Connector_Samtec_QStrip' meta: *QSE-DP_meta layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 3, space: 20.0, width: 16.0, height: 3.8} + banks: {n: 3, diff: 3, space: 20.0, width: 16.34, height: 3.8} pads: *QSE_pads Samtec_QSE-042-xx-x-D-DP-A_P0.8mm_Vertical: <<: *QSE-042-xx-x-D-DP add-tags: 'alignment-pins' holes: - - {drill: 1.02, space: 60.13, y: -2.67} + - {drill: 1.0, space: 60.13, y: 2.67} From 3fb44b2298a330626f8a69322f2d9e9604bb7078 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 7 Aug 2020 19:55:05 -0700 Subject: [PATCH 40/62] BasicBladeAndBeam_Vertical: + Add BTS footprint specs --- .../BasicBladeAndBeam_Vertical.yaml | 62 ++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml index 3f787a4d6..f1e986e88 100644 --- a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml @@ -192,6 +192,67 @@ Samtec_BSH-150-xx-x-D-A_P0.5mm_Vertical: ################################################################################ # BTS family (0.635mm terminal) +Samtec_BTS-025-xx-x-D_P0.5mm_Vertical: &BTS-025-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: &BTS_meta + description: >- + Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins; + {ds:s} + tags: 'connector Samtec BTS mezzanine terminal vertical' + datasheet: >- + + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 16.89, height: 4.0} + pads: + signal: {n: 50, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} + +Samtec_BTS-025-xx-x-D-A_P0.5mm_Vertical: + <<: *BTS-025-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 18.48} + +Samtec_BTS-050-xx-x-D_P0.5mm_Vertical: &BTS-050-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTH_meta + layout: {type: 'Terminal', width: 35.88, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 32.77, height: 4.0} + pads: + signal: {n: 100, pitch: 0.635, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTS-050-xx-x-D-A_P0.5mm_Vertical: + <<: *BTS-050-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 34.35} + +Samtec_BTS-075-xx-x-D_P0.5mm_Vertical: &BTS-075-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTH_meta + layout: {type: 'Terminal', width: 51.755, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 48.65, height: 4.0} + pads: + signal: {n: 150, pitch: 0.635, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTS-075-xx-x-D-A_P0.5mm_Vertical: + <<: *BTS-075-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 50.23} + +Samtec_BTS-100-xx-x-D_P0.5mm_Vertical: &BTS-100-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTH_meta + layout: {type: 'Terminal', width: 67.63, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 64.52, height: 4.0} + pads: + signal: {n: 200, pitch: 0.635, y: 3.086, width: 0.305, height: 1.45} + +Samtec_BTS-100-xx-x-D-A_P0.5mm_Vertical: + <<: *BTS-100-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 66.10} ################################################################################ # BSS family (0.635mm socket) @@ -201,4 +262,3 @@ Samtec_BSH-150-xx-x-D-A_P0.5mm_Vertical: ################################################################################ # BSE family (0.8mm socket) - From 11c481a9fcf0c5b37f1e2baea9b7117c040d4d2d Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 9 Aug 2020 07:17:42 -0700 Subject: [PATCH 41/62] BasicBladeAndBeam_Vertical: + Continue adding connector specifications QStrip_Vertical, RazorBeam_Vertical: + Metadata update --- .../BasicBladeAndBeam_Vertical.yaml | 42 +++++++++-- .../Connector_Samtec/QStrip_Vertical.yaml | 75 ++++++++++--------- .../Connector_Samtec/RazorBeam_Vertical.yaml | 16 ++-- 3 files changed, 85 insertions(+), 48 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml index f1e986e88..6f3949842 100644 --- a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml @@ -15,10 +15,12 @@ Samtec_BTH-030-xx-x-D_P0.5mm_Vertical: &BTH-030-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: &BTH_meta description: &desc >- - Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins; - {ds:s} + Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins + ({ds:s}); generated with kicad-footprint-generator tags: 'connector Samtec BTH mezzanine terminal vertical' datasheet: >- + http://suddendocs.samtec.com/prints/bth-xxx-xx-x-d-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/bth-xxx-xx-x-d-xx-footprint.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, space: 0, width: 16.88, height: 4.0} pads: @@ -108,12 +110,13 @@ Samtec_BSH-030-xx-x-D_P0.5mm_Vertical: &BSH-030-xx-x-D description: *desc tags: 'connector Samtec BSH mezzanine socket vertical' datasheet: >- + http://suddendocs.samtec.com/prints/bsh-xxx-01-x-d-xx-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/bsh-xxx-01-x-d-xx-xx-footprint.pdf layout: {type: 'Socket', width: 21.3, height: 7.24} banks: {n: 1, diff: 0, space: 0, width: 16.6, height: 3.8} pads: signal: {n: 60, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} - Samtec_BSH-030-xx-x-D-A_P0.5mm_Vertical: <<: *BSH-030-xx-x-D add-tags: 'alignment-pins' @@ -196,11 +199,12 @@ Samtec_BTS-025-xx-x-D_P0.5mm_Vertical: &BTS-025-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: &BTS_meta description: >- - Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins; - {ds:s} + Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins + ({ds:s}); generated with kicad-footprint-generator tags: 'connector Samtec BTS mezzanine terminal vertical' datasheet: >- - + http://suddendocs.samtec.com/prints/bts-xxx-xx-x-d-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/bts-d.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, space: 0, width: 16.89, height: 4.0} pads: @@ -256,9 +260,35 @@ Samtec_BTS-100-xx-x-D-A_P0.5mm_Vertical: ################################################################################ # BSS family (0.635mm socket) +Samtec_BSS-025-xx-x-D_P0.5mm_Vertical: &BSS-025-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: &BSS_meta + description: *desc + tags: 'connector Samtec BSS mezzanine socket vertical' + datasheet: >- + http://suddendocs.samtec.com/prints/bss-xxx-01-x-d-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/bss-xxx-01-x-d-xx-footprint.pdf + layout: {type: 'Socket', width: 21.3, height: 7.24} + banks: {n: 1, diff: 0, space: 0, width: 16.6, height: 3.8} + pads: + signal: {n: 50, pitch: 0.635, y: 2.865, width: 0.279, height: 2.27} + +Samtec_BSS-025-xx-x-D-A_P0.5mm_Vertical: + <<: *BSS-025-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, space: 20.13, y: 2.67} ################################################################################ # BTE family (0.8mm terminal) +datasheet: >- + http://suddendocs.samtec.com/prints/bte-xxx-xx-x-d-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/bte-xxx-xx-x-d-xx-footprint.pdf + ################################################################################ # BSE family (0.8mm socket) + +datasheet: >- + http://suddendocs.samtec.com/prints/bse-xxx-01-x-d-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/bse-xxx-01-x-d-xx-footprint.pdf diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index f53767255..50d8d57ea 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -7,8 +7,8 @@ # configurations are denoted with a double-comment followed by a space ("## "). # # Links: -# - [Q Strip](https://www.samtec.com/connectors/high-speed-board-to-board/mezzanine/qstrip) -# - [Q Pairs](https://www.samtec.com/connectors/high-speed-board-to-board/mezzanine/qpairs) +# - https://www.samtec.com/connectors/high-speed-board-to-board/mezzanine/qstrip +# - https://www.samtec.com/connectors/high-speed-board-to-board/mezzanine/qpairs # ################################################################################ @@ -18,11 +18,12 @@ Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D meta: &QTH_meta description: &QStrip_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; - {banks:d} bank(s), {pins:d} pins/bank; {ds:s} + {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); + generated with kicad-footprint-generator tags: 'connector Samtec QStrip QTH mezzanine terminal vertical single-ended' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) + http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: &QTH_pads @@ -101,11 +102,12 @@ Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP meta: &QTH-DP_meta description: &QPairs_desc >- Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, - Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank; {ds:s} + Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); + generated with kicad-footprint-generator tags: 'connector Samtec QPairs QTH mezzanine terminal vertical differential' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf) + http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} pads: *QTH_pads @@ -179,13 +181,13 @@ Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: library: 'Connector_Samtec' meta: pn: 'ASP-122952-01' - datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf)' + description: >- + Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 + differential ({ds:s}); generated with kicad-footprint-generator tags: >- - connector Samtec QSeries QStrip QPairs HSMC card terminal mezzanine + connector Samtec QStrip QPairs HSMC card terminal mezzanine vertical single-ended differential alignment-pins application-specific - description: >- - Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, - Bank 1 differential; {ds:s} + datasheet: 'http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf' layout: {type: 'Terminal', width: 60.0, height: 5.97} banks: {n: 3, diff: 1, space: 20.0, width: 16.88, height: 4.0} pads: *QTH_pads @@ -200,8 +202,8 @@ Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D description: *QStrip_desc tags: 'connector Samtec QStrip QSH mezzanine socket vertical single-ended' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xx-footprint.pdf) + http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xx-footprint.pdf layout: {type: 'Socket', width: 21.31, height: 7.24} banks: {n: 1, diff: 0, space: 20.0, width: 17.14, height: 3.8} pads: &QSH_pads @@ -270,8 +272,8 @@ Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP description: *QPairs_desc tags: 'connector Samtec QPairs QSH mezzanine socket vertical differential' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xx-footprint.pdf) + http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xx-footprint.pdf layout: {type: 'Socket', width: 21.31, height: 7.24} banks: {n: 1, diff: 1, space: 20.0, width: 17.14, height: 3.8} pads: *QSH_pads @@ -329,13 +331,14 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: library: 'Connector_Samtec' meta: pn: 'ASP-122953-01' - datasheet: '[drawing/footprint](http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf)' + description: >- + Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 + differential ({ds:s}); generated with kicad-footprint-generator tags: >- connector Samtec QSeries QStrip QPairs HSMC host socket mezzanine vertical single-ended differential application-specific - description: >- - Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 differential; {ds:s} + datasheet: 'http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf' layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, diff: 1, space: 20.0, width: 17.14, height: 3.8} pads: *QSH_pads @@ -350,8 +353,8 @@ Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D description: *QStrip_desc tags: 'connector Samtec QStrip QTS mezzanine terminal vertical' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-xx-footprint.pdf) + http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-xx-footprint.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: &QTS_pads @@ -401,8 +404,8 @@ Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical: &QTS-016-xx-x-D-DP description: *QPairs_desc tags: 'connector Samtec QPairs QTS mezzanine terminal vertical differential' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf) + http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} pads: *QTS_pads @@ -467,8 +470,8 @@ Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D description: *QStrip_desc tags: 'connector Samtec QStrip QSS mezzanine socket vertical single-ended' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-xx-footprint.pdf) + http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-xx-footprint.pdf layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 0, space: 20.0, width: 16.64, height: 3.66} pads: &QSS_pads @@ -518,8 +521,8 @@ Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP description: *QPairs_desc tags: 'connector Samtec QPairs QSS mezzanine socket vertical differential' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-dp-xx-footprint.pdf) + http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-dp-xx-footprint.pdf layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 1, space: 20.0, width: 16.64, height: 3.66} pads: *QSS_pads @@ -584,8 +587,8 @@ Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D description: *QStrip_desc tags: 'connector Samtec QStrip QTE mezzanine terminal vertical' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf) + http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} pads: &QTE_pads @@ -651,8 +654,8 @@ Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical: &QTE-014-xx-x-D-DP description: *QPairs_desc tags: 'connector Samtec QPairs QTE mezzanine terminal vertical differential' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-dp-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf) + http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-dp-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} pads: *QTE_pads @@ -715,8 +718,8 @@ Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D description: *QStrip_desc tags: 'connector Samtec QStrip QSE mezzanine socket vertical single-ended' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-xx-footprint.pdf) + http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-xxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-xx-footprint.pdf layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 0, space: 20.0, width: 16.34, height: 3.8} pads: &QSE_pads @@ -774,8 +777,8 @@ Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP description: *QPairs_desc tags: 'connector Samtec QPairs QSE mezzanine socket vertical differential' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-dp-xxx-xxxxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-dp-xxx-footprint.pdf) + http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-dp-xxx-xxxxx-mkt.pdf, + http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-dp-xxx-footprint.pdf layout: {type: 'Socket', width: 21.27, height: 7.24} banks: {n: 1, diff: 1, space: 20.0, width: 16.34, height: 3.8} pads: *QSE_pads diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml index a0dbe11d9..4d90877da 100644 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.yaml @@ -2,11 +2,13 @@ # LSHM family Samtec_LSHM-105-xx.x-x-DV-A-N_Vertical: &LSHM-105 meta: &LSHM_meta - description: 'Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip; {ds:s}' + description: >- + Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic + Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator tags: 'connector Samtec RazorBeam LSHM self-mating terminal socket vertical' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/lshm-1xx-xx.x-xxx-dv-a-x-x-xx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/lshm-1xx-xx.x-x-dv-a-x-x-tr-footprint.pdf) + http://suddendocs.samtec.com/prints/lshm-1xx-xx.x-xxx-dv-a-x-x-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/lshm-1xx-xx.x-x-dv-a-x-x-tr-footprint.pdf pads: &LSHM_pads {pitch: 0.5, y: 1.85, width: 0.3, height: 1.5} layout: {width: 7.2, height: 4.98} pins: 10 @@ -160,11 +162,13 @@ Samtec_LSHM-150-xx.x-x-DV-A-S_Vertical: # LSEM family Samtec_LSEM-120-xx.x-x-DV-A-N_Vertical: meta: &LSEM_meta - description: 'Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip; {ds:s}' + description: >- + Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic + Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator tags: 'connector Samtec RazorBeam LSEM self-mating terminal socket vertical' datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr%20footprint.pdf) + http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr-mkt.pdf, + http://suddendocs.samtec.com/prints/lsem-1xx-xx.x-x-dv-a-x-xx-tr%20footprint.pdf pads: &LSEM_pads {pitch: 0.8, y: 1.85, width: 0.38, height: 1.65} layout: {width: 20.4, height: 4.98} pins: 40 From 718b30460237751b9536df05ba9e9845abe4f4c9 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 9 Aug 2020 14:13:15 -0700 Subject: [PATCH 42/62] BasicBladeAndBeam_Vertical: + BSH family + Correct dimensions --- .../BasicBladeAndBeam_Vertical.yaml | 304 +++++++++++++++--- 1 file changed, 258 insertions(+), 46 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml index 6f3949842..cc45f4ce8 100644 --- a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml @@ -22,7 +22,7 @@ Samtec_BTH-030-xx-x-D_P0.5mm_Vertical: &BTH-030-xx-x-D http://suddendocs.samtec.com/prints/bth-xxx-xx-x-d-xx-mkt.pdf, http://suddendocs.samtec.com/prints/bth-xxx-xx-x-d-xx-footprint.pdf layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 16.88, height: 4.0} + banks: {n: 1, diff: 0, space: 0, width: 16.888, height: 4.0} pads: signal: {n: 60, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} @@ -30,13 +30,13 @@ Samtec_BTH-030-xx-x-D-A_P0.5mm_Vertical: <<: *BTH-030-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 18.48} + - {drill: 1.0, y: -2.03, space: 18.475} Samtec_BTH-050-xx-x-D_P0.5mm_Vertical: &BTH-050-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BTH_meta layout: {type: 'Terminal', width: 30.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 26.88, height: 4.0} + banks: {n: 1, diff: 0, space: 0, width: 26.888, height: 4.0} pads: signal: {n: 100, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} @@ -44,13 +44,13 @@ Samtec_BTH-050-xx-x-D-A_P0.5mm_Vertical: <<: *BTH-050-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 28.48} + - {drill: 1.0, y: -2.03, space: 28.475} Samtec_BTH-060-xx-x-D_P0.5mm_Vertical: &BTH-060-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BTH_meta layout: {type: 'Terminal', width: 35.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 31.88, height: 4.0} + banks: {n: 1, diff: 0, space: 0, width: 31.888, height: 4.0} pads: signal: {n: 120, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} @@ -58,13 +58,13 @@ Samtec_BTH-060-xx-x-D-A_P0.5mm_Vertical: <<: *BTH-060-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 33.48} + - {drill: 1.0, y: -2.03, space: 33.475} Samtec_BTH-090-xx-x-D_P0.5mm_Vertical: &BTH-090-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BTH_meta layout: {type: 'Terminal', width: 50.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 46.88, height: 4.0} + banks: {n: 1, diff: 0, space: 0, width: 46.888, height: 4.0} pads: signal: {n: 180, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} @@ -72,13 +72,13 @@ Samtec_BTH-090-xx-x-D-A_P0.5mm_Vertical: <<: *BTH-090-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 48.48} + - {drill: 1.0, y: -2.03, space: 48.475} Samtec_BTH-120-xx-x-D_P0.5mm_Vertical: &BTH-120-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BTH_meta layout: {type: 'Terminal', width: 65.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 61.88, height: 4.0} + banks: {n: 1, diff: 0, space: 0, width: 61.888, height: 4.0} pads: signal: {n: 240, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} @@ -86,13 +86,13 @@ Samtec_BTH-120-xx-x-D-A_P0.5mm_Vertical: <<: *BTH-120-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 63.48} + - {drill: 1.0, y: -2.03, space: 63.475} Samtec_BTH-150-xx-x-D_P0.5mm_Vertical: &BTH-150-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BTH_meta layout: {type: 'Terminal', width: 80.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 76.88, height: 4.0} + banks: {n: 1, diff: 0, space: 0, width: 76.888, height: 4.0} pads: signal: {n: 300, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} @@ -100,7 +100,7 @@ Samtec_BTH-150-xx-x-D-A_P0.5mm_Vertical: <<: *BTH-150-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 78.48} + - {drill: 1.0, y: -2.03, space: 78.475} ################################################################################ # BSH family (0.5mm socket) @@ -121,13 +121,13 @@ Samtec_BSH-030-xx-x-D-A_P0.5mm_Vertical: <<: *BSH-030-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, space: 20.13, y: 2.67} + - {drill: 1.0, y: 2.67, space: 20.126} Samtec_BSH-050-xx-x-D_P0.5mm_Vertical: &BSH-050-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BSH_meta layout: {type: 'Socket', width: 31.3, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 26.6, height: 3.8} + banks: {n: 1, diff: 0, space: 0, width: 26.6, height: 3.8} pads: signal: {n: 100, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} @@ -135,13 +135,13 @@ Samtec_BSH-050-xx-x-D-A_P0.5mm_Vertical: <<: *BSH-050-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, space: 30.13, y: 2.67} + - {drill: 1.0, y: 2.67, space: 30.126} Samtec_BSH-060-xx-x-D_P0.5mm_Vertical: &BSH-060-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BSH_meta layout: {type: 'Socket', width: 36.3, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 31.6, height: 3.8} + banks: {n: 1, diff: 0, space: 0, width: 31.6, height: 3.8} pads: signal: {n: 120, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} @@ -149,13 +149,13 @@ Samtec_BSH-060-xx-x-D-A_P0.5mm_Vertical: <<: *BSH-060-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, space: 35.13, y: 2.67} + - {drill: 1.0, y: 2.67, space: 35.126} Samtec_BSH-090-xx-x-D_P0.5mm_Vertical: &BSH-090-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BSH_meta layout: {type: 'Socket', width: 51.3, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 46.6, height: 3.8} + banks: {n: 1, diff: 0, space: 0, width: 46.6, height: 3.8} pads: signal: {n: 180, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} @@ -163,13 +163,13 @@ Samtec_BSH-090-xx-x-D-A_P0.5mm_Vertical: <<: *BSH-090-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, space: 50.13, y: 2.67} + - {drill: 1.0, y: 2.67, space: 50.126} Samtec_BSH-120-xx-x-D_P0.5mm_Vertical: &BSH-120-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BSH_meta layout: {type: 'Socket', width: 66.3, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 61.6, height: 3.8} + banks: {n: 1, diff: 0, space: 0, width: 61.6, height: 3.8} pads: signal: {n: 240, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} @@ -177,13 +177,13 @@ Samtec_BSH-120-xx-x-D-A_P0.5mm_Vertical: <<: *BSH-120-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, space: 65.13, y: 2.67} + - {drill: 1.0, y: 2.67, space: 65.126} Samtec_BSH-150-xx-x-D_P0.5mm_Vertical: &BSH-150-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' meta: *BSH_meta layout: {type: 'Socket', width: 81.3, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 76.6, height: 3.8} + banks: {n: 1, diff: 0, space: 0, width: 76.6, height: 3.8} pads: signal: {n: 300, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} @@ -191,7 +191,7 @@ Samtec_BSH-150-xx-x-D-A_P0.5mm_Vertical: <<: *BSH-150-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, space: 80.13, y: 2.67} + - {drill: 1.0, y: 2.67, space: 80.126} ################################################################################ # BTS family (0.635mm terminal) @@ -205,8 +205,8 @@ Samtec_BTS-025-xx-x-D_P0.5mm_Vertical: &BTS-025-xx-x-D datasheet: >- http://suddendocs.samtec.com/prints/bts-xxx-xx-x-d-xx-mkt.pdf, http://suddendocs.samtec.com/prints/bts-d.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 16.89, height: 4.0} + layout: {type: 'Terminal', width: 20.005, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 16.895, height: 4.0} pads: signal: {n: 50, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} @@ -214,49 +214,49 @@ Samtec_BTS-025-xx-x-D-A_P0.5mm_Vertical: <<: *BTS-025-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 18.48} + - {drill: 1.0, y: -2.03, space: 18.479} Samtec_BTS-050-xx-x-D_P0.5mm_Vertical: &BTS-050-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTH_meta + meta: *BTS_meta layout: {type: 'Terminal', width: 35.88, height: 5.97} banks: {n: 1, diff: 0, space: 0, width: 32.77, height: 4.0} pads: - signal: {n: 100, pitch: 0.635, y: 3.086, width: 0.305, height: 1.45} + signal: {n: 100, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} Samtec_BTS-050-xx-x-D-A_P0.5mm_Vertical: <<: *BTS-050-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 34.35} + - {drill: 1.0, y: -2.03, space: 34.354} Samtec_BTS-075-xx-x-D_P0.5mm_Vertical: &BTS-075-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTH_meta + meta: *BTS_meta layout: {type: 'Terminal', width: 51.755, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 48.65, height: 4.0} + banks: {n: 1, diff: 0, space: 0, width: 48.645, height: 4.0} pads: - signal: {n: 150, pitch: 0.635, y: 3.086, width: 0.305, height: 1.45} + signal: {n: 150, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} Samtec_BTS-075-xx-x-D-A_P0.5mm_Vertical: <<: *BTS-075-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 50.23} + - {drill: 1.0, y: -2.03, space: 50.229} Samtec_BTS-100-xx-x-D_P0.5mm_Vertical: &BTS-100-xx-x-D library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTH_meta + meta: *BTS_meta layout: {type: 'Terminal', width: 67.63, height: 5.97} banks: {n: 1, diff: 0, space: 0, width: 64.52, height: 4.0} pads: - signal: {n: 200, pitch: 0.635, y: 3.086, width: 0.305, height: 1.45} + signal: {n: 200, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} Samtec_BTS-100-xx-x-D-A_P0.5mm_Vertical: <<: *BTS-100-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, y: -2.03, space: 66.10} + - {drill: 1.0, y: -2.03, space: 66.104} ################################################################################ # BSS family (0.635mm socket) @@ -268,27 +268,239 @@ Samtec_BSS-025-xx-x-D_P0.5mm_Vertical: &BSS-025-xx-x-D datasheet: >- http://suddendocs.samtec.com/prints/bss-xxx-01-x-d-xx-mkt.pdf, http://suddendocs.samtec.com/prints/bss-xxx-01-x-d-xx-footprint.pdf - layout: {type: 'Socket', width: 21.3, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 16.6, height: 3.8} + layout: {type: 'Socket', width: 21.273, height: 7.24} + banks: {n: 1, diff: 0, space: 0, width: 16.64, height: 3.81} pads: - signal: {n: 50, pitch: 0.635, y: 2.865, width: 0.279, height: 2.27} + signal: {n: 50, pitch: 0.635, y: 2.865, width: 0.41, height: 2.27} Samtec_BSS-025-xx-x-D-A_P0.5mm_Vertical: <<: *BSS-025-xx-x-D add-tags: 'alignment-pins' holes: - - {drill: 1.0, space: 20.13, y: 2.67} + - {drill: 1.0, space: 20.003, y: 2.67} + +Samtec_BSS-050-xx-x-D_P0.5mm_Vertical: &BSS-050-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSS_meta + layout: {type: 'Socket', width: 37.148, height: 7.24} + banks: {n: 1, diff: 0, space: 0, width: 32.515, height: 3.81} + pads: + signal: {n: 100, pitch: 0.635, y: 2.865, width: 0.41, height: 2.27} + +Samtec_BSS-050-xx-x-D-A_P0.5mm_Vertical: + <<: *BSS-050-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 35.878} + +Samtec_BSS-075-xx-x-D_P0.5mm_Vertical: &BSS-075-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSS_meta + layout: {type: 'Socket', width: 53.023, height: 7.24} + banks: {n: 1, diff: 0, space: 0, width: 48.39, height: 3.81} + pads: + signal: {n: 150, pitch: 0.635, y: 2.865, width: 0.41, height: 2.27} + +Samtec_BSS-075-xx-x-D-A_P0.5mm_Vertical: + <<: *BSS-075-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 51.753} + +Samtec_BSS-100-xx-x-D_P0.5mm_Vertical: &BSS-100-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSS_meta + layout: {type: 'Socket', width: 68.898, height: 7.24} + banks: {n: 1, diff: 0, space: 0, width: 64.265, height: 3.81} + pads: + signal: {n: 200, pitch: 0.635, y: 2.865, width: 0.41, height: 2.27} + +Samtec_BSS-100-xx-x-D-A_P0.5mm_Vertical: + <<: *BSS-100-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 67.628} ################################################################################ # BTE family (0.8mm terminal) -datasheet: >- - http://suddendocs.samtec.com/prints/bte-xxx-xx-x-d-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/bte-xxx-xx-x-d-xx-footprint.pdf +Samtec_BTE-020-xx-x-D_P0.5mm_Vertical: &BTE-020-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: &BTE_meta + description: *desc + tags: 'connector Samtec BTE mezzanine terminal vertical' + datasheet: >- + http://suddendocs.samtec.com/prints/bte-xxx-xx-x-d-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/bte-xxx-xx-x-d-xx-footprint.pdf + layout: {type: 'Terminal', width: 20.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 16.88, height: 4.0} + pads: + signal: {n: 40, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} + +Samtec_BTE-020-xx-x-D-A_P0.5mm_Vertical: + <<: *BTE-020-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 18.477} + +Samtec_BTE-040-xx-x-D_P0.5mm_Vertical: &BTE-040-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTE_meta + layout: {type: 'Terminal', width: 36.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 32.88, height: 4.0} + pads: + signal: {n: 80, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} + +Samtec_BTE-040-xx-x-D-A_P0.5mm_Vertical: + <<: *BTE-040-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 34.477} + +Samtec_BTE-060-xx-x-D_P0.5mm_Vertical: &BTE-060-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTE_meta + layout: {type: 'Terminal', width: 52.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 48.88, height: 4.0} + pads: + signal: {n: 120, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} + +Samtec_BTE-060-xx-x-D-A_P0.5mm_Vertical: + <<: *BTE-060-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 50.477} + +Samtec_BTE-080-xx-x-D_P0.5mm_Vertical: &BTE-080-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTE_meta + layout: {type: 'Terminal', width: 68.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 64.88, height: 4.0} + pads: + signal: {n: 160, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} + +Samtec_BTE-080-xx-x-D-A_P0.5mm_Vertical: + <<: *BTE-080-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 66.477} + +Samtec_BTE-100-xx-x-D_P0.5mm_Vertical: &BTE-100-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTE_meta + layout: {type: 'Terminal', width: 84.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 80.88, height: 4.0} + pads: + signal: {n: 200, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} + +Samtec_BTE-100-xx-x-D-A_P0.5mm_Vertical: + <<: *BTE-100-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 82.477} + +Samtec_BTE-120-xx-x-D_P0.5mm_Vertical: &BTE-120-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BTE_meta + layout: {type: 'Terminal', width: 100.0, height: 5.97} + banks: {n: 1, diff: 0, space: 0, width: 96.88, height: 4.0} + pads: + signal: {n: 240, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} + +Samtec_BTE-120-xx-x-D-A_P0.5mm_Vertical: + <<: *BTE-120-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: -2.03, space: 98.477} ################################################################################ # BSE family (0.8mm socket) -datasheet: >- - http://suddendocs.samtec.com/prints/bse-xxx-01-x-d-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/bse-xxx-01-x-d-xx-footprint.pdf +Samtec_BSE-020-xx-x-D_P0.5mm_Vertical: &BSE-020-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: &BSE_meta + description: *desc + tags: 'connector Samtec BSE mezzanine socket vertical' + datasheet: >- + http://suddendocs.samtec.com/prints/bse-xxx-01-x-d-xx-mkt.pdf, + http://suddendocs.samtec.com/prints/bse-xxx-01-x-d-xx-footprint.pdf + layout: {type: 'Socket', width: 21.27, height: 7.239} + banks: {n: 1, diff: 0, space: 0, width: 16.636, height: 3.81} + pads: + signal: {n: 40, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} + +Samtec_BSE-020-xx-x-D-A_P0.5mm_Vertical: + <<: *BSE-020-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 20.128} + +Samtec_BSE-040-xx-x-D_P0.5mm_Vertical: &BSE-040-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSE_meta + layout: {type: 'Socket', width: 37.27, height: 7.239} + banks: {n: 1, diff: 0, space: 0, width: 32.636, height: 3.81} + pads: + signal: {n: 80, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} + +Samtec_BSE-040-xx-x-D-A_P0.5mm_Vertical: + <<: *BSE-040-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 36.128} + +Samtec_BSE-060-xx-x-D_P0.5mm_Vertical: &BSE-060-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSE_meta + layout: {type: 'Socket', width: 53.27, height: 7.239} + banks: {n: 1, diff: 0, space: 0, width: 48.636, height: 3.81} + pads: + signal: {n: 120, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} + +Samtec_BSE-060-xx-x-D-A_P0.5mm_Vertical: + <<: *BSE-060-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 52.128} + +Samtec_BSE-080-xx-x-D_P0.5mm_Vertical: &BSE-080-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSE_meta + layout: {type: 'Socket', width: 69.27, height: 7.239} + banks: {n: 1, diff: 0, space: 0, width: 64.636, height: 3.81} + pads: + signal: {n: 160, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} + +Samtec_BSE-080-xx-x-D-A_P0.5mm_Vertical: + <<: *BSE-080-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 68.128} + +Samtec_BSE-100-xx-x-D_P0.5mm_Vertical: &BSE-100-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSE_meta + layout: {type: 'Socket', width: 85.27, height: 7.239} + banks: {n: 1, diff: 0, space: 0, width: 80.636, height: 3.81} + pads: + signal: {n: 200, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} + +Samtec_BSE-100-xx-x-D-A_P0.5mm_Vertical: + <<: *BSE-100-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 84.128} + +Samtec_BSE-120-xx-x-D_P0.5mm_Vertical: &BSE-120-xx-x-D + library: 'Connector_Samtec_BasicBladeAndBeam' + meta: *BSE_meta + layout: {type: 'Socket', width: 101.27, height: 7.239} + banks: {n: 1, diff: 0, space: 0, width: 96.636, height: 3.81} + pads: + signal: {n: 240, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} + +Samtec_BSE-120-xx-x-D-A_P0.5mm_Vertical: + <<: *BSE-120-xx-x-D + add-tags: 'alignment-pins' + holes: + - {drill: 1.0, y: 2.67, space: 100.128} From c03d287ff67c2c3fb1b183b1d9c8c8ea8f882bac Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 22 Aug 2020 15:53:59 -0700 Subject: [PATCH 43/62] Add dict_tools.py --- scripts/tools/dict_tools.py | 116 ++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 scripts/tools/dict_tools.py diff --git a/scripts/tools/dict_tools.py b/scripts/tools/dict_tools.py new file mode 100644 index 000000000..e012c18a2 --- /dev/null +++ b/scripts/tools/dict_tools.py @@ -0,0 +1,116 @@ +import collections.abc +import copy + +def dictMerge(a, b): + """Recursively merges the contents of two dict objects + + This function is similar to the built-in dict.update() method, but instead + of clobbering the contents of one dictionary with another, it recursively + combines dictionaries. The result is a dictionary containing the combined + contents of the arguments. If both dictionaries contain a key with the same + name (at the same level), the value in `b` takes precedence. + + Parameters + ---------- + a : dict + Base dictionary used as the merge destination + b : dict + Dictionary containing values to merge into `a` + + Returns + ------- + Merged dictionaries (`a` with contents updated from `b`) + + Examples + -------- + >>> a = {'a': 1, 'b': 2, 'c': {'a': 1, 'b': 2}} + >>> b = {'c': {'b': 3}, 'd': 4} + >>> dictMerge(a, b) + {'a': 1, 'b': 2, 'c': {'a': 1, 'b': 3}, 'd': 4} + """ + for (k, v) in b.items(): + if isinstance(v, collections.abc.Mapping): + a[k] = dictMerge(a.get(k, {}), v) + else: + a[k] = v + return a + +def dictInherit(d): + """Recursively merges dictionaries within a hierarchy using 'inherit' entries + + The top-level dictionary (`d`) can be thought of as a type of "namespace" + containing a collection of objects (sub-dictionaries). Objects within the + namespace may contain an 'inherit' entry, which stores the key for another + object within the namespace. + + Inheritance is done recursively, so it is possible to have multiple levels + of inheritance (object c can inherit b, which itself inherits from a). When + this function is executed, it iterates through every entry in `d` and runs + dictMerge() until all of the 'inherit' entries have been resolved. The + result is applied to `d` in-place. + + Typical JSON/YAML file structure that can be processed by this function: + { + "1": { + "a": 1, + "b": {"c": 2, "d": 3, ...} + }, + "2": { + "inherit": "1", + "b": {"c": 3} + }, + ... + "n": { + "inherit": "2", + "d": 4 + } + } + + The result will look something like this: + { + "1": { + "a": 1, + "b": {"c": 2, "d": 3, ...} + }, + "2": { + "a": 1, + "b": {"c": 3, "d": 3, ...} + }, + ... + "n": { + "a": 1, + "b": {"c": 3, "d": 3, ...}, + "d": 4 + } + } + + Parameters + ---------- + d : dict + Top-level "namespace" dictionary containing other dictionaries, each of + which may contain an 'inherit' key to be resolved; edited in-place + + Raises + ------ + RecursionError + If two dictionaries attempt to inherit each other + KeyError + If a dictionary tries to inherit from a key that is not in `d` + + """ + + def dictInherit(d, child, parent): + if 'inherit' not in parent: + del child['inherit'] + p = copy.deepcopy(parent) + return dictMerge(p, child) + elif d[parent['inherit']] is child: + raise RecursionError + else: + return dictInherit(d, parent, d[parent['inherit']]) + + for (k, v) in d.items(): + if isinstance(v, collections.abc.Mapping) and 'inherit' in v: + d[k] = dictInherit(d, v, d[v['inherit']]) + else: + continue From d07cc961153be3e1698d793fecfc3e0ef74c22f7 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 22 Aug 2020 16:00:15 -0700 Subject: [PATCH 44/62] QStrip_Vertical.yaml: + Minor fix in a description dict_tools.py: + Shebang + Reorder dictInherit() docstring --- .../Connector_Samtec/QStrip_Vertical.yaml | 1 - scripts/tools/dict_tools.py | 33 ++++++++++--------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml index 50d8d57ea..386a72e0e 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml @@ -337,7 +337,6 @@ Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: tags: >- connector Samtec QSeries QStrip QPairs HSMC host socket mezzanine vertical single-ended differential application-specific - Bank 1 differential; {ds:s} datasheet: 'http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf' layout: {type: 'Socket', width: 61.38, height: 7.24} banks: {n: 3, diff: 1, space: 20.0, width: 17.14, height: 3.8} diff --git a/scripts/tools/dict_tools.py b/scripts/tools/dict_tools.py index e012c18a2..d7b7cf61b 100644 --- a/scripts/tools/dict_tools.py +++ b/scripts/tools/dict_tools.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + import collections.abc import copy @@ -49,6 +51,21 @@ def dictInherit(d): dictMerge() until all of the 'inherit' entries have been resolved. The result is applied to `d` in-place. + Parameters + ---------- + d : dict + Top-level "namespace" dictionary containing other dictionaries, each of + which may contain an 'inherit' key to be resolved; edited in-place + + Raises + ------ + RecursionError + If two dictionaries attempt to inherit each other + KeyError + If a dictionary tries to inherit from a key that is not in `d` + + Notes + ----- Typical JSON/YAML file structure that can be processed by this function: { "1": { @@ -83,22 +100,8 @@ def dictInherit(d): "d": 4 } } - - Parameters - ---------- - d : dict - Top-level "namespace" dictionary containing other dictionaries, each of - which may contain an 'inherit' key to be resolved; edited in-place - - Raises - ------ - RecursionError - If two dictionaries attempt to inherit each other - KeyError - If a dictionary tries to inherit from a key that is not in `d` - """ - + def dictInherit(d, child, parent): if 'inherit' not in parent: del child['inherit'] From 7fef5e89a37a6b1a6440a9f5b099d0884f827196 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 22 Aug 2020 17:44:48 -0700 Subject: [PATCH 45/62] QStrip_Vertical.py: + Add dictInherit support QStrip_Vertical.json: + Migrate QTH specs from QStrip_Vertical.yaml --- .../Connector_Samtec/QStrip_Vertical.json | 95 +++++++++++++++++++ .../Connector_Samtec/QStrip_Vertical.py | 3 + 2 files changed, 98 insertions(+) create mode 100644 scripts/Connector/Connector_Samtec/QStrip_Vertical.json diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json new file mode 100644 index 000000000..9412882ce --- /dev/null +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json @@ -0,0 +1,95 @@ +{ + "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical": { + "library": "Connector_Samtec_QStrip", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf, http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf", + "tags": "connector Samtec QStrip QTH mezzanine terminal vertical single-ended" + }, + "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, + "banks": {"n": 1, "diff": 0, "width": 16.88, "height": 4.0, "space": 20.0}, + "pads": { + "signal": {"n": 60, "pitch": 0.5, "width": 0.305, "height": 1.45, "y": 3.086}, + "planes": [ + {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.64, "y": 0}, + {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.64, "y": 0} + ] + } + }, + "Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] + }, + + "Samtec_QTH-060-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 40.0}, + "banks": {"n": 2} + }, + "Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-060-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] + }, + + "Samtec_QTH-090-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 60.0}, + "banks": {"n": 3} + }, + "Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-090-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] + }, + + "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf, http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf", + "tags": "connector Samtec QPairs QTH mezzanine terminal vertical differential" + }, + "banks": {"diff": 1} + }, + "Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] + }, + + "Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", + "layout": {"width": 40.0}, + "banks": {"n": 2, "diff": 2} + }, + "Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] + }, + + "Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", + "layout": {"width": 60.0}, + "banks": {"n": 3, "diff": 3} + }, + "Samtec_QTH-060-xx-x-D-DP-A_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] + }, + + "Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical": { + "inherit": "Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical", + "library": "Connector_Samtec", + "meta": { + "pn": "ASP-122952-01", + "description": "Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 differential ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf", + "tags": "connector Samtec QStrip QPairs HSMC card terminal mezzanine vertical single-ended differential alignment-pins application-specific" + }, + "banks": {"diff": 1} + } +} diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 502f59b8d..b2c41b8fb 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -75,6 +75,7 @@ from KicadModTree import * from footprint_text_fields import addTextFields from helpers import * +from dict_tools import * def generate_one_footprint(param, config, default_lib): fp = Footprint(param['name']) @@ -411,6 +412,8 @@ def generate_one_footprint(param, config, default_lib): print(path, "empty, skipping...") continue + dictInherit(footprints) + for fp_name in footprints: fp_params = footprints.get(fp_name) if 'name' in fp_params: From 8c82a0fac7b67efb09173fd7f6f636cff9d43db6 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 23 Aug 2020 13:10:16 -0700 Subject: [PATCH 46/62] Add QTS family to QStrip_Vertical.json --- .../Connector_Samtec/QStrip_Vertical.json | 172 +++++++++++++++++- 1 file changed, 164 insertions(+), 8 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json index 9412882ce..8a18884c9 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json @@ -3,7 +3,7 @@ "library": "Connector_Samtec_QStrip", "meta": { "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", - "datasheet": "http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf, http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf", + "datasheet": "http://suddendocs.samtec.com/catalog_english/qth.pdf", "tags": "connector Samtec QStrip QTH mezzanine terminal vertical single-ended" }, "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, @@ -21,7 +21,6 @@ "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] }, - "Samtec_QTH-060-xx-x-D_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", "layout": {"width": 40.0}, @@ -32,7 +31,6 @@ "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] }, - "Samtec_QTH-090-xx-x-D_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", "layout": {"width": 60.0}, @@ -43,12 +41,10 @@ "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] }, - "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", "meta": { "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", - "datasheet": "http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf, http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf", "tags": "connector Samtec QPairs QTH mezzanine terminal vertical differential" }, "banks": {"diff": 1} @@ -58,7 +54,6 @@ "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] }, - "Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical": { "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", "layout": {"width": 40.0}, @@ -69,7 +64,6 @@ "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] }, - "Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical": { "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", "layout": {"width": 60.0}, @@ -80,7 +74,6 @@ "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] }, - "Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical": { "inherit": "Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical", "library": "Connector_Samtec", @@ -91,5 +84,168 @@ "tags": "connector Samtec QStrip QPairs HSMC card terminal mezzanine vertical single-ended differential alignment-pins application-specific" }, "banks": {"diff": 1} + }, + + "Samtec_QSH-030-xx-x-D_P0.5mm_Vertical": { + "library": "Connector_Samtec_QStrip", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/qsh.pdf", + "tags": "connector Samtec QStrip QSH mezzanine socket vertical single-ended" + }, + "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, + "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 17.14, "height": 3.8}, + "pads": { + "signal": {"n": 60, "pitch": 0.5, "y": 2.865, "width": 0.279, "height": 2.27}, + "planes": [ + {"n": 2, "pitch": 16.13, "y": 0, "width": 2.54, "height": 0.43}, + {"n": 2, "pitch": 6.35, "y": 0, "width": 4.7, "height": 0.43} + ] + } + }, + "Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-030-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] + }, + "Samtec_QSH-060-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 41.27}, + "banks": {"n": 2} + }, + "Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-060-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 40.13, "y": 2.67}] + }, + "Samtec_QSH-090-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 61.27}, + "banks": {"n": 3} + }, + "Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-090-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 60.13, "y": 2.67}] + }, + "Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-030-xx-x-D_P0.5mm_Vertical", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "tags": "connector Samtec QPairs QSH mezzanine socket vertical differential" + }, + "banks": {"diff": 1} + }, + "Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] + }, + "Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical", + "layout": {"width": 41.27}, + "banks": {"n": 2, "diff": 2} + }, + "Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 40.13, "y": 2.67}] + }, + "Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical", + "layout": {"width": 61.27}, + "banks": {"n": 3, "diff": 3} + }, + "Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 60.13, "y": 2.67}] + }, + "Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical": { + "inherit": "Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical", + "library": "Connector_Samtec", + "meta": { + "pn": "ASP-122953-01", + "description": "Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 differential ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf", + "tags": "connector Samtec QSeries QStrip QPairs HSMC host socket mezzanine vertical single-ended differential application-specific" + }, + "banks": {"diff": 1} + }, + + "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical": { + "library": "Connector_Samtec_QStrip", + "meta": { + "description": "Samtec {pn:s} {pitch:1.3f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/qts.pdf", + "tags": "connector Samtec QStrip QTS mezzanine terminal vertical" + }, + "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, + "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.88, "height": 4.0}, + "pads": { + "signal": {"n": 50, "pitch": 0.635, "y": 3.086, "width": 0.406, "height": 1.45}, + "planes": [ + {"n": 2, "pitch": 16.89, "y": 0, "width": 2.54, "height": 0.635}, + {"n": 2, "pitch": 6.35, "y": 0, "width": 4.70, "height": 0.635} + ] + } + }, + "Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] + }, + "Samtec_QTS-050-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 40.0}, + "banks": {"n": 2} + }, + "Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-050-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] + }, + "Samtec_QTS-075-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 60.0}, + "banks": {"n": 3} + }, + "Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-075-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] + }, + "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", + "meta": { + "description": "Samtec {pn:s} {pitch:1.3f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "tags": "connector Samtec QPairs QTS mezzanine terminal vertical differential" + }, + "banks": {"diff": 1} + }, + "Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] + }, + "Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical", + "layout": {"width": 40.0}, + "banks": {"n": 2, "diff": 2} + }, + "Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] + }, + "Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical", + "layout": {"width": 60.0}, + "banks": {"n": 3, "diff": 3} + }, + "Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical": { + "inherit": "Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] } } From bfcd2dc7965079cfc8d665b15243d4154195ce12 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 24 Aug 2020 15:10:41 -0700 Subject: [PATCH 47/62] + Finish populating QStrip_Vertical.json - Remove QStrip_Vertical.yaml --- .../Connector_Samtec/QStrip_Vertical.json | 274 +++++- .../Connector_Samtec/QStrip_Vertical.yaml | 817 ------------------ 2 files changed, 251 insertions(+), 840 deletions(-) delete mode 100644 scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json index 8a18884c9..748a914ef 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json @@ -7,19 +7,19 @@ "tags": "connector Samtec QStrip QTH mezzanine terminal vertical single-ended" }, "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, - "banks": {"n": 1, "diff": 0, "width": 16.88, "height": 4.0, "space": 20.0}, + "banks": {"n": 1, "diff": 0, "width": 16.88, "height": 3.9, "space": 20.0}, "pads": { "signal": {"n": 60, "pitch": 0.5, "width": 0.305, "height": 1.45, "y": 3.086}, "planes": [ - {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.64, "y": 0}, - {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.64, "y": 0} + {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.635, "y": 0}, + {"n": 2, "pitch": 6.35, "width": 4.70, "height": 0.635, "y": 0} ] } }, "Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTH-060-xx-x-D_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", @@ -29,7 +29,7 @@ "Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-060-xx-x-D_P0.5mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTH-090-xx-x-D_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", @@ -39,7 +39,7 @@ "Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-090-xx-x-D_P0.5mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] }, "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", @@ -52,7 +52,7 @@ "Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical": { "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", @@ -62,7 +62,7 @@ "Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical": { "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", @@ -72,7 +72,7 @@ "Samtec_QTH-060-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] }, "Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical": { "inherit": "Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical", @@ -94,12 +94,12 @@ "tags": "connector Samtec QStrip QSH mezzanine socket vertical single-ended" }, "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, - "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 17.14, "height": 3.8}, + "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.64, "height": 3.81}, "pads": { - "signal": {"n": 60, "pitch": 0.5, "y": 2.865, "width": 0.279, "height": 2.27}, + "signal": {"n": 60, "pitch": 0.5, "width": 0.279, "height": 2.27, "y": 2.865}, "planes": [ - {"n": 2, "pitch": 16.13, "y": 0, "width": 2.54, "height": 0.43}, - {"n": 2, "pitch": 6.35, "y": 0, "width": 4.7, "height": 0.43} + {"n": 2, "pitch": 16.13, "width": 2.54, "height": 0.43, "y": 0}, + {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.43, "y": 0} ] } }, @@ -181,19 +181,19 @@ "tags": "connector Samtec QStrip QTS mezzanine terminal vertical" }, "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, - "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.88, "height": 4.0}, + "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.88, "height": 3.94}, "pads": { - "signal": {"n": 50, "pitch": 0.635, "y": 3.086, "width": 0.406, "height": 1.45}, + "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 1.448, "y": 3.086}, "planes": [ - {"n": 2, "pitch": 16.89, "y": 0, "width": 2.54, "height": 0.635}, - {"n": 2, "pitch": 6.35, "y": 0, "width": 4.70, "height": 0.635} + {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.635, "y": 0}, + {"n": 2, "pitch": 6.35, "width": 4.70, "height": 0.635, "y": 0} ] } }, "Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTS-050-xx-x-D_P0.635mm_Vertical": { "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", @@ -203,7 +203,7 @@ "Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-050-xx-x-D_P0.635mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTS-075-xx-x-D_P0.635mm_Vertical": { "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", @@ -213,7 +213,7 @@ "Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-075-xx-x-D_P0.635mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] }, "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical": { "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", @@ -226,7 +226,7 @@ "Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 18.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical": { "inherit": "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical", @@ -236,7 +236,7 @@ "Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 38.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical": { "inherit": "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical", @@ -246,6 +246,234 @@ "Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 58.48, "y": -2.03}] + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] + }, + + "Samtec_QSS-025-xx-x-D_P0.635mm_Vertical": { + "library": "Connector_Samtec_QStrip", + "meta": { + "description": "Samtec {pn:s} {pitch:1.3f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/qss.pdf", + "tags": "connector Samtec QStrip QSS mezzanine socket vertical single-ended" + }, + "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, + "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.64, "height": 3.66}, + "pads": { + "signal": {"n": 60, "pitch": 0.635, "width": 0.406, "height": 2.273, "y": 2.865}, + "planes": [ + {"n": 2, "pitch": 16.13, "width": 2.8, "height": 0.432, "y": 0}, + {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.432, "y": 0} + ] + } + }, + "Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-025-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.0, "y": 2.67}] + }, + "Samtec_QSS-050-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 41.27}, + "banks": {"n": 2} + }, + "Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-050-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 40.0, "y": 2.67}] + }, + "Samtec_QSS-075-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 61.27}, + "banks": {"n": 3} + }, + "Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-075-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 60.0, "y": 2.67}] + }, + "Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-025-xx-x-D_P0.635mm_Vertical", + "meta": { + "description": "Samtec {pn:s} {pitch:1.3f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "tags": "connector Samtec QPairs QSS mezzanine socket vertical differential" + }, + "banks": {"diff": 1} + }, + "Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.0, "y": 2.67}] + }, + "Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical", + "layout": {"width": 41.27}, + "banks": {"n": 2, "diff": 2} + }, + "Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 40.0, "y": 2.67}] + }, + "Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical", + "layout": {"width": 61.27}, + "banks": {"n": 3, "diff": 3} + }, + "Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical": { + "inherit": "Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 60.0, "y": 2.67}] + }, + + "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical": { + "library": "Connector_Samtec_QStrip", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/qte.pdf", + "tags": "connector Samtec QStrip QTE mezzanine terminal vertical" + }, + "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, + "banks": {"n": 1, "diff": 0, "width": 16.88, "height": 3.94, "space": 20.0}, + "pads": { + "signal": {"n": 40, "pitch": 0.8, "width": 0.46, "height": 1.45, "y": 3.086}, + "planes": [ + {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.635, "y": 0}, + {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.635, "y": 0} + ] + } + }, + "Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] + }, + "Samtec_QTE-040-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 40.0}, + "banks": {"n": 2} + }, + "Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-040-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] + }, + "Samtec_QTE-060-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 60.0}, + "banks": {"n": 2} + }, + "Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-060-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] + }, + "Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "tags": "connector Samtec QPairs QTE mezzanine terminal vertical differential" + }, + "banks": {"diff": 1} + }, + "Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] + }, + "Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical", + "layout": {"width": 40.0}, + "banks": {"n": 2, "diff": 2} + }, + "Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] + }, + "Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical", + "layout": {"width": 60.0}, + "banks": {"n": 3, "diff": 3} + }, + "Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical": { + "inherit": "Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] + }, + + "Samtec_QSE-020-xx-x-D_P0.8mm_Vertical": { + "library": "Connector_Samtec_QStrip", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/qse.pdf", + "tags": "connector Samtec QStrip QSE mezzanine socket vertical single-ended" + }, + "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, + "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.64, "height": 3.81}, + "pads": { + "signal": {"n": 40, "pitch": 0.8, "width": 0.41, "height": 2.27, "y": 2.865}, + "planes": [ + {"n": 2, "pitch": 16.13, "width": 2.54, "height": 0.43, "y": 0}, + {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.43, "y": 0} + ] + } + }, + "Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-020-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] + }, + "Samtec_QSE-040-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 41.27}, + "banks": {"n": 2} + }, + "Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-040-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 40.13, "y": 2.67}] + }, + "Samtec_QSE-060-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 61.27}, + "banks": {"n": 3} + }, + "Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-060-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 60.13, "y": 2.67}] + }, + "Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-020-xx-x-D_P0.8mm_Vertical", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "tags": "connector Samtec QPairs QSE mezzanine socket vertical differential" + }, + "banks": {"diff": 1} + }, + "Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] + }, + "Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical", + "layout": {"width": 41.27}, + "banks": {"n": 2, "diff": 2} + }, + "Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 40.13, "y": 2.67}] + }, + "Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical", + "layout": {"width": 61.27}, + "banks": {"n": 3, "diff": 3} + }, + "Samtec_QSE-042-xx-x-D-DP-A_P0.8mm_Vertical": { + "inherit": "Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 60.13, "y": 2.67}] } } diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml b/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml deleted file mode 100644 index 386a72e0e..000000000 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.yaml +++ /dev/null @@ -1,817 +0,0 @@ -# This file contains footprint specifications the vertical variations of Samtec -# Q Strip and Q Pairs connectors. QStrip_QPairs_Vertical.py, contains a complete -# specification of the properties and data types that can be used in this file. -# Several non-standard (or uncommon) configurations of Q Strip and Q Pairs -# connectors were added during the development process, but have since been -# commented out in order to avoid cluttering the KiCad footprint library. Such -# configurations are denoted with a double-comment followed by a space ("## "). -# -# Links: -# - https://www.samtec.com/connectors/high-speed-board-to-board/mezzanine/qstrip -# - https://www.samtec.com/connectors/high-speed-board-to-board/mezzanine/qpairs -# - -################################################################################ -# QTH family; 1 bank -Samtec_QTH-030-xx-x-D_P0.5mm_Vertical: &QTH-030-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: &QTH_meta - description: &QStrip_desc >- - Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; - {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); - generated with kicad-footprint-generator - tags: 'connector Samtec QStrip QTH mezzanine terminal vertical single-ended' - datasheet: >- - http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: &QTH_pads - signal: {n: 60, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - planes: #{height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} - - {n: 2, pitch: 16.89, y: 0, width: 2.54, height: 0.64} - - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.64} - -Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical: - <<: *QTH-030-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 18.48, y: -2.03} - -## Samtec_QTH-030-xx-x-D-L_P0.5mm_Vertical: -## <<: *QTH-030-xx-x-D -## add-tags: 'latching' -## width: 23.0 -## holes: -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} -## -## Samtec_QTH-030-xx-x-D-A-L_P0.5mm_Vertical: -## <<: *QTH-030-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.0, space: 18.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} - -# QTH family; 2 banks -Samtec_QTH-060-xx-x-D_P0.5mm_Vertical: &QTH-060-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QTH_meta - layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: *QTH_pads - -Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical: - <<: *QTH-060-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 38.48, y: -2.03} - -## Samtec_QTH-060-xx-x-D-L_P0.5mm_Vertical: -## <<: *QTH-060-xx-x-D -## add-tags: 'latching' -## width: 43.0 -## holes: -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} -## -## Samtec_QTH-060-xx-x-D-A-L_P0.5mm_Vertical: -## <<: *QTH-060-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 43.0 -## holes: -## - {drill: 1.0, space: 38.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} - -# QTH family; 3 banks -Samtec_QTH-090-xx-x-D_P0.5mm_Vertical: &QTH-090-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QTH_meta - layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: *QTH_pads - -Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical: - <<: *QTH-090-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 58.48, y: -2.03} - -# QTH-DP family; 1 bank; differential -Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical: &QTH-020-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: &QTH-DP_meta - description: &QPairs_desc >- - Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, - Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); - generated with kicad-footprint-generator - tags: 'connector Samtec QPairs QTH mezzanine terminal vertical differential' - datasheet: >- - http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-dp-xxx-footprint.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} - pads: *QTH_pads - -Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical: - <<: *QTH-020-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 18.48, y: -2.03} - -## Samtec_QTH-020-xx-x-D-DP-L_P0.5mm_Vertical: -## <<: *QTH-020-xx-x-D-DP -## add-tags: 'latching' -## width: 23.0 -## holes: -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} -## -## Samtec_QTH-020-xx-x-D-DP-A-L_P0.5mm_Vertical: -## <<: *QTH-020-xx-x-D-DP -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.0, space: 18.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} - -# QTH-DP family; 2 banks; differential -Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical: &QTH-040-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QTH-DP_meta - layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, space: 20.0, width: 16.88, height: 4.0} - pads: *QTH_pads - -Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical: - <<: *QTH-040-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 38.48, y: -2.03} - -## Samtec_QTH-040-xx-x-D-DP-L_P0.5mm_Vertical: -## <<: *QTH-040-xx-x-D-DP -## add-tags: 'latching' -## width: 43.0 -## holes: -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} -## -## Samtec_QTH-040-xx-x-D-DP-A-L_P0.5mm_Vertical: -## <<: *QTH-040-xx-x-D-DP -## add-tags: 'alignment-pins latching' -## width: 43.0 -## holes: -## - {drill: 1.0, space: 38.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} - -# QTH-DP family; 3 banks; differential -Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical: &QTH-060-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QTH-DP_meta - layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, space: 20.0, width: 16.88, height: 4.0} - pads: *QTH_pads - -Samtec_QTH-060-xx-x-D-DP-A_P0.5mm_Vertical: - <<: *QTH-060-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 58.48, y: -2.03} - -# QTH family; 3 banks; application-specific -Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical: - library: 'Connector_Samtec' - meta: - pn: 'ASP-122952-01' - description: >- - Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 - differential ({ds:s}); generated with kicad-footprint-generator - tags: >- - connector Samtec QStrip QPairs HSMC card terminal mezzanine - vertical single-ended differential alignment-pins application-specific - datasheet: 'http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf' - layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 1, space: 20.0, width: 16.88, height: 4.0} - pads: *QTH_pads - holes: - - {drill: 1.0, space: 58.48, y: -2.03} - -################################################################################ -# QSH family; 1 bank -Samtec_QSH-030-xx-x-D_P0.5mm_Vertical: &QSH-030-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: &QSH_meta - description: *QStrip_desc - tags: 'connector Samtec QStrip QSH mezzanine socket vertical single-ended' - datasheet: >- - http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-xx-footprint.pdf - layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 17.14, height: 3.8} - pads: &QSH_pads - signal: {n: 60, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} - planes: #{height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} - - {n: 2, pitch: 16.13, y: 0, width: 2.54, height: 0.43} - - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.43} - - -Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical: - <<: *QSH-030-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 20.13, y: 2.67} - -## Samtec_QSH-030-xx-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-030-xx-x-D -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.19, space: 20.13, y: 2.67} - -# QSH family; 2 banks -Samtec_QSH-060-xx-x-D_P0.5mm_Vertical: &QSH-060-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QSH_meta - layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, diff: 0, space: 20.0, width: 17.14, height: 3.8} - pads: *QSH_pads - -Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical: - <<: *QSH-060-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 40.13, y: 2.67} - -## Samtec_QSH-060-xx-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-060-xx-x-D -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.19, space: 40.13, y: 2.67} - -# QSH family; 3 banks -Samtec_QSH-090-xx-x-D_P0.5mm_Vertical: &QSH-090-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QSH_meta - layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 0, space: 20.0, width: 17.14, height: 3.8} - pads: *QSH_pads - -Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical: - <<: *QSH-090-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 60.13, y: 2.67} - -## Samtec_QSH-090-xx-x-D-LC_P0.5mm_Vertical: -## <<: *QSH-090-xx-x-D -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.19, space: 60.13, y: 2.67} - -# QSH-DP family; 1 bank; differential -Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical: &QSH-020-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: &QSH-DP_meta - description: *QPairs_desc - tags: 'connector Samtec QPairs QSH mezzanine socket vertical differential' - datasheet: >- - http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qsh-xxx-xx-x-d-dp-xx-footprint.pdf - layout: {type: 'Socket', width: 21.31, height: 7.24} - banks: {n: 1, diff: 1, space: 20.0, width: 17.14, height: 3.8} - pads: *QSH_pads - -Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical: - <<: *QSH-020-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 20.13, y: 2.67} - -## Samtec_QSH-020-xx-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-020-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.19, space: 20.13, y: 2.67} - -# QSH-DP family; 2 banks; differential -Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical: &QSH-040-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QSH-DP_meta - layout: {type: 'Socket', width: 41.31, height: 7.24} - banks: {n: 2, diff: 2, space: 20.0, width: 17.14, height: 3.8} - pads: *QSH_pads - -Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical: - <<: *QSH-040-xx-x-D-DP - holes: - - {drill: 1.0, space: 40.13, y: 2.67} - -## Samtec_QSH-040-xx-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-040-xx-x-D-DP -## holes: -## - {drill: 1.19, space: 40.13, y: 2.67} - -# QSH-DP family; 3 banks; differential -Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical: &QSH-060-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QSH-DP_meta - layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 3, space: 20.0, width: 17.14, height: 3.8} - pads: *QSH_pads - -Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical: - <<: *QSH-060-xx-x-D-DP - holes: - - {drill: 1.0, space: 60.13, y: 2.67} - -## Samtec_QSH-060-xx-x-D-DP-LC_P0.5mm_Vertical: -## <<: *QSH-060-xx-x-D-DP -## holes: -## - {drill: 1.19, space: 60.13, y: 2.67} - -# QSH family; 3 banks; specialized -Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical: - library: 'Connector_Samtec' - meta: - pn: 'ASP-122953-01' - description: >- - Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 - differential ({ds:s}); generated with kicad-footprint-generator - tags: >- - connector Samtec QSeries QStrip QPairs HSMC host socket mezzanine - vertical single-ended differential application-specific - datasheet: 'http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf' - layout: {type: 'Socket', width: 61.38, height: 7.24} - banks: {n: 3, diff: 1, space: 20.0, width: 17.14, height: 3.8} - pads: *QSH_pads - holes: - - {drill: 1.0, space: 60.13, y: 2.67} - -################################################################################ -# QTS family; 1 bank -Samtec_QTS-025-xx-x-D_P0.635mm_Vertical: &QTS-025-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: &QTS_meta - description: *QStrip_desc - tags: 'connector Samtec QStrip QTS mezzanine terminal vertical' - datasheet: >- - http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-xx-footprint.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: &QTS_pads - signal: {n: 50, pitch: 0.635, y: 3.086, width: 0.406, height: 1.45} - planes: #{height: 0.635, width: [2.54, 4.7], space: [16.89, 6.35]} - - {n: 2, pitch: 16.89, y: 0, width: 2.54, height: 0.635} - - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.635} - -Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical: - <<: *QTS-025-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 18.48, y: -2.03} - -# QTS family; 2 banks -Samtec_QTS-050-xx-x-D_P0.635mm_Vertical: &QTS-050-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QTS_meta - layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: *QTS_pads - -Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical: - <<: *QTS-050-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 38.48, y: -2.03} - -# QTS family; 3 banks -Samtec_QTS-075-xx-x-D_P0.635mm_Vertical: &QTS-075-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QTS_meta - layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: *QTS_pads - -Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical: - <<: *QTS-075-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 58.48, y: -2.03} - -# QTS-DP family; 1 bank; differential -Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical: &QTS-016-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: &QTS-DP_meta - description: *QPairs_desc - tags: 'connector Samtec QPairs QTS mezzanine terminal vertical differential' - datasheet: >- - http://suddendocs.samtec.com/prints/qts-xxx-xx-xxx-d-dp-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/qts-xxx-xx-x-d-dp-xx-footprint.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} - pads: *QTS_pads - -Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical: - <<: *QTS-016-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 18.48, y: -2.03} - -## Samtec_QTS-016-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-016-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 18.48, y: -2.03} - -# QTS-DP family; 2 banks; differential -Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical: &QTS-032-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QTS-DP_meta - layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, space: 20.0, width: 16.88, height: 4.0} - pads: *QTS_pads - -Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical: - <<: *QTS-032-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 38.48, y: -2.03} - -## Samtec_QTS-032-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-032-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 38.48, y: -2.03} - -# QTS-DP family; 3 banks; differential -Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical: &QTS-048-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QTS-DP_meta - layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, space: 20.0, width: 16.88, height: 4.0} - pads: *QTS_pads - -Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical: - <<: *QTS-048-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 58.48, y: -2.03} - -## Samtec_QTS-048-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QTS-048-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 58.48, y: -2.03} - -################################################################################ -# QSS family; 1 bank -Samtec_QSS-025-xx-x-D_P0.635mm_Vertical: &QSS-025-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: &QSS_meta - description: *QStrip_desc - tags: 'connector Samtec QStrip QSS mezzanine socket vertical single-ended' - datasheet: >- - http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-xx-footprint.pdf - layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 16.64, height: 3.66} - pads: &QSS_pads - signal: {n: 50, pitch: 0.635, y: 2.865, width: 0.406, height: 2.273} - planes: #{height: 0.432, width: [2.8, 4.7], space: [16.13, 6.35]} - - {n: 2, pitch: 16.13, y: 0, width: 2.8, height: 0.432} - - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.432} - -Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical: - <<: *QSS-025-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 20.0, y: 2.67} - -# QSS family; 2 banks -Samtec_QSS-050-xx-x-D_P0.635mm_Vertical: &QSS-050-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QSS_meta - layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 0, space: 20.0, width: 16.64, height: 3.66} - pads: *QSS_pads - -Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical: - <<: *QSS-050-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 40.0, y: 2.67} - -# QSS family; 3 banks -Samtec_QSS-075-xx-x-D_P0.635mm_Vertical: &QSS-075-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QSS_meta - layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 0, space: 20.0, width: 16.64, height: 3.66} - pads: *QSS_pads - -Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical: - <<: *QSS-075-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 60.0, y: 2.67} - -# QSS-DP family; 1 bank; differential -Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical: &QSS-016-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: &QSS-DP_meta - description: *QPairs_desc - tags: 'connector Samtec QPairs QSS mezzanine socket vertical differential' - datasheet: >- - http://suddendocs.samtec.com/prints/qss-xxx-xx-xxx-d-dp-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qss-xxx-xx-x-d-dp-xx-footprint.pdf - layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 1, space: 20.0, width: 16.64, height: 3.66} - pads: *QSS_pads - -Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical: - <<: *QSS-016-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 20.0, y: 2.67} - -## Samtec_QSS-016-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-016-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 20.0, y: 2.67} - -# QSS-DP family; 2 banks; differential -Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical: &QSS-032-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QSS-DP_meta - layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 2, space: 20.0, width: 16.64, height: 3.66} - pads: *QSS_pads - -Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical: - <<: *QSS-032-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 40.0, y: 2.67} - -## Samtec_QSS-032-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-032-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 40.0, y: 2.67} - -# QSS-DP family; 3 banks; differential -Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical: &QSS-048-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QSS-DP_meta - layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 3, space: 20.0, width: 16.64, height: 3.66} - pads: *QSS_pads - -Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical: - <<: *QSS-048-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 60.0, y: 2.67} - -## Samtec_QSS-048-xx-x-D-DP-LC_P0.635mm_Vertical: -## <<: *QSS-048-xx-x-D-DP -## add-tags: 'locking-clips' -## holes: -## - {drill: 1.16, space: 60.0, y: 2.67} - -################################################################################ -# QTE family; 1 bank -Samtec_QTE-020-xx-x-D_P0.8mm_Vertical: &QTE-020-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: &QTE_meta - description: *QStrip_desc - tags: 'connector Samtec QStrip QTE mezzanine terminal vertical' - datasheet: >- - http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-xxx-footprint.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: &QTE_pads - signal: {n: 40, pitch: 0.8, y: 2.98, width: 0.46, height: 1.94} - planes: #{height: 0.64, width: [2.54, 4.7], space: [16.89, 6.35]} - - {n: 2, pitch: 16.89, y: 0, width: 2.54, height: 0.64} - - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.64} - -Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical: - <<: *QTE-020-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 18.48, y: -2.03} - -## Samtec_QTE-020-xx-x-D-A-L_P0.8mm_Vertical: -## <<: *QTE-020-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.0, space: 18.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.508} - -# QTE family; 2 banks -Samtec_QTE-040-xx-x-D_P0.8mm_Vertical: &QTE-040-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QTE_meta - layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: *QTE_pads - -Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical: - <<: *QTE-040-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 38.48, y: -2.03} - -## Samtec_QTE-040-xx-x-D-A-L_P0.8mm_Vertical: -## <<: *QTE-040-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 43.0 -## holes: -## - {drill: 1.0, space: 38.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.508} - -# QTE family; 3 banks -Samtec_QTE-060-xx-x-D_P0.8mm_Vertical: &QTE-060-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QTE_meta - layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 0, space: 20.0, width: 16.88, height: 4.0} - pads: *QTE_pads - -Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical: - <<: *QTE-060-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 58.48, y: -2.03} - -# QTE-DP family; 1 bank; differential -Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical: &QTE-014-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: &QTE-DP_meta - description: *QPairs_desc - tags: 'connector Samtec QPairs QTE mezzanine terminal vertical differential' - datasheet: >- - http://suddendocs.samtec.com/prints/qte-xxx-xx-xxx-d-dp-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qte-xxx-xx-x-d-dp-xx-footprint.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 1, space: 20.0, width: 16.88, height: 4.0} - pads: *QTE_pads - -Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical: - <<: *QTE-014-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 18.48, y: -2.03} - -## Samtec_QTE-014-xx-x-D-DP-A-L_P0.8mm_Vertical: -## <<: *QTE-014-xx-x-D-DP -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.0, space: 18.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 21.69, y: -0.51} - -# QTE-DP family; 2 banks; differential -Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical: &QTE-028-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QTE-DP_meta - layout: {type: 'Terminal', width: 40.0, height: 5.97} - banks: {n: 2, diff: 2, space: 20.0, width: 16.88, height: 4.0} - pads: *QTE_pads - -Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical: - <<: *QTE-028-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 38.48, y: -2.03} - -## Samtec_QTE-028-xx-x-D-DP-A-L_P0.8mm_Vertical: -## <<: *QTE-028-xx-x-D-DP -## add-tags: 'alignment-pins latching' -## width: 23.0 -## holes: -## - {drill: 1.0, space: 38.48, y: -2.03} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 41.69, y: -0.51} - -# QTE-DP family; 3 banks; differential -Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical: &QTE-042-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QTE-DP_meta - layout: {type: 'Terminal', width: 60.0, height: 5.97} - banks: {n: 3, diff: 3, space: 20.0, width: 16.88, height: 4.0} - pads: *QTE_pads - -Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical: - <<: *QTE-042-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 58.48, y: -2.03} - -################################################################################ -# QSE family; 1 bank -Samtec_QSE-020-xx-x-D_P0.8mm_Vertical: &QSE-020-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: &QSE_meta - description: *QStrip_desc - tags: 'connector Samtec QStrip QSE mezzanine socket vertical single-ended' - datasheet: >- - http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-xxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-xx-footprint.pdf - layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 0, space: 20.0, width: 16.34, height: 3.8} - pads: &QSE_pads - signal: {n: 40, pitch: 0.8, y: 2.87, width: 0.41, height: 2.27} - planes: #{height: 0.43, width: [2.54, 4.7], space: [16.13, 6.35]} - - {n: 2, pitch: 16.13, y: 0, width: 2.54, height: 0.43} - - {n: 2, pitch: 6.35, y: 0, width: 4.7, height: 0.43} - -Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical: - <<: *QSE-020-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 20.13, y: 2.67} - -## Samtec_QSE-020-xx-x-D-A-L_P0.8mm_Vertical: -## <<: *QSE-020-xx-x-D -## add-tags: 'alignment-pins latching' -## width: 26.61 -## holes: -## - {drill: 1.0, space: 20.13, y: 2.67} -## - {drill: [0.5, 1.15], pad: [1.0, 1.65], space: 24.36, y: -0.51} - -# QSE family; 2 banks -Samtec_QSE-040-xx-x-D_P0.8mm_Vertical: &QSE-040-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QSE_meta - layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 0, space: 20.0, width: 16.34, height: 3.8} - pads: *QSE_pads - -Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical: - <<: *QSE-040-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 40.13, y: 2.67} - -# QSE family; 3 banks -Samtec_QSE-060-xx-x-D_P0.8mm_Vertical: &QSE-060-xx-x-D - library: 'Connector_Samtec_QStrip' - meta: *QSE_meta - layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 0, space: 20.0, width: 16.34, height: 3.8} - pads: *QSE_pads - -Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical: - <<: *QSE-060-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 60.13, y: 2.67} - -# QSE-DP family; 1 bank; differential -Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical: &QSE-014-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: &QSE-DP_meta - description: *QPairs_desc - tags: 'connector Samtec QPairs QSE mezzanine socket vertical differential' - datasheet: >- - http://suddendocs.samtec.com/prints/qse-xxx-xx-xxx-d-dp-xxx-xxxxx-mkt.pdf, - http://suddendocs.samtec.com/prints/qse-xxx-xx-x-d-dp-xxx-footprint.pdf - layout: {type: 'Socket', width: 21.27, height: 7.24} - banks: {n: 1, diff: 1, space: 20.0, width: 16.34, height: 3.8} - pads: *QSE_pads - -Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical: - <<: *QSE-014-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 20.13, y: 2.67} - -# QSE-DP family; 2 banks; differential -Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical: &QSE-028-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QSE-DP_meta - layout: {type: 'Socket', width: 41.28, height: 7.24} - banks: {n: 2, diff: 2, space: 20.0, width: 16.34, height: 3.8} - pads: *QSE_pads - -Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical: - <<: *QSE-028-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 40.13, y: 2.67} - -# QSE-DP family; 3 banks; differential -Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical: &QSE-042-xx-x-D-DP - library: 'Connector_Samtec_QStrip' - meta: *QSE-DP_meta - layout: {type: 'Socket', width: 61.28, height: 7.24} - banks: {n: 3, diff: 3, space: 20.0, width: 16.34, height: 3.8} - pads: *QSE_pads - -Samtec_QSE-042-xx-x-D-DP-A_P0.8mm_Vertical: - <<: *QSE-042-xx-x-D-DP - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 60.13, y: 2.67} From bcab8b97f6145cdaaaa9cb0cc3681b6ae7e543c1 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 24 Aug 2020 15:30:45 -0700 Subject: [PATCH 48/62] Create BasicBladeAndBeam_Vertical.json --- .../BasicBladeAndBeam_Vertical.json | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json new file mode 100644 index 000000000..a800889e7 --- /dev/null +++ b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json @@ -0,0 +1,75 @@ +{ + "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical": { + "library": "Connector_Samtec_BasicBladeAndBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/bth.pdf", + "tags": "connector Samtec BTH mezzanine terminal vertical" + }, + "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, + "banks": {"n": 1, "diff": 0, "space": 0, "width": 16.888, "height": 3.94}, + "pads": { + "signal": {"n": 60, "pitch": 0.5, "width": 0.305, "height": 1.45, "y": 3.086} + } + }, + "Samtec_BTH-030-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.475, "y": -2.032}] + }, + "Samtec_BTH-050-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 30.0}, + "banks": {"width": 26.888}, + "pads": {"signal": {"n": 100}} + }, + "Samtec_BTH-050-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-050-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 28.475, "y": -2.032}] + }, + "Samtec_BTH-060-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 35.0}, + "banks": {"width": 31.888}, + "pads": {"signal": {"n": 120}} + }, + "Samtec_BTH-060-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-060-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 33.475, "y": -2.032}] + }, + "Samtec_BTH-090-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 50.0}, + "banks": {"width": 46.888}, + "pads": {"signal": {"n": 180}} + }, + "Samtec_BTH-090-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-090-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 48.475, "y": -2.032}] + }, + "Samtec_BTH-120-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 65.0}, + "banks": {"width": 61.888}, + "pads": {"signal": {"n": 240}} + }, + "Samtec_BTH-120-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-120-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 63.475, "y": -2.032}] + }, + "Samtec_BTH-150-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 80.0}, + "banks": {"width": 76.888}, + "pads": {"signal": {"n": 300}} + }, + "Samtec_BTH-150-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-150-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 78.475, "y": -2.032}] + } +} From 58b84229c8ae12387e07dc217d1bef1e23e307dc Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Tue, 25 Aug 2020 19:43:52 -0700 Subject: [PATCH 49/62] Add BSH series to BasicBladeAndBeam_Vertical.json --- .../BasicBladeAndBeam_Vertical.json | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json index a800889e7..cad30a739 100644 --- a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json +++ b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json @@ -71,5 +71,79 @@ "inherit": "Samtec_BTH-150-xx-x-D_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 78.475, "y": -2.032}] + }, + + "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical": { + "library": "Connector_Samtec_BasicBladeAndBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/bsh.pdf", + "tags": "connector Samtec BSH mezzanine socket vertical" + }, + "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, + "banks": {"n": 1, "diff": 0, "space": 0, "width": 16.6, "height": 3.81}, + "pads": { + "signal": {"n": 60, "pitch": 0.5, "width": 0.279, "height": 2.273, "y": 2.865} + } + }, + "Samtec_BSH-030-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.126, "y": 2.67}] + }, + "Samtec_BSH-050-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 31.27}, + "banks": {"width": 26.6}, + "pads": {"signal": {"n": 100}} + }, + "Samtec_BSH-050-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-050-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 30.126, "y": 2.67}] + }, + "Samtec_BSH-060-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 36.27}, + "banks": {"width": 31.6}, + "pads": {"signal": {"n": 120}} + }, + "Samtec_BSH-060-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-060-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 35.126, "y": 2.67}] + }, + "Samtec_BSH-090-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 51.27}, + "banks": {"width": 46.6}, + "pads": {"signal": {"n": 180}} + }, + "Samtec_BSH-090-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-090-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 50.126, "y": 2.67}] + }, + "Samtec_BSH-120-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 66.27}, + "banks": {"width": 61.6}, + "pads": {"signal": {"n": 240}} + }, + "Samtec_BSH-120-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-120-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 65.126, "y": 2.67}] + }, + "Samtec_BSH-150-xx-x-D_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "layout": {"width": 81.27}, + "banks": {"width": 76.6}, + "pads": {"signal": {"n": 300}} + }, + "Samtec_BSH-150-xx-x-D-A_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-150-xx-x-D_P0.5mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 80.126, "y": 2.67}] } } From 99b9854fc4e13095309cb8d9b4e5b161ad64f17d Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 28 Aug 2020 20:12:31 -0700 Subject: [PATCH 50/62] + Add BTS/BSS and BTE/BSE families to BasicBladeAndBeam_Vertical.json - Delete BasicBladeAndBeam_Vertical.yaml --- .../BasicBladeAndBeam_Vertical.json | 252 +++++++++ .../BasicBladeAndBeam_Vertical.yaml | 506 ------------------ .../Connector_Samtec/QStrip_Vertical.json | 2 +- 3 files changed, 253 insertions(+), 507 deletions(-) delete mode 100644 scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json index cad30a739..eb56d8263 100644 --- a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json +++ b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json @@ -145,5 +145,257 @@ "inherit": "Samtec_BSH-150-xx-x-D_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 80.126, "y": 2.67}] + }, + + "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical": { + "library": "Connector_Samtec_BasicBladeAndBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/bts.pdf", + "tags": "connector Samtec BTS mezzanine terminal vertical" + }, + "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, + "banks": {"n": 1, "diff": 0, "space": 0, "width": 16.895, "height": 3.94}, + "pads": { + "signal": {"n": 50, "pitch": 0.635, "width": 0.432, "height": 1.45, "y": 3.086} + } + }, + "Samtec_BTS-025-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] + }, + "Samtec_BTS-050-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 35.88}, + "banks": {"width": 32.77}, + "pads": {"signal": {"n": 100}} + }, + "Samtec_BTS-050-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-050-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 34.35, "y": -2.032}] + }, + "Samtec_BTS-075-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 51.76}, + "banks": {"width": 48.65}, + "pads": {"signal": {"n": 150}} + }, + "Samtec_BTS-075-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-075-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 50.23, "y": -2.032}] + }, + "Samtec_BTS-100-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 67.63}, + "banks": {"width": 64.52}, + "pads": {"signal": {"n": 200}} + }, + "Samtec_BTS-100-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-100-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 66.10, "y": -2.032}] + }, + + "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical": { + "library": "Connector_Samtec_BasicBladeAndBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/bss.pdf", + "tags": "connector Samtec BSS mezzanine socket vertical" + }, + "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, + "banks": {"n": 1, "diff": 0, "space": 0, "width": 16.64, "height": 3.81}, + "pads": { + "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 2.273, "y": 2.865} + } + }, + "Samtec_BSS-025-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.00, "y": 2.67}] + }, + "Samtec_BSS-050-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 37.15}, + "banks": {"width": 32.52}, + "pads": {"signal": {"n": 100}} + }, + "Samtec_BSS-050-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-050-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 35.88, "y": 2.67}] + }, + "Samtec_BSS-075-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 53.02}, + "banks": {"width": 48.39}, + "pads": {"signal": {"n": 150}} + }, + "Samtec_BSS-075-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-075-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 51.75, "y": 2.67}] + }, + "Samtec_BSS-100-xx-x-D_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical", + "layout": {"width": 68.90}, + "banks": {"width": 64.27}, + "pads": {"signal": {"n": 200}} + }, + "Samtec_BSS-100-xx-x-D-A_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-100-xx-x-D_P0.635mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 67.63, "y": 2.67}] + }, + + "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical": { + "library": "Connector_Samtec_BasicBladeAndBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/bte.pdf", + "tags": "connector Samtec BTE mezzanine terminal vertical" + }, + "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, + "banks": {"n": 1, "diff": 0, "space": 0, "width": 16.88, "height": 3.94}, + "pads": { + "signal": {"n": 40, "pitch": 0.8, "width": 0.305, "height": 1.45, "y": 3.086} + } + }, + "Samtec_BTE-020-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] + }, + "Samtec_BTE-040-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 36.0}, + "banks": {"width": 32.88}, + "pads": {"signal": {"n": 80}} + }, + "Samtec_BTE-040-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-040-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 34.48, "y": -2.032}] + }, + "Samtec_BTE-060-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 52.0}, + "banks": {"width": 48.88}, + "pads": {"signal": {"n": 120}} + }, + "Samtec_BTE-060-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-060-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 50.48, "y": -2.032}] + }, + "Samtec_BTE-080-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 68.0}, + "banks": {"width": 64.88}, + "pads": {"signal": {"n": 160}} + }, + "Samtec_BTE-080-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-080-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 66.48, "y": -2.032}] + }, + "Samtec_BTE-100-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 84.0}, + "banks": {"width": 80.88}, + "pads": {"signal": {"n": 200}} + }, + "Samtec_BTE-100-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-100-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 82.48, "y": -2.032}] + }, + "Samtec_BTE-120-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 100.0}, + "banks": {"width": 96.88}, + "pads": {"signal": {"n": 240}} + }, + "Samtec_BTE-120-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-120-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 98.48, "y": -2.032}] + }, + + "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical": { + "library": "Connector_Samtec_BasicBladeAndBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/bse.pdf", + "tags": "connector Samtec BSE mezzanine socket vertical" + }, + "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, + "banks": {"n": 1, "diff": 0, "space": 0, "width": 16.64, "height": 3.81}, + "pads": { + "signal": {"n": 40, "pitch": 0.8, "width": 0.41, "height": 2.27, "y": 2.865} + } + }, + "Samtec_BSE-020-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] + }, + "Samtec_BSE-040-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 37.27}, + "banks": {"width": 32.64}, + "pads": {"signal": {"n": 80}} + }, + "Samtec_BSE-040-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-040-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 36.13, "y": 2.67}] + }, + "Samtec_BSE-060-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 53.27}, + "banks": {"width": 48.64}, + "pads": {"signal": {"n": 120}} + }, + "Samtec_BSE-060-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-060-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 52.13, "y": 2.67}] + }, + "Samtec_BSE-080-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 69.27}, + "banks": {"width": 64.64}, + "pads": {"signal": {"n": 160}} + }, + "Samtec_BSE-080-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-080-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 68.13, "y": 2.67}] + }, + "Samtec_BSE-100-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 85.27}, + "banks": {"width": 80.64}, + "pads": {"signal": {"n": 200}} + }, + "Samtec_BSE-100-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-100-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 84.13, "y": 2.67}] + }, + "Samtec_BSE-120-xx-x-D_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "layout": {"width": 101.27}, + "banks": {"width": 96.64}, + "pads": {"signal": {"n": 240}} + }, + "Samtec_BSE-120-xx-x-D-A_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-120-xx-x-D_P0.8mm_Vertical", + "add-tags": "alignment-pins", + "holes": [{"drill": 1.0, "space": 100.13, "y": 2.67}] } } diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml deleted file mode 100644 index cc45f4ce8..000000000 --- a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.yaml +++ /dev/null @@ -1,506 +0,0 @@ -# This file contains footprint specifications the vertical variations of Samtec -# Basic Blade & Beam connectors. QStrip_QPairs_Vertical.py contains a complete -# specification of the properties and data types that can be used in this file. -# -# Note: -# - Basic Blade & Beam connectors are very similar to their Q Strip/Q Pairs -# counterparts. The only difference is that the Q Strip connectors have an -# integrated ground plane. -# - This file should be passed as an argument to QStrip_Vertical.py -# - -################################################################################ -# BTH family (0.5mm terminal) -Samtec_BTH-030-xx-x-D_P0.5mm_Vertical: &BTH-030-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: &BTH_meta - description: &desc >- - Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins - ({ds:s}); generated with kicad-footprint-generator - tags: 'connector Samtec BTH mezzanine terminal vertical' - datasheet: >- - http://suddendocs.samtec.com/prints/bth-xxx-xx-x-d-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/bth-xxx-xx-x-d-xx-footprint.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 16.888, height: 4.0} - pads: - signal: {n: 60, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - -Samtec_BTH-030-xx-x-D-A_P0.5mm_Vertical: - <<: *BTH-030-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 18.475} - -Samtec_BTH-050-xx-x-D_P0.5mm_Vertical: &BTH-050-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTH_meta - layout: {type: 'Terminal', width: 30.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 26.888, height: 4.0} - pads: - signal: {n: 100, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - -Samtec_BTH-050-xx-x-D-A_P0.5mm_Vertical: - <<: *BTH-050-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 28.475} - -Samtec_BTH-060-xx-x-D_P0.5mm_Vertical: &BTH-060-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTH_meta - layout: {type: 'Terminal', width: 35.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 31.888, height: 4.0} - pads: - signal: {n: 120, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - -Samtec_BTH-060-xx-x-D-A_P0.5mm_Vertical: - <<: *BTH-060-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 33.475} - -Samtec_BTH-090-xx-x-D_P0.5mm_Vertical: &BTH-090-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTH_meta - layout: {type: 'Terminal', width: 50.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 46.888, height: 4.0} - pads: - signal: {n: 180, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - -Samtec_BTH-090-xx-x-D-A_P0.5mm_Vertical: - <<: *BTH-090-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 48.475} - -Samtec_BTH-120-xx-x-D_P0.5mm_Vertical: &BTH-120-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTH_meta - layout: {type: 'Terminal', width: 65.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 61.888, height: 4.0} - pads: - signal: {n: 240, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - -Samtec_BTH-120-xx-x-D-A_P0.5mm_Vertical: - <<: *BTH-120-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 63.475} - -Samtec_BTH-150-xx-x-D_P0.5mm_Vertical: &BTH-150-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTH_meta - layout: {type: 'Terminal', width: 80.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 76.888, height: 4.0} - pads: - signal: {n: 300, pitch: 0.5, y: 3.086, width: 0.305, height: 1.45} - -Samtec_BTH-150-xx-x-D-A_P0.5mm_Vertical: - <<: *BTH-150-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 78.475} - -################################################################################ -# BSH family (0.5mm socket) -Samtec_BSH-030-xx-x-D_P0.5mm_Vertical: &BSH-030-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: &BSH_meta - description: *desc - tags: 'connector Samtec BSH mezzanine socket vertical' - datasheet: >- - http://suddendocs.samtec.com/prints/bsh-xxx-01-x-d-xx-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/bsh-xxx-01-x-d-xx-xx-footprint.pdf - layout: {type: 'Socket', width: 21.3, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 16.6, height: 3.8} - pads: - signal: {n: 60, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} - -Samtec_BSH-030-xx-x-D-A_P0.5mm_Vertical: - <<: *BSH-030-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 20.126} - -Samtec_BSH-050-xx-x-D_P0.5mm_Vertical: &BSH-050-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSH_meta - layout: {type: 'Socket', width: 31.3, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 26.6, height: 3.8} - pads: - signal: {n: 100, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} - -Samtec_BSH-050-xx-x-D-A_P0.5mm_Vertical: - <<: *BSH-050-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 30.126} - -Samtec_BSH-060-xx-x-D_P0.5mm_Vertical: &BSH-060-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSH_meta - layout: {type: 'Socket', width: 36.3, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 31.6, height: 3.8} - pads: - signal: {n: 120, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} - -Samtec_BSH-060-xx-x-D-A_P0.5mm_Vertical: - <<: *BSH-060-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 35.126} - -Samtec_BSH-090-xx-x-D_P0.5mm_Vertical: &BSH-090-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSH_meta - layout: {type: 'Socket', width: 51.3, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 46.6, height: 3.8} - pads: - signal: {n: 180, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} - -Samtec_BSH-090-xx-x-D-A_P0.5mm_Vertical: - <<: *BSH-090-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 50.126} - -Samtec_BSH-120-xx-x-D_P0.5mm_Vertical: &BSH-120-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSH_meta - layout: {type: 'Socket', width: 66.3, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 61.6, height: 3.8} - pads: - signal: {n: 240, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} - -Samtec_BSH-120-xx-x-D-A_P0.5mm_Vertical: - <<: *BSH-120-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 65.126} - -Samtec_BSH-150-xx-x-D_P0.5mm_Vertical: &BSH-150-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSH_meta - layout: {type: 'Socket', width: 81.3, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 76.6, height: 3.8} - pads: - signal: {n: 300, pitch: 0.5, y: 2.865, width: 0.279, height: 2.27} - -Samtec_BSH-150-xx-x-D-A_P0.5mm_Vertical: - <<: *BSH-150-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 80.126} - -################################################################################ -# BTS family (0.635mm terminal) -Samtec_BTS-025-xx-x-D_P0.5mm_Vertical: &BTS-025-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: &BTS_meta - description: >- - Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins - ({ds:s}); generated with kicad-footprint-generator - tags: 'connector Samtec BTS mezzanine terminal vertical' - datasheet: >- - http://suddendocs.samtec.com/prints/bts-xxx-xx-x-d-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/bts-d.pdf - layout: {type: 'Terminal', width: 20.005, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 16.895, height: 4.0} - pads: - signal: {n: 50, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} - -Samtec_BTS-025-xx-x-D-A_P0.5mm_Vertical: - <<: *BTS-025-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 18.479} - -Samtec_BTS-050-xx-x-D_P0.5mm_Vertical: &BTS-050-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTS_meta - layout: {type: 'Terminal', width: 35.88, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 32.77, height: 4.0} - pads: - signal: {n: 100, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} - -Samtec_BTS-050-xx-x-D-A_P0.5mm_Vertical: - <<: *BTS-050-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 34.354} - -Samtec_BTS-075-xx-x-D_P0.5mm_Vertical: &BTS-075-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTS_meta - layout: {type: 'Terminal', width: 51.755, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 48.645, height: 4.0} - pads: - signal: {n: 150, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} - -Samtec_BTS-075-xx-x-D-A_P0.5mm_Vertical: - <<: *BTS-075-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 50.229} - -Samtec_BTS-100-xx-x-D_P0.5mm_Vertical: &BTS-100-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTS_meta - layout: {type: 'Terminal', width: 67.63, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 64.52, height: 4.0} - pads: - signal: {n: 200, pitch: 0.635, y: 3.086, width: 0.432, height: 1.45} - -Samtec_BTS-100-xx-x-D-A_P0.5mm_Vertical: - <<: *BTS-100-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 66.104} - -################################################################################ -# BSS family (0.635mm socket) -Samtec_BSS-025-xx-x-D_P0.5mm_Vertical: &BSS-025-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: &BSS_meta - description: *desc - tags: 'connector Samtec BSS mezzanine socket vertical' - datasheet: >- - http://suddendocs.samtec.com/prints/bss-xxx-01-x-d-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/bss-xxx-01-x-d-xx-footprint.pdf - layout: {type: 'Socket', width: 21.273, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 16.64, height: 3.81} - pads: - signal: {n: 50, pitch: 0.635, y: 2.865, width: 0.41, height: 2.27} - -Samtec_BSS-025-xx-x-D-A_P0.5mm_Vertical: - <<: *BSS-025-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, space: 20.003, y: 2.67} - -Samtec_BSS-050-xx-x-D_P0.5mm_Vertical: &BSS-050-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSS_meta - layout: {type: 'Socket', width: 37.148, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 32.515, height: 3.81} - pads: - signal: {n: 100, pitch: 0.635, y: 2.865, width: 0.41, height: 2.27} - -Samtec_BSS-050-xx-x-D-A_P0.5mm_Vertical: - <<: *BSS-050-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 35.878} - -Samtec_BSS-075-xx-x-D_P0.5mm_Vertical: &BSS-075-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSS_meta - layout: {type: 'Socket', width: 53.023, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 48.39, height: 3.81} - pads: - signal: {n: 150, pitch: 0.635, y: 2.865, width: 0.41, height: 2.27} - -Samtec_BSS-075-xx-x-D-A_P0.5mm_Vertical: - <<: *BSS-075-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 51.753} - -Samtec_BSS-100-xx-x-D_P0.5mm_Vertical: &BSS-100-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSS_meta - layout: {type: 'Socket', width: 68.898, height: 7.24} - banks: {n: 1, diff: 0, space: 0, width: 64.265, height: 3.81} - pads: - signal: {n: 200, pitch: 0.635, y: 2.865, width: 0.41, height: 2.27} - -Samtec_BSS-100-xx-x-D-A_P0.5mm_Vertical: - <<: *BSS-100-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 67.628} - -################################################################################ -# BTE family (0.8mm terminal) - -Samtec_BTE-020-xx-x-D_P0.5mm_Vertical: &BTE-020-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: &BTE_meta - description: *desc - tags: 'connector Samtec BTE mezzanine terminal vertical' - datasheet: >- - http://suddendocs.samtec.com/prints/bte-xxx-xx-x-d-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/bte-xxx-xx-x-d-xx-footprint.pdf - layout: {type: 'Terminal', width: 20.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 16.88, height: 4.0} - pads: - signal: {n: 40, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} - -Samtec_BTE-020-xx-x-D-A_P0.5mm_Vertical: - <<: *BTE-020-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 18.477} - -Samtec_BTE-040-xx-x-D_P0.5mm_Vertical: &BTE-040-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTE_meta - layout: {type: 'Terminal', width: 36.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 32.88, height: 4.0} - pads: - signal: {n: 80, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} - -Samtec_BTE-040-xx-x-D-A_P0.5mm_Vertical: - <<: *BTE-040-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 34.477} - -Samtec_BTE-060-xx-x-D_P0.5mm_Vertical: &BTE-060-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTE_meta - layout: {type: 'Terminal', width: 52.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 48.88, height: 4.0} - pads: - signal: {n: 120, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} - -Samtec_BTE-060-xx-x-D-A_P0.5mm_Vertical: - <<: *BTE-060-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 50.477} - -Samtec_BTE-080-xx-x-D_P0.5mm_Vertical: &BTE-080-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTE_meta - layout: {type: 'Terminal', width: 68.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 64.88, height: 4.0} - pads: - signal: {n: 160, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} - -Samtec_BTE-080-xx-x-D-A_P0.5mm_Vertical: - <<: *BTE-080-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 66.477} - -Samtec_BTE-100-xx-x-D_P0.5mm_Vertical: &BTE-100-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTE_meta - layout: {type: 'Terminal', width: 84.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 80.88, height: 4.0} - pads: - signal: {n: 200, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} - -Samtec_BTE-100-xx-x-D-A_P0.5mm_Vertical: - <<: *BTE-100-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 82.477} - -Samtec_BTE-120-xx-x-D_P0.5mm_Vertical: &BTE-120-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BTE_meta - layout: {type: 'Terminal', width: 100.0, height: 5.97} - banks: {n: 1, diff: 0, space: 0, width: 96.88, height: 4.0} - pads: - signal: {n: 240, pitch: 0.8, y: 3.086, width: 0.457, height: 1.45} - -Samtec_BTE-120-xx-x-D-A_P0.5mm_Vertical: - <<: *BTE-120-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: -2.03, space: 98.477} - -################################################################################ -# BSE family (0.8mm socket) - -Samtec_BSE-020-xx-x-D_P0.5mm_Vertical: &BSE-020-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: &BSE_meta - description: *desc - tags: 'connector Samtec BSE mezzanine socket vertical' - datasheet: >- - http://suddendocs.samtec.com/prints/bse-xxx-01-x-d-xx-mkt.pdf, - http://suddendocs.samtec.com/prints/bse-xxx-01-x-d-xx-footprint.pdf - layout: {type: 'Socket', width: 21.27, height: 7.239} - banks: {n: 1, diff: 0, space: 0, width: 16.636, height: 3.81} - pads: - signal: {n: 40, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} - -Samtec_BSE-020-xx-x-D-A_P0.5mm_Vertical: - <<: *BSE-020-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 20.128} - -Samtec_BSE-040-xx-x-D_P0.5mm_Vertical: &BSE-040-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSE_meta - layout: {type: 'Socket', width: 37.27, height: 7.239} - banks: {n: 1, diff: 0, space: 0, width: 32.636, height: 3.81} - pads: - signal: {n: 80, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} - -Samtec_BSE-040-xx-x-D-A_P0.5mm_Vertical: - <<: *BSE-040-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 36.128} - -Samtec_BSE-060-xx-x-D_P0.5mm_Vertical: &BSE-060-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSE_meta - layout: {type: 'Socket', width: 53.27, height: 7.239} - banks: {n: 1, diff: 0, space: 0, width: 48.636, height: 3.81} - pads: - signal: {n: 120, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} - -Samtec_BSE-060-xx-x-D-A_P0.5mm_Vertical: - <<: *BSE-060-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 52.128} - -Samtec_BSE-080-xx-x-D_P0.5mm_Vertical: &BSE-080-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSE_meta - layout: {type: 'Socket', width: 69.27, height: 7.239} - banks: {n: 1, diff: 0, space: 0, width: 64.636, height: 3.81} - pads: - signal: {n: 160, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} - -Samtec_BSE-080-xx-x-D-A_P0.5mm_Vertical: - <<: *BSE-080-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 68.128} - -Samtec_BSE-100-xx-x-D_P0.5mm_Vertical: &BSE-100-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSE_meta - layout: {type: 'Socket', width: 85.27, height: 7.239} - banks: {n: 1, diff: 0, space: 0, width: 80.636, height: 3.81} - pads: - signal: {n: 200, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} - -Samtec_BSE-100-xx-x-D-A_P0.5mm_Vertical: - <<: *BSE-100-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 84.128} - -Samtec_BSE-120-xx-x-D_P0.5mm_Vertical: &BSE-120-xx-x-D - library: 'Connector_Samtec_BasicBladeAndBeam' - meta: *BSE_meta - layout: {type: 'Socket', width: 101.27, height: 7.239} - banks: {n: 1, diff: 0, space: 0, width: 96.636, height: 3.81} - pads: - signal: {n: 240, pitch: 0.8, y: 2.865, width: 0.41, height: 2.273} - -Samtec_BSE-120-xx-x-D-A_P0.5mm_Vertical: - <<: *BSE-120-xx-x-D - add-tags: 'alignment-pins' - holes: - - {drill: 1.0, y: 2.67, space: 100.128} diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json index 748a914ef..6828e21f3 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json @@ -183,7 +183,7 @@ "layout": {"type": "Terminal", "width": 20.0, "height": 5.97}, "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.88, "height": 3.94}, "pads": { - "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 1.448, "y": 3.086}, + "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 1.45, "y": 3.086}, "planes": [ {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.635, "y": 0}, {"n": 2, "pitch": 6.35, "width": 4.70, "height": 0.635, "y": 0} From a7e54751b1a33aca8a00da4a4c2d9a5bab31205a Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 4 Sep 2020 20:31:35 -0700 Subject: [PATCH 51/62] dict_tools.py: rework dictMerge() so it copies the first argument --- scripts/tools/dict_tools.py | 61 ++++++++----------------------------- 1 file changed, 12 insertions(+), 49 deletions(-) diff --git a/scripts/tools/dict_tools.py b/scripts/tools/dict_tools.py index d7b7cf61b..ab45ed9d3 100644 --- a/scripts/tools/dict_tools.py +++ b/scripts/tools/dict_tools.py @@ -15,13 +15,13 @@ def dictMerge(a, b): Parameters ---------- a : dict - Base dictionary used as the merge destination + Base dictionary b : dict Dictionary containing values to merge into `a` Returns ------- - Merged dictionaries (`a` with contents updated from `b`) + Merged dictionaries (copy of `a` with contents updated from `b`) Examples -------- @@ -30,12 +30,13 @@ def dictMerge(a, b): >>> dictMerge(a, b) {'a': 1, 'b': 2, 'c': {'a': 1, 'b': 3}, 'd': 4} """ - for (k, v) in b.items(): - if isinstance(v, collections.abc.Mapping): - a[k] = dictMerge(a.get(k, {}), v) + c = copy.deepcopy(a) + for k in b: + if isinstance(b[k], collections.abc.Mapping): + c[k] = dictMerge(c.get(k, {}), b[k]) else: - a[k] = v - return a + c[k] = copy.copy(b[k]) + return c def dictInherit(d): """Recursively merges dictionaries within a hierarchy using 'inherit' entries @@ -63,57 +64,19 @@ def dictInherit(d): If two dictionaries attempt to inherit each other KeyError If a dictionary tries to inherit from a key that is not in `d` - - Notes - ----- - Typical JSON/YAML file structure that can be processed by this function: - { - "1": { - "a": 1, - "b": {"c": 2, "d": 3, ...} - }, - "2": { - "inherit": "1", - "b": {"c": 3} - }, - ... - "n": { - "inherit": "2", - "d": 4 - } - } - - The result will look something like this: - { - "1": { - "a": 1, - "b": {"c": 2, "d": 3, ...} - }, - "2": { - "a": 1, - "b": {"c": 3, "d": 3, ...} - }, - ... - "n": { - "a": 1, - "b": {"c": 3, "d": 3, ...}, - "d": 4 - } - } """ - def dictInherit(d, child, parent): + def _dictInherit(d, child, parent): if 'inherit' not in parent: del child['inherit'] - p = copy.deepcopy(parent) - return dictMerge(p, child) + return dictMerge(parent, child) elif d[parent['inherit']] is child: raise RecursionError else: - return dictInherit(d, parent, d[parent['inherit']]) + return _dictInherit(d, parent, d[parent['inherit']]) for (k, v) in d.items(): if isinstance(v, collections.abc.Mapping) and 'inherit' in v: - d[k] = dictInherit(d, v, d[v['inherit']]) + d[k] = _dictInherit(d, v, d[v['inherit']]) else: continue From fd6bbcd1dbc64f74da72873b537af3999ed2d4a4 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 7 Sep 2020 21:10:03 -0700 Subject: [PATCH 52/62] Minor corrections in QStrip_Vertical.json --- scripts/Connector/Connector_Samtec/QStrip_Vertical.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json index 6828e21f3..e32b06bbf 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json @@ -259,7 +259,7 @@ "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.64, "height": 3.66}, "pads": { - "signal": {"n": 60, "pitch": 0.635, "width": 0.406, "height": 2.273, "y": 2.865}, + "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 2.273, "y": 2.865}, "planes": [ {"n": 2, "pitch": 16.13, "width": 2.8, "height": 0.432, "y": 0}, {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.432, "y": 0} @@ -359,13 +359,13 @@ }, "Samtec_QTE-060-xx-x-D_P0.8mm_Vertical": { "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", - "layout": {"width": 60.0}, + "layout": {"width": 40.0}, "banks": {"n": 2} }, "Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical": { "inherit": "Samtec_QTE-060-xx-x-D_P0.8mm_Vertical", "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical": { "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", From 8b08975cd462e658cbb3e2631558c061797c4bad Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Mon, 7 Sep 2020 21:10:03 -0700 Subject: [PATCH 53/62] Add support for "+" prefix in dict_merge.py, edits to Samtec scripts dict_tools.py: Add support for "+key" parameters in the b argument that are added to the corresponding "key" in a. This makes it possible to extend existing objects (such as list or str) or add to numeric objects QStrip_Vertical.py: - Outdated block comment - "add-tags" special case QStrip_Vertical.json - "add-tags" paramters + "layout": {"+tags"} parameters RazorBeam_Vertical.py: + dictInherit() support - Special cases made unnecessary by "+key" support it dictMerge() Create RazorBeam_Vertical.json: LSHM, LSS, and LSEM footprint specs --- .../Connector_Samtec/QStrip_Vertical.json | 82 +++++----- .../Connector_Samtec/QStrip_Vertical.py | 46 ------ .../Connector_Samtec/RazorBeam_Vertical.json | 145 ++++++++++++++++++ .../Connector_Samtec/RazorBeam_Vertical.py | 20 +-- scripts/tools/dict_tools.py | 5 +- 5 files changed, 198 insertions(+), 100 deletions(-) create mode 100644 scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json index 6828e21f3..74e856f53 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json @@ -18,7 +18,7 @@ }, "Samtec_QTH-030-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTH-060-xx-x-D_P0.5mm_Vertical": { @@ -28,7 +28,7 @@ }, "Samtec_QTH-060-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-060-xx-x-D_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTH-090-xx-x-D_P0.5mm_Vertical": { @@ -38,7 +38,7 @@ }, "Samtec_QTH-090-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-090-xx-x-D_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] }, "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical": { @@ -51,7 +51,7 @@ }, "Samtec_QTH-020-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical": { @@ -61,7 +61,7 @@ }, "Samtec_QTH-040-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-040-xx-x-D-DP_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical": { @@ -71,7 +71,7 @@ }, "Samtec_QTH-060-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QTH-060-xx-x-D-DP_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] }, "Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical": { @@ -81,7 +81,7 @@ "pn": "ASP-122952-01", "description": "Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 differential ({ds:s}); generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf", - "tags": "connector Samtec QStrip QPairs HSMC card terminal mezzanine vertical single-ended differential alignment-pins application-specific" + "+tags": " QPairs HSMC card differential application-specific" }, "banks": {"diff": 1} }, @@ -105,7 +105,7 @@ }, "Samtec_QSH-030-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QSH-030-xx-x-D_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] }, "Samtec_QSH-060-xx-x-D_P0.5mm_Vertical": { @@ -115,7 +115,7 @@ }, "Samtec_QSH-060-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QSH-060-xx-x-D_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 40.13, "y": 2.67}] }, "Samtec_QSH-090-xx-x-D_P0.5mm_Vertical": { @@ -125,7 +125,7 @@ }, "Samtec_QSH-090-xx-x-D-A_P0.5mm_Vertical": { "inherit": "Samtec_QSH-090-xx-x-D_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 60.13, "y": 2.67}] }, "Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical": { @@ -138,7 +138,7 @@ }, "Samtec_QSH-020-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] }, "Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical": { @@ -148,7 +148,7 @@ }, "Samtec_QSH-040-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QSH-040-xx-x-D-DP_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 40.13, "y": 2.67}] }, "Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical": { @@ -158,7 +158,7 @@ }, "Samtec_QSH-060-xx-x-D-DP-A_P0.5mm_Vertical": { "inherit": "Samtec_QSH-060-xx-x-D-DP_P0.5mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 60.13, "y": 2.67}] }, "Samtec_HSMC_ASP-122953-01_P0.5mm_Vertical": { @@ -168,7 +168,7 @@ "pn": "ASP-122953-01", "description": "Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 differential ({ds:s}); generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf", - "tags": "connector Samtec QSeries QStrip QPairs HSMC host socket mezzanine vertical single-ended differential application-specific" + "+tags": " QPairs HSMC host differential application-specific" }, "banks": {"diff": 1} }, @@ -192,7 +192,7 @@ }, "Samtec_QTS-025-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTS-050-xx-x-D_P0.635mm_Vertical": { @@ -202,7 +202,7 @@ }, "Samtec_QTS-050-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-050-xx-x-D_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTS-075-xx-x-D_P0.635mm_Vertical": { @@ -212,7 +212,7 @@ }, "Samtec_QTS-075-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-075-xx-x-D_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] }, "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical": { @@ -225,7 +225,7 @@ }, "Samtec_QTS-016-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical": { @@ -235,7 +235,7 @@ }, "Samtec_QTS-032-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-032-xx-x-D-DP_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical": { @@ -245,7 +245,7 @@ }, "Samtec_QTS-048-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QTS-048-xx-x-D-DP_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] }, @@ -259,7 +259,7 @@ "layout": {"type": "Socket", "width": 21.27, "height": 7.24}, "banks": {"n": 1, "diff": 0, "space": 20.0, "width": 16.64, "height": 3.66}, "pads": { - "signal": {"n": 60, "pitch": 0.635, "width": 0.406, "height": 2.273, "y": 2.865}, + "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 2.273, "y": 2.865}, "planes": [ {"n": 2, "pitch": 16.13, "width": 2.8, "height": 0.432, "y": 0}, {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.432, "y": 0} @@ -268,7 +268,7 @@ }, "Samtec_QSS-025-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QSS-025-xx-x-D_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 20.0, "y": 2.67}] }, "Samtec_QSS-050-xx-x-D_P0.635mm_Vertical": { @@ -278,7 +278,7 @@ }, "Samtec_QSS-050-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QSS-050-xx-x-D_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 40.0, "y": 2.67}] }, "Samtec_QSS-075-xx-x-D_P0.635mm_Vertical": { @@ -288,7 +288,7 @@ }, "Samtec_QSS-075-xx-x-D-A_P0.635mm_Vertical": { "inherit": "Samtec_QSS-075-xx-x-D_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 60.0, "y": 2.67}] }, "Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical": { @@ -301,7 +301,7 @@ }, "Samtec_QSS-016-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 20.0, "y": 2.67}] }, "Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical": { @@ -311,7 +311,7 @@ }, "Samtec_QSS-032-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QSS-032-xx-x-D-DP_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 40.0, "y": 2.67}] }, "Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical": { @@ -321,7 +321,7 @@ }, "Samtec_QSS-048-xx-x-D-DP-A_P0.635mm_Vertical": { "inherit": "Samtec_QSS-048-xx-x-D-DP_P0.635mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 60.0, "y": 2.67}] }, @@ -344,7 +344,7 @@ }, "Samtec_QTE-020-xx-x-D-A_P0.8mm_Vertical": { "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTE-040-xx-x-D_P0.8mm_Vertical": { @@ -354,18 +354,18 @@ }, "Samtec_QTE-040-xx-x-D-A_P0.8mm_Vertical": { "inherit": "Samtec_QTE-040-xx-x-D_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTE-060-xx-x-D_P0.8mm_Vertical": { "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", - "layout": {"width": 60.0}, + "layout": {"width": 40.0}, "banks": {"n": 2} }, "Samtec_QTE-060-xx-x-D-A_P0.8mm_Vertical": { "inherit": "Samtec_QTE-060-xx-x-D_P0.8mm_Vertical", - "add-tags": "alignment-pins", - "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] + "meta": {"+tags": " alignment-pins"}, + "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical": { "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", @@ -377,7 +377,7 @@ }, "Samtec_QTE-014-xx-x-D-DP-A_P0.8mm_Vertical": { "inherit": "Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, "Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical": { @@ -387,7 +387,7 @@ }, "Samtec_QTE-028-xx-x-D-DP-A_P0.8mm_Vertical": { "inherit": "Samtec_QTE-028-xx-x-D-DP_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 38.48, "y": -2.032}] }, "Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical": { @@ -397,7 +397,7 @@ }, "Samtec_QTE-042-xx-x-D-DP-A_P0.8mm_Vertical": { "inherit": "Samtec_QTE-042-xx-x-D-DP_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 58.48, "y": -2.032}] }, @@ -420,7 +420,7 @@ }, "Samtec_QSE-020-xx-x-D-A_P0.8mm_Vertical": { "inherit": "Samtec_QSE-020-xx-x-D_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] }, "Samtec_QSE-040-xx-x-D_P0.8mm_Vertical": { @@ -430,7 +430,7 @@ }, "Samtec_QSE-040-xx-x-D-A_P0.8mm_Vertical": { "inherit": "Samtec_QSE-040-xx-x-D_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 40.13, "y": 2.67}] }, "Samtec_QSE-060-xx-x-D_P0.8mm_Vertical": { @@ -440,7 +440,7 @@ }, "Samtec_QSE-060-xx-x-D-A_P0.8mm_Vertical": { "inherit": "Samtec_QSE-060-xx-x-D_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 60.13, "y": 2.67}] }, "Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical": { @@ -453,7 +453,7 @@ }, "Samtec_QSE-014-xx-x-D-DP-A_P0.8mm_Vertical": { "inherit": "Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] }, "Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical": { @@ -463,7 +463,7 @@ }, "Samtec_QSE-028-xx-x-D-DP-A_P0.8mm_Vertical": { "inherit": "Samtec_QSE-028-xx-x-D-DP_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 40.13, "y": 2.67}] }, "Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical": { @@ -473,7 +473,7 @@ }, "Samtec_QSE-042-xx-x-D-DP-A_P0.8mm_Vertical": { "inherit": "Samtec_QSE-042-xx-x-D-DP_P0.8mm_Vertical", - "add-tags": "alignment-pins", + "meta": {"+tags": " alignment-pins"}, "holes": [{"drill": 1.0, "space": 60.13, "y": 2.67}] } } diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index b2c41b8fb..c3a9e974d 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -17,50 +17,6 @@ # Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> # -""" -YAML footprint specification ---- -Footprint_Name: - library: 'library name' # [optional] KiCad library to use, overrides default - meta: # Footprint metadata - pn: 'part number' # [optional] overrides automatic part number detection - description: 'Brief description of the footprint' - datasheet: 'URL(s) to footprint datasheet' - tags: 'KiCad tags go here' - add-tags: 'more tags' # [optional] extends the tag list - layout: # General footprint layout/drawing data - type: '(Terminal|Socket)' # sets Pin 1 position and drawing mode - width: !!float mm # [cosmetic] overall width of the connector - height: !!float mm # [cosmetic] overall height of the connector - width: !!float mm # [optional, cosmetic] overrides layout::width - banks: - n: !!uint # number of banks in the connector - diff: !!uint # number of differential banks - slots: !!uint even # number of pin positions in a bank - space: !!float mm # distance between adjacent banks - width: !!float mm # width of bank outline drawn on F.Fab - height: !!float mm # height of bank outline drawn on F.Fab - pads: - signal: # signal pin parameters - n: !!uint # number of pin positions in a bank - pitch: !!float mm - y: !!float mm # vertical offset - width: !!float mm # Pad width - height: !!float mm # Pad height - planes: # plane parameters - - {n, pitch, y, width, height} - - ... - holes: # [optional] hole pair specifications, mirrored about y axis - - # Hole spec. 1 - name: "" # [optional] name/number for plated holes - drill: !!float mm # drill diameter (a list produces an oval) - pad: !!float mm # [optional] PTH pad diameter (a list produces an oval) - space: !!float mm # distance between holes mirrored about the y-axis - y: !!float mm # vertical offset - - # Hole spec. 2... -... -""" - import sys import os import argparse @@ -350,8 +306,6 @@ def generate_one_footprint(param, config, default_lib): # Tags tags = param['meta']['tags'] - if 'add-tags' in param: - tags += ' ' + param['add-tags'] fp.setTags(tags) # 3D model path diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json new file mode 100644 index 000000000..134b76fc9 --- /dev/null +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json @@ -0,0 +1,145 @@ +{ + "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical": { + "library": "Connector_Samtec_RazorBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/lshm_dv.pdf", + "tags": "connector Samtec RazorBeam LSHM self-mating terminal socket vertical" + }, + "layout": {"width": 7.20, "height": 4.98}, + "pads": {"n": 10, "pitch": 0.5, "y": 1.85, "width": 0.3, "height": 1.5}, + "holes": [{"drill": 1.45, "space": 4.5, "y": -0.85}] + }, + "Samtec_LSHM-105-xx.x-x-DV-A-S_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "meta": {"+tags": " shield"}, + "layout": {"+width": 1.1}, + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 7.45, "y": 1.15}] + }, + "Samtec_LSHM-110-xx.x-x-DV-A-N_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "layout": {"width": 9.70}, + "pads": {"n": 20}, + "holes": [{"drill": 1.45, "space": 7.0, "y": -0.85}] + }, + "Samtec_LSHM-110-xx.x-x-DV-A-S_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-110-xx.x-x-DV-A-N_P0.5mm_Vertical", + "meta": {"+tags": " shield"}, + "layout": {"+width": 1.1}, + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 9.95, "y": 1.15}] + }, + "Samtec_LSHM-120-xx.x-x-DV-A-N_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "layout": {"width": 14.70}, + "pads": {"n": 40}, + "holes": [{"drill": 1.45, "space": 12.0, "y": -0.85}] + }, + "Samtec_LSHM-120-xx.x-x-DV-A-S_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-120-xx.x-x-DV-A-N_P0.5mm_Vertical", + "meta": {"+tags": " shield"}, + "layout": {"+width": 1.1}, + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 14.95, "y": 1.15}] + }, + "Samtec_LSHM-130-xx.x-x-DV-A-N_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "layout": {"width": 19.70}, + "pads": {"n": 60}, + "holes": [{"drill": 1.45, "space": 17.0, "y": -0.85}] + }, + "Samtec_LSHM-130-xx.x-x-DV-A-S_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-130-xx.x-x-DV-A-N_P0.5mm_Vertical", + "meta": {"+tags": " shield"}, + "layout": {"+width": 1.1}, + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 19.95, "y": 1.15}] + }, + "Samtec_LSHM-140-xx.x-x-DV-A-N_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "layout": {"width": 24.70}, + "pads": {"n": 80}, + "holes": [{"drill": 1.45, "space": 22.0, "y": -0.85}] + }, + "Samtec_LSHM-140-xx.x-x-DV-A-S_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-140-xx.x-x-DV-A-N_P0.5mm_Vertical", + "meta": {"+tags": " shield"}, + "layout": {"+width": 1.1}, + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 24.95, "y": 1.15}] + }, + "Samtec_LSHM-150-xx.x-x-DV-A-N_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "layout": {"width": 29.70}, + "pads": {"n": 100}, + "holes": [{"drill": 1.45, "space": 27.0, "y": -0.85}] + }, + "Samtec_LSHM-150-xx.x-x-DV-A-S_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-150-xx.x-x-DV-A-N_P0.5mm_Vertical", + "meta": {"+tags": " shield"}, + "layout": {"+width": 1.1}, + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 29.95, "y": 1.15}] + }, + + "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical": { + "library": "Connector_Samtec_RazorBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.3f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/lss.pdf", + "tags": "connector Samtec RazorBeam LSS self-mating terminal socket vertical" + }, + "layout": {"width": 11.10, "height": 4.14}, + "pads": {"n": 20, "pitch": 0.635, "y": 1.8, "width": 0.4, "height": 1.6}, + "holes": [{"drill": 0.89, "space": 7.85, "y": -1.1}] + }, + "Samtec_LSS-120-xx-x-DV-A_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", + "layout": {"width": 17.45}, + "pads": {"n": 40}, + "holes": [{"drill": 0.89, "space": 14.20, "y": -1.1}] + }, + "Samtec_LSS-130-xx-x-DV-A_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", + "layout": {"width": 23.8}, + "pads": {"n": 60}, + "holes": [{"drill": 0.89, "space": 20.55, "y": -1.1}] + }, + "Samtec_LSS-140-xx-x-DV-A_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", + "layout": {"width": 30.15}, + "pads": {"n": 80}, + "holes": [{"drill": 0.89, "space": 26.90, "y": -1.1}] + }, + "Samtec_LSS-150-xx-x-DV-A_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", + "layout": {"width": 36.5}, + "pads": {"n": 100}, + "holes": [{"drill": 0.89, "space": 33.25, "y": -1.1}] + }, + + "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical": { + "library": "Connector_Samtec_RazorBeam", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator", + "datasheet": "http://suddendocs.samtec.com/catalog_english/lsem.pdf", + "tags": "connector Samtec RazorBeam LSEM self-mating terminal socket vertical" + }, + "layout": {"width": 20.4, "height": 4.98}, + "pads": {"n": 40, "pitch": 0.8, "y": 1.85, "width": 0.38, "height": 1.5}, + "holes": [{"drill": 1.5, "space": 17.7, "y": -0.95}] + }, + "Samtec_LSEM-130-xx.x-x-DV-A-N_P0.8mm_Vertical": { + "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical", + "layout": {"width": 28.4}, + "pads": {"n": 60}, + "holes": [{"drill": 1.5, "space": 25.7, "y": -1.1}] + }, + "Samtec_LSEM-140-xx.x-x-DV-A-N_P0.8mm_Vertical": { + "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical", + "layout": {"width": 36.4}, + "pads": {"n": 80}, + "holes": [{"drill": 1.5, "space": 33.7, "y": -1.1}] + }, + "Samtec_LSEM-150-xx.x-x-DV-A-N_P0.8mm_Vertical": { + "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical", + "layout": {"width": 44.4}, + "pads": {"n": 100}, + "holes": [{"drill": 1.5, "space": 41.7, "y": -1.1}] + } +} diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py index 9c25834a6..3a59d4ded 100755 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -31,6 +31,7 @@ from KicadModTree import * from footprint_text_fields import addTextFields from helpers import * +from dict_tools import * def generate_one_footprint(param, config, default_lib): fp = Footprint(param['name']) @@ -40,7 +41,7 @@ def generate_one_footprint(param, config, default_lib): pad_w = param['pads']['width'] pad_h = param['pads']['height'] pad_y = param['pads']['y'] - pins = param['pins'] # Pin count + pins = param['pads']['n'] # Pin count # Part number partnum = param['meta'].get('pn', param['name'].split('_')[1]) @@ -53,16 +54,12 @@ def generate_one_footprint(param, config, default_lib): # Tags tags = param['meta']['tags'] - if 'add-tags' in param: - tags += ' ' + param['add-tags'] fp.setTags(tags) ############################################################################ # Place pads # Pin 1 position - pin1 = Vector2D(0,0) - pin1.x = -(pins / 4)*pitch + pitch/2 - pin1.y = -pad_y + pin1 = Vector2D(-(pins/4)*pitch + pitch/2, -pad_y) pin = [] # Pin position list for p in range(pins): @@ -101,10 +98,6 @@ def generate_one_footprint(param, config, default_lib): fab_mark = config['fab_pin1_marker_length'] fab_w = param['layout']['width'] fab_h = param['layout']['height'] - if 'add-width' in param: - fab_w += param['add-width'] - if 'add-height' in param: - fab_h += param['add-height'] fab_y = fab_h / 2 lEdge = -fab_w / 2 rEdge = lEdge + fab_w @@ -139,6 +132,7 @@ def generate_one_footprint(param, config, default_lib): court_grid = config['courtyard_grid'] court_offset = config['courtyard_offset']['connector'] + court_x = roundToBase(fab_w/2 + court_offset, court_grid) court_y = roundToBase(max(fab_y, pad_y + pad_h/2) + court_offset, court_grid) @@ -159,11 +153,11 @@ def generate_one_footprint(param, config, default_lib): silk_chamfer = chamfer + silk_offset/2 silk_pin1 = pin1.x - silk_pad['x'] - if 'shield' in tags: + if "shield" in tags: silk_lEnd = [[{'x': silk_pin1, 'y': -silk_y}, {'x': silk_lEdge + silk_chamfer, 'y': -silk_y}, {'x': silk_lEdge, 'y': -silk_y + silk_chamfer}, - {'x': silk_lEdge, 'y': 0}], + {'x': silk_lEdge, 'y': 2*silk_offset}], [{'x': silk_lEdge, 'y': silk_y - silk_chamfer}, {'x': silk_lEdge + silk_chamfer, 'y': silk_y}, {'x': silk_pin1, 'y': silk_y}]] @@ -275,6 +269,8 @@ def generate_one_footprint(param, config, default_lib): print(path, "empty, skipping...") continue + dictInherit(footprints) + for fp_name in footprints: fp_params = footprints.get(fp_name) if 'name' in fp_params: diff --git a/scripts/tools/dict_tools.py b/scripts/tools/dict_tools.py index ab45ed9d3..9371eae95 100644 --- a/scripts/tools/dict_tools.py +++ b/scripts/tools/dict_tools.py @@ -10,7 +10,8 @@ def dictMerge(a, b): of clobbering the contents of one dictionary with another, it recursively combines dictionaries. The result is a dictionary containing the combined contents of the arguments. If both dictionaries contain a key with the same - name (at the same level), the value in `b` takes precedence. + name (at the same level), the value in `b` takes precedence. Keys prefixed + with a "+" are added to the corresponding key in the base dictionary. Parameters ---------- @@ -34,6 +35,8 @@ def dictMerge(a, b): for k in b: if isinstance(b[k], collections.abc.Mapping): c[k] = dictMerge(c.get(k, {}), b[k]) + elif k.startswith("+"): + c[k[1:]] += b[k] else: c[k] = copy.copy(b[k]) return c From 26325c365dc1ce603c47a4fa54205510c7075fd9 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sat, 19 Sep 2020 14:49:34 -0700 Subject: [PATCH 54/62] Add better silkscreen drawing around shield pins in RazorBeam_Vertical.py --- .../Connector_Samtec/RazorBeam_Vertical.json | 12 ++--- .../Connector_Samtec/RazorBeam_Vertical.py | 45 +++++++++++-------- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json index 134b76fc9..56178a0c2 100644 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json @@ -14,7 +14,7 @@ "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, - "+holes": [{"drill": 1.0, "pad": 1.5, "space": 7.45, "y": 1.15}] + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 7.45, "y": 1.15, "name": "SH"}] }, "Samtec_LSHM-110-xx.x-x-DV-A-N_P0.5mm_Vertical": { "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", @@ -26,7 +26,7 @@ "inherit": "Samtec_LSHM-110-xx.x-x-DV-A-N_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, - "+holes": [{"drill": 1.0, "pad": 1.5, "space": 9.95, "y": 1.15}] + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 9.95, "y": 1.15, "name": "SH"}] }, "Samtec_LSHM-120-xx.x-x-DV-A-N_P0.5mm_Vertical": { "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", @@ -38,7 +38,7 @@ "inherit": "Samtec_LSHM-120-xx.x-x-DV-A-N_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, - "+holes": [{"drill": 1.0, "pad": 1.5, "space": 14.95, "y": 1.15}] + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 14.95, "y": 1.15, "name": "SH"}] }, "Samtec_LSHM-130-xx.x-x-DV-A-N_P0.5mm_Vertical": { "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", @@ -50,7 +50,7 @@ "inherit": "Samtec_LSHM-130-xx.x-x-DV-A-N_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, - "+holes": [{"drill": 1.0, "pad": 1.5, "space": 19.95, "y": 1.15}] + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 19.95, "y": 1.15, "name": "SH"}] }, "Samtec_LSHM-140-xx.x-x-DV-A-N_P0.5mm_Vertical": { "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", @@ -62,7 +62,7 @@ "inherit": "Samtec_LSHM-140-xx.x-x-DV-A-N_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, - "+holes": [{"drill": 1.0, "pad": 1.5, "space": 24.95, "y": 1.15}] + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 24.95, "y": 1.15, "name": "SH"}] }, "Samtec_LSHM-150-xx.x-x-DV-A-N_P0.5mm_Vertical": { "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", @@ -74,7 +74,7 @@ "inherit": "Samtec_LSHM-150-xx.x-x-DV-A-N_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, - "+holes": [{"drill": 1.0, "pad": 1.5, "space": 29.95, "y": 1.15}] + "+holes": [{"drill": 1.0, "pad": 1.5, "space": 29.95, "y": 1.15, "name": "SH"}] }, "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical": { diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py index 3a59d4ded..c6c9bbe8f 100755 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -77,21 +77,6 @@ def generate_one_footprint(param, config, default_lib): shape = Pad.SHAPE_RECT) fp.append(pad) - ############################################################################ - # Holes - hole_list = param['holes'] + param.get('add-holes', []) - for p in hole_list: - drill = p['drill'] - shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL - h = [Pad(number = "SH" if 'pad' in p else "", - at = (m*p['space']/2, p['y']), - drill = drill, - size = p['pad'] if 'pad' in p else drill, - type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, - layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, - shape = shape) for m in (-1,1)] - fp.extend(h) - ############################################################################ # Fabrication layer: F.Fab fab_line = config['fab_line_width'] @@ -126,15 +111,35 @@ def generate_one_footprint(param, config, default_lib): close = False, line_width = fab_line)) + ############################################################################ + # Holes + hole_list = param['holes'] + for p in hole_list: + drill = p['drill'] + shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL + h = [Pad(number = p.get('name', ""), + at = (m*p['space']/2, p['y']), + drill = drill, + size = p.get('pad', drill), + type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, + shape = shape) for m in (-1,1)] + fp.extend(h) + # Extend courtyard width for shield holes + if p['space'] + p.get('pad', drill) > fab_w: + fab_w = p['space'] + p.get('pad', drill) + sh_x = p['space']/2 + sh_y = p['y'] + sh_r = p.get('pad', drill) / 2 + ############################################################################ # Courtyard: F.CrtYd court_line = config['courtyard_line_width'] court_grid = config['courtyard_grid'] court_offset = config['courtyard_offset']['connector'] - court_x = roundToBase(fab_w/2 + court_offset, court_grid) - court_y = roundToBase(max(fab_y, pad_y + pad_h/2) + court_offset, court_grid) + court_y = roundToBase(max(fab_y, pad_y+pad_h/2) + court_offset, court_grid) fp.append(RectLine(start = (-court_x, -court_y), end = ( court_x, court_y), @@ -154,11 +159,13 @@ def generate_one_footprint(param, config, default_lib): silk_pin1 = pin1.x - silk_pad['x'] if "shield" in tags: + silk_sh = math.sqrt((sh_r+silk_offset)**2 - (silk_rEdge-sh_x)**2) silk_lEnd = [[{'x': silk_pin1, 'y': -silk_y}, {'x': silk_lEdge + silk_chamfer, 'y': -silk_y}, {'x': silk_lEdge, 'y': -silk_y + silk_chamfer}, - {'x': silk_lEdge, 'y': 2*silk_offset}], - [{'x': silk_lEdge, 'y': silk_y - silk_chamfer}, + {'x': silk_lEdge, 'y': sh_y - silk_sh}], + [{'x': silk_lEdge, 'y': sh_y + silk_sh}, + {'x': silk_lEdge, 'y': silk_y - silk_chamfer}, {'x': silk_lEdge + silk_chamfer, 'y': silk_y}, {'x': silk_pin1, 'y': silk_y}]] else: From 430ffb9f191ff0e8e8f4ca28798eb4a86c59db0a Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 20 Sep 2020 09:07:44 -0700 Subject: [PATCH 55/62] Add y-offset for LSS connector fab/silkscreen --- .../Connector_Samtec/RazorBeam_Vertical.json | 22 +++++--- .../Connector_Samtec/RazorBeam_Vertical.py | 50 +++++++++++++------ 2 files changed, 48 insertions(+), 24 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json index 56178a0c2..ca9b85c05 100644 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json @@ -77,40 +77,46 @@ "+holes": [{"drill": 1.0, "pad": 1.5, "space": 29.95, "y": 1.15, "name": "SH"}] }, - "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical": { + "Samtec_LSS-105-xx-x-DV-A_P0.635mm_Vertical": { "library": "Connector_Samtec_RazorBeam", "meta": { "description": "Samtec {pn:s} {pitch:1.3f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/catalog_english/lss.pdf", "tags": "connector Samtec RazorBeam LSS self-mating terminal socket vertical" }, - "layout": {"width": 11.10, "height": 4.14}, - "pads": {"n": 20, "pitch": 0.635, "y": 1.8, "width": 0.4, "height": 1.6}, - "holes": [{"drill": 0.89, "space": 7.85, "y": -1.1}] + "layout": {"width": 7.925, "height": 4.14, "y": 0.07}, + "pads": {"n": 10, "pitch": 0.635, "y": 1.8, "width": 0.4, "height": 1.6}, + "holes": [{"drill": 0.89, "space": 4.675, "y": 1.1}] + }, + "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-105-xx-x-DV-A_P0.635mm_Vertical", + "layout": {"width": 11.10}, + "pads": {"n": 20}, + "holes": [{"drill": 0.89, "space": 7.85, "y": 1.1}] }, "Samtec_LSS-120-xx-x-DV-A_P0.635mm_Vertical": { "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", "layout": {"width": 17.45}, "pads": {"n": 40}, - "holes": [{"drill": 0.89, "space": 14.20, "y": -1.1}] + "holes": [{"drill": 0.89, "space": 14.20, "y": 1.1}] }, "Samtec_LSS-130-xx-x-DV-A_P0.635mm_Vertical": { "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", "layout": {"width": 23.8}, "pads": {"n": 60}, - "holes": [{"drill": 0.89, "space": 20.55, "y": -1.1}] + "holes": [{"drill": 0.89, "space": 20.55, "y": 1.1}] }, "Samtec_LSS-140-xx-x-DV-A_P0.635mm_Vertical": { "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", "layout": {"width": 30.15}, "pads": {"n": 80}, - "holes": [{"drill": 0.89, "space": 26.90, "y": -1.1}] + "holes": [{"drill": 0.89, "space": 26.90, "y": 1.1}] }, "Samtec_LSS-150-xx-x-DV-A_P0.635mm_Vertical": { "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", "layout": {"width": 36.5}, "pads": {"n": 100}, - "holes": [{"drill": 0.89, "space": 33.25, "y": -1.1}] + "holes": [{"drill": 0.89, "space": 33.25, "y": 1.1}] }, "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical": { diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py index c6c9bbe8f..d0ec95a85 100755 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -83,28 +83,39 @@ def generate_one_footprint(param, config, default_lib): fab_mark = config['fab_pin1_marker_length'] fab_w = param['layout']['width'] fab_h = param['layout']['height'] - fab_y = fab_h / 2 + fab_y = param['layout'].get('y', 0) lEdge = -fab_w / 2 rEdge = lEdge + fab_w - chamfer = fab_h / 10 # cosmetic only # Draw outline - outline = [(lEdge + chamfer, -fab_y), - (lEdge, -fab_y + chamfer), - (lEdge, fab_y - chamfer), - (lEdge + chamfer, fab_y), - (rEdge - chamfer, fab_y), - (rEdge, fab_y - chamfer), - (rEdge, -fab_y + chamfer), - (rEdge - chamfer, -fab_y), - (lEdge + chamfer, -fab_y)] + if "LSS" in tags: + chamfer = fab_h / 3.5 # cosmetic only + outline = [(lEdge + chamfer, -fab_h/2 + fab_y), + (lEdge, -fab_h/2 + chamfer + fab_y), + (lEdge, fab_h/2 + fab_y), + (rEdge, fab_h/2 + fab_y), + (rEdge, -fab_h/2 + chamfer + fab_y), + (rEdge - chamfer, -fab_h/2 + fab_y), + (lEdge + chamfer, -fab_h/2 + fab_y)] + else: + chamfer = fab_h / 10 + outline = [(lEdge + chamfer, -fab_h/2 + fab_y), + (lEdge, -fab_h/2 + chamfer + fab_y), + (lEdge, fab_h/2 - chamfer + fab_y), + (lEdge + chamfer, fab_h/2 + fab_y), + (rEdge - chamfer, fab_h/2 + fab_y), + (rEdge, fab_h/2 - chamfer + fab_y), + (rEdge, -fab_h/2 + chamfer + fab_y), + (rEdge - chamfer, -fab_h/2 + fab_y), + (lEdge + chamfer, -fab_h/2 + fab_y)] + fp.append(PolygoneLine(nodes = outline, layer = "F.Fab", width = fab_line)) # Pin 1 marker fp.append(markerArrow(x = pin1.x, - y = (fab_mark-fab_h) / 2, + y = (fab_mark-fab_h) / 2 + fab_y, width = fab_mark, angle = 180, layer = "F.Fab", @@ -139,7 +150,7 @@ def generate_one_footprint(param, config, default_lib): court_offset = config['courtyard_offset']['connector'] court_x = roundToBase(fab_w/2 + court_offset, court_grid) - court_y = roundToBase(max(fab_y, pad_y+pad_h/2) + court_offset, court_grid) + court_y = roundToBase(max(fab_h/2+fab_y, pad_y+pad_h/2) + court_offset, court_grid) fp.append(RectLine(start = (-court_x, -court_y), end = ( court_x, court_y), @@ -149,9 +160,10 @@ def generate_one_footprint(param, config, default_lib): ############################################################################ # Silkscreen: F.SilkS silk_offset = config['silk_fab_offset'] - silk_y = fab_y + silk_offset + silk_y = fab_h/2 + silk_offset silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, - 'y': config['silk_pad_clearance'] + pad_y/2} + 'y': config['silk_pad_clearance'] + pad_y/2, + 'hole': config['silk_pad_clearance']} silk_line = config['silk_line_width'] silk_lEdge = lEdge - silk_offset silk_rEdge = rEdge + silk_offset @@ -159,7 +171,7 @@ def generate_one_footprint(param, config, default_lib): silk_pin1 = pin1.x - silk_pad['x'] if "shield" in tags: - silk_sh = math.sqrt((sh_r+silk_offset)**2 - (silk_rEdge-sh_x)**2) + silk_sh = math.sqrt((sh_r+silk_pad['hole'])**2 - (silk_rEdge-sh_x)**2) silk_lEnd = [[{'x': silk_pin1, 'y': -silk_y}, {'x': silk_lEdge + silk_chamfer, 'y': -silk_y}, {'x': silk_lEdge, 'y': -silk_y + silk_chamfer}, @@ -168,6 +180,12 @@ def generate_one_footprint(param, config, default_lib): {'x': silk_lEdge, 'y': silk_y - silk_chamfer}, {'x': silk_lEdge + silk_chamfer, 'y': silk_y}, {'x': silk_pin1, 'y': silk_y}]] + elif "LSS" in tags: + silk_lEnd = [[{'x': silk_pin1, 'y': -silk_y + fab_y}, + {'x': silk_lEdge + silk_chamfer, 'y': -silk_y + fab_y}, + {'x': silk_lEdge, 'y': -silk_y + fab_y + silk_chamfer}, + {'x': silk_lEdge, 'y': silk_y + fab_y}, + {'x': silk_pin1, 'y': silk_y + fab_y}]] else: silk_lEnd = [[{'x': silk_pin1, 'y': -silk_y}, {'x': silk_lEdge + silk_chamfer, 'y': -silk_y}, From 19bf68483ee3b62f761ff63871987c8d717eba66 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 20 Sep 2020 09:40:07 -0700 Subject: [PATCH 56/62] Correct descriptions in QStrip_Vertical and RazorBeam_Vertical Descriptions are now fully comma-delimited and datasheet links were moved to the end so that they appear correctly in the footprint browser Signed-off-by: Caleb Reister <calebreister@gmail.com> --- .../Connector_Samtec/QStrip_Vertical.json | 28 +++++++++---------- .../Connector_Samtec/QStrip_Vertical.py | 4 +-- .../Connector_Samtec/RazorBeam_Vertical.json | 6 ++-- .../Connector_Samtec/RazorBeam_Vertical.py | 6 ++-- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json index 74e856f53..b5309de1c 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json @@ -2,7 +2,7 @@ "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical": { "library": "Connector_Samtec_QStrip", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip, {banks:d} bank(s), {pins:d} pins/bank", "datasheet": "http://suddendocs.samtec.com/catalog_english/qth.pdf", "tags": "connector Samtec QStrip QTH mezzanine terminal vertical single-ended" }, @@ -44,7 +44,7 @@ "Samtec_QTH-020-xx-x-D-DP_P0.5mm_Vertical": { "inherit": "Samtec_QTH-030-xx-x-D_P0.5mm_Vertical", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair, {banks:d} bank(s), {pins:d} pairs/bank", "tags": "connector Samtec QPairs QTH mezzanine terminal vertical differential" }, "banks": {"diff": 1} @@ -79,7 +79,7 @@ "library": "Connector_Samtec", "meta": { "pn": "ASP-122952-01", - "description": "Samtec {pn:s} HSMC Card {type:s}; modified QTH-090-01-L-D-A, Bank 1 differential ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} HSMC Card {type:s}, modified QTH-090-01-L-D-A, Bank 1 differential", "datasheet": "http://suddendocs.samtec.com/prints/asp-122952-01-mkt.pdf", "+tags": " QPairs HSMC card differential application-specific" }, @@ -89,7 +89,7 @@ "Samtec_QSH-030-xx-x-D_P0.5mm_Vertical": { "library": "Connector_Samtec_QStrip", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip, {banks:d} bank(s), {pins:d} pins/bank", "datasheet": "http://suddendocs.samtec.com/catalog_english/qsh.pdf", "tags": "connector Samtec QStrip QSH mezzanine socket vertical single-ended" }, @@ -131,7 +131,7 @@ "Samtec_QSH-020-xx-x-D-DP_P0.5mm_Vertical": { "inherit": "Samtec_QSH-030-xx-x-D_P0.5mm_Vertical", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair, {banks:d} bank(s), {pins:d} pairs/bank", "tags": "connector Samtec QPairs QSH mezzanine socket vertical differential" }, "banks": {"diff": 1} @@ -166,7 +166,7 @@ "library": "Connector_Samtec", "meta": { "pn": "ASP-122953-01", - "description": "Samtec {pn:s} HSMC Host {type:s}; modified QSH-090-01-L-D-A, Bank 1 differential ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} HSMC Host {type:s}, modified QSH-090-01-L-D-A, Bank 1 differential", "datasheet": "http://suddendocs.samtec.com/prints/asp-122953-01-mkt.pdf", "+tags": " QPairs HSMC host differential application-specific" }, @@ -176,7 +176,7 @@ "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical": { "library": "Connector_Samtec_QStrip", "meta": { - "description": "Samtec {pn:s} {pitch:1.3f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.3f}mm Q Strip High-Speed Ground Plane {type:s} Strip, {banks:d} bank(s), {pins:d} pins/bank", "datasheet": "http://suddendocs.samtec.com/catalog_english/qts.pdf", "tags": "connector Samtec QStrip QTS mezzanine terminal vertical" }, @@ -218,7 +218,7 @@ "Samtec_QTS-016-xx-x-D-DP_P0.635mm_Vertical": { "inherit": "Samtec_QTS-025-xx-x-D_P0.635mm_Vertical", "meta": { - "description": "Samtec {pn:s} {pitch:1.3f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.3f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair, {banks:d} bank(s), {pins:d} pairs/bank", "tags": "connector Samtec QPairs QTS mezzanine terminal vertical differential" }, "banks": {"diff": 1} @@ -252,7 +252,7 @@ "Samtec_QSS-025-xx-x-D_P0.635mm_Vertical": { "library": "Connector_Samtec_QStrip", "meta": { - "description": "Samtec {pn:s} {pitch:1.3f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.3f}mm Q Strip High-Speed Ground Plane {type:s} Strip, {banks:d} bank(s), {pins:d} pins/bank", "datasheet": "http://suddendocs.samtec.com/catalog_english/qss.pdf", "tags": "connector Samtec QStrip QSS mezzanine socket vertical single-ended" }, @@ -294,7 +294,7 @@ "Samtec_QSS-016-xx-x-D-DP_P0.635mm_Vertical": { "inherit": "Samtec_QSS-025-xx-x-D_P0.635mm_Vertical", "meta": { - "description": "Samtec {pn:s} {pitch:1.3f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.3f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair, {banks:d} bank(s), {pins:d} pairs/bank", "tags": "connector Samtec QPairs QSS mezzanine socket vertical differential" }, "banks": {"diff": 1} @@ -328,7 +328,7 @@ "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical": { "library": "Connector_Samtec_QStrip", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip, {banks:d} bank(s), {pins:d} pins/bank", "datasheet": "http://suddendocs.samtec.com/catalog_english/qte.pdf", "tags": "connector Samtec QStrip QTE mezzanine terminal vertical" }, @@ -370,7 +370,7 @@ "Samtec_QTE-014-xx-x-D-DP_P0.8mm_Vertical": { "inherit": "Samtec_QTE-020-xx-x-D_P0.8mm_Vertical", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair, {banks:d} bank(s), {pins:d} pairs/bank", "tags": "connector Samtec QPairs QTE mezzanine terminal vertical differential" }, "banks": {"diff": 1} @@ -404,7 +404,7 @@ "Samtec_QSE-020-xx-x-D_P0.8mm_Vertical": { "library": "Connector_Samtec_QStrip", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; {banks:d} bank(s), {pins:d} pins/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip, {banks:d} bank(s), {pins:d} pins/bank", "datasheet": "http://suddendocs.samtec.com/catalog_english/qse.pdf", "tags": "connector Samtec QStrip QSE mezzanine socket vertical single-ended" }, @@ -446,7 +446,7 @@ "Samtec_QSE-014-xx-x-D-DP_P0.8mm_Vertical": { "inherit": "Samtec_QSE-020-xx-x-D_P0.8mm_Vertical", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair; {banks:d} bank(s), {pins:d} pairs/bank ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Q Pairs High-Speed Ground Plane {type:s} Strip, Differential Pair, {banks:d} bank(s), {pins:d} pairs/bank", "tags": "connector Samtec QPairs QSE mezzanine socket vertical differential" }, "banks": {"diff": 1} diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index c3a9e974d..1c076d43d 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -298,11 +298,11 @@ def generate_one_footprint(param, config, default_lib): desc = param['meta']['description'] desc = desc.format(pn = partnum, type = mode, - ds = param['meta']['datasheet'], pitch = pitch, banks = banks, pins = pins_or_pairs) - fp.setDescription(desc) + fp.setDescription(desc + ", generated with kicad-footprint-generator" + + ", " + param['meta']['datasheet']) # Tags tags = param['meta']['tags'] diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json index ca9b85c05..67d2936c3 100644 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json @@ -2,7 +2,7 @@ "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical": { "library": "Connector_Samtec_RazorBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip", "datasheet": "http://suddendocs.samtec.com/catalog_english/lshm_dv.pdf", "tags": "connector Samtec RazorBeam LSHM self-mating terminal socket vertical" }, @@ -80,7 +80,7 @@ "Samtec_LSS-105-xx-x-DV-A_P0.635mm_Vertical": { "library": "Connector_Samtec_RazorBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.3f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.3f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip, ", "datasheet": "http://suddendocs.samtec.com/catalog_english/lss.pdf", "tags": "connector Samtec RazorBeam LSS self-mating terminal socket vertical" }, @@ -122,7 +122,7 @@ "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical": { "library": "Connector_Samtec_RazorBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip", "datasheet": "http://suddendocs.samtec.com/catalog_english/lsem.pdf", "tags": "connector Samtec RazorBeam LSEM self-mating terminal socket vertical" }, diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py index d0ec95a85..ba586b0c1 100755 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -48,9 +48,9 @@ def generate_one_footprint(param, config, default_lib): # Description desc = param['meta']['description'] - desc = desc.format(pn = partnum, pitch = pitch, - ds = param['meta']['datasheet']) - fp.setDescription(desc) + desc = desc.format(pn = partnum, pitch = pitch) + fp.setDescription(desc + ", generated with kicad-footprint-generator" + + ", " + param['meta']['datasheet']) # Tags tags = param['meta']['tags'] From 19a4add26aa612eaf6efbd45a02ac1cd6fa80135 Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 20 Sep 2020 19:37:46 -0700 Subject: [PATCH 57/62] Create Samtec mPOWER_Vertical connector script --- .../Connector_Samtec/QStrip_Vertical.py | 14 +- .../Connector_Samtec/RazorBeam_Vertical.py | 12 +- .../Connector_Samtec/mPOWER_Vertical.json | 133 +++++++++ .../Connector_Samtec/mPOWER_Vertical.py | 252 ++++++++++++++++++ 4 files changed, 390 insertions(+), 21 deletions(-) create mode 100644 scripts/Connector/Connector_Samtec/mPOWER_Vertical.json create mode 100755 scripts/Connector/Connector_Samtec/mPOWER_Vertical.py diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 1c076d43d..38e064aff 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -14,7 +14,7 @@ # License along with kicad-footprint-generator. If not, see # <http://www.gnu.org/licenses/>. # -# Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> +# Copyright (C) 2020 by Caleb Reister <calebreister@gmail.com> # import sys @@ -80,6 +80,7 @@ def generate_one_footprint(param, config, default_lib): pos = {'x': x_inv * (pin1.x + (slot // 2)*pitch + b*bank_x), 'y': pin1.y - (slot % 2)*(2*pin1.y), 'n': n+1, 'slot': slot} + pin[b].append(pos) # Add position to list # Skip slots for differential banks if b < param['banks']['diff']: @@ -91,7 +92,6 @@ def generate_one_footprint(param, config, default_lib): continue # Create pad - pin[b].append(pos) # Add position to list # Create pad (both single-ended and differential) pad = Pad(number = str(n), at = pos, @@ -332,7 +332,7 @@ def generate_one_footprint(param, config, default_lib): default='../conn_config_KLCv3.yaml', help='Series KLC configuration YAML file') parser.add_argument('--library', type=str, nargs='?', - default='Connector_Samtec_QSeries', + default='Connector_Samtec_QStrip', help='Default KiCad library name (without extension)') parser.add_argument('files', metavar='file', type=str, nargs='*', help='YAML file(s) containing footprint parameters') @@ -343,7 +343,6 @@ def generate_one_footprint(param, config, default_lib): config = yaml.safe_load(config_stream) except yaml.YAMLError as exc: print(exc) - with open(args.series_config, 'r') as config_stream: try: config.update(yaml.safe_load(config_stream)) @@ -355,30 +354,23 @@ def generate_one_footprint(param, config, default_lib): sys.exit(1) print("Default Library:", args.library) - for path in args.files: print("Reading", path) with open(path, 'r') as stream: try: footprints = yaml.safe_load(stream) - if footprints is None: print(path, "empty, skipping...") continue - dictInherit(footprints) - for fp_name in footprints: fp_params = footprints.get(fp_name) if 'name' in fp_params: print("WARNING: setting 'name' to", fp_name) - fp_params['name'] = fp_name - print(" - ", fp_params.get('library', args.library), ".pretty/", fp_name, ".kicad_mod", sep="") - generate_one_footprint(fp_params, config, args.library) except yaml.YAMLError as exc: print(exc) diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py index ba586b0c1..9e4dc85c4 100755 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.py @@ -14,7 +14,7 @@ # License along with kicad-footprint-generator. If not, see # <http://www.gnu.org/licenses/>. # -# Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> +# Copyright (C) 2020 by Caleb Reister <calebreister@gmail.com> # import sys @@ -66,9 +66,9 @@ def generate_one_footprint(param, config, default_lib): # Compute next pad location pos = {'x': pin1.x + (p // 2)*pitch, 'y': pin1.y - (p % 2)*(2*pin1.y)} + pin.append(pos) # Create pad - pin.append(pos) pad = Pad(number = str(p+1), at = pos, size = (pad_w, pad_h), @@ -271,7 +271,6 @@ def generate_one_footprint(param, config, default_lib): config = yaml.safe_load(config_stream) except yaml.YAMLError as exc: print(exc) - with open(args.series_config, 'r') as config_stream: try: config.update(yaml.safe_load(config_stream)) @@ -283,30 +282,23 @@ def generate_one_footprint(param, config, default_lib): sys.exit(1) print("Default Library:", args.library) - for path in args.files: print("Reading", path) with open(path, 'r') as stream: try: footprints = yaml.safe_load(stream) - if footprints is None: print(path, "empty, skipping...") continue - dictInherit(footprints) - for fp_name in footprints: fp_params = footprints.get(fp_name) if 'name' in fp_params: print("WARNING: setting 'name' to", fp_name) - fp_params['name'] = fp_name - print(" - ", fp_params.get('library', args.library), ".pretty/", fp_name, ".kicad_mod", sep="") - generate_one_footprint(fp_params, config, args.library) except yaml.YAMLError as exc: print(exc) diff --git a/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json new file mode 100644 index 000000000..7c15bac25 --- /dev/null +++ b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json @@ -0,0 +1,133 @@ +{ + "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical": { + "library": "Connector_Samtec", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Ultra Micro Power Terminal", + "datasheet": "http://suddendocs.samtec.com/catalog_english/umpt.pdf", + "tags": "connector Samtec mPOWER UMPT power terminal vertical" + }, + "layout": {"type": "Terminal", "width": [11.3], "height": 7.6}, + "pads": {"n": 2, "pitch": 2.0, "width": 1.25, "height": 3.5} + }, + "Samtec_UMPT-02-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "meta": {"+tags": " weld-tab"}, + "holes": [ + {"drill": 0.8, "pad": 1.3, "x": 4.85, "y": 0.3}, + {"drill": 0.8, "pad": 1.3, "x": 4.85, "y": -1.7}, + {"drill": 0.8, "pad": 1.3, "x": -4.85, "y": 0.8}, + {"drill": 0.8, "pad": 1.3, "x": -4.85, "y": -1.2} + ] + }, + "Samtec_UMPT-03-xx.x-x-VT-SM_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "layout": {"width": [13.3]}, + "pads": {"n": 3} + }, + "Samtec_UMPT-03-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-03-xx.x-x-VT-SM_P2.0mm_Vertical", + "meta": {"+tags": " weld-tab"}, + "holes": [ + {"drill": 0.8, "pad": 1.3, "x": 5.85, "y": 0.3}, + {"drill": 0.8, "pad": 1.3, "x": 5.85, "y": -1.7}, + {"drill": 0.8, "pad": 1.3, "x": -5.85, "y": 0.8}, + {"drill": 0.8, "pad": 1.3, "x": -5.85, "y": -1.2} + ] + }, + "Samtec_UMPT-04-xx.x-x-VT-SM_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "layout": {"width": [15.3]}, + "pads": {"n": 4} + }, + "Samtec_UMPT-04-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-04-xx.x-x-VT-SM_P2.0mm_Vertical", + "meta": {"+tags": " weld-tab"}, + "holes": [ + {"drill": 0.8, "pad": 1.3, "x": 6.85, "y": 0.3}, + {"drill": 0.8, "pad": 1.3, "x": 6.85, "y": -1.7}, + {"drill": 0.8, "pad": 1.3, "x": -6.85, "y": 0.8}, + {"drill": 0.8, "pad": 1.3, "x": -6.85, "y": -1.2} + ] + }, + "Samtec_UMPT-05-xx.x-x-VT-SM_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "layout": {"width": [17.3]}, + "pads": {"n": 5} + }, + "Samtec_UMPT-05-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-05-xx.x-x-VT-SM_P2.0mm_Vertical", + "meta": {"+tags": " weld-tab"}, + "holes": [ + {"drill": 0.8, "pad": 1.3, "x": 7.85, "y": 0.3}, + {"drill": 0.8, "pad": 1.3, "x": 7.85, "y": -1.7}, + {"drill": 0.8, "pad": 1.3, "x": -7.85, "y": 0.8}, + {"drill": 0.8, "pad": 1.3, "x": -7.85, "y": -1.2} + ] + }, + + "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical": { + "library": "Connector_Samtec", + "meta": { + "description": "Samtec {pn:s} {pitch:1.2f}mm Ultra Micro Power Socket", + "datasheet": "http://suddendocs.samtec.com/catalog_english/umps.pdf", + "tags": "connector Samtec mPOWER UMPS power socket vertical" + }, + "layout": {"type": "Socket", "width": [9.05, 7.65], "height": 6.2}, + "pads": {"n": 2, "pitch": 2.0, "width": 1.30, "height": 3.5} + }, + "Samtec_UMPS-02-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "meta": {"+tags": " weld-tab"}, + "holes": [ + {"drill": 0.8, "pad": 1.3, "x": -3.0, "y": 0.5}, + {"drill": 0.8, "pad": 1.3, "x": -3.0, "y": -1.5}, + {"drill": 0.8, "pad": 1.3, "x": 3.0, "y": 1.0}, + {"drill": 0.8, "pad": 1.3, "x": 3.0, "y": -1.0} + ] + }, + "Samtec_UMPS-03-xx.x-x-VT-SM_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "layout": {"width": [11.05, 9.65]}, + "pads": {"n": 3} + }, + "Samtec_UMPS-03-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-03-xx.x-x-VT-SM_P2.0mm_Vertical", + "meta": {"+tags": " weld-tab"}, + "holes": [ + {"drill": 0.8, "pad": 1.3, "x": -4.0, "y": 0.5}, + {"drill": 0.8, "pad": 1.3, "x": -4.0, "y": -1.5}, + {"drill": 0.8, "pad": 1.3, "x": 4.0, "y": 1.0}, + {"drill": 0.8, "pad": 1.3, "x": 4.0, "y": -1.0} + ] + }, + "Samtec_UMPS-04-xx.x-x-VT-SM_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "layout": {"width": [13.05, 11.65]}, + "pads": {"n": 4} + }, + "Samtec_UMPS-04-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-04-xx.x-x-VT-SM_P2.0mm_Vertical", + "meta": {"+tags": " weld-tab"}, + "holes": [ + {"drill": 0.8, "pad": 1.3, "x": -5.0, "y": 0.5}, + {"drill": 0.8, "pad": 1.3, "x": -5.0, "y": -1.5}, + {"drill": 0.8, "pad": 1.3, "x": 5.0, "y": 1.0}, + {"drill": 0.8, "pad": 1.3, "x": 5.0, "y": -1.0} + ] + }, + "Samtec_UMPS-05-xx.x-x-VT-SM_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "layout": {"width": [15.05, 13.65]}, + "pads": {"n": 5} + }, + "Samtec_UMPS-05-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-05-xx.x-x-VT-SM_P2.0mm_Vertical", + "meta": {"+tags": " weld-tab"}, + "holes": [ + {"drill": 0.8, "pad": 1.3, "x": -6.0, "y": 0.5}, + {"drill": 0.8, "pad": 1.3, "x": -6.0, "y": -1.5}, + {"drill": 0.8, "pad": 1.3, "x": 6.0, "y": 1.0}, + {"drill": 0.8, "pad": 1.3, "x": 6.0, "y": -1.0} + ] + } +} diff --git a/scripts/Connector/Connector_Samtec/mPOWER_Vertical.py b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.py new file mode 100755 index 000000000..09aaa04de --- /dev/null +++ b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.py @@ -0,0 +1,252 @@ +#!/usr/bin/python + +# This file is part of kicad-footprint-generator. +# +# kicad-footprint-generator is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# kicad-footprint-generator is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. You should have received a copy of the GNU General Public +# License along with kicad-footprint-generator. If not, see +# <http://www.gnu.org/licenses/>. +# +# Copyright (C) 2020 by Caleb Reister <calebreister@gmail.com> +# + +import sys +import os +import argparse +from copy import deepcopy +import math +import yaml + +# Load parent path of KicadModTree +sys.path.append(os.path.join(sys.path[0], "..", "..", "..")) +sys.path.append(os.path.join(sys.path[0], "..", "..", "tools")) + +from KicadModTree import * +from footprint_text_fields import addTextFields +from helpers import * +from dict_tools import * + +def generate_one_footprint(param, config, default_lib): + fp = Footprint(param['name']) + mode = param['layout']['type'].capitalize() + #if mode != "Terminal" or mode != "Socket": + # raise ValueError("Connector type must be either 'Terminal' or 'Socket'") + + # Pad parameters + pitch = param['pads']['pitch'] + pad_w = param['pads']['width'] + pad_h = param['pads']['height'] + pins = param['pads']['n'] # Pin count + + ############################################################################ + # Place pads + pin = [] + for p in range(pins): + # Compute next pad location + pos = (-pins*pitch/2 + pitch/2 + p*pitch, 0) + pin.append(pos) + + # Create pad + pad = Pad(number = str(p+1), + at = pos, + size = (pad_w, pad_h), + type = Pad.TYPE_SMT, + layers = Pad.LAYERS_SMT, + shape = Pad.SHAPE_RECT) + fp.append(pad) + + ############################################################################ + # Holes + for p in param.get('holes', {}): + h = [Pad(number = "", + at = (p['x'], p['y']), + drill = p['drill'], + size = p['pad'], + type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, + layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, + shape = Pad.SHAPE_CIRCLE)] + fp.extend(h) + + ############################################################################ + # Fabrication layer: F.Fab + fab_line = config['fab_line_width'] + fab_mark = config['fab_pin1_marker_length'] + fab_w = param['layout']['width'] + fab_h = param['layout']['height'] + + if mode == "Terminal": + chamfer = 0.085*fab_h + outline = [(-fab_w[0]/2 + chamfer, -fab_h/2), + (-fab_w[0]/2, -fab_h/2 + chamfer), + (-fab_w[0]/2, fab_h/2), + ( fab_w[0]/2, fab_h/2), + ( fab_w[0]/2, -fab_h/2), + (-fab_w[0]/2 + chamfer, -fab_h/2)] + elif mode == "Socket": + chamfer = 0.1*fab_h + outline = [(-fab_w[0]/2, -fab_h/2), + (-fab_w[0]/2, -fab_h/2 + (fab_w[0]-fab_w[1])/2), + (-fab_w[1]/2, -fab_h/2 + (fab_w[0]-fab_w[1])/2), + (-fab_w[1]/2, fab_h/2 - chamfer), + (-fab_w[1]/2 + chamfer, fab_h/2), + ( fab_w[1]/2, fab_h/2), + ( fab_w[1]/2, -fab_h/2 + (fab_w[0]-fab_w[1])/2), + ( fab_w[0]/2, -fab_h/2 + (fab_w[0]-fab_w[1])/2), + ( fab_w[0]/2, -fab_h/2), + (-fab_w[0]/2, -fab_h/2)] + + fp.append(PolygoneLine(nodes = outline, + layer = "F.Fab", + width = fab_line)) + + ############################################################################ + # Silkscreen: F.SilkS + silk_offset = config['silk_fab_offset'] + silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, + 'y': config['silk_pad_clearance'] + pad_h/2} + silk_line = config['silk_line_width'] + silk_w = [w + 2*silk_offset for w in fab_w] + silk_h = fab_h + 2*silk_offset + silk_chamfer = chamfer + silk_offset/2 + + if mode == "Terminal": + silk_outline = [(-silk_w[0]/2 + silk_chamfer, -silk_h/2), + (-silk_w[0]/2, -silk_h/2 + silk_chamfer), + (-silk_w[0]/2, silk_h/2), + ( silk_w[0]/2, silk_h/2), + ( silk_w[0]/2, -silk_h/2), + (-silk_w[0]/2 + silk_chamfer, -silk_h/2)] + elif mode == "Socket": + silk_outline = [(-silk_w[0]/2, -silk_h/2), + (-silk_w[0]/2, -silk_h/2 + (silk_w[0]-silk_w[1])/2 + 2*silk_offset), + (-silk_w[1]/2, -silk_h/2 + (silk_w[0]-silk_w[1])/2 + 2*silk_offset), + (-silk_w[1]/2, silk_h/2 - silk_chamfer), + (-silk_w[1]/2 + silk_chamfer, silk_h/2), + ( silk_w[1]/2, silk_h/2), + ( silk_w[1]/2, -silk_h/2 + (silk_w[0]-silk_w[1])/2 + 2*silk_offset), + ( silk_w[0]/2, -silk_h/2 + (silk_w[0]-silk_w[1])/2 + 2*silk_offset), + ( silk_w[0]/2, -silk_h/2), + (-silk_w[0]/2, -silk_h/2)] + + fp.append(PolygoneLine(nodes = silk_outline, + layer = "F.SilkS", + width = silk_line)) + + ############################################################################ + # Courtyard: F.CrtYd + court_line = config['courtyard_line_width'] + court_grid = config['courtyard_grid'] + court_offset = config['courtyard_offset']['connector'] + + + court_x = roundToBase(fab_w[0]/2 + court_offset, court_grid) + court_y = roundToBase(fab_h/2 + court_offset, court_grid) + + fp.append(RectLine(start = (-court_x, -court_y), + end = ( court_x, court_y), + layer = "F.CrtYd", + width = court_line)) + + ############################################################################ + # Set Metadata + # Draw reference and value + text_y = court_y + 1.0 + fp.append(Text(type = 'reference', text = 'REF**', + at = (0, -text_y), + layer = "F.SilkS")) + fp.append(Text(type = 'user', text = '%R', + at = (0, -text_y), + layer = "F.Fab")) + fp.append(Text(type = 'value', text=param['name'], + at = (0, text_y), + layer="F.Fab")) + + # Set surface-mount attribute + fp.setAttribute('smd') + + # Part number + partnum = param['meta'].get('pn', param['name'].split('_')[1]) + + # Description + desc = param['meta']['description'] + desc = desc.format(pn = partnum, + pitch = pitch) + fp.setDescription(desc + ", generated with kicad-footprint-generator" + + ", " + param['meta']['datasheet']) + + # Tags + tags = param['meta']['tags'] + fp.setTags(tags) + + # 3D model path + library = param.get('library', default_lib) + model_path = os.path.join("${KISYS3DMOD}", + library+".3dshapes", + param['name'] + ".wrl") + fp.append(Model(filename = model_path)) + + ############################################################################ + # Write kicad_mod file + os.makedirs(library+'.pretty', exist_ok=True) + filename = os.path.join(library+'.pretty', param['name']+'.kicad_mod') + KicadFileHandler(fp).writeFile(filename) + +################################################################################ +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--global-config', type=str, nargs='?', + default='../../tools/global_config_files/config_KLCv3.0.yaml', + help='Global KLC configuration YAML file') + parser.add_argument('--series-config', type=str, nargs='?', + default='../conn_config_KLCv3.yaml', + help='Series KLC configuration YAML file') + parser.add_argument('--library', type=str, nargs='?', + default='Connector_Samtec', + help='Default KiCad library name (without extension)') + parser.add_argument('files', metavar='file', type=str, nargs='*', + help='YAML file(s) containing footprint parameters') + args = parser.parse_args() + + with open(args.global_config, 'r') as config_stream: + try: + config = yaml.safe_load(config_stream) + except yaml.YAMLError as exc: + print(exc) + with open(args.series_config, 'r') as config_stream: + try: + config.update(yaml.safe_load(config_stream)) + except yaml.YAMLError as exc: + print(exc) + + if len(args.files) == 0: + parser.print_help() + sys.exit(1) + + print("Default Library:", args.library) + for path in args.files: + print("Reading", path) + with open(path, 'r') as stream: + try: + footprints = yaml.safe_load(stream) + if footprints is None: + print(path, "empty, skipping...") + continue + dictInherit(footprints) + for fp_name in footprints: + fp_params = footprints.get(fp_name) + if 'name' in fp_params: + print("WARNING: setting 'name' to", fp_name) + fp_params['name'] = fp_name + print(" - ", + fp_params.get('library', args.library), ".pretty/", + fp_name, ".kicad_mod", sep="") + generate_one_footprint(fp_params, config, args.library) + except yaml.YAMLError as exc: + print(exc) From cd7e3f5ccca736c1969b13ca3b5491e65c66f46a Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 20 Sep 2020 19:47:50 -0700 Subject: [PATCH 58/62] Add pin names to welding tab holes in mPOWER_Vertical.json --- .../Connector_Samtec/mPOWER_Vertical.json | 64 +++++++++---------- .../Connector_Samtec/mPOWER_Vertical.py | 4 +- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json index 7c15bac25..da2810a6b 100644 --- a/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json +++ b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json @@ -13,10 +13,10 @@ "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ - {"drill": 0.8, "pad": 1.3, "x": 4.85, "y": 0.3}, - {"drill": 0.8, "pad": 1.3, "x": 4.85, "y": -1.7}, - {"drill": 0.8, "pad": 1.3, "x": -4.85, "y": 0.8}, - {"drill": 0.8, "pad": 1.3, "x": -4.85, "y": -1.2} + {"drill": 0.8, "pad": 1.3, "x": 4.85, "y": 0.3, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 4.85, "y": -1.7, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -4.85, "y": 0.8, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -4.85, "y": -1.2, "name": "MP"} ] }, "Samtec_UMPT-03-xx.x-x-VT-SM_P2.0mm_Vertical": { @@ -28,10 +28,10 @@ "inherit": "Samtec_UMPT-03-xx.x-x-VT-SM_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ - {"drill": 0.8, "pad": 1.3, "x": 5.85, "y": 0.3}, - {"drill": 0.8, "pad": 1.3, "x": 5.85, "y": -1.7}, - {"drill": 0.8, "pad": 1.3, "x": -5.85, "y": 0.8}, - {"drill": 0.8, "pad": 1.3, "x": -5.85, "y": -1.2} + {"drill": 0.8, "pad": 1.3, "x": 5.85, "y": 0.3, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 5.85, "y": -1.7, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -5.85, "y": 0.8, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -5.85, "y": -1.2, "name": "MP"} ] }, "Samtec_UMPT-04-xx.x-x-VT-SM_P2.0mm_Vertical": { @@ -43,10 +43,10 @@ "inherit": "Samtec_UMPT-04-xx.x-x-VT-SM_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ - {"drill": 0.8, "pad": 1.3, "x": 6.85, "y": 0.3}, - {"drill": 0.8, "pad": 1.3, "x": 6.85, "y": -1.7}, - {"drill": 0.8, "pad": 1.3, "x": -6.85, "y": 0.8}, - {"drill": 0.8, "pad": 1.3, "x": -6.85, "y": -1.2} + {"drill": 0.8, "pad": 1.3, "x": 6.85, "y": 0.3, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 6.85, "y": -1.7, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -6.85, "y": 0.8, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -6.85, "y": -1.2, "name": "MP"} ] }, "Samtec_UMPT-05-xx.x-x-VT-SM_P2.0mm_Vertical": { @@ -58,10 +58,10 @@ "inherit": "Samtec_UMPT-05-xx.x-x-VT-SM_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ - {"drill": 0.8, "pad": 1.3, "x": 7.85, "y": 0.3}, - {"drill": 0.8, "pad": 1.3, "x": 7.85, "y": -1.7}, - {"drill": 0.8, "pad": 1.3, "x": -7.85, "y": 0.8}, - {"drill": 0.8, "pad": 1.3, "x": -7.85, "y": -1.2} + {"drill": 0.8, "pad": 1.3, "x": 7.85, "y": 0.3, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 7.85, "y": -1.7, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -7.85, "y": 0.8, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -7.85, "y": -1.2, "name": "MP"} ] }, @@ -79,10 +79,10 @@ "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ - {"drill": 0.8, "pad": 1.3, "x": -3.0, "y": 0.5}, - {"drill": 0.8, "pad": 1.3, "x": -3.0, "y": -1.5}, - {"drill": 0.8, "pad": 1.3, "x": 3.0, "y": 1.0}, - {"drill": 0.8, "pad": 1.3, "x": 3.0, "y": -1.0} + {"drill": 0.8, "pad": 1.3, "x": -3.0, "y": 0.5, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -3.0, "y": -1.5, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 3.0, "y": 1.0, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 3.0, "y": -1.0, "name": "MP"} ] }, "Samtec_UMPS-03-xx.x-x-VT-SM_P2.0mm_Vertical": { @@ -94,10 +94,10 @@ "inherit": "Samtec_UMPS-03-xx.x-x-VT-SM_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ - {"drill": 0.8, "pad": 1.3, "x": -4.0, "y": 0.5}, - {"drill": 0.8, "pad": 1.3, "x": -4.0, "y": -1.5}, - {"drill": 0.8, "pad": 1.3, "x": 4.0, "y": 1.0}, - {"drill": 0.8, "pad": 1.3, "x": 4.0, "y": -1.0} + {"drill": 0.8, "pad": 1.3, "x": -4.0, "y": 0.5, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -4.0, "y": -1.5, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 4.0, "y": 1.0, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 4.0, "y": -1.0, "name": "MP"} ] }, "Samtec_UMPS-04-xx.x-x-VT-SM_P2.0mm_Vertical": { @@ -109,10 +109,10 @@ "inherit": "Samtec_UMPS-04-xx.x-x-VT-SM_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ - {"drill": 0.8, "pad": 1.3, "x": -5.0, "y": 0.5}, - {"drill": 0.8, "pad": 1.3, "x": -5.0, "y": -1.5}, - {"drill": 0.8, "pad": 1.3, "x": 5.0, "y": 1.0}, - {"drill": 0.8, "pad": 1.3, "x": 5.0, "y": -1.0} + {"drill": 0.8, "pad": 1.3, "x": -5.0, "y": 0.5, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -5.0, "y": -1.5, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 5.0, "y": 1.0, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 5.0, "y": -1.0, "name": "MP"} ] }, "Samtec_UMPS-05-xx.x-x-VT-SM_P2.0mm_Vertical": { @@ -124,10 +124,10 @@ "inherit": "Samtec_UMPS-05-xx.x-x-VT-SM_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ - {"drill": 0.8, "pad": 1.3, "x": -6.0, "y": 0.5}, - {"drill": 0.8, "pad": 1.3, "x": -6.0, "y": -1.5}, - {"drill": 0.8, "pad": 1.3, "x": 6.0, "y": 1.0}, - {"drill": 0.8, "pad": 1.3, "x": 6.0, "y": -1.0} + {"drill": 0.8, "pad": 1.3, "x": -6.0, "y": 0.5, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": -6.0, "y": -1.5, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 6.0, "y": 1.0, "name": "MP"}, + {"drill": 0.8, "pad": 1.3, "x": 6.0, "y": -1.0, "name": "MP"} ] } } diff --git a/scripts/Connector/Connector_Samtec/mPOWER_Vertical.py b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.py index 09aaa04de..739ef6db7 100755 --- a/scripts/Connector/Connector_Samtec/mPOWER_Vertical.py +++ b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.py @@ -65,10 +65,10 @@ def generate_one_footprint(param, config, default_lib): ############################################################################ # Holes for p in param.get('holes', {}): - h = [Pad(number = "", + h = [Pad(number = p.get('name', ""), at = (p['x'], p['y']), drill = p['drill'], - size = p['pad'], + size = p.get('pad', p['drill']), type = Pad.TYPE_THT if 'pad' in p else Pad.TYPE_NPTH, layers = Pad.LAYERS_THT if 'pad' in p else Pad.LAYERS_NPTH, shape = Pad.SHAPE_CIRCLE)] From 5d7dd1dd11f96bd5943fe5e1e927e0b2122c44bd Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Tue, 22 Sep 2020 20:02:48 -0700 Subject: [PATCH 59/62] Minor edits to QStrip_Vertical.py Fixed: pin placement/numbering error introduced in 19a4add Changed: simplify plane pad code in preparation to add Q2 support --- .../Connector_Samtec/QStrip_Vertical.json | 36 ++++++++++++------- .../Connector_Samtec/QStrip_Vertical.py | 20 +++++------ 2 files changed, 33 insertions(+), 23 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json index b5309de1c..9bf546e67 100644 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.json +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.json @@ -11,8 +11,10 @@ "pads": { "signal": {"n": 60, "pitch": 0.5, "width": 0.305, "height": 1.45, "y": 3.086}, "planes": [ - {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.635, "y": 0}, - {"n": 2, "pitch": 6.35, "width": 4.70, "height": 0.635, "y": 0} + {"width": 2.54, "height": 0.635, "x": -8.445, "y": 0}, + {"width": 2.54, "height": 0.635, "x": 8.445, "y": 0}, + {"width": 4.70, "height": 0.635, "x": -3.175, "y": 0}, + {"width": 4.70, "height": 0.635, "x": 3.175, "y": 0} ] } }, @@ -98,8 +100,10 @@ "pads": { "signal": {"n": 60, "pitch": 0.5, "width": 0.279, "height": 2.27, "y": 2.865}, "planes": [ - {"n": 2, "pitch": 16.13, "width": 2.54, "height": 0.43, "y": 0}, - {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.43, "y": 0} + {"width": 2.54, "height": 0.430, "x": -8.065, "y": 0}, + {"width": 2.54, "height": 0.430, "x": 8.065, "y": 0}, + {"width": 4.70, "height": 0.430, "x": -3.175, "y": 0}, + {"width": 4.70, "height": 0.430, "x": 3.175, "y": 0} ] } }, @@ -185,8 +189,10 @@ "pads": { "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 1.45, "y": 3.086}, "planes": [ - {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.635, "y": 0}, - {"n": 2, "pitch": 6.35, "width": 4.70, "height": 0.635, "y": 0} + {"width": 2.54, "height": 0.635, "x": -8.445, "y": 0}, + {"width": 2.54, "height": 0.635, "x": 8.445, "y": 0}, + {"width": 4.70, "height": 0.635, "x": -3.175, "y": 0}, + {"width": 4.70, "height": 0.635, "x": 3.175, "y": 0} ] } }, @@ -261,8 +267,10 @@ "pads": { "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 2.273, "y": 2.865}, "planes": [ - {"n": 2, "pitch": 16.13, "width": 2.8, "height": 0.432, "y": 0}, - {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.432, "y": 0} + {"width": 2.80, "height": 0.432, "x": -8.065, "y": 0}, + {"width": 2.80, "height": 0.432, "x": 8.065, "y": 0}, + {"width": 4.70, "height": 0.432, "x": -3.175, "y": 0}, + {"width": 4.70, "height": 0.432, "x": 3.175, "y": 0} ] } }, @@ -337,8 +345,10 @@ "pads": { "signal": {"n": 40, "pitch": 0.8, "width": 0.46, "height": 1.45, "y": 3.086}, "planes": [ - {"n": 2, "pitch": 16.89, "width": 2.54, "height": 0.635, "y": 0}, - {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.635, "y": 0} + {"width": 2.54, "height": 0.635, "x": -8.445, "y": 0}, + {"width": 2.54, "height": 0.635, "x": 8.445, "y": 0}, + {"width": 4.70, "height": 0.635, "x": -3.175, "y": 0}, + {"width": 4.70, "height": 0.635, "x": 3.175, "y": 0} ] } }, @@ -413,8 +423,10 @@ "pads": { "signal": {"n": 40, "pitch": 0.8, "width": 0.41, "height": 2.27, "y": 2.865}, "planes": [ - {"n": 2, "pitch": 16.13, "width": 2.54, "height": 0.43, "y": 0}, - {"n": 2, "pitch": 6.35, "width": 4.7, "height": 0.43, "y": 0} + {"width": 2.54, "height": 0.430, "x": -8.065, "y": 0}, + {"width": 2.54, "height": 0.430, "x": 8.065, "y": 0}, + {"width": 4.70, "height": 0.430, "x": -3.175, "y": 0}, + {"width": 4.70, "height": 0.430, "x": 3.175, "y": 0} ] } }, diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 38e064aff..62e6c68de 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -80,7 +80,6 @@ def generate_one_footprint(param, config, default_lib): pos = {'x': x_inv * (pin1.x + (slot // 2)*pitch + b*bank_x), 'y': pin1.y - (slot % 2)*(2*pin1.y), 'n': n+1, 'slot': slot} - pin[b].append(pos) # Add position to list # Skip slots for differential banks if b < param['banks']['diff']: @@ -92,7 +91,7 @@ def generate_one_footprint(param, config, default_lib): continue # Create pad - # Create pad (both single-ended and differential) + pin[b].append(pos) # Add position to list pad = Pad(number = str(n), at = pos, size = (pad_w, pad_h), @@ -104,15 +103,14 @@ def generate_one_footprint(param, config, default_lib): # Place plane pads mid = bank1_mid + x_inv*b*bank_x # Bank midpoint - if 'planes' in param['pads']: - for plane in param['pads']['planes']: - pad = [Pad(number = "P" + str(b+1), - at = ((x - (plane['n']-1)/2)*plane['pitch'] + mid, plane['y']), - size = (plane['width'], plane['height']), - type = Pad.TYPE_SMT, - layers = Pad.LAYERS_SMT, - shape = Pad.SHAPE_RECT) for x in range(plane['n'])] - fp.extend(pad) + for plane in param['pads'].get('planes', {}): + pad = Pad(number = "P" + str(b+1), + at = (plane['x'] + mid, plane['y']), + size = (plane['width'], plane['height']), + type = Pad.TYPE_SMT, + layers = Pad.LAYERS_SMT, + shape = Pad.SHAPE_RECT) + fp.append(pad) ############################################################################ # Holes From d03cf16243d621e5994b35b0fc3da045d93e5cbd Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Sun, 27 Sep 2020 22:19:26 -0700 Subject: [PATCH 60/62] Rename Samtec connector footprints based on KLC guidelines --- .../BasicBladeAndBeam_Vertical.json | 256 +++++++++--------- .../Connector_Samtec/RazorBeam_Vertical.json | 82 +++--- .../Connector_Samtec/mPOWER_Vertical.json | 60 ++-- 3 files changed, 199 insertions(+), 199 deletions(-) diff --git a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json index eb56d8263..e004273d4 100644 --- a/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json +++ b/scripts/Connector/Connector_Samtec/BasicBladeAndBeam_Vertical.json @@ -1,8 +1,8 @@ { - "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical": { + "Samtec_BTH-030-xx-x-D_2x30_P0.5mm_Vertical": { "library": "Connector_Samtec_BasicBladeAndBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins; generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/catalog_english/bth.pdf", "tags": "connector Samtec BTH mezzanine terminal vertical" }, @@ -12,71 +12,71 @@ "signal": {"n": 60, "pitch": 0.5, "width": 0.305, "height": 1.45, "y": 3.086} } }, - "Samtec_BTH-030-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-030-xx-x-D-A_2x30_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_2x30_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 18.475, "y": -2.032}] }, - "Samtec_BTH-050-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-050-xx-x-D_2x50_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 30.0}, "banks": {"width": 26.888}, "pads": {"signal": {"n": 100}} }, - "Samtec_BTH-050-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-050-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-050-xx-x-D-A_2x50_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-050-xx-x-D_2x50_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 28.475, "y": -2.032}] }, - "Samtec_BTH-060-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-060-xx-x-D_2x60_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 35.0}, "banks": {"width": 31.888}, "pads": {"signal": {"n": 120}} }, - "Samtec_BTH-060-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-060-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-060-xx-x-D-A_2x60_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-060-xx-x-D_2x60_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 33.475, "y": -2.032}] }, - "Samtec_BTH-090-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-090-xx-x-D_2x90_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 50.0}, "banks": {"width": 46.888}, "pads": {"signal": {"n": 180}} }, - "Samtec_BTH-090-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-090-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-090-xx-x-D-A_2x90_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-090-xx-x-D_2x90_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 48.475, "y": -2.032}] }, - "Samtec_BTH-120-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-120-xx-x-D_2x120_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 65.0}, "banks": {"width": 61.888}, "pads": {"signal": {"n": 240}} }, - "Samtec_BTH-120-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-120-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-120-xx-x-D-A_2x120_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-120-xx-x-D_2x120_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 63.475, "y": -2.032}] }, - "Samtec_BTH-150-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-150-xx-x-D_2x150_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 80.0}, "banks": {"width": 76.888}, "pads": {"signal": {"n": 300}} }, - "Samtec_BTH-150-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BTH-150-xx-x-D_P0.5mm_Vertical", + "Samtec_BTH-150-xx-x-D-A_2x150_P0.5mm_Vertical": { + "inherit": "Samtec_BTH-150-xx-x-D_2x150_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 78.475, "y": -2.032}] }, - "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical": { + "Samtec_BSH-030-xx-x-D_2x30_P0.5mm_Vertical": { "library": "Connector_Samtec_BasicBladeAndBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins; generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/catalog_english/bsh.pdf", "tags": "connector Samtec BSH mezzanine socket vertical" }, @@ -86,71 +86,71 @@ "signal": {"n": 60, "pitch": 0.5, "width": 0.279, "height": 2.273, "y": 2.865} } }, - "Samtec_BSH-030-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-030-xx-x-D-A_2x30_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_2x30_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 20.126, "y": 2.67}] }, - "Samtec_BSH-050-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-050-xx-x-D_2x50_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 31.27}, "banks": {"width": 26.6}, "pads": {"signal": {"n": 100}} }, - "Samtec_BSH-050-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-050-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-050-xx-x-D-A_2x50_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-050-xx-x-D_2x50_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 30.126, "y": 2.67}] }, - "Samtec_BSH-060-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-060-xx-x-D_2x60_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 36.27}, "banks": {"width": 31.6}, "pads": {"signal": {"n": 120}} }, - "Samtec_BSH-060-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-060-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-060-xx-x-D-A_2x60_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-060-xx-x-D_2x60_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 35.126, "y": 2.67}] }, - "Samtec_BSH-090-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-090-xx-x-D_2x90_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 51.27}, "banks": {"width": 46.6}, "pads": {"signal": {"n": 180}} }, - "Samtec_BSH-090-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-090-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-090-xx-x-D-A_2x90_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-090-xx-x-D_2x90_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 50.126, "y": 2.67}] }, - "Samtec_BSH-120-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-120-xx-x-D_2x120_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 66.27}, "banks": {"width": 61.6}, "pads": {"signal": {"n": 240}} }, - "Samtec_BSH-120-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-120-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-120-xx-x-D-A_2x120_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-120-xx-x-D_2x120_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 65.126, "y": 2.67}] }, - "Samtec_BSH-150-xx-x-D_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-030-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-150-xx-x-D_2x150_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-030-xx-x-D_2x30_P0.5mm_Vertical", "layout": {"width": 81.27}, "banks": {"width": 76.6}, "pads": {"signal": {"n": 300}} }, - "Samtec_BSH-150-xx-x-D-A_P0.5mm_Vertical": { - "inherit": "Samtec_BSH-150-xx-x-D_P0.5mm_Vertical", + "Samtec_BSH-150-xx-x-D-A_2x150_P0.5mm_Vertical": { + "inherit": "Samtec_BSH-150-xx-x-D_2x150_P0.5mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 80.126, "y": 2.67}] }, - "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical": { + "Samtec_BTS-025-xx-x-D_2x25_P0.635mm_Vertical": { "library": "Connector_Samtec_BasicBladeAndBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins; generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/catalog_english/bts.pdf", "tags": "connector Samtec BTS mezzanine terminal vertical" }, @@ -160,49 +160,49 @@ "signal": {"n": 50, "pitch": 0.635, "width": 0.432, "height": 1.45, "y": 3.086} } }, - "Samtec_BTS-025-xx-x-D-A_P0.635mm_Vertical": { - "inherit": "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical", + "Samtec_BTS-025-xx-x-D-A_2x25_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-025-xx-x-D_2x25_P0.635mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, - "Samtec_BTS-050-xx-x-D_P0.635mm_Vertical": { - "inherit": "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical", + "Samtec_BTS-050-xx-x-D_2x50_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-025-xx-x-D_2x25_P0.635mm_Vertical", "layout": {"width": 35.88}, "banks": {"width": 32.77}, "pads": {"signal": {"n": 100}} }, - "Samtec_BTS-050-xx-x-D-A_P0.635mm_Vertical": { - "inherit": "Samtec_BTS-050-xx-x-D_P0.635mm_Vertical", + "Samtec_BTS-050-xx-x-D-A_2x50_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-050-xx-x-D_2x50_P0.635mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 34.35, "y": -2.032}] }, - "Samtec_BTS-075-xx-x-D_P0.635mm_Vertical": { - "inherit": "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical", + "Samtec_BTS-075-xx-x-D_2x75_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-025-xx-x-D_2x25_P0.635mm_Vertical", "layout": {"width": 51.76}, "banks": {"width": 48.65}, "pads": {"signal": {"n": 150}} }, - "Samtec_BTS-075-xx-x-D-A_P0.635mm_Vertical": { - "inherit": "Samtec_BTS-075-xx-x-D_P0.635mm_Vertical", + "Samtec_BTS-075-xx-x-D-A_2x75_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-075-xx-x-D_2x75_P0.635mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 50.23, "y": -2.032}] }, - "Samtec_BTS-100-xx-x-D_P0.635mm_Vertical": { - "inherit": "Samtec_BTS-025-xx-x-D_P0.635mm_Vertical", + "Samtec_BTS-100-xx-x-D_2x100_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-025-xx-x-D_2x25_P0.635mm_Vertical", "layout": {"width": 67.63}, "banks": {"width": 64.52}, "pads": {"signal": {"n": 200}} }, - "Samtec_BTS-100-xx-x-D-A_P0.635mm_Vertical": { - "inherit": "Samtec_BTS-100-xx-x-D_P0.635mm_Vertical", + "Samtec_BTS-100-xx-x-D-A_2x100_P0.635mm_Vertical": { + "inherit": "Samtec_BTS-100-xx-x-D_2x100_P0.635mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 66.10, "y": -2.032}] }, - "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical": { + "Samtec_BSS-025-xx-x-D_2x25_P0.635mm_Vertical": { "library": "Connector_Samtec_BasicBladeAndBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.3f}mm Basic Blade & Beam {type:s}; {pins:d} pins; generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/catalog_english/bss.pdf", "tags": "connector Samtec BSS mezzanine socket vertical" }, @@ -212,49 +212,49 @@ "signal": {"n": 50, "pitch": 0.635, "width": 0.406, "height": 2.273, "y": 2.865} } }, - "Samtec_BSS-025-xx-x-D-A_P0.635mm_Vertical": { - "inherit": "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical", + "Samtec_BSS-025-xx-x-D-A_2x25_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-025-xx-x-D_2x25_P0.635mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 20.00, "y": 2.67}] }, - "Samtec_BSS-050-xx-x-D_P0.635mm_Vertical": { - "inherit": "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical", + "Samtec_BSS-050-xx-x-D_2x50_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-025-xx-x-D_2x25_P0.635mm_Vertical", "layout": {"width": 37.15}, "banks": {"width": 32.52}, "pads": {"signal": {"n": 100}} }, - "Samtec_BSS-050-xx-x-D-A_P0.635mm_Vertical": { - "inherit": "Samtec_BSS-050-xx-x-D_P0.635mm_Vertical", + "Samtec_BSS-050-xx-x-D-A_2x50_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-050-xx-x-D_2x50_P0.635mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 35.88, "y": 2.67}] }, - "Samtec_BSS-075-xx-x-D_P0.635mm_Vertical": { - "inherit": "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical", + "Samtec_BSS-075-xx-x-D_2x75_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-025-xx-x-D_2x25_P0.635mm_Vertical", "layout": {"width": 53.02}, "banks": {"width": 48.39}, "pads": {"signal": {"n": 150}} }, - "Samtec_BSS-075-xx-x-D-A_P0.635mm_Vertical": { - "inherit": "Samtec_BSS-075-xx-x-D_P0.635mm_Vertical", + "Samtec_BSS-075-xx-x-D-A_2x75_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-075-xx-x-D_2x75_P0.635mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 51.75, "y": 2.67}] }, - "Samtec_BSS-100-xx-x-D_P0.635mm_Vertical": { - "inherit": "Samtec_BSS-025-xx-x-D_P0.635mm_Vertical", + "Samtec_BSS-100-xx-x-D_2x100_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-025-xx-x-D_2x25_P0.635mm_Vertical", "layout": {"width": 68.90}, "banks": {"width": 64.27}, "pads": {"signal": {"n": 200}} }, - "Samtec_BSS-100-xx-x-D-A_P0.635mm_Vertical": { - "inherit": "Samtec_BSS-100-xx-x-D_P0.635mm_Vertical", + "Samtec_BSS-100-xx-x-D-A_2x100_P0.635mm_Vertical": { + "inherit": "Samtec_BSS-100-xx-x-D_2x100_P0.635mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 67.63, "y": 2.67}] }, - "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical": { + "Samtec_BTE-020-xx-x-D_2x20_P0.8mm_Vertical": { "library": "Connector_Samtec_BasicBladeAndBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins; generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/catalog_english/bte.pdf", "tags": "connector Samtec BTE mezzanine terminal vertical" }, @@ -264,71 +264,71 @@ "signal": {"n": 40, "pitch": 0.8, "width": 0.305, "height": 1.45, "y": 3.086} } }, - "Samtec_BTE-020-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-020-xx-x-D-A_2x20_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_2x20_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 18.48, "y": -2.032}] }, - "Samtec_BTE-040-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-040-xx-x-D_2x40_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 36.0}, "banks": {"width": 32.88}, "pads": {"signal": {"n": 80}} }, - "Samtec_BTE-040-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-040-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-040-xx-x-D-A_2x40_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-040-xx-x-D_2x40_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 34.48, "y": -2.032}] }, - "Samtec_BTE-060-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-060-xx-x-D_2x60_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 52.0}, "banks": {"width": 48.88}, "pads": {"signal": {"n": 120}} }, - "Samtec_BTE-060-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-060-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-060-xx-x-D-A_2x60_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-060-xx-x-D_2x60_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 50.48, "y": -2.032}] }, - "Samtec_BTE-080-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-080-xx-x-D_2x80_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 68.0}, "banks": {"width": 64.88}, "pads": {"signal": {"n": 160}} }, - "Samtec_BTE-080-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-080-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-080-xx-x-D-A_2x80_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-080-xx-x-D_2x80_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 66.48, "y": -2.032}] }, - "Samtec_BTE-100-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-100-xx-x-D_2x100_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 84.0}, "banks": {"width": 80.88}, "pads": {"signal": {"n": 200}} }, - "Samtec_BTE-100-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-100-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-100-xx-x-D-A_2x100_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-100-xx-x-D_2x100_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 82.48, "y": -2.032}] }, - "Samtec_BTE-120-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-120-xx-x-D_2x120_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 100.0}, "banks": {"width": 96.88}, "pads": {"signal": {"n": 240}} }, - "Samtec_BTE-120-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BTE-120-xx-x-D_P0.8mm_Vertical", + "Samtec_BTE-120-xx-x-D-A_2x120_P0.8mm_Vertical": { + "inherit": "Samtec_BTE-120-xx-x-D_2x120_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 98.48, "y": -2.032}] }, - "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical": { + "Samtec_BSE-020-xx-x-D_2x20_P0.8mm_Vertical": { "library": "Connector_Samtec_BasicBladeAndBeam", "meta": { - "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins ({ds:s}); generated with kicad-footprint-generator", + "description": "Samtec {pn:s} {pitch:1.2f}mm Basic Blade & Beam {type:s}; {pins:d} pins; generated with kicad-footprint-generator", "datasheet": "http://suddendocs.samtec.com/catalog_english/bse.pdf", "tags": "connector Samtec BSE mezzanine socket vertical" }, @@ -338,63 +338,63 @@ "signal": {"n": 40, "pitch": 0.8, "width": 0.41, "height": 2.27, "y": 2.865} } }, - "Samtec_BSE-020-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-020-xx-x-D-A_2x20_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_2x20_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 20.13, "y": 2.67}] }, - "Samtec_BSE-040-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-040-xx-x-D_2x40_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 37.27}, "banks": {"width": 32.64}, "pads": {"signal": {"n": 80}} }, - "Samtec_BSE-040-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-040-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-040-xx-x-D-A_2x40_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-040-xx-x-D_2x40_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 36.13, "y": 2.67}] }, - "Samtec_BSE-060-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-060-xx-x-D_2x60_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 53.27}, "banks": {"width": 48.64}, "pads": {"signal": {"n": 120}} }, - "Samtec_BSE-060-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-060-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-060-xx-x-D-A_2x60_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-060-xx-x-D_2x60_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 52.13, "y": 2.67}] }, - "Samtec_BSE-080-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-080-xx-x-D_2x80_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 69.27}, "banks": {"width": 64.64}, "pads": {"signal": {"n": 160}} }, - "Samtec_BSE-080-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-080-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-080-xx-x-D-A_2x80_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-080-xx-x-D_2x80_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 68.13, "y": 2.67}] }, - "Samtec_BSE-100-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-100-xx-x-D_2x100_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 85.27}, "banks": {"width": 80.64}, "pads": {"signal": {"n": 200}} }, - "Samtec_BSE-100-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-100-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-100-xx-x-D-A_2x100_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-100-xx-x-D_2x100_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 84.13, "y": 2.67}] }, - "Samtec_BSE-120-xx-x-D_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-020-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-120-xx-x-D_2x120_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-020-xx-x-D_2x20_P0.8mm_Vertical", "layout": {"width": 101.27}, "banks": {"width": 96.64}, "pads": {"signal": {"n": 240}} }, - "Samtec_BSE-120-xx-x-D-A_P0.8mm_Vertical": { - "inherit": "Samtec_BSE-120-xx-x-D_P0.8mm_Vertical", + "Samtec_BSE-120-xx-x-D-A_2x120_P0.8mm_Vertical": { + "inherit": "Samtec_BSE-120-xx-x-D_2x120_P0.8mm_Vertical", "add-tags": "alignment-pins", "holes": [{"drill": 1.0, "space": 100.13, "y": 2.67}] } diff --git a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json index 67d2936c3..a0ee90ba5 100644 --- a/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json +++ b/scripts/Connector/Connector_Samtec/RazorBeam_Vertical.json @@ -1,5 +1,5 @@ { - "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical": { + "Samtec_LSHM-105-xx.x-x-DV-A-N_2x05_P0.5mm_Vertical": { "library": "Connector_Samtec_RazorBeam", "meta": { "description": "Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip", @@ -10,74 +10,74 @@ "pads": {"n": 10, "pitch": 0.5, "y": 1.85, "width": 0.3, "height": 1.5}, "holes": [{"drill": 1.45, "space": 4.5, "y": -0.85}] }, - "Samtec_LSHM-105-xx.x-x-DV-A-S_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-105-xx.x-x-DV-A-S_2x05-1SH_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_2x05_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, "+holes": [{"drill": 1.0, "pad": 1.5, "space": 7.45, "y": 1.15, "name": "SH"}] }, - "Samtec_LSHM-110-xx.x-x-DV-A-N_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-110-xx.x-x-DV-A-N_2x10_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_2x05_P0.5mm_Vertical", "layout": {"width": 9.70}, "pads": {"n": 20}, "holes": [{"drill": 1.45, "space": 7.0, "y": -0.85}] }, - "Samtec_LSHM-110-xx.x-x-DV-A-S_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-110-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-110-xx.x-x-DV-A-S_2x10-1SH_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-110-xx.x-x-DV-A-N_2x10_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, "+holes": [{"drill": 1.0, "pad": 1.5, "space": 9.95, "y": 1.15, "name": "SH"}] }, - "Samtec_LSHM-120-xx.x-x-DV-A-N_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-120-xx.x-x-DV-A-N_2x20_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_2x05_P0.5mm_Vertical", "layout": {"width": 14.70}, "pads": {"n": 40}, "holes": [{"drill": 1.45, "space": 12.0, "y": -0.85}] }, - "Samtec_LSHM-120-xx.x-x-DV-A-S_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-120-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-120-xx.x-x-DV-A-S_2x20-1SH_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-120-xx.x-x-DV-A-N_2x20_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, "+holes": [{"drill": 1.0, "pad": 1.5, "space": 14.95, "y": 1.15, "name": "SH"}] }, - "Samtec_LSHM-130-xx.x-x-DV-A-N_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-130-xx.x-x-DV-A-N_2x30_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_2x05_P0.5mm_Vertical", "layout": {"width": 19.70}, "pads": {"n": 60}, "holes": [{"drill": 1.45, "space": 17.0, "y": -0.85}] }, - "Samtec_LSHM-130-xx.x-x-DV-A-S_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-130-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-130-xx.x-x-DV-A-S_2x30-1SH_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-130-xx.x-x-DV-A-N_2x30_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, "+holes": [{"drill": 1.0, "pad": 1.5, "space": 19.95, "y": 1.15, "name": "SH"}] }, - "Samtec_LSHM-140-xx.x-x-DV-A-N_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-140-xx.x-x-DV-A-N_2x40_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_2x05_P0.5mm_Vertical", "layout": {"width": 24.70}, "pads": {"n": 80}, "holes": [{"drill": 1.45, "space": 22.0, "y": -0.85}] }, - "Samtec_LSHM-140-xx.x-x-DV-A-S_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-140-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-140-xx.x-x-DV-A-S_2x40-1SH_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-140-xx.x-x-DV-A-N_2x40_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, "+holes": [{"drill": 1.0, "pad": 1.5, "space": 24.95, "y": 1.15, "name": "SH"}] }, - "Samtec_LSHM-150-xx.x-x-DV-A-N_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-150-xx.x-x-DV-A-N_2x50_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-105-xx.x-x-DV-A-N_2x05_P0.5mm_Vertical", "layout": {"width": 29.70}, "pads": {"n": 100}, "holes": [{"drill": 1.45, "space": 27.0, "y": -0.85}] }, - "Samtec_LSHM-150-xx.x-x-DV-A-S_P0.5mm_Vertical": { - "inherit": "Samtec_LSHM-150-xx.x-x-DV-A-N_P0.5mm_Vertical", + "Samtec_LSHM-150-xx.x-x-DV-A-S_2x50-1SH_P0.5mm_Vertical": { + "inherit": "Samtec_LSHM-150-xx.x-x-DV-A-N_2x50_P0.5mm_Vertical", "meta": {"+tags": " shield"}, "layout": {"+width": 1.1}, "+holes": [{"drill": 1.0, "pad": 1.5, "space": 29.95, "y": 1.15, "name": "SH"}] }, - "Samtec_LSS-105-xx-x-DV-A_P0.635mm_Vertical": { + "Samtec_LSS-105-xx-x-DV-A_2x05_P0.635mm_Vertical": { "library": "Connector_Samtec_RazorBeam", "meta": { "description": "Samtec {pn:s} {pitch:1.3f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip, ", @@ -88,38 +88,38 @@ "pads": {"n": 10, "pitch": 0.635, "y": 1.8, "width": 0.4, "height": 1.6}, "holes": [{"drill": 0.89, "space": 4.675, "y": 1.1}] }, - "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical": { - "inherit": "Samtec_LSS-105-xx-x-DV-A_P0.635mm_Vertical", + "Samtec_LSS-110-xx-x-DV-A_2x10_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-105-xx-x-DV-A_2x05_P0.635mm_Vertical", "layout": {"width": 11.10}, "pads": {"n": 20}, "holes": [{"drill": 0.89, "space": 7.85, "y": 1.1}] }, - "Samtec_LSS-120-xx-x-DV-A_P0.635mm_Vertical": { - "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", + "Samtec_LSS-120-xx-x-DV-A_2x20_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-105-xx-x-DV-A_2x05_P0.635mm_Vertical", "layout": {"width": 17.45}, "pads": {"n": 40}, "holes": [{"drill": 0.89, "space": 14.20, "y": 1.1}] }, - "Samtec_LSS-130-xx-x-DV-A_P0.635mm_Vertical": { - "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", + "Samtec_LSS-130-xx-x-DV-A_2x30_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-105-xx-x-DV-A_2x05_P0.635mm_Vertical", "layout": {"width": 23.8}, "pads": {"n": 60}, "holes": [{"drill": 0.89, "space": 20.55, "y": 1.1}] }, - "Samtec_LSS-140-xx-x-DV-A_P0.635mm_Vertical": { - "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", + "Samtec_LSS-140-xx-x-DV-A_2x40_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-105-xx-x-DV-A_2x05_P0.635mm_Vertical", "layout": {"width": 30.15}, "pads": {"n": 80}, "holes": [{"drill": 0.89, "space": 26.90, "y": 1.1}] }, - "Samtec_LSS-150-xx-x-DV-A_P0.635mm_Vertical": { - "inherit": "Samtec_LSS-110-xx-x-DV-A_P0.635mm_Vertical", + "Samtec_LSS-150-xx-x-DV-A_2x50_P0.635mm_Vertical": { + "inherit": "Samtec_LSS-105-xx-x-DV-A_2x05_P0.635mm_Vertical", "layout": {"width": 36.5}, "pads": {"n": 100}, "holes": [{"drill": 0.89, "space": 33.25, "y": 1.1}] }, - "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical": { + "Samtec_LSEM-120-xx.x-x-DV-A-N_2x20_P0.8mm_Vertical": { "library": "Connector_Samtec_RazorBeam", "meta": { "description": "Samtec {pn:s} {pitch:1.2f}mm Razor Beam High-Speed Hermaphroditic Terminal/Socket Strip", @@ -130,20 +130,20 @@ "pads": {"n": 40, "pitch": 0.8, "y": 1.85, "width": 0.38, "height": 1.5}, "holes": [{"drill": 1.5, "space": 17.7, "y": -0.95}] }, - "Samtec_LSEM-130-xx.x-x-DV-A-N_P0.8mm_Vertical": { - "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical", + "Samtec_LSEM-130-xx.x-x-DV-A-N_2x30_P0.8mm_Vertical": { + "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_2x20_P0.8mm_Vertical", "layout": {"width": 28.4}, "pads": {"n": 60}, "holes": [{"drill": 1.5, "space": 25.7, "y": -1.1}] }, - "Samtec_LSEM-140-xx.x-x-DV-A-N_P0.8mm_Vertical": { - "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical", + "Samtec_LSEM-140-xx.x-x-DV-A-N_2x40_P0.8mm_Vertical": { + "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_2x20_P0.8mm_Vertical", "layout": {"width": 36.4}, "pads": {"n": 80}, "holes": [{"drill": 1.5, "space": 33.7, "y": -1.1}] }, - "Samtec_LSEM-150-xx.x-x-DV-A-N_P0.8mm_Vertical": { - "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_P0.8mm_Vertical", + "Samtec_LSEM-150-xx.x-x-DV-A-N_2x50_P0.8mm_Vertical": { + "inherit": "Samtec_LSEM-120-xx.x-x-DV-A-N_2x20_P0.8mm_Vertical", "layout": {"width": 44.4}, "pads": {"n": 100}, "holes": [{"drill": 1.5, "space": 41.7, "y": -1.1}] diff --git a/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json index da2810a6b..dcbfad513 100644 --- a/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json +++ b/scripts/Connector/Connector_Samtec/mPOWER_Vertical.json @@ -1,5 +1,5 @@ { - "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical": { + "Samtec_UMPT-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical": { "library": "Connector_Samtec", "meta": { "description": "Samtec {pn:s} {pitch:1.2f}mm Ultra Micro Power Terminal", @@ -9,8 +9,8 @@ "layout": {"type": "Terminal", "width": [11.3], "height": 7.6}, "pads": {"n": 2, "pitch": 2.0, "width": 1.25, "height": 3.5} }, - "Samtec_UMPT-02-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { - "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPT-02-xx.x-x-VT-SM-WT_2x02-1MP_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ {"drill": 0.8, "pad": 1.3, "x": 4.85, "y": 0.3, "name": "MP"}, @@ -19,13 +19,13 @@ {"drill": 0.8, "pad": 1.3, "x": -4.85, "y": -1.2, "name": "MP"} ] }, - "Samtec_UMPT-03-xx.x-x-VT-SM_P2.0mm_Vertical": { - "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPT-03-xx.x-x-VT-SM_2x03_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical", "layout": {"width": [13.3]}, "pads": {"n": 3} }, - "Samtec_UMPT-03-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { - "inherit": "Samtec_UMPT-03-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPT-03-xx.x-x-VT-SM-WT_2x03-1MP_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-03-xx.x-x-VT-SM_2x03_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ {"drill": 0.8, "pad": 1.3, "x": 5.85, "y": 0.3, "name": "MP"}, @@ -34,13 +34,13 @@ {"drill": 0.8, "pad": 1.3, "x": -5.85, "y": -1.2, "name": "MP"} ] }, - "Samtec_UMPT-04-xx.x-x-VT-SM_P2.0mm_Vertical": { - "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPT-04-xx.x-x-VT-SM_2x04_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical", "layout": {"width": [15.3]}, "pads": {"n": 4} }, - "Samtec_UMPT-04-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { - "inherit": "Samtec_UMPT-04-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPT-04-xx.x-x-VT-SM-WT_2x04-1MP_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-04-xx.x-x-VT-SM_2x04_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ {"drill": 0.8, "pad": 1.3, "x": 6.85, "y": 0.3, "name": "MP"}, @@ -49,13 +49,13 @@ {"drill": 0.8, "pad": 1.3, "x": -6.85, "y": -1.2, "name": "MP"} ] }, - "Samtec_UMPT-05-xx.x-x-VT-SM_P2.0mm_Vertical": { - "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPT-05-xx.x-x-VT-SM_2x05_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical", "layout": {"width": [17.3]}, "pads": {"n": 5} }, - "Samtec_UMPT-05-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { - "inherit": "Samtec_UMPT-05-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPT-05-xx.x-x-VT-SM-WT_2x05-1MP_P2.0mm_Vertical": { + "inherit": "Samtec_UMPT-05-xx.x-x-VT-SM_2x05_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ {"drill": 0.8, "pad": 1.3, "x": 7.85, "y": 0.3, "name": "MP"}, @@ -65,7 +65,7 @@ ] }, - "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical": { + "Samtec_UMPS-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical": { "library": "Connector_Samtec", "meta": { "description": "Samtec {pn:s} {pitch:1.2f}mm Ultra Micro Power Socket", @@ -75,8 +75,8 @@ "layout": {"type": "Socket", "width": [9.05, 7.65], "height": 6.2}, "pads": {"n": 2, "pitch": 2.0, "width": 1.30, "height": 3.5} }, - "Samtec_UMPS-02-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { - "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPS-02-xx.x-x-VT-SM-WT_2x02-1MP_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ {"drill": 0.8, "pad": 1.3, "x": -3.0, "y": 0.5, "name": "MP"}, @@ -85,13 +85,13 @@ {"drill": 0.8, "pad": 1.3, "x": 3.0, "y": -1.0, "name": "MP"} ] }, - "Samtec_UMPS-03-xx.x-x-VT-SM_P2.0mm_Vertical": { - "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPS-03-xx.x-x-VT-SM_2x03_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical", "layout": {"width": [11.05, 9.65]}, "pads": {"n": 3} }, - "Samtec_UMPS-03-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { - "inherit": "Samtec_UMPS-03-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPS-03-xx.x-x-VT-SM-WT_2x03-1MP_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-03-xx.x-x-VT-SM_2x03_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ {"drill": 0.8, "pad": 1.3, "x": -4.0, "y": 0.5, "name": "MP"}, @@ -100,13 +100,13 @@ {"drill": 0.8, "pad": 1.3, "x": 4.0, "y": -1.0, "name": "MP"} ] }, - "Samtec_UMPS-04-xx.x-x-VT-SM_P2.0mm_Vertical": { - "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPS-04-xx.x-x-VT-SM_2x04_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical", "layout": {"width": [13.05, 11.65]}, "pads": {"n": 4} }, - "Samtec_UMPS-04-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { - "inherit": "Samtec_UMPS-04-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPS-04-xx.x-x-VT-SM-WT_2x04-1MP_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-04-xx.x-x-VT-SM_2x04_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ {"drill": 0.8, "pad": 1.3, "x": -5.0, "y": 0.5, "name": "MP"}, @@ -115,13 +115,13 @@ {"drill": 0.8, "pad": 1.3, "x": 5.0, "y": -1.0, "name": "MP"} ] }, - "Samtec_UMPS-05-xx.x-x-VT-SM_P2.0mm_Vertical": { - "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPS-05-xx.x-x-VT-SM_2x05_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-02-xx.x-x-VT-SM_2x02_P2.0mm_Vertical", "layout": {"width": [15.05, 13.65]}, "pads": {"n": 5} }, - "Samtec_UMPS-05-xx.x-x-VT-SM-WT_P2.0mm_Vertical": { - "inherit": "Samtec_UMPS-05-xx.x-x-VT-SM_P2.0mm_Vertical", + "Samtec_UMPS-05-xx.x-x-VT-SM-WT_2x05-1MP_P2.0mm_Vertical": { + "inherit": "Samtec_UMPS-05-xx.x-x-VT-SM_2x05_P2.0mm_Vertical", "meta": {"+tags": " weld-tab"}, "holes": [ {"drill": 0.8, "pad": 1.3, "x": -6.0, "y": 0.5, "name": "MP"}, From 2b7bd67fc16e893406a441c3c1c610012417b7ac Mon Sep 17 00:00:00 2001 From: Caleb Reister <calebreister@gmail.com> Date: Fri, 2 Oct 2020 08:30:54 -0700 Subject: [PATCH 61/62] Remove outdated QStrip_Horizontal script and YAML file --- .../Connector_Samtec/QStrip_Horizontal.py | 418 ------------------ .../Connector_Samtec/QStrip_Horizontal.yaml | 39 -- .../Connector_Samtec/QStrip_Vertical.py | 4 +- 3 files changed, 2 insertions(+), 459 deletions(-) delete mode 100755 scripts/Connector/Connector_Samtec/QStrip_Horizontal.py delete mode 100644 scripts/Connector/Connector_Samtec/QStrip_Horizontal.yaml diff --git a/scripts/Connector/Connector_Samtec/QStrip_Horizontal.py b/scripts/Connector/Connector_Samtec/QStrip_Horizontal.py deleted file mode 100755 index e67554642..000000000 --- a/scripts/Connector/Connector_Samtec/QStrip_Horizontal.py +++ /dev/null @@ -1,418 +0,0 @@ -#!/usr/bin/python - -# This file is part of kicad-footprint-generator. -# -# kicad-footprint-generator is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# kicad-footprint-generator is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. You should have received a copy of the GNU General Public -# License along with kicad-footprint-generator. If not, see -# <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2019 by Caleb Reister <calebreister@gmail.com> -# - -""" -YAML footprint specification ---- -Footprint_Name: - library: 'library name' # [optional] KiCad library to use, overrides default - meta: # Footprint metadata - pn: 'part number' # [optional] overrides automatic part number detection - description: 'Brief description of the footprint' - tags: 'KiCad tags go here' - datasheet: 'URL(s) to footprint datasheet' - add-tags: 'more tags' # [optional] extends the tag list - layout: # General footprint layout/drawing data - type: '(Terminal|Socket)' # sets Pin 1 position and drawing mode - width: !!float mm # [cosmetic] overall width of the connector - height: !!float mm # [cosmetic] overall height of the connector - y: !!float mm # [cosmetic] y-offset used to draw connector outline - edge: !!float mm # y-offset of PCB edge - banks: - n: !!uint # number of banks in the connector - diff: !!uint # number of differential banks - space: !!float mm # distance between adjacent banks - width: !!float mm # width of bank outline drawn on F.Fab - height: !!float mm # height of bank outline drawn on F.Fab - pads: - signal: # signal pin parameters - n: !!uint # Number of pin slots on a bank - rows: !!uint # Number of pin rows - pitch: !!float mm - width: !!float mm # Pad width - height: !!float mm # Pad height - y: [!!float mm, ...] # y-offset for each pin row - plane: # plane parameters - n: !!uint # Number of holes for plane connection - pitch: !!float mm - y: !!float mm # y-offset of plane holes - drill: !!float mm # drill diameter - pad: !!float mm # pad diameter - holes: # [optional] hole pair specifications, mirrored about y axis - - # Hole spec. 1 - name: "" # [optional] name/number for plated holes - n: !!uint # number of holes to drill - drill: !!float mm # drill diameter (a list produces an oval) - pad: !!float mm # [optional] PTH pad diameter (a list produces an oval) - space: !!float mm # distance between holes mirrored about the y-axis - y: !!float mm # vertical offset - - # Hole spec. 2... -... -""" - -import sys -import os -import argparse -from copy import deepcopy -from math import * -import yaml - -# Load parent path of KicadModTree -sys.path.append(os.path.join(sys.path[0], "..", "..", "..")) -sys.path.append(os.path.join(sys.path[0], "..", "..", "tools")) - -from KicadModTree import * -from footprint_text_fields import addTextFields -from helpers import * - -def generate_one_footprint(param, config, default_lib): - fp = Footprint(param['name']) - - # Terminal or Socket mode - mode = param['layout']['type'].capitalize() - - # Bank parameters - banks = param['banks']['n'] - bank_x = param['banks']['space'] - bank_w = param['banks']['width'] - bank_h = param['banks']['height'] - - ############################################################################ - # Copper layer(s) - - # Signal pad parameters - pad_pitch = param['pads']['signal']['pitch'] - pad_rows = param['pads']['signal']['rows'] - pad_w = param['pads']['signal']['width'] - pad_h = param['pads']['signal']['height'] - pad_y = param['pads']['signal']['y'] - pad_n = param['pads']['signal']['n'] - - # Plane parameters - plane_pitch = param['pads']['plane']['pitch'] - plane_d = param['pads']['plane']['drill'] - plane_p = param['pads']['plane']['pad'] - plane_y = param['pads']['plane']['y'] - plane_n = param['pads']['plane']['n'] - - # Terminal or Socket mode - mode = param['layout']['type'].capitalize() - if mode == "Terminal": - x_inv = 1 - elif mode == "Socket": - x_inv = -1 - else: - raise ValueError("Connector type must be either 'Terminal' or 'Socket'") - - # Pin 1 position - pin1 = Vector2D(0,0) - pin1.x = -(pad_n/4)*pad_pitch + pad_pitch/2 - ((banks-1) / 2)*bank_x - pin1.y = pad_y[0] - - # Bank 1 center point - bank1_mid = pin1.x - pad_pitch/2 + (pad_n / 4)*pad_pitch - - # Place signal pads - n = 1 # Pin counter - pin = [] # Pin position list, organized by bank - for b in range(banks): - pin.append([]) - for slot in range(pad_n): - # Compute next pad location - for r in range(pad_rows): - pos = {'x': pin1.x + (slot // pad_rows)*pad_pitch + b*bank_x, - 'y': pad_y[slot % 2], - 'n': n+1, 'slot': slot} - - # Skip slots for differential banks - if b < param['banks']['diff']: - if ((slot+1) % 6 == 0 or # Skip every 3rd odd slot - (slot+2) % 6 == 0 or # Skip every 3rd even slot - # Only add end-of-bank pins if they are completing a pair - (slot+2 >= pad_n and - pin[b][-2]['slot'] != slot-2)): - continue - - # Create pad - pin[b].append(pos) # Add position to list - # Create pad (both single-ended and differential) - pad = Pad(number = str(n), - at = pos, - size = (pad_w, pad_h), - type = Pad.TYPE_SMT, - layers = Pad.LAYERS_SMT, - shape = Pad.SHAPE_RECT) - fp.append(pad) - n += 1 - - mid = bank1_mid + b*bank_x # Bank midpoint - for h in range(plane_n): - hole = Pad(number = "P" + str(b+1), - at = ((h - (plane_n-1)/2)*plane_pitch + mid, plane_y), - drill = plane_d, - size = plane_p, - type = Pad.TYPE_THT, - layers = Pad.LAYERS_THT, - shape = Pad.SHAPE_CIRCLE) - fp.append(hole) - - ############################################################################ - # Holes - if 'holes' in param: - for hole in param['holes']: - drill = hole['drill'] - shape = Pad.SHAPE_CIRCLE if type(drill) is float else Pad.SHAPE_OVAL - holes = [Pad(number = "MP" if 'pad' in hole else "", - at = ((h/(hole['n']-1) - 1/2)*hole['space'], hole['y']), - drill = drill, - size = hole['pad'] if 'pad' in hole else drill, - type = Pad.TYPE_THT if 'pad' in hole else Pad.TYPE_NPTH, - layers = Pad.LAYERS_THT if 'pad' in hole else Pad.LAYERS_NPTH, - shape = shape) for h in range(hole['n'])] - fp.extend(holes) - - ############################################################################ - # Fabrication layer: F.Fab - fab_line = config['fab_line_width'] - fab_mark = config['fab_pin1_marker_length'] - fab_w = param['layout']['width'] if 'width' not in param else param['width'] - fab_h = param['layout']['height'] - fab_y = param['layout']['y'] - fab_edge = fab_w/2 - - if param['layout']['type'] == "Terminal": - # Draw left and right outlines - # Angle measured from 3D model of QTH-060-01-L-D-RA - fab_end = [[banks*bank_x/2, pin1.y], - [banks*bank_x/2 + (fab_y-fab_h-pin1.y)/tan(-1.112), fab_y-fab_h], - [fab_w/2, fab_y-fab_h], - [fab_w/2, fab_y], - [banks*bank_x/2, fab_y]] - fp.append(PolygoneLine(nodes = fab_end, - layer = "F.Fab", - width = fab_line)) - fp.append(PolygoneLine(nodes = fab_end, - layer = "F.Fab", - width = fab_line, - x_mirror = 0)) - fp.append(Line(start = (-banks*bank_x/2, pin1.y), - end = ( banks*bank_x/2, pin1.y), - layer = "F.Fab", - width = fab_line)) - # Terminal outline - fp.append(RectLine(start = (-banks*bank_x/2, fab_y), - end = ( banks*bank_x/2, fab_y + bank_h), - layer = "F.Fab", - width = fab_line)) - - ############################################################################ - # Silkscreen: F.SilkS - silk_offset = config['silk_fab_offset'] - silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, - 'y': config['silk_pad_clearance'] + pad_h/2} - silk_line = config['silk_line_width'] - silk_pad = {'x': config['silk_pad_clearance'] + pad_w/2, - 'y': config['silk_pad_clearance'] + pad_h/2} - - # Draw silkscreen end outlines - silk_end = fab_end.copy() - silk_end.pop() - silk_end_offset = [(-silk_offset, -silk_offset), - (-silk_offset, -silk_offset), - ( silk_offset, -silk_offset), - ( silk_offset, 0)] - for a in range(len(silk_end)): - for b in range(2): - silk_end[a][b] += silk_end_offset[a][b] - - fp.append(PolygoneLine(nodes = silk_end, - layer = "F.SilkS", - width = silk_line)) - fp.append(PolygoneLine(nodes = silk_end, - layer = "F.SilkS", - width = silk_line, - x_mirror = 0)) - - # Extend end outlines to pins - fp.append(Line(start = (-banks*bank_x/2+silk_offset, pin1.y-silk_offset), - end = (pin[0][0]['x']-silk_pad['x'], pin1.y-silk_offset), - layer = "F.SilkS", - width = silk_line)) - fp.append(Line(start = (banks*bank_x/2-silk_offset, pin1.y-silk_offset), - end = (pin[-1][-1]['x']+silk_pad['x'], pin1.y-silk_offset), - layer = "F.SilkS", - width = silk_line)) - - # Pin 1 indicator - fp.append(markerArrow(x = pin[0][0]['x'], - y = pin[0][0]['y'] - silk_pad['y'], - width = fab_mark / 2, - line_width = silk_line, - angle = 180, - layer = "F.SilkS")) - - # Draw outlines between banks - for b in range(banks-1): - fp.append(Line(start = (pin[b][-1]['x'] + x_inv*silk_pad['x'], pin1.y-silk_offset), - end = (pin[b+1][0]['x'] - x_inv*silk_pad['x'], pin1.y-silk_offset), - layer = "F.SilkS", - width = silk_line)) - - ############################################################################ - # PCB Edge: Dwgs.User - fp.append(Line(start = (-fab_edge, fab_y + param['layout']['edge']), - end = ( fab_edge, fab_y + param['layout']['edge']), - layer = "Dwgs.User", - width = fab_line)) - - fp.append(Text(type = "user", text = "PCB Edge", - at = (0, fab_y + param['layout']['edge'] + 1.0), - layer = "Dwgs.User")) - - ############################################################################ - # Courtyard: F.CrtYd - court_line = config['courtyard_line_width'] - court_grid = config['courtyard_grid'] - court_offset = config['courtyard_offset']['connector'] - - court = {'x': roundToBase(fab_w/2 + court_offset, court_grid), - 'y': [roundToBase(fab_y - fab_h - court_offset, court_grid), - roundToBase(fab_y + bank_h + court_offset, court_grid)]} - - fp.append(RectLine(start = (-court['x'], court['y'][0]), - end = ( court['x'], court['y'][1]), - layer = "F.CrtYd", - width = court_line)) - - ############################################################################ - # Set Metadata - - # Draw reference and value - text_y = fab_y + 1.0 - fp.append(Text(type = 'reference', text = 'REF**', - at = (0, -text_y), - layer = "F.SilkS")) - fp.append(Text(type = 'user', text = '%R', - at = (0, -text_y), - layer = "F.Fab")) - fp.append(Text(type = 'value', text=param['name'], - at = (0, text_y + bank_h + court_offset), - layer="F.Fab")) - - # Set surface-mount attribute - fp.setAttribute('smd') - - # Part number - partnum = param['meta'].get('pn', param['name'].split('_')[1]) - - # Pins or pairs/bank - if param['banks']['diff'] == banks: - # Differential mode: round up to nearest even number of pairs - pins_or_pairs = (pad_n // 3) + (pad_n // 3) % 2 - else: - pins_or_pairs = pad_n - - # Description - desc = param['meta']['description'] - desc = desc.format(pn = partnum, - type = mode, - ds = param['meta']['datasheet'], - pitch = pad_pitch, - banks = banks, - pins = pins_or_pairs) - fp.setDescription(desc) - - # Tags - tags = param['meta']['tags'] - if 'add-tags' in param: - tags += ' ' + param['add-tags'] - fp.setTags(tags) - - # 3D model path - library = param.get('library', default_lib) - model_path = os.path.join("${KISYS3DMOD}", - library+".3dshapes", - param['name'] + ".wrl") - fp.append(Model(filename = model_path)) - - ############################################################################ - # Write kicad_mod file - - os.makedirs(library+'.pretty', exist_ok=True) - filename = os.path.join(library+'.pretty', param['name']+'.kicad_mod') - KicadFileHandler(fp).writeFile(filename) - -################################################################################ -if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument('--global-config', type=str, nargs='?', - default='../../tools/global_config_files/config_KLCv3.0.yaml', - help='Global KLC configuration YAML file') - parser.add_argument('--series-config', type=str, nargs='?', - default='../conn_config_KLCv3.yaml', - help='Series KLC configuration YAML file') - parser.add_argument('--library', type=str, nargs='?', - default='Connector_Samtec_QSeries', - help='Default KiCad library name (without extension)') - parser.add_argument('files', metavar='file', type=str, nargs='*', - help='YAML file(s) containing footprint parameters') - args = parser.parse_args() - - with open(args.global_config, 'r') as config_stream: - try: - config = yaml.safe_load(config_stream) - except yaml.YAMLError as exc: - print(exc) - - with open(args.series_config, 'r') as config_stream: - try: - config.update(yaml.safe_load(config_stream)) - except yaml.YAMLError as exc: - print(exc) - - if len(args.files) == 0: - parser.print_help() - sys.exit(1) - - print("Default Library:", args.library) - - for path in args.files: - print("Reading", path) - with open(path, 'r') as stream: - try: - footprints = yaml.safe_load(stream) - - if footprints is None: - print(path, "empty, skipping...") - continue - - for fp_name in footprints: - fp_params = footprints.get(fp_name) - if 'name' in fp_params: - print("WARNING: setting 'name' to", fp_name) - - fp_params['name'] = fp_name - - print(" - ", - fp_params.get('library', args.library), ".pretty/", - fp_name, ".kicad_mod", sep="") - - generate_one_footprint(fp_params, config, args.library) - except yaml.YAMLError as exc: - print(exc) diff --git a/scripts/Connector/Connector_Samtec/QStrip_Horizontal.yaml b/scripts/Connector/Connector_Samtec/QStrip_Horizontal.yaml deleted file mode 100644 index b9f09f081..000000000 --- a/scripts/Connector/Connector_Samtec/QStrip_Horizontal.yaml +++ /dev/null @@ -1,39 +0,0 @@ -# QTH-RA family -Samtec_QTH-030-xx-x-D-RA_P0.5mm_Horizontal: - meta: &QTH-RA_meta - description: >- - Samtec {pn:s} {pitch:1.2f}mm Q Strip High-Speed Ground Plane {type:s} Strip; - {banks:d} bank(s), {pins:d} pins/bank; {ds:s} - tags: "connector Samtec QStrip QTH mezzanine terminal horizontal single-ended" - datasheet: >- - [drawing](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf), - [footprint](http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) - layout: {type: "Terminal", width: 25.72, height: 9.78, y: 3.8, edge: 0.38} - banks: {n: 1, diff: 0, space: 20.0, width: 16.5, height: 3.05} - pads: &QTH-RA_pads - signal: {n: 60, rows: 2, pitch: 0.5, y: [-3.277, 1.334], width: 0.305, height: 1.45} - plane: {n: 8, pitch: 2.032, y: -0.851, drill: 0.533, pad: 1.0} - holes: # Holes sorted by dimension labels in Samtec ECN-264948 Rev. E - - {n: 2, drill: 1.067, pad: 1.8, space: 23.178, y: -3.048} # "A" - - {n: 2, drill: 1.448, space: 21.908, y: 0} # "B" - - {n: 2, drill: 1.067, pad: 1.8, space: 18.190, y: 2.54} # "C" - -Samtec_QTH-060-xx-x-D-RA_P0.5mm_Horizontal: - meta: *QTH-RA_meta - pads: *QTH-RA_pads - layout: {type: "Terminal", width: 45.72, height: 9.78, y: 3.8, edge: 0.38} - banks: {n: 2, diff: 0, space: 20.0, width: 16.5, height: 3.05} - holes: - - {n: 2, drill: 1.067, pad: 1.8, space: 43.180, y: -3.048} # "A" - - {n: 2, drill: 1.448, space: 41.910, y: 0} # "B" - - {n: 3, drill: 1.067, pad: 1.8, space: 38.913, y: 2.54} # "C" - -Samtec_QTH-090-xx-x-D-RA_P0.5mm_Horizontal: - meta: *QTH-RA_meta - pads: *QTH-RA_pads - layout: {type: "Terminal", width: 65.72, height: 9.78, y: 3.8, edge: 0.38} - banks: {n: 3, diff: 0, space: 20.0, width: 16.5, height: 3.05} - holes: - - {n: 2, drill: 1.067, pad: 1.8, space: 63.183, y: -3.048} # "A" - - {n: 2, drill: 1.448, space: 61.913, y: 0} # "B" - - {n: 4, drill: 1.067, pad: 1.8, space: 58.915, y: 2.54} # "C" diff --git a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py index 62e6c68de..e46889ec1 100755 --- a/scripts/Connector/Connector_Samtec/QStrip_Vertical.py +++ b/scripts/Connector/Connector_Samtec/QStrip_Vertical.py @@ -82,7 +82,7 @@ def generate_one_footprint(param, config, default_lib): 'n': n+1, 'slot': slot} # Skip slots for differential banks - if b < param['banks']['diff']: + if b < param['banks'].get('diff', 0): if ((slot+1) % 6 == 0 or # Skip every 3rd odd slot (slot+2) % 6 == 0 or # Skip every 3rd even slot # Only add end-of-bank pins if they are completing a pair @@ -286,7 +286,7 @@ def generate_one_footprint(param, config, default_lib): partnum = param['meta'].get('pn', param['name'].split('_')[1]) # Pins or pairs/bank - if param['banks']['diff'] == banks: + if param['banks'].get('diff', 0) == banks: # Differential mode: round up to nearest even number of pairs pins_or_pairs = (pad_n // 3) + (pad_n // 3) % 2 else: From 2806964b7a475ca21c00ed9643a4e5896d939f33 Mon Sep 17 00:00:00 2001 From: Martin Stejskal <martin.stej@gmail.com> Date: Sat, 10 Oct 2020 10:08:45 +0200 Subject: [PATCH 62/62] Expand Wago terminal connectors according to the actual product range Not adding any new footprint pattern. Just expanded pin variations. --- scripts/TerminalBlock_WAGO/make_TerminalBlock_WAGO.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/TerminalBlock_WAGO/make_TerminalBlock_WAGO.py b/scripts/TerminalBlock_WAGO/make_TerminalBlock_WAGO.py index e3b160202..a0d45fdba 100644 --- a/scripts/TerminalBlock_WAGO/make_TerminalBlock_WAGO.py +++ b/scripts/TerminalBlock_WAGO/make_TerminalBlock_WAGO.py @@ -27,7 +27,7 @@ - pins=[1,2,3,4,5,6,7,8,9,10,12,16,24] + pins=[1,2,3,4,5,6,7,8,9,10,11,12,16,24] rm=7.5 package_height=15 leftbottom_offset=[2.75, 6.7, 3.75] @@ -76,7 +76,7 @@ - pins=[1,2,3,4,5,6,7,8,9,10,12,16,24] + pins=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,24] rm=5 package_height=15 leftbottom_offset=[2.75, 6.7, 3.75] @@ -122,7 +122,7 @@ tags_additional=[], lib_name="${KISYS3DMOD}/"+classname, classname=classname, classname_description=classname_description, webpage=webpage, script_generated_note=script_generated_note) - pins=[1,2,3,4,6,8,12,16,24,36,48] + pins=[1,2,3,4,5,6,7,8,9,12,14,16,24,36,48] rm=5 package_height=14 leftbottom_offset=[3.5, 9, 3.8] @@ -172,7 +172,7 @@ nibbleSize=nibbleSize, nibblePos=nibblePos, fabref_offset=fabref_offset, tags_additional=[], lib_name="${KISYS3DMOD}/"+classname, classname=classname, classname_description=classname_description, webpage=webpage, script_generated_note=script_generated_note) - pins=[1,2,3,4,6,8,12,16,24] + pins=[1,2,3,4,5,6,7,8,9,12,16,24] rm=7.5 package_height=14 leftbottom_offset=[3.5, 9, 6.3] @@ -222,7 +222,7 @@ nibbleSize=nibbleSize, nibblePos=nibblePos, fabref_offset=fabref_offset, tags_additional=[], lib_name="${KISYS3DMOD}/"+classname, classname=classname, classname_description=classname_description, webpage=webpage, script_generated_note=script_generated_note) - pins=[1,2,3,4,6,8,12,16,24] + pins=[1,2,3,4,5,6,8,9,12,16,24] rm=10 package_height=14 leftbottom_offset=[3.5, 9, 8.8]