rae-dux/samoklava.yaml

306 lines
6.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: P21
ring:
stagger: 0.7 ky
spread: kx
key:
column_net: P20
middle:
stagger: 0.2 ky
spread: kx
key:
column_net: P19
index:
stagger: -0.2 ky
spread: kx
key:
column_net: P18
inner:
stagger: -0.1 ky
spread: kx
key:
column_net: P15
rows:
bottom:
row_net: P7
home:
row_net: P6
top:
row_net: P5
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: P19
home:
spread: kx
rotate: -15
origin: [-0.5 kx, -0.5 ky]
key:
column_net: P18
far:
spread: kx
rotate: -15
origin: [-0.5 kx, -0.5 ky]
key:
column_net: P15
rows:
thumb:
row_net: P4
outlines:
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:
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
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
anchor:
ref:
- matrix_inner_top
shift: [20, -11]
rotate: 270
mcu_r:
type: promicro
params:
orientation: down
anchor:
ref:
- matrix_inner_top
shift: [22.5, -12.25]
rotate: 270
trrs:
type: trrs
anchor:
ref:
- matrix_inner_bottom
2021-10-14 21:48:24 +00:00
shift: [32, -8]
2021-09-03 16:37:21 +00:00
rotate: 270
params:
reverse: true
symmetric: true
nets:
A: P0
B: P0
C: GND
D: VCC