Files
corax-keyboard/ergogen/config.yaml
2023-07-09 23:48:54 +02:00

569 lines
12 KiB
YAML

units:
kx: cx # cx=18
ky: cy # cy=17
mbkx: 17.5
mbky: 16.5
padding: 2
px: kx+padding
py: ky+padding
mcu_height: 34
mcu_width: 18
mcu_padding: 1
scrollwheel_width: 17
scrollwheel_height: 14
points:
rotate: 5
zones:
matrix:
# fix placement on kicad
anchor.shift: [125, -200]
key:
tags: [switch]
padding: 1ky
spread: 1kx
columns:
outer2:
rows:
mod.skip: true
bottom.skip: true
home:
bind: [0, 5, 0, 0]
row_net: col0
top.skip: true
num.skip: true
key.column_net: row0
outer:
rows:
num.skip: true
mod.skip: true
key:
column_net: row0
stagger: -0.33ky
pinky:
rows:
mod.skip: true
key:
origin: [0, 8]
column_net: row1
ring:
rows:
mod.skip: true
key:
origin: [0, 8]
stagger: 0.33ky
splay: -5
column_net: row2
middle:
key:
stagger: 0.2ky
column_net: row3
rows:
mod:
column_net: row1
index:
key:
stagger: -0.33ky
column_net: row4
rows:
mod:
column_net: row2
inner:
rows:
mod.skip: true
key:
stagger: -2.5
column_net: row5
rows:
mod:
row_net: col4
bottom:
row_net: col3
home:
row_net: col2
top:
row_net: col1
num:
row_net: col0
thumbs:
anchor:
ref: matrix_middle_home
shift: [38, -45]
key:
tags: [switch]
padding: 1ky
spread: 1kx
columns:
layer:
key:
splay: -15
column_net: row3
space:
key:
width: 1.5kx
splay: 75
shift: [13-kx, -3]
column_net: row4
tags: [switch_space]
rows:
cluster:
row_net: col4
scrollwheel:
anchor:
ref: matrix_inner_bottom
columns:
scrollwheel:
key:
tags: [scrollwheel]
shift: [kx+mcu_padding-0.75, 0.1py]
column_net: row5
width: scrollwheel_width
height: scrollwheel_height
rows:
scrollwheel:
row_net: col4
mcu:
anchor:
ref: matrix_inner_num
columns:
mcu:
key:
tags: [mcu]
width: mcu_height # footprint width/height unintuitive
height: mcu_width
rotate: -90
shift: [kx+mcu_padding, -mcu_width/2-0.3]
outlines:
keys:
- what: rectangle
where: true
fillet: 2
size: [mbkx, mbky]
raw:
- what: rectangle
where: true
bound: true
size: [px+5, py+5]
fillet:
- what: outline
name: raw
fillet: 2
board:
- what: polygon
operation: stack
# fillet: 2
points:
- ref: matrix_outer2_home
shift: [-0.5px, -0.5py]
- ref: matrix_outer2_home
shift: [-0.5px, 0.5py]
- ref: matrix_outer_top
shift: [-0.5px, 0.5py]
- ref: matrix_pinky_num
shift: [-0.5px, 0.5py]
- ref: matrix_ring_num
shift: [-0.5px, 0.5py]
- ref: matrix_middle_num
shift: [-0.5px, 0.5py]
- ref: matrix_middle_num
shift: [0.5px, 0.5py]
- ref: matrix_inner_num
shift: [0.5px, 0.5py]
- ref: matrix_inner_num
#shift: [0.5px+mcu_padding+mcu_width-0.9, 0.5py]
shift: [0.5px+mcu_padding+mcu_width, 0.5py]
- ref: matrix_inner_bottom
#shift: [0.5px+mcu_padding+mcu_width-0.9, -0.5py]
shift: [0.5px+mcu_padding+mcu_width, -0.5py]
- ref: thumbs_space_cluster
shift: [0.5px, -0.5py]
- ref: thumbs_space_cluster
shift: [-0.5px, -0.5py]
- ref: matrix_middle_mod
shift: [-0.5px, -0.5py]
- ref: matrix_outer_bottom
shift: [-0.5px, -0.5py]
pcbs:
left:
outlines.main.outline: board
footprints:
choc_hotswap:
what: choc
where: [switch, switch_space]
params:
keycaps: true
reverse: true
hotswap: true
from: "{{column_net}}"
to: "{{colrow}}"
adjust:
rotate: 180
diode:
what: diode
where: [switch]
params:
from: "{{colrow}}"
to: "{{row_net}}"
adjust:
rotate: 0
shift: [2.5, -9]
diode_space:
what: diode
where: [switch_space]
params:
from: "{{colrow}}"
to: "{{row_net}}"
adjust:
rotate: -90
# 8.275 is exactly above the pad
shift: [-8.275, 1]
scrollwheel:
what: scrollwheel
where: [scrollwheel]
params:
from: "{{column_net}}"
to: "{{colrow}}"
A: ENCB
B: GND
C: ENCA
D: scroolwheel_undefined
rotary:
what: rotary
where: [scrollwheel]
params:
from: "{{colrow}}"
to: "{{column_net}}"
A: ENCA
B: ENCB
C: GND
adjust.rotate: 90
scroll_diode:
what: diode
where: [scrollwheel]
params:
from: "{{colrow}}"
to: "{{row_net}}"
adjust:
shift: [-5, 9]
promicro:
what: promicro
where: mcu
params:
orientation: down
RAW: RAW_P1
GND1: GND_P0
RST: RST_GND
VCC: VCC_GND
P21: ENCA
P20: ENCB
P19: row0
P18: row1
P15: row2
P14: row3
P16: row4
P10: row5
P1: P1_RAW
P0: P0_GND
GND2: GND_RST
GND3: GND_VCC
P2: SDA
P3: SCL
P4: CS
P5: col0
P6: col1
P7: col2
P8: col3
P9: col4
jumper_text_f:
what: text
where: mcu
params:
side: "F"
text: "Solder this side &\\nPlace Nice!Nano face down."
adjust:
rotate: 90
jumper_text_b:
what: text
where: mcu
params:
side: "B"
text: "Solder this side &\\nPlace Nice!Nano face down."
adjust:
rotate: 90
jumper_f_raw:
what: jumper
where: mcu
params:
from: RAW
to: RAW_P1
side: "F"
adjust:
shift: [-11.45, -2.5]
rotate: -90
jumper_f_rst:
what: jumper
where: mcu
params:
from: RST
to: RST_GND
side: "F"
adjust:
shift: [-8.9, -2.5]
rotate: -90
jumper_f_vcc:
what: jumper
where: mcu
params:
from: VCC
to: VCC_GND
side: "F"
adjust:
shift: [-6.35, -2.5]
rotate: -90
jumper_f_gnd:
what: jumper
where: mcu
params:
from: GND
to: GND_RST
side: "F"
adjust:
shift: [-8.9, 2.5]
rotate: 90
jumper_b_raw:
what: jumper
where: mcu
params:
from: RAW
to: P1_RAW
side: "B"
adjust:
shift: [-11.45, 2.5]
rotate: 90
jumper_b_rst:
what: jumper
where: mcu
params:
from: RST
to: GND_RST
side: "B"
adjust:
shift: [-8.9, 2.5]
rotate: 90
jumper_b_vcc:
what: jumper
where: mcu
params:
from: VCC
to: GND_VCC
side: "B"
adjust:
shift: [-6.35, 2.5]
rotate: 90
jumper_b_gnd:
what: jumper
where: mcu
params:
from: GND
to: RST_GND
side: "B"
adjust:
shift: [-8.9, -2.5]
rotate: -90
niceview:
what: niceview
where: mcu
adjust:
shift: [20.5, 0]
rotate: 180
params:
outline: true
side: 'F'
SDA: NN_SDA_CS
SCL: NN_SCL_GND
VCC: NN_VCC
GND: NN_GND_SCL
CS: NN_CS_SDA
jumper_nn_f_sda:
what: jumper
where: mcu
params:
from: SDA
to: NN_SDA_CS
side: "F"
adjust:
shift: [20.50-3, -5.08]
jumper_nn_f_scl:
what: jumper
where: mcu
params:
from: SCL
to: NN_SCL_GND
side: "F"
adjust:
shift: [20.50-3, -2.54]
jumper_nn_f_vcc:
what: jumper
where: mcu
params:
from: VCC
to: NN_VCC
side: "F"
adjust:
shift: [20.50-3, 0]
jumper_nn_f_gnd:
what: jumper
where: mcu
params:
from: GND
to: NN_GND_SCL
side: "F"
adjust:
shift: [20.50-3, 2.54]
jumper_nn_f_cs:
what: jumper
where: mcu
params:
from: CS
to: NN_CS_SDA
side: "F"
adjust:
shift: [20.50-3, 5.08]
jumper_nn_b_sda:
what: jumper
where: mcu
params:
from: SDA
to: NN_CS_SDA
side: "B"
adjust:
shift: [20.50-3, 5.08]
jumper_nn_b_scl:
what: jumper
where: mcu
params:
from: SCL
to: NN_GND_SCL
side: "B"
adjust:
shift: [20.50-3, 2.54]
jumper_nn_b_vcc:
what: jumper
where: mcu
params:
from: VCC
to: NN_VCC
side: "B"
adjust:
shift: [20.50-3, 0]
jumper_nn_b_gnd:
what: jumper
where: mcu
params:
from: GND
to: NN_SCL_GND
side: "B"
adjust:
shift: [20.50-3, -2.54]
jumper_nn_b_cs:
what: jumper
where: mcu
params:
from: CS
to: NN_SDA_CS
side: "B"
adjust:
shift: [20.50-3, -5.08]
slider_f:
what: slider
where: mcu
adjust:
shift: [-17.1, 0]
rotate: 90
params:
side: F
from: switch_from
to: RAW
slider_b:
what: slider
where: mcu
adjust:
shift: [-17.1, 0]
rotate: 90
params:
side: B
from: switch_from
to: RAW
battery:
what: battery
where: mcu
adjust:
shift: [-17, 0]
params:
RAW: switch_from
reset:
what: reset
where: mcu
params:
from: GND
to: RST
adjust:
shift: [10+mcu_height/2, 0]
rotate: -90
plexi_inner:
what: hole
where: mcu
params:
size: 3.5
drill: 2.2
adjust:
shift: [10+mcu_height/2, -mcu_width/2+1.5]
plexi_outer:
what: hole
where: mcu
params:
size: 3.5
drill: 2.2
adjust:
shift: [10+mcu_height/2, mcu_width/2-1.5]
screw_hole_top_left:
what: hole
where:
ref.aggregate.parts: [matrix_ring_num, matrix_ring_top]
shift: [-11, 0]
params:
size: 4.7
drill: 4.1
screw_hole_top_right:
what: hole
where:
ref.aggregate.parts: [matrix_index_num, matrix_inner_num, matrix_index_top, matrix_inner_top]
shift: [0, -2]
params:
size: 4.7
drill: 4.1
screw_hole_bottom_left:
what: hole
where:
ref.aggregate.parts: [matrix_outer_home, matrix_outer_bottom, matrix_pinky_home, matrix_pinky_bottom]
shift: [0, -1]
params:
size: 4.7
drill: 4.1
screw_hole_bottom_right:
what: hole
where:
ref.aggregate.parts: [matrix_middle_bottom, matrix_index_bottom]
shift: [0, -12]
params:
size: 4.7
drill: 4.1
screw_hole_thumb:
what: hole
where:
ref.aggregate.parts: [thumbs_layer_cluster, thumbs_space_cluster]
shift: [10, 8]
params:
size: 4.7
drill: 4.1