Add SMD toggle
This commit is contained in:
parent
4cc670c38c
commit
77ac0a7457
|
|
@ -0,0 +1,87 @@
|
|||
module.exports = {
|
||||
params: {
|
||||
designator: 'SW',
|
||||
side: 'F',
|
||||
reversible: false,
|
||||
P1: {type: 'net', value: 'SCK'},
|
||||
P2: {type: 'net', value: 'VCC'},
|
||||
P3: {type: 'net', value: 'GND'},
|
||||
MP: {type: 'net', value: 'GND'},
|
||||
},
|
||||
body: p => {
|
||||
const standard_opening = `
|
||||
(footprint "SW_MSK12C02-HB" (layer "${p.side}.Cu") (tedit 5F70BC98)
|
||||
${p.at /* parametric position */}
|
||||
(descr "12V 50mA SMD toggle switch, available at LCSC/JLCPCB (C431541)")
|
||||
(attr smd)
|
||||
(fp_text reference "${p.ref}" (at 0 4 ${p.rot}) (layer "${p.side}.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value "SW_MSK12C02-HB" (at 0 5.5 ${p.rot}) (layer "${p.side}.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user "A" (at -0.75 -2.1 ${p.rot}) (layer "Dwgs.User")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user "B" (at 0.8 -2.1 ${p.rot}) (layer "Dwgs.User")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -3.4 -1.4) (end -3.4 1.4) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start -3.4 1.4) (end 3.4 1.4) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start -1.5 -2.9) (end -1.5 -1.4) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start -0.1 -2.9) (end -1.5 -2.9) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start -0.1 -1.4) (end -0.1 -2.9) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start 0.1 -2.9) (end 1.5 -2.9) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start 0.1 -1.4) (end 0.1 -2.9) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start 1.5 -2.9) (end 1.5 -1.4) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start 3.4 -1.4) (end -3.4 -1.4) (width 0.08) (layer "Dwgs.User"))
|
||||
(fp_line (start 3.4 1.4) (end 3.4 -1.4) (width 0.08) (layer "Dwgs.User"))
|
||||
(pad "" np_thru_hole circle (at -1.5 0 ${180 + p.rot}) (size 0.85 0.85) (drill 0.85) (layers "*.Cu" "*.Mask"))
|
||||
(pad "" np_thru_hole circle (at 1.5 0 ${180 + p.rot}) (size 0.85 0.85) (drill 0.85) (layers "*.Cu" "*.Mask"))
|
||||
`
|
||||
const front = `
|
||||
(fp_line (start -3.55 -0.65) (end -3.55 0.65) (width 0.12) (layer "F.SilkS"))
|
||||
(fp_line (start -3.05 -1.55) (end 3.05 -1.55) (width 0.12) (layer "F.SilkS"))
|
||||
(fp_line (start -2.7 1.55) (end -3.05 1.55) (width 0.12) (layer "F.SilkS"))
|
||||
(fp_line (start 3.05 1.55) (end 2.7 1.55) (width 0.12) (layer "F.SilkS"))
|
||||
(fp_line (start 3.55 0.65) (end 3.55 -0.65) (width 0.12) (layer "F.SilkS"))
|
||||
(pad 1 smd roundrect (at 2.25 2 ${180 + p.rot}) (size 0.6 1.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15) ${p.P1.str})
|
||||
(pad 2 smd roundrect (at -0.75 2 ${180 + p.rot}) (size 0.6 1.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15) ${p.P2.str})
|
||||
(pad 3 smd roundrect (at -2.25 2 ${180 + p.rot}) (size 0.6 1.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15) ${p.P3.str})
|
||||
(pad "MP" smd roundrect (at -3.7 -1.15 ${270 + p.rot}) (size 0.7 1.1) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15) ${p.MP.str})
|
||||
(pad "MP" smd roundrect (at -3.7 1.15 ${270 + p.rot}) (size 0.7 1.1) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15) ${p.MP.str})
|
||||
(pad "MP" smd roundrect (at 3.7 -1.15 ${270 + p.rot}) (size 0.7 1.1) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15) ${p.MP.str})
|
||||
(pad "MP" smd roundrect (at 3.7 1.15 ${270 + p.rot}) (size 0.7 1.1) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15) ${p.MP.str})
|
||||
`
|
||||
const back = `
|
||||
(fp_line (start -3.55 -0.65) (end -3.55 0.65) (width 0.12) (layer "B.SilkS"))
|
||||
(fp_line (start -3.05 -1.55) (end 3.05 -1.55) (width 0.12) (layer "B.SilkS"))
|
||||
(fp_line (start -2.7 1.55) (end -3.05 1.55) (width 0.12) (layer "B.SilkS"))
|
||||
(fp_line (start 3.05 1.55) (end 2.7 1.55) (width 0.12) (layer "B.SilkS"))
|
||||
(fp_line (start 3.55 0.65) (end 3.55 -0.65) (width 0.12) (layer "B.SilkS"))
|
||||
(pad 3 smd roundrect (at 2.25 2 ${180 + p.rot}) (size 0.6 1.25) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.15) ${p.P3.str})
|
||||
(pad 2 smd roundrect (at -0.75 2 ${180 + p.rot}) (size 0.6 1.25) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.15) ${p.P2.str})
|
||||
(pad 1 smd roundrect (at -2.25 2 ${180 + p.rot}) (size 0.6 1.25) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.15) ${p.P1.str})
|
||||
(pad "MP" smd roundrect (at -3.7 -1.15 ${270 + p.rot}) (size 0.7 1.1) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.15) ${p.MP.str})
|
||||
(pad "MP" smd roundrect (at -3.7 1.15 ${270 + p.rot}) (size 0.7 1.1) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.15) ${p.MP.str})
|
||||
(pad "MP" smd roundrect (at 3.7 -1.15 ${270 + p.rot}) (size 0.7 1.1) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.15) ${p.MP.str})
|
||||
(pad "MP" smd roundrect (at 3.7 1.15 ${270 + p.rot}) (size 0.7 1.1) (layers "B.Cu" "B.Paste" "B.Mask") (roundrect_rratio 0.15) ${p.MP.str})
|
||||
`
|
||||
|
||||
const standard_closing = `
|
||||
)
|
||||
`
|
||||
let final = standard_opening;
|
||||
|
||||
if(p.side == "F" || p.reversible) {
|
||||
final += front;
|
||||
}
|
||||
if(p.side == "B" || p.reversible) {
|
||||
final += back;
|
||||
}
|
||||
|
||||
final += standard_closing;
|
||||
|
||||
return final;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue