diff --git a/input/config.yaml b/input/config.yaml index 0b9e308..839097b 100644 --- a/input/config.yaml +++ b/input/config.yaml @@ -233,7 +233,6 @@ points: f: row_net: R0 - # # Controller # controller: @@ -245,8 +244,6 @@ points: width: mcu_x height: mcu_y - - mirror: &mirror ref: bigenters_one_f distance: 100 @@ -384,6 +381,8 @@ pcbs: params: from: "{{colrow}}" to: "{{row_net}}" + tht: false # No true hole + side: B # Bottom only adjust: shift: [-8, 0] rotate: 270 @@ -462,7 +461,7 @@ pcbs: choc: what: chocmini where: - - [/^mirror.*/, key, -enter] + - [/^mirror.*/, key, -enter ] - /rightcluster_.*/ params: keycaps: true @@ -483,7 +482,7 @@ pcbs: diode: what: diode where: - - [/^mirror.*/, key ] + - [/^mirror.*/, key] - /rightcluster_.*/ params: from: "{{colrow}}" diff --git a/input/footprints/diode.js b/input/footprints/diode.js index f6b6a8b..dc290ee 100644 --- a/input/footprints/diode.js +++ b/input/footprints/diode.js @@ -1,26 +1,26 @@ module.exports = { params: { designator: 'D', - include_tht: true, from: undefined, - to: undefined + to: undefined, + smd: true, + tht: true, + side: 'both' }, body: p => { - const tht = ` - (pad 1 thru_hole rect (at -3.81 0 ${p.rot}) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) ${p.to.str}) - (pad 2 thru_hole circle (at 3.81 0 ${p.rot}) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) ${p.from.str}) - `; - - const footprint = ` + const header = ` + (module ComboDiode (layer F.Cu) (tedit 5B24D78E) + + ${p.at /* parametric position */} - (attr virtual) ${'' /* footprint reference */} (fp_text reference "${p.ref}" (at 0 0) (layer F.SilkS) ${p.ref_hide} (effects (font (size 1.27 1.27) (thickness 0.15)))) (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15)))) - + ` + const symbol_f = ` ${''/* diode symbols */} (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1)) (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1)) @@ -29,6 +29,8 @@ module.exports = { (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1)) (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1)) (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1)) + ` + const symbol_b = ` (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1)) (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1)) (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1)) @@ -36,18 +38,48 @@ module.exports = { (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1)) (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1)) (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1)) + ` + const smd_f = ` ${''/* SMD pads on both sides */} (pad 1 smd rect (at -1.65 0 ${p.rot}) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) ${p.to.str}) + (pad 2 smd rect (at 1.65 0 ${p.rot}) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) ${p.from.str}) + ` + const smd_b = ` (pad 2 smd rect (at 1.65 0 ${p.rot}) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) ${p.from.str}) (pad 1 smd rect (at -1.65 0 ${p.rot}) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) ${p.to.str}) - (pad 2 smd rect (at 1.65 0 ${p.rot}) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) ${p.from.str}) - + ` + const tht = ` ${''/* THT terminals */} - ${ p.include_tht ? tht : '' } + (pad 1 thru_hole rect (at -3.81 0 ${p.rot}) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) ${p.to.str}) + (pad 2 thru_hole circle (at 3.81 0 ${p.rot}) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) ${p.from.str}) + ` + const end = ` ) + ` + let final = header; + if (p.side == 'both' || p.side == 'F') { + final += symbol_f; + } + if (p.side == 'both' || p.side == 'B') { + final += symbol_b; + } + if (p.smd) { + if (p.side == 'both') { + final += smd_f; + final += smd_b; + } else if (p.side == 'F') { + final += smd_f; + } else if (p.side == 'B') { + final += smd_b; + } + } + if (p.tht) { + final += tht; + } + final += end; + return final; - return footprint; } -} +} \ No newline at end of file