rae-dux/samoklava.yaml

447 lines
9.7 KiB
YAML
Raw Normal View History

2021-09-03 16:37:21 +00:00
units:
kx: cx
ky: cy
px: 2
py: 2
points:
key:
footprints:
choc_hotswap:
type: choc
params:
hotswap: true
reverse: true
keycaps: true
nets:
# from: P1
# to: P2
from: =colrow
to: =column_net
diode:
type: diode
nets:
# from: P3
# to: P4
from: =colrow
to: =row_net
anchor:
shift: [0, -5]
zones:
matrix:
# anchor:
# rotate: 5
key.padding: ky
columns:
pinky:
stagger: 0 ky
spread: kx
key:
column_net: P20
2021-09-03 16:37:21 +00:00
ring:
stagger: 0.7 ky
spread: kx
key:
column_net: P19
2021-09-03 16:37:21 +00:00
middle:
stagger: 0.2 ky
spread: kx
key:
column_net: P18
2021-09-03 16:37:21 +00:00
index:
stagger: -0.2 ky
spread: kx
key:
column_net: P15
2021-09-03 16:37:21 +00:00
inner:
stagger: -0.1 ky
spread: kx
key:
column_net: P14
2021-09-03 16:37:21 +00:00
rows:
bottom:
row_net: P6
home:
2021-09-03 16:37:21 +00:00
row_net: P5
top:
row_net: P4
2021-09-03 16:37:21 +00:00
thumbfan:
anchor:
ref: matrix_inner_bottom
shift: [-1.5 kx, -1 ky]
columns:
near:
spread: kx
rotate: -15
origin: [-0.5 kx, -0.5 ky]
key:
column_net: P18
2021-09-03 16:37:21 +00:00
home:
spread: kx
rotate: -15
origin: [-0.5 kx, -0.5 ky]
key:
column_net: P15
2021-09-03 16:37:21 +00:00
far:
spread: kx
rotate: -15
origin: [-0.5 kx, -0.5 ky]
key:
column_net: P14
2021-09-03 16:37:21 +00:00
rows:
thumb:
row_net: P7
2021-09-03 16:37:21 +00:00
outlines:
# board dimensions according to JLCPCB: 122.28 mm x 101.05 mm
2021-09-03 16:37:21 +00:00
exports:
raw:
- type: keys
side: left
size: [kx + px, ky + py]
corner: px
thumbfan_glue:
- type: polygon
points:
- ref: matrix_inner_bottom
shift: [0.5 kx + 0.5px, -0.5 ky + 0.5 py]
- ref: thumbfan_far_thumb
shift: [0.5 kx - 0.5px, 0.5 ky + 0.5 py]
- ref: thumbfan_far_thumb
shift: [0.5 kx - 0.5px, -0.5 ky - 0.5 py]
- ref: thumbfan_near_thumb
shift: [-0.5 kx + 0.5 px, -0.5 ky - 0.5 py]
- ref: matrix_pinky_bottom
shift: [0.5 kx - 0.5 py, -0.5 ky - 0.5 py]
- ref: matrix_pinky_home
- ref: matrix_inner_home
patch_outer:
- type: polygon
points:
- ref: matrix_ring_top
- ref: matrix_ring_bottom
- ref: matrix_pinky_bottom
shift: [-0.5 (kx + px), 0]
- ref: matrix_pinky_top
shift: [-0.5 (kx + px), 0]
patch_inner:
- type: polygon
points:
- ref: matrix_inner_top
shift: [0.5 (kx + px), 0]
- ref: matrix_inner_bottom
shift: [0.5 (kx + px), 0]
- ref: matrix_index_bottom
- ref: matrix_index_top
controller_area:
main:
type: rectangle
anchor:
ref:
- matrix_inner_top
shift: [0 kx, -4.05 ky]
size: [32, 76.5]
corner: px
switches:
main:
type: keys
side: left
size: 14
bound: false
keycaps:
main:
type: keys
side: left
size: [kx, ky]
bound: false
corner: 1
keywell:
main:
type: outline
name: raw
patch_inner:
type: outline
name: patch_inner
operation: add
patch_outer:
type: outline
name: patch_outer
operation: add
thumbfan_glue:
type: outline
name: thumbfan_glue
operation: add
base_outline:
main:
type: outline
name: keywell
controller:
type: outline
name: controller_area
operation: add
screw_holes:
top_left:
type: circle
anchor:
- ref: matrix_ring_home
shift: [-0.5 kx, 0 ky]
2021-09-16 19:29:22 +00:00
radius: 1.05
2021-09-03 16:37:21 +00:00
bottom_left:
type: circle
anchor:
- ref: matrix_pinky_bottom
shift: [0.5 kx, 0]
2021-09-16 19:29:22 +00:00
radius: 1.05
2021-09-03 16:37:21 +00:00
top_right:
type: circle
anchor:
- ref: matrix_inner_top
shift: [-0.5 kx, 0]
2021-09-16 19:29:22 +00:00
radius: 1.05
2021-09-03 16:37:21 +00:00
palm:
type: circle
anchor:
- ref: matrix_index_bottom
shift: [0, -1.06 ky]
2021-09-16 19:29:22 +00:00
radius: 1.05
2021-09-03 16:37:21 +00:00
thumb:
type: circle
anchor:
- ref: thumbfan_far_thumb
shift: [-0.55 kx, 0]
2021-09-16 19:29:22 +00:00
radius: 1.05
2021-09-03 16:37:21 +00:00
mounting_holes:
$extends: outlines.exports.screw_holes
top_left:
2021-10-14 21:48:24 +00:00
radius: 2.05
2021-09-03 16:37:21 +00:00
bottom_left:
2021-10-14 21:48:24 +00:00
radius: 2.05
2021-09-03 16:37:21 +00:00
top_right:
2021-10-14 21:48:24 +00:00
radius: 2.05
2021-09-03 16:37:21 +00:00
palm:
2021-10-14 21:48:24 +00:00
radius: 2.05
2021-09-03 16:37:21 +00:00
thumb:
2021-10-14 21:48:24 +00:00
radius: 2.05
2021-09-03 16:37:21 +00:00
bottom_outline:
main:
type: outline
name: base_outline
screw_holes:
type: outline
2021-10-13 10:39:29 +00:00
# TODO use footprints with pad + via reinforcement as mounting holes
2021-09-03 16:37:21 +00:00
name: screw_holes
operation: subtract
plate:
main:
type: outline
name: keywell
switches:
type: outline
name: switches
operation: subtract
mounting_holes:
type: outline
2021-10-13 10:39:29 +00:00
# TODO use footprints with pad + via reinforcement as mounting holes
2021-09-03 16:37:21 +00:00
name: screw_holes
operation: subtract
pcb:
main:
type: outline
name: base_outline
mounting_holes:
type: outline
2021-10-13 10:39:29 +00:00
# TODO use plated through hole footprints as mounting holes
2021-09-03 16:37:21 +00:00
name: mounting_holes
operation: subtract
pcbs:
2021-09-16 19:29:22 +00:00
top_plate:
# include JLCJLCJLCJLC text somewhere
2021-10-13 10:39:29 +00:00
include_keys: false
2021-09-16 19:29:22 +00:00
outlines:
edge:
outline: plate
layer: Edge.Cuts
footprints:
jlc_order_number:
type: text
anchor:
ref:
- matrix_ring_home
shift: [-0.25 kx, 0.5 ky]
params:
text: "JLCJLCJLCJLC"
justify: left
2021-09-16 19:29:22 +00:00
bottom_plate:
2021-10-13 10:39:29 +00:00
include_keys: false
2021-09-16 19:29:22 +00:00
outlines:
edge:
outline: bottom_outline
layer: Edge.Cuts
board:
2021-09-03 16:37:21 +00:00
outlines:
edge:
outline: pcb
layer: Edge.Cuts
# TODO there's a way to add stuff to the silkscreen layer
footprints:
mcu_l:
type: promicro
params:
orientation: up
batteryPins: true
2021-09-03 16:37:21 +00:00
anchor:
ref:
- matrix_inner_top
shift: [20, -11]
rotate: 270
mcu_r:
type: promicro
params:
orientation: down
batteryPins: true
2021-09-03 16:37:21 +00:00
anchor:
ref:
- matrix_inner_top
shift: [22.5, -12.25]
rotate: 270
pad_plus:
type: pad
anchor:
ref:
- matrix_inner_top
shift: [23, -18]
rotate: 0
params:
front: true
back: true
width: 1.5
height: 1.5
text: "B+"
nets:
net: Braw
pad_minus:
type: pad
anchor:
ref:
- matrix_inner_top
shift: [23, -15]
rotate: 0
params:
front: true
back: true
width: 1.5
height: 1.5
text: "B-"
nets:
net: Bminus
trrs_l:
2021-09-03 16:37:21 +00:00
type: trrs
anchor:
ref:
- matrix_inner_bottom
shift: [32, -15]
rotate: 270
params:
reverse: false
symmetric: false
# The naming of the nets on this footprint is different from the Corne schematics.
nets:
A: ""
B: VCC
C: GND
D: P0
trrs_r:
type: trrs
anchor:
ref:
- matrix_inner_bottom
shift: [32, -13]
2021-09-03 16:37:21 +00:00
rotate: 270
params:
reverse: true
symmetric: false
# The naming of the nets on this footprint is different from the Corne schematics.
2021-09-03 16:37:21 +00:00
nets:
A: ""
B: VCC
2021-09-03 16:37:21 +00:00
C: GND
D: P0
jumper_l:
type: jumper
anchor:
ref:
- matrix_inner_bottom
shift: [23.5, 0]
rotate: 270
params:
side: B
nets:
from: Braw
to: Bplus
jumper_r:
type: jumper
anchor:
ref:
- matrix_inner_bottom
shift: [23.5, 0]
rotate: 270
params:
side: F
nets:
from: Braw
to: Bplus
slider_l:
type: slider
anchor:
ref:
- matrix_inner_bottom
shift: [30, 0]
rotate: 270
params:
side: F
nets:
from: Braw
to: Bplus
slider_r:
type: slider
anchor:
ref:
- matrix_inner_bottom
shift: [30, 0]
rotate: 270
params:
side: B
nets:
from: Braw
to: Bplus
reset:
type: button
anchor:
ref:
- matrix_inner_bottom
shift: [17, 0]
rotate: 270
params:
variant: 2_pin_th
nets:
from: GND
to: RST
info_l:
type: text
anchor:
ref:
- matrix_pinky_bottom
shift: [0.75 kx, 0]
params:
text: "samoklava v0.1\\nby soundmonster"
justify: left
info_r:
type: text
anchor:
ref:
- matrix_pinky_bottom
shift: [0.75 kx, 0]
params:
layer: B.SilkS
text: "samoklava v0.1\\nby soundmonster"
justify: right mirror