diff --git a/samoklava.yaml b/samoklava.yaml index 4624aa6..1b09d2d 100644 --- a/samoklava.yaml +++ b/samoklava.yaml @@ -15,81 +15,113 @@ points: nets: # from: P1 # to: P2 - from: =colrow - to: =column_net - diode: - type: diode - nets: - # from: P3 - # to: P4 - from: =colrow - to: =row_net + from: =column_net + to: GND + choc: + type: choc anchor: - shift: [0, -5] + rotate: 180 + nets: + from: =column_net + to: GND + params: + keycaps: true + reverse: true zones: matrix: - # anchor: - # rotate: 5 - key.padding: ky columns: pinky: - stagger: 0 ky - spread: kx - key: - column_net: P20 + origin: [ 0, -1cy ] + rotate: 28 # 19 degrees + stagger: 0 # affects distance to previous column so useless for a left pinky column + spread: 0 # affects distance to previous column so useless for a left pinky column + row_overrides: + bottom: + column_net: P21 + home: + column_net: P20 + top: + column_net: P19 ring: - stagger: 0.7 ky - spread: kx - key: - column_net: P19 + rotate: -28 + stagger: 10 + spread: cx + 4 + row_overrides: + bottom: + column_net: P18 + home: + column_net: P15 + top: + column_net: P14 middle: - stagger: 0.2 ky - spread: kx - key: - column_net: P18 + origin: [ 0, -1cy ] + rotate: 0 + stagger: 11.5 + spread: 19 + row_overrides: + bottom: + column_net: P16 + home: + column_net: P10 + top: + column_net: P9 index: - stagger: -0.2 ky - spread: kx - key: - column_net: P15 + origin: [ 0, -1cy ] + rotate: 0 + stagger: -7 + spread: 23 + row_overrides: + bottom: + column_net: P8 + home: + column_net: P7 + top: + column_net: P6 inner: - stagger: -0.1 ky - spread: kx - key: - column_net: P14 + origin: [ 0, -1cy ] + rotate: -5 + stagger: 1 + row_overrides: + bottom: + column_net: P5 + home: + column_net: P4 + top: + column_net: P3 rows: bottom: - row_net: P6 + padding: 1cy home: - row_net: P5 + padding: 1cy top: - row_net: P4 + padding: 1cy thumbfan: anchor: - ref: matrix_inner_bottom - shift: [-1.5 kx, -1 ky] + ref: matrix_index_bottom + shift: [ -3, -22 ] columns: - near: - spread: kx - rotate: -15 - origin: [-0.5 kx, -0.5 ky] - key: - column_net: P18 home: - spread: kx - rotate: -15 - origin: [-0.5 kx, -0.5 ky] + spread: 19 + rotate: 5 key: - column_net: P15 + column_net: P2 + column_mark: R + near: + rotate: 0 + spread: -19 + key: + column_net: P0 + column_mark: M far: - spread: kx - rotate: -15 - origin: [-0.5 kx, -0.5 ky] + spread: 38 + rotate: 0 # 35 degrees cumulative + # origin: [-9.5, -9] key: - column_net: P14 + column_net: P1 + column_mark: P rows: thumb: - row_net: P7 + padding: 0 outlines: # board dimensions according to JLCPCB: 122.28 mm x 101.05 mm exports: @@ -131,6 +163,20 @@ outlines: shift: [0.5 (kx + px), 0] - ref: matrix_index_bottom - ref: matrix_index_top + top_round: + - type: polygon + points: + - ref: matrix_pinky_top + shift: [-0.5 * (kx - px), 0.5 * (ky + py)] + - ref: matrix_ring_top + shift: [-0.5 (kx + px), 0.5 * (ky + py)] + - ref: matrix_middle_top + shift: [-0.5 (kx -px), 0.5 * (ky + py)] + - ref: matrix_index_top + shift: [ (kx), 0.5 * (ky + py)] + - ref: matrix_inner_top + shift: [0.5 (kx - px), 0.5 * (ky + py)] + - ref: matrix_index_bottom controller_area: main: type: rectangle @@ -169,6 +215,10 @@ outlines: type: outline name: thumbfan_glue operation: add + top_round: + type: outline + name: top_round + operation: add base_outline: main: type: outline @@ -177,58 +227,6 @@ outlines: type: outline name: controller_area operation: add - screw_holes: - top_left: - type: circle - anchor: - - ref: matrix_ring_home - shift: [-0.5 kx, 0 ky] - radius: 1.05 - bottom_left: - type: circle - anchor: - - ref: matrix_pinky_bottom - shift: [0.5 kx, 0] - radius: 1.05 - top_right: - type: circle - anchor: - - ref: matrix_inner_top - shift: [-0.5 kx, 0] - radius: 1.05 - palm: - type: circle - anchor: - - ref: matrix_index_bottom - shift: [0, -1.06 ky] - radius: 1.05 - thumb: - type: circle - anchor: - - ref: thumbfan_far_thumb - shift: [-0.55 kx, 0] - radius: 1.05 - mounting_holes: - $extends: outlines.exports.screw_holes - top_left: - radius: 2.05 - bottom_left: - radius: 2.05 - top_right: - radius: 2.05 - palm: - radius: 2.05 - thumb: - radius: 2.05 - bottom_outline: - main: - type: outline - name: base_outline - screw_holes: - type: outline - # TODO use footprints with pad + via reinforcement as mounting holes - name: screw_holes - operation: subtract plate: main: type: outline @@ -237,44 +235,11 @@ outlines: type: outline name: switches operation: subtract - mounting_holes: - type: outline - # TODO use footprints with pad + via reinforcement as mounting holes - name: screw_holes - operation: subtract pcb: main: type: outline name: base_outline - mounting_holes: - type: outline - # TODO use plated through hole footprints as mounting holes - name: mounting_holes - operation: subtract pcbs: - top_plate: - # include JLCJLCJLCJLC text somewhere - include_keys: false - 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 - bottom_plate: - include_keys: false - outlines: - edge: - outline: bottom_outline - layer: Edge.Cuts board: outlines: edge: @@ -286,7 +251,6 @@ pcbs: type: promicro params: orientation: up - batteryPins: true anchor: ref: - matrix_inner_top @@ -296,128 +260,17 @@ pcbs: type: promicro params: orientation: down - batteryPins: true 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: - 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] - rotate: 270 - params: - reverse: true - symmetric: false - # The naming of the nets on this footprint is different from the Corne schematics. - nets: - A: "" - B: VCC - 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] + shift: [27, 0] rotate: 270 params: variant: 2_pin_th