Added new switch footprints, updated reversibility functionality, integrated hotswap footprints, added orientation to promicro, alphabetized index, and added net and paramter documentation
This commit is contained in:
parent
3e78e6e557
commit
1ff7e0746e
13 changed files with 483 additions and 377 deletions
79
src/footprints/scrollwheel.js
Normal file
79
src/footprints/scrollwheel.js
Normal file
|
@ -0,0 +1,79 @@
|
|||
// Panasonic EVQWGD001 horizontal rotary encoder
|
||||
//
|
||||
// __________________
|
||||
// (f) (t) | |
|
||||
// | (1) | |
|
||||
// | (2) | |
|
||||
// | (3) | |
|
||||
// | (4) | |
|
||||
// |_( )___________|_|
|
||||
//
|
||||
// Nets
|
||||
// from: corresponds to switch pin 1 (for button presses)
|
||||
// to: corresponds to switch pin 2 (for button presses)
|
||||
// A: corresponds to pin 1 (for rotary)
|
||||
// B: corresponds to pin 2 (for rotary, should be GND)
|
||||
// C: corresponds to pin 3 (for rotary)
|
||||
// D: corresponds to pin 4 (for rotary, unused)
|
||||
// Params
|
||||
// reverse: default is false
|
||||
// if true, will flip the footprint such that the pcb can be reversible
|
||||
|
||||
|
||||
module.exports = {
|
||||
nets: ['from', 'to', 'A', 'B', 'C', 'D'],
|
||||
params: {
|
||||
class: 'S',
|
||||
reverse: false
|
||||
},
|
||||
body: p => {
|
||||
standard = `
|
||||
(module RollerEncoder_Panasonic_EVQWGD001 (layer F.Cu) (tedit 6040A10C)
|
||||
${p.at /* parametric position */}
|
||||
(fp_text reference REF** (at 0 0 ${p.rot}) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
|
||||
(fp_text value RollerEncoder_Panasonic_EVQWGD001 (at -0.1 9 ${p.rot}) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
|
||||
|
||||
${'' /* corner marks */}
|
||||
(fp_line (start -8.4 -6.4) (end 8.4 -6.4) (layer Dwgs.User) (width 0.12))
|
||||
(fp_line (start 8.4 -6.4) (end 8.4 7.4) (layer Dwgs.User) (width 0.12))
|
||||
(fp_line (start 8.4 7.4) (end -8.4 7.4) (layer Dwgs.User) (width 0.12))
|
||||
(fp_line (start -8.4 7.4) (end -8.4 -6.4) (layer Dwgs.User) (width 0.12))
|
||||
`
|
||||
function pins(def_neg, def_pos) {
|
||||
return `
|
||||
${'' /* edge cuts */}
|
||||
(fp_line (start ${def_pos}9.8 7.3) (end ${def_pos}9.8 -6.3) (layer Edge.Cuts) (width 0.15))
|
||||
(fp_line (start ${def_pos}7.4 -6.3) (end ${def_pos}7.4 7.3) (layer Edge.Cuts) (width 0.15))
|
||||
(fp_line (start ${def_pos}9.5 -6.6) (end ${def_pos}7.7 -6.6) (layer Edge.Cuts) (width 0.15))
|
||||
(fp_line (start ${def_pos}7.7 7.6) (end ${def_pos}9.5 7.6) (layer Edge.Cuts) (width 0.15))
|
||||
(fp_arc (start ${def_pos}7.7 7.3) (end ${def_pos}7.4 7.3) (angle ${def_neg}90) (layer Edge.Cuts) (width 0.15))
|
||||
(fp_arc (start ${def_pos}9.5 7.3) (end ${def_pos}9.5 7.6) (angle ${def_neg}90) (layer Edge.Cuts) (width 0.15))
|
||||
(fp_arc (start ${def_pos}7.7 -6.3) (end ${def_pos}7.7 -6.6) (angle ${def_neg}90) (layer Edge.Cuts) (width 0.15))
|
||||
(fp_arc (start ${def_pos}9.5 -6.3) (end ${def_pos}9.8 -6.3) (angle ${def_neg}90) (layer Edge.Cuts) (width 0.15))
|
||||
|
||||
${'' /* pins */}
|
||||
(pad S1 thru_hole circle (at ${def_neg}6.85 -6.2 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.net.from})
|
||||
(pad S2 thru_hole circle (at ${def_neg}5 -6.2 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.net.to})
|
||||
(pad A thru_hole circle (at ${def_neg}5.625 -3.81 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.net.A})
|
||||
(pad B thru_hole circle (at ${def_neg}5.625 -1.27 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.net.B})
|
||||
(pad C thru_hole circle (at ${def_neg}5.625 1.27 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.net.C})
|
||||
(pad D thru_hole circle (at ${def_neg}5.625 3.81 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.net.D})
|
||||
|
||||
${'' /* stabilizer */}
|
||||
(pad "" np_thru_hole circle (at ${def_neg}5.625 6.3 ${p.rot}) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask))
|
||||
`
|
||||
}
|
||||
if(p.param.reverse) {
|
||||
return `
|
||||
${standard}
|
||||
${pins('-', '')}
|
||||
${pins('', '-')})
|
||||
`
|
||||
} else {
|
||||
return `
|
||||
${standard}
|
||||
${pins('-', '')})
|
||||
`
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue