ergogen/src/footprints/choc_hotswap.js
2021-07-06 20:14:59 +02:00

59 lines
No EOL
2.4 KiB
JavaScript

module.exports = {
nets: ['from', 'to'],
params: {
class: 'S',
reverse: true
},
body: p => {
const reversal = (j) => {
if (j == true) return `
(pad "" np_thru_hole circle (at -5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
(pad 1 smd rect (at 3.275 -5.95 ${p.rot}) (size 2.6 2.6) (layers F.Cu F.Paste F.Mask) ${p.net.from})
(pad 2 smd rect (at -8.275 -3.75 ${p.rot}) (size 2.6 2.6) (layers F.Cu F.Paste F.Mask) ${p.net.to})
`
else return ''
}
return `
(module Kailh_socket_PG1350_optional (layer F.Cu) (tedit 5DD50F3F)
${p.at /* parametric position */}
${'' /* footprint reference */}
(fp_text reference "${p.ref}" (at 0 -8.255) (layer F.SilkS) ${p.ref_hide}
(effects (font (size 1 1) (thickness 0.15))))
(fp_text value "" (at 0 8.25) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15))))
(fp_line (start -6.9 6.9) (end 6.9 6.9) (layer Eco2.User) (width 0.15))
(fp_line (start 6.9 -6.9) (end -6.9 -6.9) (layer Eco2.User) (width 0.15))
(fp_line (start 6.9 -6.9) (end 6.9 6.9) (layer Eco2.User) (width 0.15))
(fp_line (start -6.9 6.9) (end -6.9 -6.9) (layer Eco2.User) (width 0.15))
${''/* Outline */}
(fp_line (start -7.5 -7.5) (end 7.5 -7.5) (layer F.Fab) (width 0.15))
(fp_line (start 7.5 -7.5) (end 7.5 7.5) (layer F.Fab) (width 0.15))
(fp_line (start 7.5 7.5) (end -7.5 7.5) (layer F.Fab) (width 0.15))
(fp_line (start -7.5 7.5) (end -7.5 -7.5) (layer F.Fab) (width 0.15))
${'' /* holes */}
(pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
${'' /* net pads */}
(pad 1 smd rect (at -3.275 -5.95 ${p.rot}) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) ${p.net.from})
(pad 2 smd rect (at 8.275 -3.75 ${p.rot}) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) ${p.net.to})
${reversal(p.param.reverse)}
)
`
}
}