From 05283eadb0720729a0a7347cb50d58eb77bcba27 Mon Sep 17 00:00:00 2001 From: binaryDiv Date: Sun, 18 Feb 2024 17:55:38 +0100 Subject: [PATCH] Add Ergogen config (points and outlines) --- ergogen/config.yaml | 99 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 12 ++++++ 2 files changed, 111 insertions(+) create mode 100644 ergogen/config.yaml create mode 100644 package.json diff --git a/ergogen/config.yaml b/ergogen/config.yaml new file mode 100644 index 0000000..0c120e9 --- /dev/null +++ b/ergogen/config.yaml @@ -0,0 +1,99 @@ +# Ergogen config for the eepyPad + +# Metadata +meta: + # Required version of Ergogen + engine: "4.0.5" + # Version of the board + version: "1.0" + author: binaryDiv + +# Define units and default values used throughout this file +units: + # Redefine choc units (keycap size + 1mm clearance) + cx: 18.5 + cy: 17.5 + + # Size of key rectangle in demo view (keycap size) + $default_width: cx-1 + $default_height: cy-1 + + # Actual spacing of keys + $default_spread: cx + $default_padding: cy + +# Define the points (i.e. keys) +points: + zones: + pad: + # Set anchor to fix placement on KiCad sheet + anchor: + shift: [ 100, -150 ] + + # Key rows (from bottom to top) + rows: + one: + two: + three: + four: + five: + + # Key columns (from left to right) + columns: + one: + two: + three: + four: + five: + rows.five.skip: true + +# Generate outlines that can be used in the PCB and for 3D models +outlines: + # Outline of the key caps (like the demo preview; used for debugging) + _keys: + - what: rectangle + where: true + size: [ cx-1, cy-1 ] + + # Maximum size of PCB (100x100mm to keep it cheap) for visualization + _max_outline: + - what: rectangle + where: pad_three_one + size: [ 100, 100 ] + adjust.shift: [ 0, 50 - 0.5cx ] + + # Outline for the PCB + board: + - what: rectangle + where: pad_three_one + size: [ 100, 100 ] + adjust.shift: [ 0, 50 - 0.5cx ] + fillet: 4 + + # Debug version of board with key caps for visualization + board_debug: + - board + - ^_max_outline + - ^_keys + # Pro Micro board + - what: rectangle + operation: stack + where: pad_five_four + size: [ 18, 32 ] + adjust.shift: [ 0, cy + 5 ] + # Rotary encoder + - what: rectangle + operation: stack + where: pad_five_five + size: [ 14, 14 ] + + # Cutouts for the switches + switch_cutouts: + - what: rectangle + where: true + size: 14 + + # Board outline with switch cutouts + switch_plate: + - board + - -switch_cutouts diff --git a/package.json b/package.json new file mode 100644 index 0000000..d10beb7 --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "name": "eepyboard", + "author": "binaryDiv ", + "description": "Dependencies to generate files for the eepyBoard (not an actual node project).", + "private": true, + "scripts": { + "ergogen": "ergogen -o ergogen/output ergogen" + }, + "dependencies": { + "ergogen": "4.0.5" + } +}