protoEepyBoard/ergogen/footprints/pin_header_2x6.js

72 lines
4.4 KiB
JavaScript

// Pin header 2x06, 2.54mm pitch, vertical (THT)
// Source: https://kicad.github.io/footprints/Connector_PinHeader_2.54mm
module.exports = {
params: {
designator: 'J',
side: 'F',
P1: {type: 'net', value: 'P1'},
P2: {type: 'net', value: 'P2'},
P3: {type: 'net', value: 'P3'},
P4: {type: 'net', value: 'P4'},
P5: {type: 'net', value: 'P5'},
P6: {type: 'net', value: 'P6'},
P7: {type: 'net', value: 'P7'},
P8: {type: 'net', value: 'P8'},
P9: {type: 'net', value: 'P9'},
P10: {type: 'net', value: 'P10'},
P11: {type: 'net', value: 'P11'},
P12: {type: 'net', value: 'P12'},
},
body: p => `
(module PinHeader_2x06_P2.54mm_Vertical (layer F.Cu) (tedit 59FED5CC)
(descr "Through hole straight pin header, 2x06, 2.54mm pitch, double rows")
(tags "Through hole pin header THT 2x06 2.54mm double row")
${p.at /* parametric position */}
${'' /* footprint reference */}
(fp_text reference "${p.ref}" (at 1.27 -2.33) (layer ${p.side}.SilkS) ${p.ref_hide} (effects (font (size 1 1) (thickness 0.15))))
(fp_text value "" (at 1.27 15.03) (layer ${p.side}.SilkS) hide (effects (font (size 1 1) (thickness 0.15))))
${'' /* outline */}
(fp_line (start 0 -1.27) (end 3.81 -1.27) (layer ${p.side}.Fab) (width 0.1))
(fp_line (start 3.81 -1.27) (end 3.81 13.97) (layer ${p.side}.Fab) (width 0.1))
(fp_line (start 3.81 13.97) (end -1.27 13.97) (layer ${p.side}.Fab) (width 0.1))
(fp_line (start -1.27 13.97) (end -1.27 0 ) (layer ${p.side}.Fab) (width 0.1))
(fp_line (start -1.27 0 ) (end 0 -1.27) (layer ${p.side}.Fab) (width 0.1))
(fp_line (start -1.33 14.03) (end 3.87 14.03) (layer ${p.side}.SilkS) (width 0.12))
(fp_line (start -1.33 1.27) (end -1.33 14.03) (layer ${p.side}.SilkS) (width 0.12))
(fp_line (start 3.87 -1.33) (end 3.87 14.03) (layer ${p.side}.SilkS) (width 0.12))
(fp_line (start -1.33 1.27) (end 1.27 1.27) (layer ${p.side}.SilkS) (width 0.12))
(fp_line (start 1.27 1.27) (end 1.27 -1.33) (layer ${p.side}.SilkS) (width 0.12))
(fp_line (start 1.27 -1.33) (end 3.87 -1.33) (layer ${p.side}.SilkS) (width 0.12))
(fp_line (start -1.33 0 ) (end -1.33 -1.33) (layer ${p.side}.SilkS) (width 0.12))
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer ${p.side}.SilkS) (width 0.12))
(fp_line (start -1.8 -1.8 ) (end -1.8 14.5 ) (layer ${p.side}.CrtYd) (width 0.05))
(fp_line (start -1.8 14.5 ) (end 4.35 14.5 ) (layer ${p.side}.CrtYd) (width 0.05))
(fp_line (start 4.35 14.5 ) (end 4.35 -1.8 ) (layer ${p.side}.CrtYd) (width 0.05))
(fp_line (start 4.35 -1.8 ) (end -1.8 -1.8 ) (layer ${p.side}.CrtYd) (width 0.05))
${'' /* pins */}
(pad 1 thru_hole rect (at 0 0 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P1})
(pad 2 thru_hole oval (at 2.54 0 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P2})
(pad 3 thru_hole oval (at 0 2.54 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P3})
(pad 4 thru_hole oval (at 2.54 2.54 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P4})
(pad 5 thru_hole oval (at 0 5.08 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P5})
(pad 6 thru_hole oval (at 2.54 5.08 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P6})
(pad 7 thru_hole oval (at 0 7.62 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P7})
(pad 8 thru_hole oval (at 2.54 7.62 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P8})
(pad 9 thru_hole oval (at 0 10.16 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P9})
(pad 10 thru_hole oval (at 2.54 10.16 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P10})
(pad 11 thru_hole oval (at 0 12.7 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P11})
(pad 12 thru_hole oval (at 2.54 12.7 ${p.r}) (size 1.7 1.7) (drill 1.0) (layers *.Cu *.Mask) ${p.P12})
(model \${KISYS3DMOD}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_2x06_P2.54mm_Vertical.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
`,
}