├── MX └── Ver 0.3 │ ├── Kicad │ ├── fp-info-cache │ ├── Heawood42_MX-backups │ │ └── Heawood42_MX-2024-05-10_083908.zip │ ├── Heawood42_MX.kicad_prl │ └── Heawood42_MX.kicad_pro │ └── gerber │ └── heawood-MX-reversible-gerbers.zip ├── MX-hotswap └── Ver 0.3 │ ├── Gerbers │ ├── Heawood42-both-gerbers.zip │ ├── Heawood42-left-gerbers.zip │ └── Heawood42-right-gerbers.zip │ └── Kicad │ ├── Heawood42_MX_hotswap-backups │ └── Heawood42_MX_hotswap-2024-05-10_083818.zip │ ├── fp-info-cache │ ├── Heawood42_MX_hotswap.kicad_prl │ ├── footprints │ ├── SK6812-MINI-E.kicad_mod │ ├── LED_MX_6812miniE.kicad_mod │ └── LED_MX_6812miniE_rev.kicad_mod │ └── Heawood42_MX_hotswap.kicad_pro ├── prerelease versions └── Heawood-cornish │ ├── gerbers │ ├── heawood-cornish-left.zip │ └── heawood-cornish-right.zip │ └── kicad │ ├── sym-lib-table.txt │ ├── corne-heawood-backups │ ├── corne-heawood-2024-04-17_222311.zip │ ├── corne-heawood-2024-04-17_223320.zip │ ├── corne-heawood-2024-04-17_224416.zip │ ├── corne-heawood-2024-04-17_225548.zip │ ├── corne-heawood-2024-04-17_235726.zip │ └── corne-heawood-2024-04-18_122446.zip │ ├── corne-heawood.kicad_prl │ ├── fp-info-cache │ ├── corne-heawood-flip.kicad_pro │ └── corne-heawood.kicad_pro ├── qmk ├── rp2040 │ ├── halconf.h │ ├── rules.mk │ ├── mcuconf.h │ ├── info.json │ └── config.h ├── config.h ├── readme.md ├── matrix.c ├── info.json └── heawood42.c ├── choc └── wifi-choc-version │ ├── KiCad │ ├── sym-lib-table.txt │ ├── heawood-backups │ │ └── heawood-2024-05-10_145107.zip │ ├── heawood.kicad_prl │ └── heawood.kicad_pro │ └── gerber │ ├── heawood4-NPTH.drl │ ├── heawood4-PTH.drl │ ├── heawood4-Edge_Cuts.gbr │ ├── heawood4-B_Mask.gbr │ └── heawood4-F_Mask.gbr ├── zmk ├── heawood42 │ ├── heawood42_left.conf │ ├── heawood42_right.conf │ ├── Kconfig.shield │ ├── heawood42.zmk.yaml │ ├── heawood42.conf │ ├── west_running_notes.txt │ ├── heawood42_left.overlay │ ├── Kconfig.defconfig │ ├── heawood42_right.overlay │ ├── boards │ │ ├── nice_nano.overlay │ │ └── nice_nano_v2.overlay │ └── heawood42.dtsi └── README.md └── README.md /MX/Ver 0.3/Kicad/fp-info-cache: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Gerbers/Heawood42-both-gerbers.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/MX-hotswap/Ver 0.3/Gerbers/Heawood42-both-gerbers.zip -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Gerbers/Heawood42-left-gerbers.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/MX-hotswap/Ver 0.3/Gerbers/Heawood42-left-gerbers.zip -------------------------------------------------------------------------------- /MX/Ver 0.3/gerber/heawood-MX-reversible-gerbers.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/MX/Ver 0.3/gerber/heawood-MX-reversible-gerbers.zip -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Gerbers/Heawood42-right-gerbers.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/MX-hotswap/Ver 0.3/Gerbers/Heawood42-right-gerbers.zip -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/gerbers/heawood-cornish-left.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/prerelease versions/Heawood-cornish/gerbers/heawood-cornish-left.zip -------------------------------------------------------------------------------- /qmk/rp2040/halconf.h: -------------------------------------------------------------------------------- 1 | // Copyright 2022 jack (@waffle87) 2 | // SPDX-License-Identifier: GPL-2.0-or-later 3 | #pragma once 4 | #define HAL_USE_I2C TRUE 5 | #include_next 6 | -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/gerbers/heawood-cornish-right.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/prerelease versions/Heawood-cornish/gerbers/heawood-cornish-right.zip -------------------------------------------------------------------------------- /MX/Ver 0.3/Kicad/Heawood42_MX-backups/Heawood42_MX-2024-05-10_083908.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/MX/Ver 0.3/Kicad/Heawood42_MX-backups/Heawood42_MX-2024-05-10_083908.zip -------------------------------------------------------------------------------- /choc/wifi-choc-version/KiCad/sym-lib-table.txt: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (lib (name "corne-chocolate-rescue")(type "Legacy")(uri "${KIPRJMOD}/corne-chocolate-rescue.lib")(options "")(descr "")) 3 | ) 4 | -------------------------------------------------------------------------------- /choc/wifi-choc-version/KiCad/heawood-backups/heawood-2024-05-10_145107.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/choc/wifi-choc-version/KiCad/heawood-backups/heawood-2024-05-10_145107.zip -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/sym-lib-table.txt: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (lib (name "corne-chocolate-rescue")(type "Legacy")(uri "${KIPRJMOD}/corne-chocolate-rescue.lib")(options "")(descr "")) 3 | ) 4 | -------------------------------------------------------------------------------- /qmk/rp2040/rules.mk: -------------------------------------------------------------------------------- 1 | SERIAL_DRIVER = vendor 2 | 3 | OLED_ENABLE = yes 4 | OLED_DRIVER = ssd1306 5 | OLED_TRANSPORT = i2c 6 | 7 | TAP_DANCE_ENABLE = yes 8 | 9 | CUSTOM_MATRIX = lite 10 | SRC += matrix.c -------------------------------------------------------------------------------- /qmk/rp2040/mcuconf.h: -------------------------------------------------------------------------------- 1 | // Copyright 2022 jack (@waffle87) 2 | // SPDX-License-Identifier: GPL-2.0-or-later 3 | #pragma once 4 | #include_next 5 | #undef RP_I2C_USE_I2C1 6 | #define RP_I2C_USE_I2C1 TRUE 7 | -------------------------------------------------------------------------------- /zmk/heawood42/heawood42_left.conf: -------------------------------------------------------------------------------- 1 | CONFIG_ZMK_RGB_UNDERGLOW=y 2 | # Use the STRIP config specific to the LEDs you're using 3 | CONFIG_WS2812_STRIP=y 4 | 5 | #CONFIG_ZMK_USB_LOGGING=y 6 | 7 | CONFIG_ZMK_DISPLAY=y 8 | -------------------------------------------------------------------------------- /zmk/heawood42/heawood42_right.conf: -------------------------------------------------------------------------------- 1 | 2 | CONFIG_ZMK_RGB_UNDERGLOW=y 3 | # Use the STRIP config specific to the LEDs you're using 4 | CONFIG_WS2812_STRIP=y 5 | 6 | #CONFIG_ZMK_USB_LOGGING=y 7 | 8 | CONFIG_ZMK_DISPLAY=y 9 | -------------------------------------------------------------------------------- /zmk/README.md: -------------------------------------------------------------------------------- 1 | - RGB is working 2 | - OLED is working 3 | - Keyscan is working 4 | - Note that a previous issue prevented certain pairs of keypresses, which is now fixed. Please update firmware to this new version. 5 | -------------------------------------------------------------------------------- /zmk/heawood42/Kconfig.shield: -------------------------------------------------------------------------------- 1 | #license info here 2 | 3 | config SHIELD_HEAWOOD_LEFT 4 | def_bool $(shields_list_contains,heawood42_left) 5 | 6 | config SHIELD_HEAWOOD_RIGHT 7 | def_bool $(shields_list_contains,heawood42_right) 8 | -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Kicad/Heawood42_MX_hotswap-backups/Heawood42_MX_hotswap-2024-05-10_083818.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/MX-hotswap/Ver 0.3/Kicad/Heawood42_MX_hotswap-backups/Heawood42_MX_hotswap-2024-05-10_083818.zip -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_222311.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_222311.zip -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_223320.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_223320.zip -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_224416.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_224416.zip -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_225548.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_225548.zip -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_235726.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-17_235726.zip -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-18_122446.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triliu/Heawood42/HEAD/prerelease versions/Heawood-cornish/kicad/corne-heawood-backups/corne-heawood-2024-04-18_122446.zip -------------------------------------------------------------------------------- /qmk/config.h: -------------------------------------------------------------------------------- 1 | // Copyright 2024 T. G. Marbach 2 | // SPDX-License-Identifier: GPL-2.0-or-later 3 | // This is free software. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | #pragma once 6 | #define RGB_MATRIX_LED_COUNT 42 7 | -------------------------------------------------------------------------------- /qmk/rp2040/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "bootloader": "rp2040", 3 | "matrix_pins": { 4 | "cols": ["GP29", "GP28", "GP27", "GP26", "GP22", "GP20", "GP23"], 5 | "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP21"] 6 | }, 7 | "processor": "RP2040", 8 | "ws2812": { 9 | "pin": "GP0", 10 | "driver": "vendor" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /zmk/heawood42/heawood42.zmk.yaml: -------------------------------------------------------------------------------- 1 | file_format: "1" 2 | id: heawood42 3 | name: Heawood42 4 | type: shield 5 | url: https://github.com/triliu/Heawood42 6 | requires: [pro_micro] 7 | exposes: [i2c_oled] 8 | features: 9 | - keys 10 | - display 11 | - underglow 12 | - studio 13 | siblings: 14 | - heawood42_left 15 | - heawood42_right 16 | -------------------------------------------------------------------------------- /qmk/rp2040/config.h: -------------------------------------------------------------------------------- 1 | // Copyright 2022 jack (@waffle87) 2 | // SPDX-License-Identifier: GPL-2.0-or-later 3 | #pragma once 4 | 5 | #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET 6 | #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U 7 | 8 | #define SOFT_SERIAL_PIN GP1 9 | 10 | #define I2C_DRIVER I2CD1 11 | #define I2C1_SDA_PIN GP2 //GP22 12 | #define I2C1_SCL_PIN GP3 //GP23 13 | -------------------------------------------------------------------------------- /zmk/heawood42/heawood42.conf: -------------------------------------------------------------------------------- 1 | CONFIG_ZMK_DISPLAY=y 2 | 3 | CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=220 4 | CONFIG_ZMK_RGB_UNDERGLOW_SAT_START=100 5 | CONFIG_ZMK_RGB_UNDERGLOW_BRT_START=20 6 | 7 | # # Battery 8 | # CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y 9 | # CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_PROXY=y 10 | 11 | # Turn on logging, and set ZMK logging to debug output 12 | #CONFIG_ZMK_USB_LOGGING=y 13 | 14 | -------------------------------------------------------------------------------- /zmk/heawood42/west_running_notes.txt: -------------------------------------------------------------------------------- 1 | devcontainer up --workspace-folder "/home/triliu/gits/zmk" 2 | docker ps 3 | docker exec -w /workspaces/zmk -i d5a17f3ab6ca /bin/bash 4 | 5 | west build -p -d build/heawood42/left -b nice_nano_v2 -S studio-rpc-usb-uart -- -DSHIELD=heawood42_left -DCONFIG_ZMK_STUDIO=y 6 | west build -p -d build/heawood42/right -b nice_nano_v2 -S studio-rpc-usb-uart -- -DSHIELD=heawood42_right -DCONFIG_ZMK_STUDIO=y 7 | west build -p -d build/reset -b nice_nano_v2 -- -DSHIELD=settings_reset 8 | -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Kicad/fp-info-cache: -------------------------------------------------------------------------------- 1 | 5132259848332 2 | Heawood_Kbd 3 | LED_MX_6812miniE 4 | Add-on for regular MX-footprints with 6028 reverse mount LED 5 | cherry MX 6028 rearmount rear mount led rgb backlight 6 | 0 7 | 4 8 | 4 9 | Heawood_Kbd 10 | LED_MX_6812miniE_rev 11 | Add-on for regular MX-footprints with 6028 reverse mount LED 12 | cherry MX 6028 rearmount rear mount led rgb backlight 13 | 0 14 | 4 15 | 4 16 | Heawood_Kbd 17 | SK6812-MINI-E 18 | 19 | 20 | 0 21 | 4 22 | 4 23 | -------------------------------------------------------------------------------- /zmk/heawood42/heawood42_left.overlay: -------------------------------------------------------------------------------- 1 | 2 | #include "heawood42.dtsi" 3 | 4 | &kscan0 { 5 | col-gpios 6 | = <&pro_micro 21 GPIO_OPEN_SOURCE> // col1 in the schematic 7 | , <&pro_micro 20 GPIO_OPEN_SOURCE> // col2 in the schematic 8 | , <&pro_micro 19 GPIO_OPEN_SOURCE> // col3 in the schematic 9 | , <&pro_micro 18 GPIO_OPEN_SOURCE> // col4 in the schematic 10 | , <&pro_micro 15 GPIO_OPEN_SOURCE> // col5 in the schematic 11 | , <&pro_micro 14 GPIO_OPEN_SOURCE> // col6 in the schematic 12 | , <&pro_micro 16 GPIO_OPEN_SOURCE> // col7 in the schematic 13 | ; 14 | }; 15 | -------------------------------------------------------------------------------- /zmk/heawood42/Kconfig.defconfig: -------------------------------------------------------------------------------- 1 | if SHIELD_HEAWOOD_LEFT 2 | 3 | config ZMK_KEYBOARD_NAME 4 | default "Heawood42" 5 | 6 | config ZMK_SPLIT_ROLE_CENTRAL 7 | default y 8 | 9 | endif 10 | 11 | if SHIELD_HEAWOOD_LEFT || SHIELD_HEAWOOD_RIGHT 12 | 13 | config ZMK_SPLIT 14 | default y 15 | 16 | if ZMK_DISPLAY 17 | 18 | config I2C 19 | default y 20 | 21 | config SSD1306 22 | default y 23 | 24 | endif # ZMK_DISPLAY 25 | 26 | if LVGL 27 | 28 | config LV_Z_VDB_SIZE 29 | default 64 30 | 31 | config LV_DPI_DEF 32 | default 148 33 | 34 | config LV_Z_BITS_PER_PIXEL 35 | default 1 36 | 37 | choice LV_COLOR_DEPTH 38 | default LV_COLOR_DEPTH_1 39 | endchoice 40 | 41 | endif # LVGL 42 | 43 | endif 44 | -------------------------------------------------------------------------------- /zmk/heawood42/heawood42_right.overlay: -------------------------------------------------------------------------------- 1 | #include "heawood42.dtsi" 2 | 3 | &default_transform { // The matrix transform for this board is 7 columns over because the left half is 7 columns wide according to the matrix. 4 | col-offset = <7>; 5 | }; 6 | 7 | 8 | 9 | &kscan0 { 10 | col-gpios 11 | = <&pro_micro 21 GPIO_OPEN_SOURCE> // col1 in the schematic 12 | , <&pro_micro 20 GPIO_OPEN_SOURCE> // col2 in the schematic 13 | , <&pro_micro 19 GPIO_OPEN_SOURCE> // col3 in the schematic 14 | , <&pro_micro 18 GPIO_OPEN_SOURCE> // col4 in the schematic 15 | , <&pro_micro 15 GPIO_OPEN_SOURCE> // col5 in the schematic 16 | , <&pro_micro 14 GPIO_OPEN_SOURCE> // col6 in the schematic 17 | , <&pro_micro 16 GPIO_OPEN_SOURCE> // col7 in the schematic 18 | ; 19 | }; 20 | -------------------------------------------------------------------------------- /zmk/heawood42/boards/nice_nano.overlay: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | &pinctrl { 4 | spi3_default: spi3_default { 5 | group1 { 6 | psels = ; 7 | }; 8 | }; 9 | 10 | spi3_sleep: spi3_sleep { 11 | group1 { 12 | psels = ; 13 | low-power-enable; 14 | }; 15 | }; 16 | }; 17 | 18 | &spi3 { 19 | compatible = "nordic,nrf-spim"; 20 | status = "okay"; 21 | 22 | pinctrl-0 = <&spi3_default>; 23 | pinctrl-1 = <&spi3_sleep>; 24 | pinctrl-names = "default", "sleep"; 25 | 26 | led_strip: ws2812@0 { 27 | compatible = "worldsemi,ws2812-spi"; 28 | 29 | /* SPI */ 30 | reg = <0>; /* ignored, but necessary for SPI bindings */ 31 | spi-max-frequency = <4000000>; 32 | 33 | /* WS2812 */ 34 | chain-length = <10>; /* arbitrary; change at will */ 35 | spi-one-frame = <0x70>; 36 | spi-zero-frame = <0x40>; 37 | 38 | color-mapping = ; 39 | }; 40 | }; 41 | 42 | / { 43 | chosen { 44 | zmk,underglow = &led_strip; 45 | }; 46 | }; 47 | -------------------------------------------------------------------------------- /zmk/heawood42/boards/nice_nano_v2.overlay: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | &pinctrl { 4 | spi3_default: spi3_default { 5 | group1 { 6 | psels = ; 7 | }; 8 | }; 9 | 10 | spi3_sleep: spi3_sleep { 11 | group1 { 12 | psels = ; 13 | low-power-enable; 14 | }; 15 | }; 16 | }; 17 | 18 | &spi3 { 19 | compatible = "nordic,nrf-spim"; 20 | status = "okay"; 21 | 22 | pinctrl-0 = <&spi3_default>; 23 | pinctrl-1 = <&spi3_sleep>; 24 | pinctrl-names = "default", "sleep"; 25 | 26 | led_strip: ws2812@0 { 27 | compatible = "worldsemi,ws2812-spi"; 28 | 29 | /* SPI */ 30 | reg = <0>; /* ignored, but necessary for SPI bindings */ 31 | spi-max-frequency = <4000000>; 32 | 33 | /* WS2812 */ 34 | chain-length = <10>; /* arbitrary; change at will */ 35 | spi-one-frame = <0x70>; 36 | spi-zero-frame = <0x40>; 37 | 38 | color-mapping = ; 39 | }; 40 | }; 41 | 42 | / { 43 | chosen { 44 | zmk,underglow = &led_strip; 45 | }; 46 | }; 47 | -------------------------------------------------------------------------------- /qmk/readme.md: -------------------------------------------------------------------------------- 1 | # Heawood42 2 | 3 | Explainer 4 | 5 | 6 | * Keyboard Maintainer: [Triliu](https://github.com/triliu) 7 | * Hardware Supported: Heawood42 v1 8 | * Hardware Availability: (coming) 9 | 10 | Place these files in .../qmk_firmware/keyboards/triliu/heawood42 11 | 12 | To compile in QMK MYSY, run command: 13 | 14 | qmk compile -kb triliu/heawood42/rp2040 -km default 15 | (coming soon) qmk compile -kb triliu/heawood42/avr -km default 16 | 17 | Make example for this keyboard (after setting up your build environment): 18 | 19 | make triliu/heawood42/rp2040:default 20 | (coming soon) make triliu/heawood42/avr:default 21 | 22 | Flashing example for this keyboard: 23 | 24 | make triliu/heawood42/rp2040:default:flash 25 | (coming soon) make triliu/heawood42/avr:default:flash 26 | 27 | 28 | First time accessing the bootloader, you might have to hold the boot button and then press the reset button. 29 | Subsequently, enter bootloader by double-tapping reset button 30 | 31 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 32 | -------------------------------------------------------------------------------- /MX/Ver 0.3/Kicad/Heawood42_MX.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 0, 4 | "active_layer_preset": "", 5 | "auto_track_width": true, 6 | "hidden_netclasses": [], 7 | "hidden_nets": [], 8 | "high_contrast_mode": 0, 9 | "net_color_mode": 1, 10 | "opacity": { 11 | "images": 0.6, 12 | "pads": 1.0, 13 | "tracks": 1.0, 14 | "vias": 1.0, 15 | "zones": 0.6 16 | }, 17 | "selection_filter": { 18 | "dimensions": true, 19 | "footprints": true, 20 | "graphics": true, 21 | "keepouts": true, 22 | "lockedItems": false, 23 | "otherItems": true, 24 | "pads": true, 25 | "text": true, 26 | "tracks": true, 27 | "vias": true, 28 | "zones": true 29 | }, 30 | "visible_items": [ 31 | 0, 32 | 1, 33 | 2, 34 | 3, 35 | 4, 36 | 5, 37 | 8, 38 | 9, 39 | 10, 40 | 11, 41 | 12, 42 | 13, 43 | 15, 44 | 16, 45 | 17, 46 | 18, 47 | 19, 48 | 20, 49 | 21, 50 | 22, 51 | 23, 52 | 24, 53 | 25, 54 | 26, 55 | 27, 56 | 28, 57 | 29, 58 | 30, 59 | 32, 60 | 33, 61 | 34, 62 | 35, 63 | 36, 64 | 39, 65 | 40 66 | ], 67 | "visible_layers": "fffffff_ffffffff", 68 | "zone_display_mode": 0 69 | }, 70 | "meta": { 71 | "filename": "Heawood42_MX.kicad_prl", 72 | "version": 3 73 | }, 74 | "project": { 75 | "files": [] 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /choc/wifi-choc-version/KiCad/heawood.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 0, 4 | "active_layer_preset": "", 5 | "auto_track_width": true, 6 | "hidden_netclasses": [], 7 | "hidden_nets": [], 8 | "high_contrast_mode": 0, 9 | "net_color_mode": 1, 10 | "opacity": { 11 | "images": 0.6, 12 | "pads": 1.0, 13 | "tracks": 1.0, 14 | "vias": 1.0, 15 | "zones": 0.6 16 | }, 17 | "selection_filter": { 18 | "dimensions": true, 19 | "footprints": true, 20 | "graphics": true, 21 | "keepouts": true, 22 | "lockedItems": false, 23 | "otherItems": true, 24 | "pads": true, 25 | "text": true, 26 | "tracks": true, 27 | "vias": true, 28 | "zones": true 29 | }, 30 | "visible_items": [ 31 | 0, 32 | 1, 33 | 2, 34 | 3, 35 | 4, 36 | 5, 37 | 8, 38 | 9, 39 | 10, 40 | 11, 41 | 12, 42 | 13, 43 | 15, 44 | 16, 45 | 17, 46 | 18, 47 | 19, 48 | 20, 49 | 21, 50 | 22, 51 | 23, 52 | 24, 53 | 25, 54 | 26, 55 | 27, 56 | 28, 57 | 29, 58 | 30, 59 | 32, 60 | 33, 61 | 34, 62 | 35, 63 | 36, 64 | 39, 65 | 40 66 | ], 67 | "visible_layers": "fffffff_ffffffff", 68 | "zone_display_mode": 0 69 | }, 70 | "meta": { 71 | "filename": "heawood.kicad_prl", 72 | "version": 3 73 | }, 74 | "project": { 75 | "files": [] 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Kicad/Heawood42_MX_hotswap.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 0, 4 | "active_layer_preset": "All Layers", 5 | "auto_track_width": false, 6 | "hidden_netclasses": [], 7 | "hidden_nets": [], 8 | "high_contrast_mode": 0, 9 | "net_color_mode": 1, 10 | "opacity": { 11 | "images": 0.6, 12 | "pads": 1.0, 13 | "tracks": 1.0, 14 | "vias": 1.0, 15 | "zones": 0.6 16 | }, 17 | "selection_filter": { 18 | "dimensions": true, 19 | "footprints": true, 20 | "graphics": true, 21 | "keepouts": true, 22 | "lockedItems": false, 23 | "otherItems": true, 24 | "pads": true, 25 | "text": true, 26 | "tracks": true, 27 | "vias": true, 28 | "zones": true 29 | }, 30 | "visible_items": [ 31 | 0, 32 | 1, 33 | 2, 34 | 3, 35 | 4, 36 | 5, 37 | 8, 38 | 9, 39 | 10, 40 | 11, 41 | 12, 42 | 13, 43 | 15, 44 | 16, 45 | 17, 46 | 18, 47 | 19, 48 | 20, 49 | 21, 50 | 22, 51 | 23, 52 | 24, 53 | 25, 54 | 26, 55 | 27, 56 | 28, 57 | 29, 58 | 30, 59 | 32, 60 | 33, 61 | 34, 62 | 35, 63 | 36, 64 | 39, 65 | 40 66 | ], 67 | "visible_layers": "fffffff_ffffffff", 68 | "zone_display_mode": 0 69 | }, 70 | "meta": { 71 | "filename": "Heawood42.kicad_prl", 72 | "version": 3 73 | }, 74 | "project": { 75 | "files": [] 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 44, 4 | "active_layer_preset": "All Layers", 5 | "auto_track_width": true, 6 | "hidden_netclasses": [], 7 | "hidden_nets": [], 8 | "high_contrast_mode": 0, 9 | "net_color_mode": 1, 10 | "opacity": { 11 | "images": 0.6, 12 | "pads": 1.0, 13 | "tracks": 1.0, 14 | "vias": 1.0, 15 | "zones": 0.6 16 | }, 17 | "selection_filter": { 18 | "dimensions": true, 19 | "footprints": true, 20 | "graphics": true, 21 | "keepouts": true, 22 | "lockedItems": false, 23 | "otherItems": true, 24 | "pads": true, 25 | "text": true, 26 | "tracks": true, 27 | "vias": true, 28 | "zones": true 29 | }, 30 | "visible_items": [ 31 | 0, 32 | 1, 33 | 2, 34 | 3, 35 | 4, 36 | 5, 37 | 8, 38 | 9, 39 | 10, 40 | 11, 41 | 12, 42 | 13, 43 | 15, 44 | 16, 45 | 17, 46 | 18, 47 | 19, 48 | 20, 49 | 21, 50 | 22, 51 | 23, 52 | 24, 53 | 25, 54 | 26, 55 | 27, 56 | 28, 57 | 29, 58 | 30, 59 | 32, 60 | 33, 61 | 34, 62 | 35, 63 | 36, 64 | 39, 65 | 40 66 | ], 67 | "visible_layers": "fffffff_ffffffff", 68 | "zone_display_mode": 0 69 | }, 70 | "meta": { 71 | "filename": "corne-heawood.kicad_prl", 72 | "version": 3 73 | }, 74 | "project": { 75 | "files": [] 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Kicad/footprints/SK6812-MINI-E.kicad_mod: -------------------------------------------------------------------------------- 1 | (module "SK6812-MINI-E" (layer F.Cu) (tedit 5ECEB660) 2 | (fp_text reference "REF**" (at 0 2.1 unlocked) (layer F.SilkS) 3 | (effects (font (size 0.7 0.7) (thickness 0.15))) 4 | ) 5 | (fp_text value "SK6812-MINI-E" (at 0 -0.5 unlocked) (layer F.SilkS) hide 6 | (effects (font (size 1 1) (thickness 0.15))) 7 | ) 8 | (fp_poly (pts (xy 2.8 -1.4) (xy 2.2 -1.4) (xy 2.2 -2)) (layer F.SilkS) (width 0.1)) 9 | (fp_line (start 1.6 -1.4) (end 1.6 1.4) (layer Cmts.User) (width 0.12)) 10 | (fp_line (start 1.6 1.4) (end -1.6 1.4) (layer Cmts.User) (width 0.12)) 11 | (fp_line (start -1.6 1.4) (end -1.6 -1.4) (layer Cmts.User) (width 0.12)) 12 | (fp_line (start -1.6 -1.4) (end 1.6 -1.4) (layer Cmts.User) (width 0.12)) 13 | (fp_line (start 1.7 -1.5) (end 1.7 1.5) (layer Edge.Cuts) (width 0.12)) 14 | (fp_line (start 1.7 1.5) (end -1.7 1.5) (layer Edge.Cuts) (width 0.12)) 15 | (fp_line (start -1.7 1.5) (end -1.7 -1.5) (layer Edge.Cuts) (width 0.12)) 16 | (fp_line (start -1.7 -1.5) (end 1.7 -1.5) (layer Edge.Cuts) (width 0.12)) 17 | (pad "1" smd rect (at -2.55 0.75) (size 1.7 0.82) (layers "F.Cu" "F.Paste" "F.Mask")) 18 | (pad "2" smd rect (at -2.55 -0.75) (size 1.7 0.82) (layers "F.Cu" "F.Paste" "F.Mask")) 19 | (pad "4" smd rect (at 2.55 0.75) (size 1.7 0.82) (layers "F.Cu" "F.Paste" "F.Mask")) 20 | (pad "3" smd roundrect (at 2.55 -0.75) (size 1.7 0.82) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)) 21 | (model "/Users/danny/syncproj/kicad-libs/footprints/Keebio-Parts.pretty/3dmodels/SK6812MINI-E v1.step" 22 | (at (xyz 0 0 0)) 23 | (scale (xyz 1 1 1)) 24 | (rotate (xyz 90 0 0)) 25 | ) 26 | ) 27 | -------------------------------------------------------------------------------- /zmk/heawood42/heawood42.dtsi: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | &triliu_heawood_6col_layout { 5 | transform = <&default_transform>; 6 | }; 7 | 8 | 9 | 10 | / { 11 | chosen { 12 | zephyr,display = &oled; 13 | zmk,kscan = &kscan0; 14 | zmk,physical-layout = &triliu_heawood_6col_layout; 15 | }; 16 | 17 | default_transform: keymap_transform_0 { 18 | compatible = "zmk,matrix-transform"; 19 | columns = <14>; 20 | rows = <7>; 21 | // | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | 22 | // | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | 23 | // | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | 24 | // | SW24 | SW23 | SW22 | SW21 | SW20 | SW19 | SW25 | | SW25 | SW19 | SW20 | SW21 | SW22 | SW23 | SW24 | 25 | // | SW29 | SW28 | SW27 | SW26 | | SW26 | SW27 | SW28 | SW29 | 26 | map = < 27 | RC(5,5) RC(4,4) RC(3,3) RC(2,2) RC(1,1) RC(0,0) RC(0,7) RC(1,8) RC(2,9) RC(3,10) RC(4,11) RC(5,12) 28 | RC(4,5) RC(3,4) RC(2,3) RC(1,2) RC(0,1) RC(6,0) RC(6,7) RC(0,8) RC(1,9) RC(2,10) RC(3,11) RC(4,12) 29 | RC(1,4) RC(0,3) RC(6,2) RC(5,1) RC(4,0) RC(4,7) RC(5,8) RC(6,9) RC(0,10) RC(1,11) 30 | RC(2,5) RC(6,6) RC(5,6) RC(3,6) RC(3,13) RC(5,13) RC(6,13) RC(2,12) 31 | >; 32 | }; 33 | 34 | 35 | kscan0: kscan { 36 | compatible = "zmk,kscan-gpio-matrix"; 37 | 38 | diode-direction = "col2row"; 39 | row-gpios 40 | = <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // Row A from the schematic file 41 | , <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // Row B from the schematic file 42 | , <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // Row C from the schematic file 43 | , <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // Row D from the schematic file 44 | , <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // Row E from the schematic file 45 | , <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // Row E from the schematic file 46 | , <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // Row E from the schematic file 47 | ; 48 | 49 | }; 50 | }; 51 | &pro_micro_i2c { 52 | status = "okay"; 53 | 54 | oled: ssd1306@3c { 55 | compatible = "solomon,ssd1306fb"; 56 | reg = <0x3c>; 57 | width = <128>; 58 | height = <32>; 59 | segment-offset = <0>; 60 | page-offset = <0>; 61 | display-offset = <0>; 62 | multiplex-ratio = <31>; 63 | segment-remap; 64 | com-invdir; 65 | com-sequential; 66 | inversion-on; 67 | prechargep = <0x22>; 68 | }; 69 | }; 70 | -------------------------------------------------------------------------------- /choc/wifi-choc-version/gerber/heawood4-NPTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad 7.0.8} date Thu Feb 29 00:10:49 2024 3 | ; FORMAT={-:-/ absolute / inch / decimal} 4 | ; #@! TF.CreationDate,2024-02-29T00:10:49-05:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.8 6 | ; #@! TF.FileFunction,NonPlated,1,2,NPTH 7 | FMAT,2 8 | INCH 9 | ; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill 10 | T1C0.0354 11 | ; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill 12 | T2C0.0709 13 | ; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill 14 | T3C0.1181 15 | ; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill 16 | T4C0.1339 17 | % 18 | G90 19 | G05 20 | T1 21 | X7.6016Y-4.439 22 | X7.6016Y-4.5571 23 | T2 24 | X2.7362Y-3.3858 25 | X2.7362Y-4.0551 26 | X3.1693Y-3.3858 27 | X3.1693Y-4.0551 28 | X3.4449Y-3.0512 29 | X3.4449Y-3.7205 30 | X3.4449Y-4.3898 31 | X3.878Y-3.0512 32 | X3.878Y-3.7205 33 | X3.878Y-4.3898 34 | X4.1535Y-2.8543 35 | X4.1535Y-3.5236 36 | X4.1535Y-4.1929 37 | X4.5866Y-2.8543 38 | X4.5866Y-3.5236 39 | X4.5866Y-4.1929 40 | X4.8622Y-2.7559 41 | X4.8622Y-3.4252 42 | X4.8622Y-4.0945 43 | X5.0689Y-4.8819 44 | X5.2953Y-2.7559 45 | X5.2953Y-3.4252 46 | X5.2953Y-4.0945 47 | X5.502Y-4.8819 48 | X5.5709Y-2.8543 49 | X5.5709Y-3.5236 50 | X5.5709Y-4.1929 51 | X5.8834Y-4.944 52 | X6.0039Y-2.8543 53 | X6.0039Y-3.5236 54 | X6.0039Y-4.1929 55 | X6.2795Y-2.9528 56 | X6.2795Y-3.622 57 | X6.2795Y-4.2913 58 | X6.3017Y-5.056 59 | X6.7126Y-2.9528 60 | X6.7126Y-3.622 61 | X6.7126Y-4.2913 62 | X6.8602Y-5.4336 63 | X7.0768Y-5.0585 64 | X7.5Y-5.7978 65 | X7.7165Y-5.4227 66 | T3 67 | X2.7559Y-3.5315 68 | X2.7559Y-4.2008 69 | X2.9528Y-3.6181 70 | X2.9528Y-4.2874 71 | X3.1496Y-3.5315 72 | X3.1496Y-4.2008 73 | X3.4646Y-3.1969 74 | X3.4646Y-3.8661 75 | X3.4646Y-4.5354 76 | X3.6614Y-3.2835 77 | X3.6614Y-3.9528 78 | X3.6614Y-4.622 79 | X3.8583Y-3.1969 80 | X3.8583Y-3.8661 81 | X3.8583Y-4.5354 82 | X4.1732Y-3.0 83 | X4.1732Y-3.6693 84 | X4.1732Y-4.3386 85 | X4.3701Y-3.0866 86 | X4.3701Y-3.7559 87 | X4.3701Y-4.4252 88 | X4.5669Y-3.0 89 | X4.5669Y-3.6693 90 | X4.5669Y-4.3386 91 | X4.8819Y-2.9016 92 | X4.8819Y-3.5709 93 | X4.8819Y-4.2402 94 | X5.0787Y-2.9882 95 | X5.0787Y-3.6575 96 | X5.0787Y-4.3268 97 | X5.0886Y-5.0276 98 | X5.2756Y-2.9016 99 | X5.2756Y-3.5709 100 | X5.2756Y-4.2402 101 | X5.2854Y-5.1142 102 | X5.4823Y-5.0276 103 | X5.5906Y-3.0 104 | X5.5906Y-3.6693 105 | X5.5906Y-4.3386 106 | X5.7874Y-3.0866 107 | X5.7874Y-3.7559 108 | X5.7874Y-4.4252 109 | X5.8647Y-5.0898 110 | X5.9843Y-3.0 111 | X5.9843Y-3.6693 112 | X5.9843Y-4.3386 113 | X6.0324Y-5.2244 114 | X6.245Y-5.1917 115 | X6.2992Y-3.0984 116 | X6.2992Y-3.7677 117 | X6.2992Y-4.437 118 | X6.4961Y-3.185 119 | X6.4961Y-3.8543 120 | X6.4961Y-4.5236 121 | X6.6929Y-3.0984 122 | X6.6929Y-3.7677 123 | X6.6929Y-4.437 124 | X6.9962Y-5.4894 125 | X7.1697Y-5.3622 126 | X7.1931Y-5.1484 127 | X7.636Y-5.8535 128 | X7.8094Y-5.7264 129 | X7.8328Y-5.5126 130 | T4 131 | X2.9528Y-3.3858 132 | X2.9528Y-4.0551 133 | X3.6614Y-3.0512 134 | X3.6614Y-3.7205 135 | X3.6614Y-4.3898 136 | X4.3701Y-2.8543 137 | X4.3701Y-3.5236 138 | X4.3701Y-4.1929 139 | X5.0787Y-2.7559 140 | X5.0787Y-3.4252 141 | X5.0787Y-4.0945 142 | X5.2854Y-4.8819 143 | X5.7874Y-2.8543 144 | X5.7874Y-3.5236 145 | X5.7874Y-4.1929 146 | X6.0925Y-5.0 147 | X6.4961Y-2.9528 148 | X6.4961Y-3.622 149 | X6.4961Y-4.2913 150 | X6.9685Y-5.2461 151 | X7.6083Y-5.6102 152 | T0 153 | M30 154 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Heawood42 2 | 3 | The Heawood42 is a diodeless 42-key ortho-linear split keyboard that uses any pro micro microcontroller. The Heawood42 utilises a new type of circuit design stemming from graph theory and mathematical design theory. All previous diodeless keyboards work using one pin per key, such as the [sweep](https://github.com/davidphilipbarr/Sweep), which uses 17 pins to control 17 keys per side, the [sweeeeep](https://fingerpunch.xyz/product/sweeeeep/), which uses 17 pins to control 17 keys per side, the [cantor](https://github.com/diepala/cantor), which uses 18 pins to control 18 keys per side, and the [piantor](https://github.com/beekeeb/piantor), which uses 21 pins to control 21 keys per side. The first two keyboards can use any pro micro-style board (traditionally, the pro micro-style boards have 18 pins available, but one of these pins is required for communication among the halves). The third and fourth keyboard requires the use of a larger microcontroller, the BlackPills and the Raspberry Pi Pico, respectively. 4 | 5 | The Heawood42 is the first split diodeless keyboard requiring fewer pins than keys. Each side uses 14 pins to control 21 keys. This means that even on a typical pro micro-style board, the Heawood42 may have inter-board communication, addressable RGB lights, and an OLED screen. 6 | 7 | Due to its diodeless-ness, the Heawood42 is ideal in several cases, as it reduces the cost and complexity of making a custom mechanical keyboard. 8 | 9 | 10 | 11 | 12 | 13 | 14 | ## Why 'Heawood'? 15 | 16 | Typical mechanical keyboards arrange their keys in a grid pattern. In such a grid, there are cycles of four keys. If no diodes were used and three keys of a four-key cycle were pressed, the keyboard would act like all four keys were being pressed. See https://pcbheaven.com/wikipages/How_Key_Matrices_Works/ for an explainer of this phenomenon. By adding a diode to every key, the keyboard becomes "n-key rollover", meaning that the keyboard can theoretically distinguish all combinations of keypresses. In software, however, 6-key rollover is typically used, meaning the software assumes that if more than six keys are being pressed, then keys were pressed on accident. The USB keyboard protocol is limited to a 6-key rollover. For split keyboards, a 6-key rollover on each half is excessive, as typically one finger would only press one key at a time, and even a 5-key rollover is more than is needed. 17 | 18 | In graph theory, it is possible to make graphs that do not contain small cycles. Each graph can be converted into a new type of key matrix, with differing characteristics. The Heawood graph is a graph that is the incidence graph of a projective plane of order 2, and has 14 vertices, 21 edges, and a girth of 6. For more details on this graph, see [House of Graphs](https://houseofgraphs.org/graphs/1154). This graph converts to a key matrix with just a 4-key rollover. However, by designing the board specifically, all problematic 5-key and 6-key sequences may be practically eliminated, yielding the Heawood42. 19 | 20 | 21 | 22 | 23 | This design is powered using any pro micro-style microcontroller. 24 | 25 | ## Versions 26 | - Regular MX-hotswap version 27 | - 19.05 x 19.05 spacing 28 | - MX hot-swap style holes (requires 42 MX hot-swap sockets) 29 | - Per-key RGB LEDs (optional) 30 | - Choc-hotswap version 31 | - 18 x 17 spacing 32 | - Choc hot-swap style holes (requires 42 choc hot-swap sockets) 33 | - Per-key RGB LEDs (optional) 34 | 35 | -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/fp-info-cache: -------------------------------------------------------------------------------- 1 | 59875579477180 2 | PCM_marbastlib-xp-promicroish 3 | Elite-C_AC 4 | Footprint for Elite-C controllers, castellated pads only 5 | 6 | 0 7 | 30 8 | 30 9 | PCM_marbastlib-xp-promicroish 10 | Elite-C_ACH 11 | Footprint for Elite-C controllers, through hole and castellated pads 12 | 13 | 0 14 | 59 15 | 30 16 | PCM_marbastlib-xp-promicroish 17 | Elite-C_AH_Reversible 18 | Footprint for Elite-C controllers, through hole pads only, USB pointing away from PCB 19 | 20 | 0 21 | 30 22 | 30 23 | PCM_marbastlib-xp-promicroish 24 | Elite-C_AH_USBdn 25 | Footprint for Elite-C controllers, through hole pads only, USB facing PCB 26 | 27 | 0 28 | 30 29 | 30 30 | PCM_marbastlib-xp-promicroish 31 | Elite-C_AH_USBup 32 | Footprint for Elite-C controllers, through hole pads only, USB pointing away from PCB 33 | 34 | 0 35 | 30 36 | 30 37 | PCM_marbastlib-xp-promicroish 38 | Elite-C_C 39 | Footprint for Elite-C controllers (pro-micro-pins only), castellated pads only 40 | 41 | 0 42 | 25 43 | 25 44 | PCM_marbastlib-xp-promicroish 45 | Elite-C_CH 46 | Footprint for Elite-C controllers (pro-micro-pins only), castellated and through hole pads 47 | 48 | 0 49 | 49 50 | 25 51 | PCM_marbastlib-xp-promicroish 52 | Helios_AC 53 | Footprint for 0xCB Helios controllers, USB pointing away from PCB 54 | 55 | 0 56 | 34 57 | 34 58 | PCM_marbastlib-xp-promicroish 59 | Helios_ACH 60 | Footprint for 0xCB Helios controllers, USB pointing away from PCB 61 | 62 | 0 63 | 65 64 | 34 65 | PCM_marbastlib-xp-promicroish 66 | Helios_AH_Reversible 67 | Footprint for 0xCB Helios controllers, USB pointing away from PCB 68 | 69 | 0 70 | 34 71 | 34 72 | PCM_marbastlib-xp-promicroish 73 | Helios_AH_USBdn 74 | Footprint for 0xCB Helios controllers, USB facing PCB 75 | 76 | 0 77 | 34 78 | 34 79 | PCM_marbastlib-xp-promicroish 80 | Helios_AH_USBup 81 | Footprint for 0xCB Helios controllers, USB pointing away from PCB 82 | 83 | 0 84 | 34 85 | 34 86 | PCM_marbastlib-xp-promicroish 87 | Liatris_AH_Reversible 88 | Footprint for Splitkb Liatris controllers, through hole pads only 89 | 90 | 0 91 | 29 92 | 29 93 | PCM_marbastlib-xp-promicroish 94 | Liatris_AH_USBdn 95 | Footprint for Splitkb Liatris controllers, through hole pads only 96 | 97 | 0 98 | 29 99 | 29 100 | PCM_marbastlib-xp-promicroish 101 | Liatris_AH_USBup 102 | Footprint for Splitkb Liatris controllers, through hole pads only 103 | 104 | 0 105 | 29 106 | 29 107 | PCM_marbastlib-xp-promicroish 108 | Liatris_H_USBdn 109 | Footprint for Splitkb Liatris controllers (pro-micro-pins only), through hole pads only 110 | 111 | 0 112 | 24 113 | 24 114 | PCM_marbastlib-xp-promicroish 115 | Liatris_H_USBup 116 | Footprint for Splitkb Liatris controllers (pro-micro-pins only), through hole pads only 117 | 118 | 0 119 | 24 120 | 24 121 | PCM_marbastlib-xp-promicroish 122 | Pluto_AH_Reversible 123 | Footprint for 0xCB Pluto controllers, Reversible 124 | 125 | 0 126 | 33 127 | 33 128 | PCM_marbastlib-xp-promicroish 129 | Pluto_AH_USBdn 130 | Footprint for 0xCB Pluto controllers, USB facing PCB 131 | 132 | 0 133 | 33 134 | 33 135 | PCM_marbastlib-xp-promicroish 136 | Pluto_AH_USBup 137 | Footprint for 0xCB Pluto controllers, USB pointing away from PCB 138 | 139 | 0 140 | 33 141 | 33 142 | PCM_marbastlib-xp-promicroish 143 | ProMicro_Reversible 144 | Footprint for Arduino Pro Micro and compatible boards, Reversible with 2 staggered footprints 145 | 146 | 0 147 | 48 148 | 24 149 | PCM_marbastlib-xp-promicroish 150 | ProMicro_Reversible_Single 151 | Footprint for Arduino Pro Micro and compatible boards, Reversible with single footprint 152 | 153 | 0 154 | 24 155 | 24 156 | PCM_marbastlib-xp-promicroish 157 | ProMicro_USBdn 158 | Footprint for Arduino Pro Micro and compatible boards, USB facing PCB 159 | 160 | 0 161 | 24 162 | 24 163 | PCM_marbastlib-xp-promicroish 164 | ProMicro_USBup 165 | Footprint for Arduino Pro Micro and compatible boards, USB pointing away from PCB 166 | 167 | 0 168 | 24 169 | 24 170 | PCM_marbastlib-xp-promicroish 171 | Xiao_nRF52840_ACH 172 | Footprint for Elite-C controllers, through hole and castellated pads 173 | 174 | 0 175 | 40 176 | 22 177 | PCM_marbastlib-xp-promicroish 178 | Xiao_nRF52840_AC_Reflow 179 | Footprint for Elite-C controllers, through hole and castellated pads 180 | 181 | 0 182 | 22 183 | 22 184 | PCM_marbastlib-xp-promicroish 185 | Xiao_nRF52840_AH_Pogo 186 | Footprint for Elite-C controllers, through hole and castellated pads 187 | 188 | 0 189 | 22 190 | 22 191 | PCM_marbastlib-xp-promicroish 192 | Xiao_rp2040_ACH 193 | Footprint for Elite-C controllers, through hole and castellated pads 194 | 195 | 0 196 | 36 197 | 20 198 | PCM_marbastlib-xp-promicroish 199 | Xiao_rp2040_AC_Reflow 200 | Footprint for Elite-C controllers, through hole and castellated pads 201 | 202 | 0 203 | 20 204 | 20 205 | PCM_marbastlib-xp-promicroish 206 | Xiao_rp2040_AH_Pogo 207 | Footprint for Elite-C controllers, through hole and castellated pads 208 | 209 | 0 210 | 20 211 | 20 212 | PCM_marbastlib-xp-promicroish 213 | nice_nano_AH_Reversible 214 | Footprint for nice!nano (nRF52850 pro-micro compatible controller), Reversible 215 | 216 | 0 217 | 29 218 | 29 219 | PCM_marbastlib-xp-promicroish 220 | nice_nano_AH_USBdn 221 | Footprint for nice!nano (nRF52850 pro-micro compatible controller), USB facing PCB 222 | 223 | 0 224 | 29 225 | 29 226 | PCM_marbastlib-xp-promicroish 227 | nice_nano_AH_USBup 228 | Footprint for nice!nano (nRF52850 pro-micro compatible controller), USB pointing away from PCB 229 | 230 | 0 231 | 29 232 | 29 233 | PCM_marbastlib-xp-promicroish 234 | nice_nano_H_USBdn 235 | Footprint for nice!nano (nRF52850 pro-micro compatible controller), pro-micro compatible pads only, USB facing PCB 236 | 237 | 0 238 | 24 239 | 24 240 | PCM_marbastlib-xp-promicroish 241 | nice_nano_H_USBup 242 | Footprint for nice!nano (nRF52850 pro-micro compatible controller), pro-micro compatible pads only, USB pointing away from PCB 243 | 244 | 0 245 | 24 246 | 24 247 | -------------------------------------------------------------------------------- /qmk/matrix.c: -------------------------------------------------------------------------------- 1 | // Copyright 2024 T. G. Marbach 2 | // SPDX-License-Identifier: GPL-2.0-or-later 3 | // This is free software. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | #include 6 | #include 7 | #include 8 | #include "util.h" 9 | #include "matrix.h" 10 | #include "debounce.h" 11 | #include "atomic_util.h" 12 | 13 | 14 | /* matrix state(1:on, 0:off) */ 15 | extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values 16 | extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values 17 | //static matrix_row_t matrix[MATRIX_ROWS]; // debounced values 18 | 19 | static matrix_row_t read_cols(uint8_t row); 20 | static void init_cols(void); 21 | static void unselect_rows(void); 22 | static bool select_row(uint8_t row); // static void select_row(uint8_t row); 23 | static void unselect_row(uint8_t row); 24 | void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row); 25 | // static inline uint8_t readMatrixPin(pin_t pin); 26 | 27 | static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; //MATRIX_ROWS_PER_SIDE //#define ROWS_PER_HAND (MATRIX_ROWS / 2) 28 | static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; 29 | 30 | 31 | 32 | static inline void setPinOutput_writeLow(pin_t pin); 33 | static inline void setPinOutput_writeHigh(pin_t pin); 34 | static inline void setPinInputHigh_atomic(pin_t pin); 35 | 36 | void matrix_init_pins(void) { 37 | unselect_rows(); 38 | init_cols(); 39 | } 40 | 41 | 42 | void matrix_init_custom(void) { 43 | // initialize key pins 44 | matrix_init_pins(); 45 | 46 | 47 | // initialize matrix state: all keys off 48 | memset(matrix, 0, sizeof(matrix)); 49 | memset(raw_matrix, 0, sizeof(raw_matrix)); 50 | 51 | debounce_init(MATRIX_ROWS); 52 | 53 | matrix_init_kb(); 54 | } 55 | 56 | 57 | // Reads and stores a row, returning 58 | // whether a change occurred. 59 | static inline bool store_matrix_row(matrix_row_t current_matrix[], uint8_t index) { 60 | matrix_row_t temp = read_cols(index); 61 | if (current_matrix[index] != temp) { 62 | current_matrix[index] = temp; 63 | return true; 64 | } 65 | return false; 66 | } 67 | 68 | 69 | bool matrix_scan_custom(matrix_row_t current_matrix[]) { 70 | bool changed = false; 71 | for (uint8_t i = 0; i < MATRIX_ROWS; i++) { 72 | // select rows from left and right hands 73 | uint8_t row_index = i; 74 | if(!select_row(row_index)){ 75 | continue; 76 | } 77 | 78 | matrix_output_select_delay(); 79 | 80 | changed |= store_matrix_row(current_matrix, row_index); 81 | 82 | unselect_row(row_index); 83 | //matrix_output_unselect_delay(row_index, current_row_value != 0); // wait for all Col signals to go HIGH 84 | } 85 | return changed; 86 | } 87 | 88 | 89 | 90 | 91 | 92 | 93 | static void init_cols(void){ 94 | for (uint8_t x = 0; x < MATRIX_COLS; x++) { 95 | if (col_pins[x] != NO_PIN) { 96 | setPinInputHigh_atomic(col_pins[x]); 97 | } 98 | } 99 | } 100 | 101 | static matrix_row_t read_cols(uint8_t row) { 102 | if (row < MATRIX_ROWS) { 103 | pin_t matrix_col_pins[MATRIX_COLS] = MATRIX_COL_PINS; 104 | matrix_row_t current_row_value = 0; 105 | // For each col... 106 | for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { 107 | int current_diff = (col_index-row+7)%7; 108 | if( current_diff==0 || current_diff==1 || current_diff==3 ){ 109 | // Select the col pin to read (active low) 110 | uint8_t pin_state = readPin(matrix_col_pins[col_index]); 111 | 112 | // Populate the matrix row with the state of the col pin 113 | current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); 114 | } 115 | } 116 | return current_row_value; 117 | } 118 | return -1; 119 | } 120 | 121 | 122 | 123 | 124 | static bool select_row(uint8_t row){ 125 | pin_t pin = row_pins[row]; 126 | if (pin != NO_PIN) { 127 | setPinOutput_writeLow(pin); 128 | return true; 129 | } 130 | return false; 131 | } 132 | 133 | static void unselect_row(uint8_t row){ 134 | pin_t pin = row_pins[row]; 135 | if (pin != NO_PIN) { 136 | // setPinInputHigh(pin); 137 | setPinInputHigh_atomic(pin); 138 | } 139 | } 140 | 141 | static void unselect_rows(void) { 142 | for (uint8_t x = 0; x < MATRIX_ROWS; x++) { 143 | unselect_row(x); 144 | } 145 | } 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { 154 | // Start with a clear matrix row 155 | matrix_row_t current_row_value = 0; 156 | 157 | if (!select_row(current_row)) { // Select row 158 | return; // skip NO_PIN row 159 | } 160 | matrix_output_select_delay(); 161 | 162 | // For each col... 163 | matrix_row_t row_shifter = MATRIX_ROW_SHIFTER; 164 | for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++, row_shifter <<= 1) { 165 | 166 | uint8_t pin_state = readPin(col_pins[col_index]); 167 | 168 | // Populate the matrix row with the state of the col pin 169 | current_row_value |= pin_state ? 0 : row_shifter; 170 | } 171 | 172 | // Unselect row 173 | unselect_row(current_row); 174 | matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for all Col signals to go HIGH 175 | 176 | // Update the matrix 177 | current_matrix[current_row] = current_row_value; 178 | } 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | static inline void setPinOutput_writeLow(pin_t pin) { 187 | ATOMIC_BLOCK_FORCEON { 188 | setPinOutput(pin); 189 | writePinLow(pin); 190 | } 191 | } 192 | 193 | static inline void setPinOutput_writeHigh(pin_t pin) { 194 | ATOMIC_BLOCK_FORCEON { 195 | setPinOutput(pin); 196 | writePinHigh(pin); 197 | } 198 | } 199 | 200 | static inline void setPinInputHigh_atomic(pin_t pin) { 201 | ATOMIC_BLOCK_FORCEON { 202 | setPinInputHigh(pin); 203 | } 204 | } 205 | -------------------------------------------------------------------------------- /qmk/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "manufacturer": "T. G. Marbach", 3 | "keyboard_name": "Heawood42", 4 | "maintainer": "triliu", 5 | "diode_direction": "COL2ROW", 6 | "features": { 7 | "bootmagic": true, 8 | "extrakey": true, 9 | "rgb_matrix": true, 10 | "oled": true 11 | }, 12 | "url": "https://github.com/triliu/", 13 | "usb": { 14 | "device_version": "1.0.0", 15 | "pid": "0x7685", 16 | "vid": "0x4273" 17 | }, 18 | "split": { 19 | "enabled": true 20 | }, 21 | "rgb_matrix": { 22 | "driver": "ws2812", 23 | "split_count": [21, 21], 24 | "max_brightness": 150, 25 | "animations": { 26 | "alphas_mods": true, 27 | "gradient_up_down": true, 28 | "gradient_left_right": true, 29 | "breathing": true, 30 | "band_sat": true, 31 | "band_val": true, 32 | "cycle_up_down": true 33 | }, 34 | "layout": [ 35 | {"flags": 4, "matrix": [0, 5], "x": -25, "y": 5}, 36 | {"flags": 4, "matrix": [0, 4], "x": -44, "y": 2.5}, 37 | {"flags": 4, "matrix": [0, 3], "x": -63, "y": 0}, 38 | {"flags": 4, "matrix": [0, 2], "x": -82, "y": 2.5}, 39 | {"flags": 4, "matrix": [0, 1], "x": -101, "y": 13}, 40 | {"flags": 4, "matrix": [0, 0], "x": -120, "y": 21.6}, 41 | {"flags": 4, "matrix": [1, 0], "x": -120, "y": 40.6}, 42 | {"flags": 4, "matrix": [1, 1], "x": -101, "y": 32}, 43 | {"flags": 4, "matrix": [1, 2], "x": -82, "y": 21.5}, 44 | {"flags": 4, "matrix": [1, 3], "x": -63, "y": 19}, 45 | {"flags": 4, "matrix": [1, 4], "x": -44, "y": 21.5}, 46 | {"flags": 4, "matrix": [1, 5], "x": -25, "y": 24}, 47 | {"flags": 4, "matrix": [2, 4], "x": -25, "y": 43}, 48 | {"flags": 4, "matrix": [2, 3], "x": -44, "y": 40.5}, 49 | {"flags": 4, "matrix": [2, 2], "x": -63, "y": 38}, 50 | {"flags": 4, "matrix": [2, 1], "x": -82, "y": 40.5}, 51 | {"flags": 4, "matrix": [2, 0], "x": -101, "y": 51}, 52 | {"flags": 4, "matrix": [3, 0], "x": -56, "y": 59.5}, 53 | {"flags": 4, "matrix": [3, 1], "x": -33, "y": 62.5}, 54 | {"flags": 4, "matrix": [3, 2], "x": -17, "y": 70.5}, 55 | {"flags": 4, "matrix": [3, 3], "x": -5, "y": 80.5}, 56 | // 57 | {"flags": 4, "matrix": [5, 5], "x": 25, "y": 5}, 58 | {"flags": 4, "matrix": [5, 4], "x": 44, "y": 2.5}, 59 | {"flags": 4, "matrix": [5, 3], "x": 63, "y": 0}, 60 | {"flags": 4, "matrix": [5, 2], "x": 82, "y": 2.5}, 61 | {"flags": 4, "matrix": [5, 1], "x": 101, "y": 13}, 62 | {"flags": 4, "matrix": [5, 0], "x": 120, "y": 21.6}, 63 | {"flags": 4, "matrix": [6, 0], "x": 120, "y": 40.6}, 64 | {"flags": 4, "matrix": [6, 1], "x": 101, "y": 32}, 65 | {"flags": 4, "matrix": [6, 2], "x": 82, "y": 21.5}, 66 | {"flags": 4, "matrix": [6, 3], "x": 63, "y": 19}, 67 | {"flags": 4, "matrix": [6, 4], "x": 44, "y": 21.5}, 68 | {"flags": 4, "matrix": [6, 5], "x": 25, "y": 24}, 69 | {"flags": 4, "matrix": [7, 4], "x": 25, "y": 43}, 70 | {"flags": 4, "matrix": [7, 3], "x": 44, "y": 40.5}, 71 | {"flags": 4, "matrix": [7, 2], "x": 63, "y": 38}, 72 | {"flags": 4, "matrix": [7, 1], "x": 82, "y": 40.5}, 73 | {"flags": 4, "matrix": [7, 0], "x": 101, "y": 51}, 74 | {"flags": 4, "matrix": [8, 0], "x": 56, "y": 59.5}, 75 | {"flags": 4, "matrix": [8, 1], "x": 33, "y": 62.5}, 76 | {"flags": 4, "matrix": [8, 2], "x": 17, "y": 70.5}, 77 | {"flags": 4, "matrix": [8, 3], "x": 0.5, "y": 80.5} 78 | ] 79 | }, 80 | "layouts": { 81 | "LAYOUT": { 82 | "layout": [ 83 | {"label": "L-r0-c0", "matrix": [5, 5], "x": 3, "y": 0}, 84 | {"label": "L-r0-c1", "matrix": [4, 4], "x": 2, "y": 0.125}, 85 | {"label": "L-r0-c2", "matrix": [3, 3], "x": 1, "y": 0.375}, 86 | {"label": "L-r0-c3", "matrix": [2, 2], "x": 0, "y": 0.5}, 87 | {"label": "L-r0-c4", "matrix": [1, 1], "x": 4.5, "y": 4.25}, 88 | {"label": "L-r0-c5", "matrix": [0, 0], "x": 5, "y": 0.25}, 89 | {"label": "R-r0-c0", "matrix": [7, 0], "x": 10.5, "y": 0.25}, 90 | {"label": "R-r0-c1", "matrix": [8, 1], "x": 11.5, "y": 0.125}, 91 | {"label": "R-r0-c2", "matrix": [9, 2], "x": 12.5, "y": 0}, 92 | {"label": "R-r0-c3", "matrix": [10, 3], "x": 13.5, "y": 0.125}, 93 | {"label": "R-r0-c4", "matrix": [11, 4], "x": 14.5, "y": 0.375}, 94 | {"label": "R-r0-c5", "matrix": [12, 5], "x": 15.5, "y": 0.5}, 95 | {"label": "L-r1-c0", "matrix": [4, 5], "x": 5, "y": 1.25}, 96 | {"label": "L-r1-c1", "matrix": [3, 4], "x": 4, "y": 1.125}, 97 | {"label": "L-r1-c2", "matrix": [2, 3], "x": 3, "y": 1}, 98 | {"label": "L-r1-c3", "matrix": [1, 2], "x": 2, "y": 1.125}, 99 | {"label": "L-r1-c4", "matrix": [0, 1], "x": 1, "y": 1.375}, 100 | {"label": "L-r1-c5", "matrix": [6, 0], "x": 0, "y": 1.5}, 101 | {"label": "R-r1-c0", "matrix": [13, 0], "x": 10.5, "y": 1.25}, 102 | {"label": "R-r1-c1", "matrix": [7, 1], "x": 11.5, "y": 1.125}, 103 | {"label": "R-r1-c2", "matrix": [8, 2], "x": 12.5, "y": 1}, 104 | {"label": "R-r1-c3", "matrix": [9, 3], "x": 13.5, "y": 1.125}, 105 | {"label": "R-r1-c4", "matrix": [10, 4], "x": 14.5, "y": 1.375}, 106 | {"label": "R-r1-c5", "matrix": [11, 5], "x": 15.5, "y": 1.5}, 107 | {"label": "L-r2-c0", "matrix": [1, 4], "x": 2.5, "y": 4.125}, 108 | {"label": "L-r2-c1", "matrix": [0, 3], "x": 5, "y": 2.25}, 109 | {"label": "L-r2-c2", "matrix": [6, 2], "x": 4, "y": 2.125}, 110 | {"label": "L-r2-c3", "matrix": [5, 1], "x": 3, "y": 2}, 111 | {"label": "L-r2-c4", "matrix": [4, 0], "x": 2, "y": 2.125}, 112 | {"label": "R-r2-c0", "matrix": [11, 0], "x": 10.5, "y": 2.25}, 113 | {"label": "R-r2-c1", "matrix": [12, 1], "x": 11.5, "y": 2.125}, 114 | {"label": "R-r2-c2", "matrix": [13, 2], "x": 12.5, "y": 2}, 115 | {"label": "R-r2-c3", "matrix": [7, 3], "x": 13.5, "y": 2.125}, 116 | {"label": "R-r2-c4", "matrix": [8, 4], "x": 14.5, "y": 2.375}, 117 | {"label": "L-r3-c0", "matrix": [2, 5], "x": 1, "y": 2.375}, 118 | {"label": "L-r3-c1", "matrix": [6, 6], "x": 0, "y": 2.5}, 119 | {"label": "L-r3-c2", "matrix": [5, 6], "x": 3.5, "y": 4.15}, 120 | {"label": "L-r3-c3", "matrix": [3, 6], "x": 4, "y": 0.125}, 121 | {"label": "R-r3-c0", "matrix": [10, 6], "x": 15.5, "y": 2.5}, 122 | {"label": "R-r3-c1", "matrix": [12, 6], "x": 11, "y": 4.25}, 123 | {"label": "R-r3-c2", "matrix": [13, 6], "x": 12, "y": 4.15}, 124 | {"label": "R-r3-c3", "matrix": [9, 5], "x": 13, "y": 4.15} 125 | ] 126 | } 127 | } 128 | } -------------------------------------------------------------------------------- /choc/wifi-choc-version/gerber/heawood4-PTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad 7.0.8} date Thu Feb 29 00:10:49 2024 3 | ; FORMAT={-:-/ absolute / inch / decimal} 4 | ; #@! TF.CreationDate,2024-02-29T00:10:49-05:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.8 6 | ; #@! TF.FileFunction,Plated,1,2,PTH 7 | FMAT,2 8 | INCH 9 | ; #@! TA.AperFunction,Plated,PTH,ViaDrill 10 | T1C0.0157 11 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 12 | T2C0.0295 13 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 14 | T3C0.0320 15 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 16 | T4C0.0512 17 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 18 | T5C0.0866 19 | ; #@! TA.AperFunction,Plated,PTH,ComponentDrill 20 | T6C0.1614 21 | % 22 | G90 23 | G05 24 | T1 25 | X2.687Y-3.6614 26 | X2.7756Y-3.1594 27 | X2.7756Y-3.8287 28 | X2.7854Y-3.1988 29 | X2.7854Y-3.8681 30 | X2.8425Y-3.6181 31 | X2.8425Y-4.2874 32 | X2.8445Y-4.2028 33 | X2.8642Y-3.5433 34 | X2.9528Y-4.1732 35 | X3.0807Y-4.0059 36 | X3.1201Y-3.1988 37 | X3.1201Y-3.8681 38 | X3.1398Y-3.2283 39 | X3.1398Y-3.8976 40 | X3.1693Y-3.8428 41 | X3.2579Y-3.1398 42 | X3.3169Y-4.3012 43 | X3.3268Y-3.7106 44 | X3.3366Y-2.7559 45 | X3.3789Y-3.1201 46 | X3.3789Y-3.7598 47 | X3.4055Y-2.8248 48 | X3.4154Y-2.9331 49 | X3.4547Y-4.2618 50 | X3.4646Y-2.8936 51 | X3.4843Y-2.8248 52 | X3.4843Y-3.4941 53 | X3.4843Y-4.1634 54 | X3.4941Y-2.8642 55 | X3.4941Y-3.4318 56 | X3.4941Y-3.5335 57 | X3.4941Y-4.2028 58 | X3.5236Y-4.3012 59 | X3.5512Y-3.2835 60 | X3.5512Y-3.9528 61 | X3.5512Y-4.622 62 | X3.5531Y-3.8681 63 | X3.563Y-3.2185 64 | X3.563Y-4.5374 65 | X3.5728Y-4.4685 66 | X3.6614Y-4.5079 67 | X3.7402Y-4.124 68 | X3.7795Y-4.4193 69 | X3.7894Y-4.3307 70 | X3.8287Y-2.8642 71 | X3.8287Y-3.5335 72 | X3.8287Y-4.2028 73 | X3.8386Y-2.8248 74 | X3.8484Y-3.563 75 | X3.8484Y-4.2323 76 | X3.8878Y-3.4449 77 | X3.8976Y-4.2815 78 | X3.9469Y-2.7854 79 | X3.9862Y-3.7205 80 | X4.0256Y-3.4547 81 | X4.0268Y-4.0957 82 | X4.037Y-3.6039 83 | X4.065Y-4.4587 84 | X4.0846Y-4.5236 85 | X4.1043Y-3.435 86 | X4.1437Y-3.3169 87 | X4.1634Y-2.6969 88 | X4.1929Y-2.628 89 | X4.1929Y-3.2972 90 | X4.1929Y-3.9665 91 | X4.2028Y-2.6673 92 | X4.2028Y-3.3366 93 | X4.2028Y-4.0059 94 | X4.2598Y-3.0866 95 | X4.2598Y-3.7559 96 | X4.2598Y-4.4252 97 | X4.2717Y-4.3406 98 | X4.2815Y-3.0118 99 | X4.2815Y-3.6811 100 | X4.311Y-3.2185 101 | X4.4587Y-4.124 102 | X4.5276Y-3.4449 103 | X4.5374Y-2.6673 104 | X4.5374Y-3.3366 105 | X4.5374Y-4.0059 106 | X4.5472Y-2.628 107 | X4.5472Y-3.2972 108 | X4.5571Y-4.0354 109 | X4.6063Y-3.8386 110 | X4.6654Y-2.5738 111 | X4.6752Y-4.4783 112 | X4.6949Y-3.376 113 | X4.6998Y-4.124 114 | X4.7343Y-4.4291 115 | X4.7343Y-4.5236 116 | X4.7441Y-4.0059 117 | X4.8024Y-3.3654 118 | X4.8069Y-3.9703 119 | X4.872Y-2.5984 120 | X4.8917Y-4.0157 121 | X4.9016Y-2.5295 122 | X4.9016Y-3.1988 123 | X4.9016Y-3.8681 124 | X4.9114Y-2.5689 125 | X4.9114Y-3.2382 126 | X4.9114Y-3.9075 127 | X4.9311Y-4.4488 128 | X4.9439Y-4.5531 129 | X4.9508Y-3.1102 130 | X4.9685Y-2.9882 131 | X4.9685Y-3.6575 132 | X4.9685Y-4.3268 133 | X4.9783Y-5.0276 134 | X4.9803Y-3.5827 135 | X4.9803Y-4.252 136 | X4.9902Y-2.9134 137 | X5.064Y-4.7248 138 | X5.0935Y-4.6559 139 | X5.0984Y-4.4734 140 | X5.1033Y-4.6952 141 | X5.1378Y-3.0906 142 | X5.2461Y-2.5689 143 | X5.2461Y-3.2382 144 | X5.2461Y-3.9075 145 | X5.2559Y-2.5295 146 | X5.2657Y-3.937 147 | X5.2953Y-3.248 148 | X5.3248Y-2.6328 149 | X5.3248Y-3.8583 150 | X5.3642Y-2.4902 151 | X5.3957Y-5.1142 152 | X5.4035Y-2.687 153 | X5.4232Y-2.7854 154 | X5.4331Y-3.9075 155 | X5.4557Y-2.8346 156 | X5.4557Y-3.376 157 | X5.4626Y-4.6358 158 | X5.4626Y-4.6952 159 | X5.5049Y-3.376 160 | X5.5217Y-2.6476 161 | X5.5217Y-4.4685 162 | X5.5413Y-4.7248 163 | X5.561Y-3.376 164 | X5.5709Y-2.6575 165 | X5.6102Y-3.2972 166 | X5.6102Y-3.9665 167 | X5.6201Y-2.6673 168 | X5.6201Y-3.3366 169 | X5.6201Y-4.0059 170 | X5.6772Y-3.0866 171 | X5.6772Y-3.7559 172 | X5.6772Y-4.4252 173 | X5.6791Y-3.6811 174 | X5.689Y-3.002 175 | X5.689Y-4.3504 176 | X5.9055Y-3.2579 177 | X5.9252Y-4.7343 178 | X5.9259Y-5.1958 179 | X5.9449Y-5.1181 180 | X5.9547Y-2.6673 181 | X5.9547Y-3.3366 182 | X5.9547Y-4.0059 183 | X5.9744Y-3.3661 184 | X5.9744Y-4.0354 185 | X5.9744Y-4.7441 186 | X5.9941Y-2.6181 187 | X6.0039Y-2.6969 188 | X6.0705Y-2.5909 189 | X6.1516Y-4.7362 190 | X6.1528Y-2.7449 191 | X6.2087Y-3.5236 192 | X6.2598Y-3.5236 193 | X6.3189Y-3.3957 194 | X6.3189Y-4.065 195 | X6.3276Y-2.7252 196 | X6.3287Y-2.7657 197 | X6.3287Y-3.435 198 | X6.3287Y-4.1043 199 | X6.3287Y-4.8819 200 | X6.3858Y-3.185 201 | X6.3858Y-3.8543 202 | X6.3858Y-4.5236 203 | X6.3878Y-3.7697 204 | X6.3878Y-4.439 205 | X6.3878Y-4.8917 206 | X6.5453Y-5.187 207 | X6.5508Y-3.0948 208 | X6.5748Y-5.4232 209 | X6.5826Y-2.9102 210 | X6.5945Y-3.0807 211 | X6.6266Y-2.96 212 | X6.6634Y-3.435 213 | X6.6634Y-3.9075 214 | X6.6634Y-4.1043 215 | X6.6732Y-2.7657 216 | X6.6732Y-3.3957 217 | X6.6765Y-3.1857 218 | X6.6821Y-2.7155 219 | X6.6831Y-3.5039 220 | X6.6831Y-4.1339 221 | X6.6929Y-5.3543 222 | X6.7028Y-2.8691 223 | X6.7028Y-5.315 224 | X6.7126Y-5.4528 225 | X6.7224Y-3.8976 226 | X6.7289Y-2.7866 227 | X6.752Y-4.1043 228 | X6.7703Y-3.0279 229 | X6.7717Y-2.687 230 | X6.8061Y-3.9173 231 | X6.811Y-3.0315 232 | X6.8209Y-3.9567 233 | X6.8327Y-2.6604 234 | X6.8351Y-4.1383 235 | X6.8484Y-3.9961 236 | X6.873Y-3.6024 237 | X6.8898Y-4.3012 238 | X6.8996Y-4.9902 239 | X6.9121Y-4.1365 240 | X6.9193Y-4.9508 241 | X7.0128Y-4.8179 242 | X7.0374Y-4.9508 243 | X7.1063Y-4.2028 244 | X7.1145Y-5.4577 245 | X7.1161Y-3.1028 246 | X7.1161Y-5.2461 247 | X7.1456Y-3.8028 248 | X7.1555Y-4.8425 249 | X7.2146Y-4.1732 250 | X7.2244Y-3.4028 251 | X7.2444Y-4.2092 252 | X7.2539Y-3.4843 253 | X7.2539Y-3.563 254 | X7.2539Y-3.6528 255 | X7.2692Y-3.1343 256 | X7.2835Y-4.1269 257 | X7.2835Y-5.6299 258 | X7.2849Y-3.285 259 | X7.31Y-3.0876 260 | X7.3277Y-3.1988 261 | X7.3524Y-3.0519 262 | X7.3622Y-5.6693 263 | X7.3705Y-4.1732 264 | X7.372Y-3.2543 265 | X7.372Y-4.1142 266 | X7.3859Y-3.4968 267 | X7.4083Y-3.8806 268 | X7.4419Y-3.5724 269 | X7.4503Y-3.801 270 | X7.4508Y-4.5965 271 | X7.4515Y-3.8544 272 | X7.4538Y-4.0409 273 | X7.4557Y-3.7073 274 | X7.4558Y-4.1274 275 | X7.4577Y-3.6354 276 | X7.4592Y-4.0782 277 | X7.4606Y-3.9701 278 | X7.4607Y-3.7713 279 | X7.4803Y-4.3701 280 | X7.4837Y-3.402 281 | X7.499Y-3.3551 282 | X7.5Y-5.315 283 | X7.501Y-3.0685 284 | X7.5098Y-3.8782 285 | X7.5128Y-4.1748 286 | X7.5128Y-4.2299 287 | X7.5323Y-4.4685 288 | X7.5394Y-5.3445 289 | X7.5809Y-5.949 290 | X7.5886Y-4.6063 291 | X7.5981Y-4.3605 292 | X7.7362Y-5.5807 293 | X7.7543Y-5.8218 294 | T2 295 | X7.3031Y-4.5177 296 | X7.3819Y-4.5177 297 | T3 298 | X6.9679Y-3.1528 299 | X6.9679Y-3.2528 300 | X6.9679Y-3.3528 301 | X6.9679Y-3.4528 302 | X6.9679Y-3.5528 303 | X6.9679Y-3.6528 304 | X6.9679Y-3.7528 305 | X6.9679Y-3.8528 306 | X6.9679Y-3.9528 307 | X6.9679Y-4.0528 308 | X6.9679Y-4.1528 309 | X6.9679Y-4.2528 310 | X7.0202Y-3.1028 311 | X7.0202Y-3.2028 312 | X7.0202Y-3.3028 313 | X7.0202Y-3.4028 314 | X7.0202Y-3.5028 315 | X7.0202Y-3.6028 316 | X7.0202Y-3.7028 317 | X7.0202Y-3.8028 318 | X7.0202Y-3.9028 319 | X7.0202Y-4.0028 320 | X7.0202Y-4.1028 321 | X7.0202Y-4.2028 322 | X7.1432Y-4.4259 323 | X7.2432Y-4.4259 324 | X7.3432Y-4.4259 325 | X7.4432Y-4.4259 326 | X7.5679Y-3.1528 327 | X7.5679Y-3.2528 328 | X7.5679Y-3.3528 329 | X7.5679Y-3.4528 330 | X7.5679Y-3.5528 331 | X7.5679Y-3.6528 332 | X7.5679Y-3.7528 333 | X7.5679Y-3.8528 334 | X7.5679Y-3.9528 335 | X7.5679Y-4.0528 336 | X7.5679Y-4.1528 337 | X7.5679Y-4.2528 338 | X7.6194Y-3.1028 339 | X7.6194Y-3.2028 340 | X7.6194Y-3.3028 341 | X7.6194Y-3.4028 342 | X7.6194Y-3.5028 343 | X7.6194Y-3.6028 344 | X7.6194Y-3.7028 345 | X7.6194Y-3.8028 346 | X7.6194Y-3.9028 347 | X7.6194Y-4.0028 348 | X7.6194Y-4.1028 349 | X7.6194Y-4.2028 350 | T4 351 | X7.1431Y-4.5915 352 | X7.3647Y-4.7195 353 | T5 354 | X6.9984Y-4.4488 355 | X7.5689Y-4.7835 356 | T6 357 | X3.3268Y-3.376 358 | X3.3268Y-4.0354 359 | X4.7244Y-3.1988 360 | X5.2953Y-4.498 361 | X6.1614Y-3.2874 362 | X6.5453Y-4.7638 363 | T0 364 | M30 365 | -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood-flip.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.049999999999999996, 7 | "copper_line_width": 0.19999999999999998, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.09999999999999999, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 0.762, 38 | "height": 1.524, 39 | "width": 1.524 40 | }, 41 | "silk_line_width": 0.09999999999999999, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.09999999999999999, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "min_clearance": 0.5 49 | } 50 | }, 51 | "diff_pair_dimensions": [], 52 | "drc_exclusions": [], 53 | "meta": { 54 | "version": 2 55 | }, 56 | "rule_severities": { 57 | "annular_width": "error", 58 | "clearance": "error", 59 | "connection_width": "warning", 60 | "copper_edge_clearance": "error", 61 | "copper_sliver": "warning", 62 | "courtyards_overlap": "error", 63 | "diff_pair_gap_out_of_range": "error", 64 | "diff_pair_uncoupled_length_too_long": "error", 65 | "drill_out_of_range": "error", 66 | "duplicate_footprints": "warning", 67 | "extra_footprint": "warning", 68 | "footprint": "error", 69 | "footprint_type_mismatch": "ignore", 70 | "hole_clearance": "error", 71 | "hole_near_hole": "error", 72 | "invalid_outline": "error", 73 | "isolated_copper": "warning", 74 | "item_on_disabled_layer": "error", 75 | "items_not_allowed": "error", 76 | "length_out_of_range": "error", 77 | "lib_footprint_issues": "warning", 78 | "lib_footprint_mismatch": "warning", 79 | "malformed_courtyard": "error", 80 | "microvia_drill_out_of_range": "error", 81 | "missing_courtyard": "ignore", 82 | "missing_footprint": "warning", 83 | "net_conflict": "warning", 84 | "npth_inside_courtyard": "ignore", 85 | "padstack": "warning", 86 | "pth_inside_courtyard": "ignore", 87 | "shorting_items": "error", 88 | "silk_edge_clearance": "warning", 89 | "silk_over_copper": "warning", 90 | "silk_overlap": "warning", 91 | "skew_out_of_range": "error", 92 | "solder_mask_bridge": "error", 93 | "starved_thermal": "error", 94 | "text_height": "warning", 95 | "text_thickness": "warning", 96 | "through_hole_pad_without_hole": "error", 97 | "too_many_vias": "error", 98 | "track_dangling": "warning", 99 | "track_width": "error", 100 | "tracks_crossing": "error", 101 | "unconnected_items": "error", 102 | "unresolved_variable": "error", 103 | "via_dangling": "warning", 104 | "zones_intersect": "error" 105 | }, 106 | "rules": { 107 | "max_error": 0.005, 108 | "min_clearance": 0.0, 109 | "min_connection": 0.0, 110 | "min_copper_edge_clearance": 0.5, 111 | "min_hole_clearance": 0.25, 112 | "min_hole_to_hole": 0.25, 113 | "min_microvia_diameter": 0.19999999999999998, 114 | "min_microvia_drill": 0.09999999999999999, 115 | "min_resolved_spokes": 2, 116 | "min_silk_clearance": 0.0, 117 | "min_text_height": 0.7999999999999999, 118 | "min_text_thickness": 0.08, 119 | "min_through_hole_diameter": 0.3, 120 | "min_track_width": 0.0, 121 | "min_via_annular_width": 0.09999999999999999, 122 | "min_via_diameter": 0.5, 123 | "solder_mask_to_copper_clearance": 0.0, 124 | "use_height_for_length_calcs": true 125 | }, 126 | "teardrop_options": [ 127 | { 128 | "td_allow_use_two_tracks": true, 129 | "td_curve_segcount": 5, 130 | "td_on_pad_in_zone": false, 131 | "td_onpadsmd": true, 132 | "td_onroundshapesonly": false, 133 | "td_ontrackend": false, 134 | "td_onviapad": true 135 | } 136 | ], 137 | "teardrop_parameters": [ 138 | { 139 | "td_curve_segcount": 0, 140 | "td_height_ratio": 1.0, 141 | "td_length_ratio": 0.5, 142 | "td_maxheight": 2.0, 143 | "td_maxlen": 1.0, 144 | "td_target_name": "td_round_shape", 145 | "td_width_to_size_filter_ratio": 0.9 146 | }, 147 | { 148 | "td_curve_segcount": 0, 149 | "td_height_ratio": 1.0, 150 | "td_length_ratio": 0.5, 151 | "td_maxheight": 2.0, 152 | "td_maxlen": 1.0, 153 | "td_target_name": "td_rect_shape", 154 | "td_width_to_size_filter_ratio": 0.9 155 | }, 156 | { 157 | "td_curve_segcount": 0, 158 | "td_height_ratio": 1.0, 159 | "td_length_ratio": 0.5, 160 | "td_maxheight": 2.0, 161 | "td_maxlen": 1.0, 162 | "td_target_name": "td_track_end", 163 | "td_width_to_size_filter_ratio": 0.9 164 | } 165 | ], 166 | "track_widths": [], 167 | "via_dimensions": [], 168 | "zones_allow_external_fillets": false 169 | }, 170 | "layer_presets": [], 171 | "viewports": [] 172 | }, 173 | "boards": [], 174 | "cvpcb": { 175 | "equivalence_files": [] 176 | }, 177 | "libraries": { 178 | "pinned_footprint_libs": [], 179 | "pinned_symbol_libs": [] 180 | }, 181 | "meta": { 182 | "filename": "corne-heawood-flip.kicad_pro", 183 | "version": 1 184 | }, 185 | "net_settings": { 186 | "classes": [ 187 | { 188 | "bus_width": 12, 189 | "clearance": 0.2, 190 | "diff_pair_gap": 0.25, 191 | "diff_pair_via_gap": 0.25, 192 | "diff_pair_width": 0.2, 193 | "line_style": 0, 194 | "microvia_diameter": 0.3, 195 | "microvia_drill": 0.1, 196 | "name": "Default", 197 | "pcb_color": "rgba(0, 0, 0, 0.000)", 198 | "schematic_color": "rgba(0, 0, 0, 0.000)", 199 | "track_width": 0.2, 200 | "via_diameter": 0.6, 201 | "via_drill": 0.3, 202 | "wire_width": 6 203 | } 204 | ], 205 | "meta": { 206 | "version": 3 207 | }, 208 | "net_colors": null, 209 | "netclass_assignments": null, 210 | "netclass_patterns": [] 211 | }, 212 | "pcbnew": { 213 | "last_paths": { 214 | "gencad": "", 215 | "idf": "", 216 | "netlist": "", 217 | "specctra_dsn": "", 218 | "step": "", 219 | "vrml": "" 220 | }, 221 | "page_layout_descr_file": "" 222 | }, 223 | "schematic": { 224 | "legacy_lib_dir": "", 225 | "legacy_lib_list": [] 226 | }, 227 | "sheets": [], 228 | "text_variables": {} 229 | } 230 | -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Kicad/footprints/LED_MX_6812miniE.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "LED_MX_6812miniE" (version 20221018) (generator pcbnew) 2 | (layer "F.Cu") 3 | (descr "Add-on for regular MX-footprints with 6028 reverse mount LED") 4 | (tags "cherry MX 6028 rearmount rear mount led rgb backlight") 5 | (attr smd) 6 | (fp_text reference "REF**" (at 0 2.6) (layer "F.SilkS") 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | (tstamp 714eeead-e1ad-47c5-9516-28d94267e48e) 9 | ) 10 | (fp_text value "LED_6812miniE" (at -9.425 3.47) (layer "F.Fab") 11 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 12 | (tstamp b221cec1-e23e-45fb-8328-6b9fccd16034) 13 | ) 14 | (fp_text user "offset: 5.08" (at 0 -3) (layer "Dwgs.User") 15 | (effects (font (size 1 1) (thickness 0.15))) 16 | (tstamp 3b20f64c-b8a4-4dd0-bd9d-3afc61f5fb96) 17 | ) 18 | (fp_text user "switch center" (at 0 -6.25) (layer "Cmts.User") 19 | (effects (font (size 1 1) (thickness 0.15))) 20 | (tstamp 7fc9e2bb-5f76-4047-8141-4851999e869c) 21 | ) 22 | (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") 23 | (effects (font (size 0.8 0.8) (thickness 0.12))) 24 | (tstamp b5c80418-d713-41c8-a2f9-05a239fe3e4c) 25 | ) 26 | (fp_line (start -3.8 0.5) (end -3.8 1.5) 27 | (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4f19e24e-2c2c-4cb4-882c-8abf9eb82997)) 28 | (fp_line (start -3.8 1.5) (end -2.9 1.5) 29 | (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5c73938a-76d3-47da-98cc-b1dfd7cbdce8)) 30 | (fp_line (start -9.525 -14.605) (end -9.525 4.445) 31 | (stroke (width 0.15) (type solid)) (layer "Dwgs.User") (tstamp 1bcaaeaa-6ef4-4d70-adb2-81f07dde6f7f)) 32 | (fp_line (start -9.525 4.445) (end 9.525 4.445) 33 | (stroke (width 0.15) (type solid)) (layer "Dwgs.User") (tstamp 1b09eda3-5c6c-4c0a-848a-4840b4a433ba)) 34 | (fp_line (start 9.525 -14.605) (end -9.525 -14.605) 35 | (stroke (width 0.15) (type solid)) (layer "Dwgs.User") (tstamp b3aeb096-b17e-4e1b-81d3-94a5817a9352)) 36 | (fp_line (start 9.525 4.445) (end 9.525 -14.605) 37 | (stroke (width 0.15) (type solid)) (layer "Dwgs.User") (tstamp f9e258e3-1cdd-4aa1-a40c-ad5d8011bfd8)) 38 | (fp_line (start -0.25 -4.83) (end 0 -5.08) 39 | (stroke (width 0.12) (type solid)) (layer "Cmts.User") (tstamp c3526e46-8faa-42b6-828d-12294f1025e3)) 40 | (fp_line (start 0 -5.08) (end -0.25 -5.33) 41 | (stroke (width 0.12) (type solid)) (layer "Cmts.User") (tstamp 359dba20-9a30-4b47-97b6-cd6ae3a296ed)) 42 | (fp_line (start 0 -5.08) (end 0.25 -5.33) 43 | (stroke (width 0.12) (type solid)) (layer "Cmts.User") (tstamp cd7cc2cb-4cae-4d76-8cfe-8620ad09488b)) 44 | (fp_line (start 0.25 -4.83) (end 0 -5.08) 45 | (stroke (width 0.12) (type solid)) (layer "Cmts.User") (tstamp b928276d-aefe-4d55-ab05-728aaf538bfd)) 46 | (fp_line (start -1.699999 -0.702843) (end -1.699999 0.702841) 47 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 75a812de-87a4-4973-b81c-8ad6eee9a932)) 48 | (fp_line (start -0.794452 1.499999) (end 0.794452 1.499999) 49 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 805749ca-1d5b-441e-9e45-d88cf68ea0a2)) 50 | (fp_line (start 0.794452 -1.5) (end -0.794453 -1.5) 51 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 5b063711-da96-4609-87df-1dde68fd5a04)) 52 | (fp_line (start 1.699999 0.702841) (end 1.699999 -0.702843) 53 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp f2d7b1c4-fec3-4176-8f3e-0c8486b19faa)) 54 | (fp_arc (start -1.749484 -0.919721) (mid -1.712527 -0.814069) (end -1.699999 -0.702844) 55 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 50061cb5-83d5-44e5-80b7-2662d13769bc)) 56 | (fp_arc (start -1.749484 -0.919721) (mid -1.638071 -1.504035) (end -1.046711 -1.568299) 57 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 12a211f0-fbff-4803-bf86-386af5dcde52)) 58 | (fp_arc (start -1.699999 0.702841) (mid -1.712527 0.814067) (end -1.749484 0.919719) 59 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 829f652d-0e05-4ae4-8265-c9f0b84b8552)) 60 | (fp_arc (start -1.046711 1.568298) (mid -1.638072 1.504034) (end -1.749484 0.919718) 61 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 90415f8d-adee-449b-b67c-c49493160091)) 62 | (fp_arc (start -1.046711 1.568298) (mid -0.925123 1.517376) (end -0.794452 1.499999) 63 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 5bfafc2d-0cc2-41b1-a84e-d7ed65643d39)) 64 | (fp_arc (start -0.794453 -1.5) (mid -0.925123 -1.517377) (end -1.046711 -1.568299) 65 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 6fd54d9e-9311-432c-bd0a-38dcd11098d4)) 66 | (fp_arc (start 0.794452 1.499999) (mid 0.925122 1.517376) (end 1.04671 1.568298) 67 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp c24128db-2cd2-42c2-ae2f-2136c398ee39)) 68 | (fp_arc (start 1.046711 -1.5683) (mid 0.925123 -1.517378) (end 0.794453 -1.500001) 69 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp eb04ad33-ce98-4d6d-ae7e-27dfcb6a1b67)) 70 | (fp_arc (start 1.046711 -1.5683) (mid 1.638071 -1.504036) (end 1.749484 -0.919721) 71 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp d09e9ab5-ac80-4148-be2c-e134f917dd2c)) 72 | (fp_arc (start 1.699999 -0.702843) (mid 1.712527 -0.814069) (end 1.749484 -0.919721) 73 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 8f1a69e0-ca84-46bc-8dcd-fd029393c2ab)) 74 | (fp_arc (start 1.749484 0.919719) (mid 1.63807 1.504033) (end 1.046711 1.568296) 75 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp fdca9879-6921-4017-8bdc-eb32fe47ea6d)) 76 | (fp_arc (start 1.749484 0.919719) (mid 1.712527 0.814067) (end 1.699999 0.702842) 77 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp c02d7880-b452-492f-a957-16784cb9157d)) 78 | (fp_line (start -3.8 -2.000001) (end 3.8 -2.000001) 79 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 97b2d1bb-ab54-4bb2-8a3c-34b554791d5d)) 80 | (fp_line (start -3.8 1.999999) (end -3.8 -2.000001) 81 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 46888410-9d1d-4e30-adf2-c60b65d9523a)) 82 | (fp_line (start 3.8 -2.000001) (end 3.8 1.999999) 83 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d0895e2f-cb62-4d73-b309-f6423d2cac4b)) 84 | (fp_line (start 3.8 1.999999) (end -3.8 1.999999) 85 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0741f098-e068-42d6-b9be-cc0e683e1ad8)) 86 | (fp_line (start -1.6 -1.400001) (end 1.6 -1.400001) 87 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp a38f7450-041a-4013-93b3-251082ae4283)) 88 | (fp_line (start -1.6 0.899999) (end -1.6 -1.400001) 89 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp f02ce69b-3939-4545-a3ff-fba9e75e8cab)) 90 | (fp_line (start -1.6 0.899999) (end -1.1 1.399999) 91 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp 2d644ca0-238b-4ac0-ae98-62c715bd48a3)) 92 | (fp_line (start 1.6 -1.400001) (end 1.6 1.399999) 93 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp 83285f0f-8c1b-47fe-89a9-d711fd659766)) 94 | (fp_line (start 1.6 1.399999) (end -1.1 1.399999) 95 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp 11a4c841-cc76-4db9-9c7a-25be86f04a61)) 96 | (pad "1" smd roundrect (at 2.725 -0.75 90) (size 0.82 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp f9d4100a-4cb6-4edd-a815-6f5b910a919d)) 97 | (pad "2" smd roundrect (at 2.725 0.75 90) (size 0.82 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp f808f61d-7b40-4f7c-b1a2-ac5d2bcbc551)) 98 | (pad "3" smd roundrect (at -2.725 0.75 90) (size 0.82 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) 99 | (chamfer_ratio 0.5) (chamfer top_left) (tstamp fb40567e-66bf-446b-9ad4-e08caf938ed7)) 100 | (pad "4" smd roundrect (at -2.725 -0.75 90) (size 0.82 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp 066b5fb5-15b1-49b8-b56d-ca55e2c96d11)) 101 | (model "${KICAD7_3RD_PARTY}/3dmodels/com_github_ebastler_marbastlib/LED_SK6812MINI-E.step" 102 | (offset (xyz 0 5.08 -1.75)) 103 | (scale (xyz 1 1 1)) 104 | (rotate (xyz 180 0 180)) 105 | ) 106 | ) 107 | -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Kicad/footprints/LED_MX_6812miniE_rev.kicad_mod: -------------------------------------------------------------------------------- 1 | (footprint "LED_MX_6812miniE_rev" (version 20221018) (generator pcbnew) 2 | (layer "F.Cu") 3 | (descr "Add-on for regular MX-footprints with 6028 reverse mount LED") 4 | (tags "cherry MX 6028 rearmount rear mount led rgb backlight") 5 | (attr smd) 6 | (fp_text reference "REF**" (at 0 2.6) (layer "F.SilkS") 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | (tstamp 714eeead-e1ad-47c5-9516-28d94267e48e) 9 | ) 10 | (fp_text value "LED_6812miniE" (at -9.425 3.47) (layer "F.Fab") 11 | (effects (font (size 1 1) (thickness 0.15)) (justify left)) 12 | (tstamp b221cec1-e23e-45fb-8328-6b9fccd16034) 13 | ) 14 | (fp_text user "offset: 5.08" (at 0 -3) (layer "Dwgs.User") 15 | (effects (font (size 1 1) (thickness 0.15))) 16 | (tstamp 3b20f64c-b8a4-4dd0-bd9d-3afc61f5fb96) 17 | ) 18 | (fp_text user "switch center" (at 0 -6.25) (layer "Cmts.User") 19 | (effects (font (size 1 1) (thickness 0.15))) 20 | (tstamp 7fc9e2bb-5f76-4047-8141-4851999e869c) 21 | ) 22 | (fp_text user "${REFERENCE}" (at 0 0 180) (layer "F.Fab") 23 | (effects (font (size 0.8 0.8) (thickness 0.12))) 24 | (tstamp b5c80418-d713-41c8-a2f9-05a239fe3e4c) 25 | ) 26 | (fp_line (start 3.8 -1.5) (end 2.9 -1.5) 27 | (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5c73938a-76d3-47da-98cc-b1dfd7cbdce8)) 28 | (fp_line (start 3.8 -0.5) (end 3.8 -1.5) 29 | (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4f19e24e-2c2c-4cb4-882c-8abf9eb82997)) 30 | (fp_line (start -9.525 -14.605) (end -9.525 4.445) 31 | (stroke (width 0.15) (type solid)) (layer "Dwgs.User") (tstamp 1bcaaeaa-6ef4-4d70-adb2-81f07dde6f7f)) 32 | (fp_line (start -9.525 4.445) (end 9.525 4.445) 33 | (stroke (width 0.15) (type solid)) (layer "Dwgs.User") (tstamp 1b09eda3-5c6c-4c0a-848a-4840b4a433ba)) 34 | (fp_line (start 9.525 -14.605) (end -9.525 -14.605) 35 | (stroke (width 0.15) (type solid)) (layer "Dwgs.User") (tstamp b3aeb096-b17e-4e1b-81d3-94a5817a9352)) 36 | (fp_line (start 9.525 4.445) (end 9.525 -14.605) 37 | (stroke (width 0.15) (type solid)) (layer "Dwgs.User") (tstamp f9e258e3-1cdd-4aa1-a40c-ad5d8011bfd8)) 38 | (fp_line (start -0.25 -4.83) (end 0 -5.08) 39 | (stroke (width 0.12) (type solid)) (layer "Cmts.User") (tstamp c3526e46-8faa-42b6-828d-12294f1025e3)) 40 | (fp_line (start 0 -5.08) (end -0.25 -5.33) 41 | (stroke (width 0.12) (type solid)) (layer "Cmts.User") (tstamp 359dba20-9a30-4b47-97b6-cd6ae3a296ed)) 42 | (fp_line (start 0 -5.08) (end 0.25 -5.33) 43 | (stroke (width 0.12) (type solid)) (layer "Cmts.User") (tstamp cd7cc2cb-4cae-4d76-8cfe-8620ad09488b)) 44 | (fp_line (start 0.25 -4.83) (end 0 -5.08) 45 | (stroke (width 0.12) (type solid)) (layer "Cmts.User") (tstamp b928276d-aefe-4d55-ab05-728aaf538bfd)) 46 | (fp_line (start -1.699999 -0.702841) (end -1.699999 0.702843) 47 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp f2d7b1c4-fec3-4176-8f3e-0c8486b19faa)) 48 | (fp_line (start -0.794452 1.5) (end 0.794453 1.5) 49 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 5b063711-da96-4609-87df-1dde68fd5a04)) 50 | (fp_line (start 0.794452 -1.499999) (end -0.794452 -1.499999) 51 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 805749ca-1d5b-441e-9e45-d88cf68ea0a2)) 52 | (fp_line (start 1.699999 0.702843) (end 1.699999 -0.702841) 53 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 75a812de-87a4-4973-b81c-8ad6eee9a932)) 54 | (fp_arc (start -1.749484 -0.919719) (mid -1.712519 -0.814068) (end -1.699999 -0.702842) 55 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp c02d7880-b452-492f-a957-16784cb9157d)) 56 | (fp_arc (start -1.749484 -0.919719) (mid -1.63807 -1.504033) (end -1.046711 -1.568296) 57 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp fdca9879-6921-4017-8bdc-eb32fe47ea6d)) 58 | (fp_arc (start -1.699999 0.702843) (mid -1.712528 0.814069) (end -1.749484 0.919721) 59 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 8f1a69e0-ca84-46bc-8dcd-fd029393c2ab)) 60 | (fp_arc (start -1.046711 1.5683) (mid -1.638072 1.504036) (end -1.749484 0.919721) 61 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp d09e9ab5-ac80-4148-be2c-e134f917dd2c)) 62 | (fp_arc (start -1.046711 1.5683) (mid -0.925123 1.517378) (end -0.794453 1.500001) 63 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp eb04ad33-ce98-4d6d-ae7e-27dfcb6a1b67)) 64 | (fp_arc (start -0.794452 -1.499999) (mid -0.925122 -1.517376) (end -1.04671 -1.568298) 65 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp c24128db-2cd2-42c2-ae2f-2136c398ee39)) 66 | (fp_arc (start 0.794453 1.5) (mid 0.925123 1.517377) (end 1.046711 1.568299) 67 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 6fd54d9e-9311-432c-bd0a-38dcd11098d4)) 68 | (fp_arc (start 1.046711 -1.568298) (mid 0.925123 -1.517376) (end 0.794452 -1.499999) 69 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 5bfafc2d-0cc2-41b1-a84e-d7ed65643d39)) 70 | (fp_arc (start 1.046711 -1.568298) (mid 1.638072 -1.504034) (end 1.749484 -0.919718) 71 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 90415f8d-adee-449b-b67c-c49493160091)) 72 | (fp_arc (start 1.699999 -0.702841) (mid 1.712527 -0.814067) (end 1.749484 -0.919719) 73 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 829f652d-0e05-4ae4-8265-c9f0b84b8552)) 74 | (fp_arc (start 1.749484 0.919721) (mid 1.638071 1.504036) (end 1.046711 1.568299) 75 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 12a211f0-fbff-4803-bf86-386af5dcde52)) 76 | (fp_arc (start 1.749484 0.919721) (mid 1.712527 0.814069) (end 1.699999 0.702844) 77 | (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 50061cb5-83d5-44e5-80b7-2662d13769bc)) 78 | (fp_line (start -3.8 -1.999999) (end 3.8 -1.999999) 79 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0741f098-e068-42d6-b9be-cc0e683e1ad8)) 80 | (fp_line (start -3.8 2.000001) (end -3.8 -1.999999) 81 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d0895e2f-cb62-4d73-b309-f6423d2cac4b)) 82 | (fp_line (start 3.8 -1.999999) (end 3.8 2.000001) 83 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 46888410-9d1d-4e30-adf2-c60b65d9523a)) 84 | (fp_line (start 3.8 2.000001) (end -3.8 2.000001) 85 | (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 97b2d1bb-ab54-4bb2-8a3c-34b554791d5d)) 86 | (fp_line (start -1.6 -1.399999) (end 1.1 -1.399999) 87 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp 11a4c841-cc76-4db9-9c7a-25be86f04a61)) 88 | (fp_line (start -1.6 1.400001) (end -1.6 -1.399999) 89 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp 83285f0f-8c1b-47fe-89a9-d711fd659766)) 90 | (fp_line (start 1.6 -0.899999) (end 1.1 -1.399999) 91 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp 2d644ca0-238b-4ac0-ae98-62c715bd48a3)) 92 | (fp_line (start 1.6 -0.899999) (end 1.6 1.400001) 93 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp f02ce69b-3939-4545-a3ff-fba9e75e8cab)) 94 | (fp_line (start 1.6 1.400001) (end -1.6 1.400001) 95 | (stroke (width 0.12) (type solid)) (layer "F.Fab") (tstamp a38f7450-041a-4013-93b3-251082ae4283)) 96 | (pad "1" smd roundrect (at -2.725 0.75 270) (size 0.82 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp f9d4100a-4cb6-4edd-a815-6f5b910a919d)) 97 | (pad "2" smd roundrect (at -2.725 -0.75 270) (size 0.82 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp f808f61d-7b40-4f7c-b1a2-ac5d2bcbc551)) 98 | (pad "3" smd roundrect (at 2.725 -0.75 270) (size 0.82 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) 99 | (chamfer_ratio 0.5) (chamfer top_left) (tstamp fb40567e-66bf-446b-9ad4-e08caf938ed7)) 100 | (pad "4" smd roundrect (at 2.725 0.75 270) (size 0.82 1.35) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp 066b5fb5-15b1-49b8-b56d-ca55e2c96d11)) 101 | (model "${KICAD7_3RD_PARTY}/3dmodels/com_github_ebastler_marbastlib/LED_SK6812MINI-E.step" 102 | (offset (xyz 0 5.08 -1.75)) 103 | (scale (xyz 1 1 1)) 104 | (rotate (xyz 180 0 180)) 105 | ) 106 | ) 107 | -------------------------------------------------------------------------------- /choc/wifi-choc-version/gerber/heawood4-Edge_Cuts.gbr: -------------------------------------------------------------------------------- 1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,7.0.8* 2 | G04 #@! TF.CreationDate,2024-02-29T00:10:42-05:00* 3 | G04 #@! TF.ProjectId,heawood4,68656177-6f6f-4643-942e-6b696361645f,1.0* 4 | G04 #@! TF.SameCoordinates,Original* 5 | G04 #@! TF.FileFunction,Profile,NP* 6 | %FSLAX46Y46*% 7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 8 | G04 Created by KiCad (PCBNEW 7.0.8) date 2024-02-29 00:10:42* 9 | %MOMM*% 10 | %LPD*% 11 | G01* 12 | G04 APERTURE LIST* 13 | G04 #@! TA.AperFunction,Profile* 14 | %ADD10C,0.150000*% 15 | G04 #@! TD* 16 | G04 #@! TA.AperFunction,Profile* 17 | %ADD11C,0.120000*% 18 | G04 #@! TD* 19 | G04 APERTURE END LIST* 20 | D10* 21 | X195067829Y-77499999D02* 22 | G75* 23 | G03* 24 | X192500001Y-74932171I-2567829J-1D01* 25 | G01* 26 | X194772764Y-122622696D02* 27 | X192873109Y-125449665D01* 28 | X192873109Y-125449665D02* 29 | G75* 30 | G03* 31 | X193036818Y-126663146I975246J-486214D01* 32 | G01* 33 | X193036818Y-126663146D02* 34 | X204805562Y-138098915D01* 35 | X205064463Y-139510603D02* 36 | G75* 37 | G03* 38 | X204805561Y-138098916I-814463J580213D01* 39 | G01* 40 | X177599407Y-149999999D02* 41 | X195192084Y-154786747D01* 42 | X195192084Y-154786747D02* 43 | G75* 44 | G03* 45 | X196634089Y-154247995I347011J1270388D01* 46 | G01* 47 | X84000000Y-119500000D02* 48 | G75* 49 | G03* 50 | X84500000Y-120000000I500001J1D01* 51 | G01* 52 | X84000021Y-111999953D02* 53 | X84000000Y-119500000D01* 54 | X84000021Y-111999953D02* 55 | G75* 56 | G03* 57 | X83500021Y-111499953I-500003J-3D01* 58 | G01* 59 | X83500021Y-111499953D02* 60 | X66488378Y-111504483D01* 61 | X83500000Y-77500000D02* 62 | X66499053Y-77500879D01* 63 | X83500000Y-77500000D02* 64 | G75* 65 | G03* 66 | X84000000Y-77000000I5J499995D01* 67 | G01* 68 | X84000000Y-69500000D02* 69 | X84000000Y-77000000D01* 70 | X84500000Y-69000000D02* 71 | G75* 72 | G03* 73 | X84000000Y-69500000I3J-500003D01* 74 | G01* 75 | X114880558Y-120103119D02* 76 | X84500000Y-120000000D01* 77 | X195067829Y-77499999D02* 78 | X195000000Y-121750000D01* 79 | X156000000Y-65994664D02* 80 | X156000000Y-64500000D01* 81 | X65999053Y-78000879D02* 82 | X65988378Y-111004483D01* 83 | X194772746Y-122622686D02* 84 | G75* 85 | G03* 86 | X194999999Y-121750000I-1474946J850018D01* 87 | G01* 88 | X138000000Y-63500000D02* 89 | X138000000Y-62000000D01* 90 | X119510538Y-63994664D02* 91 | X102500000Y-64000000D01* 92 | X102500000Y-64000000D02* 93 | G75* 94 | G03* 95 | X102000000Y-64500000I0J-500000D01* 96 | G01* 97 | X101505943Y-69003715D02* 98 | X84500000Y-69000000D01* 99 | X124529641Y-132763119D02* 100 | G75* 101 | G03* 102 | X124883181Y-132909579I353559J353519D01* 103 | G01* 104 | X173500000Y-66500000D02* 105 | X156500000Y-66494460D01* 106 | X161500000Y-140750000D02* 107 | X176930426Y-149756305D01* 108 | X101505943Y-69003743D02* 109 | G75* 110 | G03* 111 | X102005943Y-68503715I-43J500043D01* 112 | G01* 113 | X137500000Y-61500000D02* 114 | X120494049Y-61500857D01* 115 | X155500000Y-64000056D02* 116 | X138500000Y-64000000D01* 117 | X176930427Y-149756304D02* 118 | G75* 119 | G03* 120 | X177599407Y-149999998I824680J1223804D01* 121 | G01* 122 | X115250000Y-120250000D02* 123 | X124529628Y-132763132D01* 124 | X66499053Y-77500853D02* 125 | G75* 126 | G03* 127 | X65999053Y-78000879I47J-500047D01* 128 | G01* 129 | X156000040Y-65994664D02* 130 | G75* 131 | G03* 132 | X156500000Y-66494460I499760J-36D01* 133 | G01* 134 | X138000000Y-62000000D02* 135 | G75* 136 | G03* 137 | X137500000Y-61500000I-500000J0D01* 138 | G01* 139 | X119994049Y-62000857D02* 140 | X120010538Y-63494664D01* 141 | X174000000Y-67000000D02* 142 | G75* 143 | G03* 144 | X173500000Y-66500000I-500000J0D01* 145 | G01* 146 | X124883181Y-132909579D02* 147 | X160815727Y-140611044D01* 148 | X156000044Y-64500056D02* 149 | G75* 150 | G03* 151 | X155500000Y-64000056I-500044J-44D01* 152 | G01* 153 | X102000000Y-64500000D02* 154 | X102005943Y-68503715D01* 155 | X196634089Y-154247995D02* 156 | X205064464Y-139510604D01* 157 | X119510538Y-63994738D02* 158 | G75* 159 | G03* 160 | X120010538Y-63494664I-38J500038D01* 161 | G01* 162 | X65988378Y-111004483D02* 163 | G75* 164 | G03* 165 | X66488378Y-111504483I500000J0D01* 166 | G01* 167 | X161500001Y-140749998D02* 168 | G75* 169 | G03* 170 | X160815727Y-140611045I-1016801J-3252902D01* 171 | G01* 172 | X115249998Y-120250002D02* 173 | G75* 174 | G03* 175 | X114880558Y-120103120I-355098J-355098D01* 176 | G01* 177 | X138000000Y-63500000D02* 178 | G75* 179 | G03* 180 | X138500000Y-64000000I500000J0D01* 181 | G01* 182 | X173971392Y-72466887D02* 183 | G75* 184 | G03* 185 | X176611411Y-75005161I2592991J54872D01* 186 | G01* 187 | X174000000Y-67000000D02* 188 | X173971392Y-72466887D01* 189 | X120494049Y-61500849D02* 190 | G75* 191 | G03* 192 | X119994049Y-62000857I51J-500051D01* 193 | G01* 194 | X192500001Y-74932171D02* 195 | X176611411Y-75005161D01* 196 | D11* 197 | X109200331Y-83247921D02* 198 | X112800331Y-83247921D01* 199 | X109200331Y-86347921D02* 200 | X109200331Y-83247921D01* 201 | X109200331Y-86347921D02* 202 | X112800331Y-86347921D01* 203 | X112800331Y-83247921D02* 204 | X112800331Y-86347921D01* 205 | X163200331Y-85747921D02* 206 | X166800331Y-85747921D01* 207 | X163200331Y-88847921D02* 208 | X163200331Y-85747921D01* 209 | X163200331Y-88847921D02* 210 | X166800331Y-88847921D01* 211 | X166800331Y-85747921D02* 212 | X166800331Y-88847921D01* 213 | X91200331Y-105247921D02* 214 | X94800331Y-105247921D01* 215 | X91200331Y-108347921D02* 216 | X91200331Y-105247921D01* 217 | X91200331Y-108347921D02* 218 | X94800331Y-108347921D01* 219 | X94800331Y-105247921D02* 220 | X94800331Y-108347921D01* 221 | X109200331Y-66247921D02* 222 | X112800331Y-66247921D01* 223 | X109200331Y-69347921D02* 224 | X109200331Y-66247921D01* 225 | X109200331Y-69347921D02* 226 | X112800331Y-69347921D01* 227 | X112800331Y-66247921D02* 228 | X112800331Y-69347921D01* 229 | X154629810Y-120495167D02* 230 | X158107143Y-121426915D01* 231 | X153827471Y-123489537D02* 232 | X154629810Y-120495167D01* 233 | X153827471Y-123489537D02* 234 | X157304804Y-124421285D01* 235 | X158107143Y-121426915D02* 236 | X157304804Y-124421285D01* 237 | X170685706Y-131682520D02* 238 | X172485706Y-128564828D01* 239 | X173370385Y-133232520D02* 240 | X170685706Y-131682520D01* 241 | X173370385Y-133232520D02* 242 | X175170385Y-130114828D01* 243 | X172485706Y-128564828D02* 244 | X175170385Y-130114828D01* 245 | X186935706Y-140932520D02* 246 | X188735706Y-137814828D01* 247 | X189620385Y-142482520D02* 248 | X186935706Y-140932520D01* 249 | X189620385Y-142482520D02* 250 | X191420385Y-139364828D01* 251 | X188735706Y-137814828D02* 252 | X191420385Y-139364828D01* 253 | X91200331Y-71247921D02* 254 | X94800331Y-71247921D01* 255 | X91200331Y-74347921D02* 256 | X91200331Y-71247921D01* 257 | X91200331Y-74347921D02* 258 | X94800331Y-74347921D01* 259 | X94800331Y-71247921D02* 260 | X94800331Y-74347921D01* 261 | X127200331Y-63747921D02* 262 | X130800331Y-63747921D01* 263 | X127200331Y-66847921D02* 264 | X127200331Y-63747921D01* 265 | X127200331Y-66847921D02* 266 | X130800331Y-66847921D01* 267 | X130800331Y-63747921D02* 268 | X130800331Y-66847921D01* 269 | X145200331Y-66247921D02* 270 | X148800331Y-66247921D01* 271 | X145200331Y-69347921D02* 272 | X145200331Y-66247921D01* 273 | X145200331Y-69347921D02* 274 | X148800331Y-69347921D01* 275 | X148800331Y-66247921D02* 276 | X148800331Y-69347921D01* 277 | X163200331Y-68747921D02* 278 | X166800331Y-68747921D01* 279 | X163200331Y-71847921D02* 280 | X163200331Y-68747921D01* 281 | X163200331Y-71847921D02* 282 | X166800331Y-71847921D01* 283 | X166800331Y-68747921D02* 284 | X166800331Y-71847921D01* 285 | X73200331Y-96747921D02* 286 | X76800331Y-96747921D01* 287 | X73200331Y-99847921D02* 288 | X73200331Y-96747921D01* 289 | X73200331Y-99847921D02* 290 | X76800331Y-99847921D01* 291 | X76800331Y-96747921D02* 292 | X76800331Y-99847921D01* 293 | X91200331Y-88247921D02* 294 | X94800331Y-88247921D01* 295 | X91200331Y-91347921D02* 296 | X91200331Y-88247921D01* 297 | X91200331Y-91347921D02* 298 | X94800331Y-91347921D01* 299 | X94800331Y-88247921D02* 300 | X94800331Y-91347921D01* 301 | X127200331Y-80747921D02* 302 | X130800331Y-80747921D01* 303 | X127200331Y-83847921D02* 304 | X127200331Y-80747921D01* 305 | X127200331Y-83847921D02* 306 | X130800331Y-83847921D01* 307 | X130800331Y-80747921D02* 308 | X130800331Y-83847921D01* 309 | X145200331Y-83247921D02* 310 | X148800331Y-83247921D01* 311 | X145200331Y-86347921D02* 312 | X145200331Y-83247921D01* 313 | X145200331Y-86347921D02* 314 | X148800331Y-86347921D01* 315 | X148800331Y-83247921D02* 316 | X148800331Y-86347921D01* 317 | X132450331Y-117747921D02* 318 | X136050331Y-117747921D01* 319 | X132450331Y-120847921D02* 320 | X132450331Y-117747921D01* 321 | X132450331Y-120847921D02* 322 | X136050331Y-120847921D01* 323 | X136050331Y-117747921D02* 324 | X136050331Y-120847921D01* 325 | X109200331Y-100247921D02* 326 | X112800331Y-100247921D01* 327 | X109200331Y-103347921D02* 328 | X109200331Y-100247921D01* 329 | X109200331Y-103347921D02* 330 | X112800331Y-103347921D01* 331 | X112800331Y-100247921D02* 332 | X112800331Y-103347921D01* 333 | X127200331Y-97747921D02* 334 | X130800331Y-97747921D01* 335 | X127200331Y-100847921D02* 336 | X127200331Y-97747921D01* 337 | X127200331Y-100847921D02* 338 | X130800331Y-100847921D01* 339 | X130800331Y-97747921D02* 340 | X130800331Y-100847921D01* 341 | X145200331Y-100247921D02* 342 | X148800331Y-100247921D01* 343 | X145200331Y-103347921D02* 344 | X145200331Y-100247921D01* 345 | X145200331Y-103347921D02* 346 | X148800331Y-103347921D01* 347 | X148800331Y-100247921D02* 348 | X148800331Y-103347921D01* 349 | X163200331Y-102747921D02* 350 | X166800331Y-102747921D01* 351 | X163200331Y-105847921D02* 352 | X163200331Y-102747921D01* 353 | X163200331Y-105847921D02* 354 | X166800331Y-105847921D01* 355 | X166800331Y-102747921D02* 356 | X166800331Y-105847921D01* 357 | X73200331Y-79747921D02* 358 | X76800331Y-79747921D01* 359 | X73200331Y-82847921D02* 360 | X73200331Y-79747921D01* 361 | X73200331Y-82847921D02* 362 | X76800331Y-82847921D01* 363 | X76800331Y-79747921D02* 364 | X76800331Y-82847921D01* 365 | M02* 366 | -------------------------------------------------------------------------------- /prerelease versions/Heawood-cornish/kicad/corne-heawood.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.15, 7 | "copper_line_width": 0.09999999999999999, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.09999999999999999, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 1.0, 38 | "height": 1.8, 39 | "width": 1.8 40 | }, 41 | "silk_line_width": 0.15, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.15, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "45_degree_only": false, 49 | "min_clearance": 0.0 50 | } 51 | }, 52 | "diff_pair_dimensions": [], 53 | "drc_exclusions": [], 54 | "meta": { 55 | "filename": "board_design_settings.json", 56 | "version": 2 57 | }, 58 | "rule_severities": { 59 | "annular_width": "error", 60 | "clearance": "error", 61 | "connection_width": "warning", 62 | "copper_edge_clearance": "error", 63 | "copper_sliver": "warning", 64 | "courtyards_overlap": "error", 65 | "diff_pair_gap_out_of_range": "error", 66 | "diff_pair_uncoupled_length_too_long": "error", 67 | "drill_out_of_range": "error", 68 | "duplicate_footprints": "warning", 69 | "extra_footprint": "warning", 70 | "footprint": "error", 71 | "footprint_type_mismatch": "error", 72 | "hole_clearance": "error", 73 | "hole_near_hole": "error", 74 | "invalid_outline": "error", 75 | "isolated_copper": "warning", 76 | "item_on_disabled_layer": "error", 77 | "items_not_allowed": "error", 78 | "length_out_of_range": "error", 79 | "lib_footprint_issues": "warning", 80 | "lib_footprint_mismatch": "warning", 81 | "malformed_courtyard": "error", 82 | "microvia_drill_out_of_range": "error", 83 | "missing_courtyard": "ignore", 84 | "missing_footprint": "warning", 85 | "net_conflict": "warning", 86 | "npth_inside_courtyard": "ignore", 87 | "padstack": "error", 88 | "pth_inside_courtyard": "ignore", 89 | "shorting_items": "error", 90 | "silk_edge_clearance": "warning", 91 | "silk_over_copper": "warning", 92 | "silk_overlap": "warning", 93 | "skew_out_of_range": "error", 94 | "solder_mask_bridge": "error", 95 | "starved_thermal": "error", 96 | "text_height": "warning", 97 | "text_thickness": "warning", 98 | "through_hole_pad_without_hole": "error", 99 | "too_many_vias": "error", 100 | "track_dangling": "warning", 101 | "track_width": "error", 102 | "tracks_crossing": "error", 103 | "unconnected_items": "error", 104 | "unresolved_variable": "error", 105 | "via_dangling": "warning", 106 | "zones_intersect": "error" 107 | }, 108 | "rules": { 109 | "allow_blind_buried_vias": false, 110 | "allow_microvias": false, 111 | "max_error": 0.005, 112 | "min_clearance": 0.0, 113 | "min_connection": 0.0, 114 | "min_copper_edge_clearance": 0.09999999999999999, 115 | "min_hole_clearance": 0.25, 116 | "min_hole_to_hole": 0.25, 117 | "min_microvia_diameter": 0.19999999999999998, 118 | "min_microvia_drill": 0.09999999999999999, 119 | "min_resolved_spokes": 2, 120 | "min_silk_clearance": 0.0, 121 | "min_text_height": 0.7999999999999999, 122 | "min_text_thickness": 0.08, 123 | "min_through_hole_diameter": 0.3, 124 | "min_track_width": 0.19999999999999998, 125 | "min_via_annular_width": 0.049999999999999996, 126 | "min_via_diameter": 0.39999999999999997, 127 | "solder_mask_to_copper_clearance": 0.0, 128 | "use_height_for_length_calcs": true 129 | }, 130 | "teardrop_options": [ 131 | { 132 | "td_allow_use_two_tracks": true, 133 | "td_curve_segcount": 5, 134 | "td_on_pad_in_zone": false, 135 | "td_onpadsmd": true, 136 | "td_onroundshapesonly": false, 137 | "td_ontrackend": false, 138 | "td_onviapad": true 139 | } 140 | ], 141 | "teardrop_parameters": [ 142 | { 143 | "td_curve_segcount": 0, 144 | "td_height_ratio": 1.0, 145 | "td_length_ratio": 0.5, 146 | "td_maxheight": 2.0, 147 | "td_maxlen": 1.0, 148 | "td_target_name": "td_round_shape", 149 | "td_width_to_size_filter_ratio": 0.9 150 | }, 151 | { 152 | "td_curve_segcount": 0, 153 | "td_height_ratio": 1.0, 154 | "td_length_ratio": 0.5, 155 | "td_maxheight": 2.0, 156 | "td_maxlen": 1.0, 157 | "td_target_name": "td_rect_shape", 158 | "td_width_to_size_filter_ratio": 0.9 159 | }, 160 | { 161 | "td_curve_segcount": 0, 162 | "td_height_ratio": 1.0, 163 | "td_length_ratio": 0.5, 164 | "td_maxheight": 2.0, 165 | "td_maxlen": 1.0, 166 | "td_target_name": "td_track_end", 167 | "td_width_to_size_filter_ratio": 0.9 168 | } 169 | ], 170 | "track_widths": [ 171 | 0.0, 172 | 0.2, 173 | 0.5 174 | ], 175 | "via_dimensions": [], 176 | "zones_allow_external_fillets": false, 177 | "zones_use_no_outline": true 178 | }, 179 | "layer_presets": [], 180 | "viewports": [] 181 | }, 182 | "boards": [], 183 | "cvpcb": { 184 | "equivalence_files": [] 185 | }, 186 | "erc": { 187 | "erc_exclusions": [], 188 | "meta": { 189 | "version": 0 190 | }, 191 | "pin_map": [ 192 | [ 193 | 0, 194 | 0, 195 | 0, 196 | 0, 197 | 0, 198 | 0, 199 | 1, 200 | 0, 201 | 0, 202 | 0, 203 | 0, 204 | 2 205 | ], 206 | [ 207 | 0, 208 | 2, 209 | 0, 210 | 1, 211 | 0, 212 | 0, 213 | 1, 214 | 0, 215 | 2, 216 | 2, 217 | 2, 218 | 2 219 | ], 220 | [ 221 | 0, 222 | 0, 223 | 0, 224 | 0, 225 | 0, 226 | 0, 227 | 1, 228 | 0, 229 | 1, 230 | 0, 231 | 1, 232 | 2 233 | ], 234 | [ 235 | 0, 236 | 1, 237 | 0, 238 | 0, 239 | 0, 240 | 0, 241 | 1, 242 | 1, 243 | 2, 244 | 1, 245 | 1, 246 | 2 247 | ], 248 | [ 249 | 0, 250 | 0, 251 | 0, 252 | 0, 253 | 0, 254 | 0, 255 | 1, 256 | 0, 257 | 0, 258 | 0, 259 | 0, 260 | 2 261 | ], 262 | [ 263 | 0, 264 | 0, 265 | 0, 266 | 0, 267 | 0, 268 | 0, 269 | 0, 270 | 0, 271 | 0, 272 | 0, 273 | 0, 274 | 2 275 | ], 276 | [ 277 | 1, 278 | 1, 279 | 1, 280 | 1, 281 | 1, 282 | 0, 283 | 1, 284 | 1, 285 | 1, 286 | 1, 287 | 1, 288 | 2 289 | ], 290 | [ 291 | 0, 292 | 0, 293 | 0, 294 | 1, 295 | 0, 296 | 0, 297 | 1, 298 | 0, 299 | 0, 300 | 0, 301 | 0, 302 | 2 303 | ], 304 | [ 305 | 0, 306 | 2, 307 | 1, 308 | 2, 309 | 0, 310 | 0, 311 | 1, 312 | 0, 313 | 2, 314 | 2, 315 | 2, 316 | 2 317 | ], 318 | [ 319 | 0, 320 | 2, 321 | 0, 322 | 1, 323 | 0, 324 | 0, 325 | 1, 326 | 0, 327 | 2, 328 | 0, 329 | 0, 330 | 2 331 | ], 332 | [ 333 | 0, 334 | 2, 335 | 1, 336 | 1, 337 | 0, 338 | 0, 339 | 1, 340 | 0, 341 | 2, 342 | 0, 343 | 0, 344 | 2 345 | ], 346 | [ 347 | 2, 348 | 2, 349 | 2, 350 | 2, 351 | 2, 352 | 2, 353 | 2, 354 | 2, 355 | 2, 356 | 2, 357 | 2, 358 | 2 359 | ] 360 | ], 361 | "rule_severities": { 362 | "bus_definition_conflict": "error", 363 | "bus_entry_needed": "error", 364 | "bus_to_bus_conflict": "error", 365 | "bus_to_net_conflict": "error", 366 | "conflicting_netclasses": "error", 367 | "different_unit_footprint": "error", 368 | "different_unit_net": "error", 369 | "duplicate_reference": "error", 370 | "duplicate_sheet_names": "error", 371 | "endpoint_off_grid": "warning", 372 | "extra_units": "error", 373 | "global_label_dangling": "warning", 374 | "hier_label_mismatch": "error", 375 | "label_dangling": "error", 376 | "lib_symbol_issues": "warning", 377 | "missing_bidi_pin": "warning", 378 | "missing_input_pin": "warning", 379 | "missing_power_pin": "error", 380 | "missing_unit": "warning", 381 | "multiple_net_names": "warning", 382 | "net_not_bus_member": "warning", 383 | "no_connect_connected": "warning", 384 | "no_connect_dangling": "warning", 385 | "pin_not_connected": "error", 386 | "pin_not_driven": "error", 387 | "pin_to_pin": "warning", 388 | "power_pin_not_driven": "error", 389 | "similar_labels": "warning", 390 | "simulation_model_issue": "ignore", 391 | "unannotated": "error", 392 | "unit_value_mismatch": "error", 393 | "unresolved_variable": "error", 394 | "wire_dangling": "error" 395 | } 396 | }, 397 | "libraries": { 398 | "pinned_footprint_libs": [], 399 | "pinned_symbol_libs": [] 400 | }, 401 | "meta": { 402 | "filename": "corne-heawood.kicad_pro", 403 | "version": 1 404 | }, 405 | "net_settings": { 406 | "classes": [ 407 | { 408 | "bus_width": 12, 409 | "clearance": 0.2, 410 | "diff_pair_gap": 0.25, 411 | "diff_pair_via_gap": 0.25, 412 | "diff_pair_width": 0.2, 413 | "line_style": 0, 414 | "microvia_diameter": 0.3, 415 | "microvia_drill": 0.1, 416 | "name": "Default", 417 | "pcb_color": "rgba(0, 0, 0, 0.000)", 418 | "schematic_color": "rgba(0, 0, 0, 0.000)", 419 | "track_width": 0.25, 420 | "via_diameter": 0.6, 421 | "via_drill": 0.4, 422 | "wire_width": 6 423 | }, 424 | { 425 | "bus_width": 12, 426 | "clearance": 0.2, 427 | "diff_pair_gap": 0.25, 428 | "diff_pair_via_gap": 0.25, 429 | "diff_pair_width": 0.2, 430 | "line_style": 0, 431 | "microvia_diameter": 0.3, 432 | "microvia_drill": 0.1, 433 | "name": "GND", 434 | "pcb_color": "rgba(0, 0, 0, 0.000)", 435 | "schematic_color": "rgba(0, 0, 0, 0.000)", 436 | "track_width": 0.5, 437 | "via_diameter": 0.6, 438 | "via_drill": 0.4, 439 | "wire_width": 6 440 | }, 441 | { 442 | "bus_width": 12, 443 | "clearance": 0.2, 444 | "diff_pair_gap": 0.25, 445 | "diff_pair_via_gap": 0.25, 446 | "diff_pair_width": 0.2, 447 | "line_style": 0, 448 | "microvia_diameter": 0.3, 449 | "microvia_drill": 0.1, 450 | "name": "VCC", 451 | "pcb_color": "rgba(0, 0, 0, 0.000)", 452 | "schematic_color": "rgba(0, 0, 0, 0.000)", 453 | "track_width": 0.5, 454 | "via_diameter": 0.6, 455 | "via_drill": 0.4, 456 | "wire_width": 6 457 | } 458 | ], 459 | "meta": { 460 | "version": 3 461 | }, 462 | "net_colors": null, 463 | "netclass_assignments": null, 464 | "netclass_patterns": [ 465 | { 466 | "netclass": "VCC", 467 | "pattern": "VCC" 468 | }, 469 | { 470 | "netclass": "GND", 471 | "pattern": "GND" 472 | } 473 | ] 474 | }, 475 | "pcbnew": { 476 | "last_paths": { 477 | "gencad": "", 478 | "idf": "", 479 | "netlist": "", 480 | "specctra_dsn": "", 481 | "step": "", 482 | "vrml": "" 483 | }, 484 | "page_layout_descr_file": "" 485 | }, 486 | "schematic": { 487 | "annotate_start_num": 0, 488 | "drawing": { 489 | "dashed_lines_dash_length_ratio": 12.0, 490 | "dashed_lines_gap_length_ratio": 3.0, 491 | "default_line_thickness": 6.0, 492 | "default_text_size": 50.0, 493 | "field_names": [], 494 | "intersheets_ref_own_page": false, 495 | "intersheets_ref_prefix": "", 496 | "intersheets_ref_short": false, 497 | "intersheets_ref_show": false, 498 | "intersheets_ref_suffix": "", 499 | "junction_size_choice": 3, 500 | "label_size_ratio": 0.25, 501 | "pin_symbol_size": 0.0, 502 | "text_offset_ratio": 0.08 503 | }, 504 | "legacy_lib_dir": "", 505 | "legacy_lib_list": [], 506 | "meta": { 507 | "version": 1 508 | }, 509 | "net_format_name": "", 510 | "ngspice": { 511 | "fix_include_paths": true, 512 | "fix_passive_vals": false, 513 | "meta": { 514 | "version": 0 515 | }, 516 | "model_mode": 0, 517 | "workbook_filename": "" 518 | }, 519 | "page_layout_descr_file": "", 520 | "plot_directory": "", 521 | "spice_adjust_passive_values": false, 522 | "spice_current_sheet_as_root": false, 523 | "spice_external_command": "spice \"%I\"", 524 | "spice_model_current_sheet_as_root": true, 525 | "spice_save_all_currents": false, 526 | "spice_save_all_voltages": false, 527 | "subpart_first_id": 65, 528 | "subpart_id_separator": 0 529 | }, 530 | "sheets": [ 531 | [ 532 | "b2404ab0-025a-473e-9fbb-0abc932972cf", 533 | "" 534 | ] 535 | ], 536 | "text_variables": {} 537 | } 538 | -------------------------------------------------------------------------------- /choc/wifi-choc-version/KiCad/heawood.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.15, 7 | "copper_line_width": 0.09999999999999999, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.09999999999999999, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 4.1, 38 | "height": 5.0, 39 | "width": 5.0 40 | }, 41 | "silk_line_width": 0.15, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.15, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "45_degree_only": false, 49 | "min_clearance": 0.508 50 | } 51 | }, 52 | "diff_pair_dimensions": [], 53 | "drc_exclusions": [], 54 | "meta": { 55 | "filename": "board_design_settings.json", 56 | "version": 2 57 | }, 58 | "rule_severities": { 59 | "annular_width": "error", 60 | "clearance": "error", 61 | "connection_width": "warning", 62 | "copper_edge_clearance": "error", 63 | "copper_sliver": "warning", 64 | "courtyards_overlap": "error", 65 | "diff_pair_gap_out_of_range": "error", 66 | "diff_pair_uncoupled_length_too_long": "error", 67 | "drill_out_of_range": "error", 68 | "duplicate_footprints": "warning", 69 | "extra_footprint": "warning", 70 | "footprint": "error", 71 | "footprint_type_mismatch": "ignore", 72 | "hole_clearance": "error", 73 | "hole_near_hole": "error", 74 | "invalid_outline": "error", 75 | "isolated_copper": "warning", 76 | "item_on_disabled_layer": "error", 77 | "items_not_allowed": "error", 78 | "length_out_of_range": "error", 79 | "lib_footprint_issues": "ignore", 80 | "lib_footprint_mismatch": "warning", 81 | "malformed_courtyard": "error", 82 | "microvia_drill_out_of_range": "error", 83 | "missing_courtyard": "ignore", 84 | "missing_footprint": "warning", 85 | "net_conflict": "warning", 86 | "npth_inside_courtyard": "ignore", 87 | "padstack": "error", 88 | "pth_inside_courtyard": "ignore", 89 | "shorting_items": "error", 90 | "silk_edge_clearance": "warning", 91 | "silk_over_copper": "ignore", 92 | "silk_overlap": "ignore", 93 | "skew_out_of_range": "error", 94 | "solder_mask_bridge": "ignore", 95 | "starved_thermal": "error", 96 | "text_height": "ignore", 97 | "text_thickness": "warning", 98 | "through_hole_pad_without_hole": "error", 99 | "too_many_vias": "error", 100 | "track_dangling": "warning", 101 | "track_width": "error", 102 | "tracks_crossing": "error", 103 | "unconnected_items": "error", 104 | "unresolved_variable": "error", 105 | "via_dangling": "warning", 106 | "zones_intersect": "error" 107 | }, 108 | "rules": { 109 | "allow_blind_buried_vias": false, 110 | "allow_microvias": false, 111 | "max_error": 0.005, 112 | "min_clearance": 0.0, 113 | "min_connection": 0.0, 114 | "min_copper_edge_clearance": 0.075, 115 | "min_hole_clearance": 0.25, 116 | "min_hole_to_hole": 0.25, 117 | "min_microvia_diameter": 0.19999999999999998, 118 | "min_microvia_drill": 0.09999999999999999, 119 | "min_resolved_spokes": 2, 120 | "min_silk_clearance": 0.0, 121 | "min_text_height": 0.7999999999999999, 122 | "min_text_thickness": 0.08, 123 | "min_through_hole_diameter": 0.3, 124 | "min_track_width": 0.19999999999999998, 125 | "min_via_annular_width": 0.049999999999999996, 126 | "min_via_diameter": 0.39999999999999997, 127 | "solder_mask_to_copper_clearance": 0.0, 128 | "use_height_for_length_calcs": true 129 | }, 130 | "teardrop_options": [ 131 | { 132 | "td_allow_use_two_tracks": true, 133 | "td_curve_segcount": 5, 134 | "td_on_pad_in_zone": false, 135 | "td_onpadsmd": true, 136 | "td_onroundshapesonly": false, 137 | "td_ontrackend": false, 138 | "td_onviapad": true 139 | } 140 | ], 141 | "teardrop_parameters": [ 142 | { 143 | "td_curve_segcount": 0, 144 | "td_height_ratio": 1.0, 145 | "td_length_ratio": 0.5, 146 | "td_maxheight": 2.0, 147 | "td_maxlen": 1.0, 148 | "td_target_name": "td_round_shape", 149 | "td_width_to_size_filter_ratio": 0.9 150 | }, 151 | { 152 | "td_curve_segcount": 0, 153 | "td_height_ratio": 1.0, 154 | "td_length_ratio": 0.5, 155 | "td_maxheight": 2.0, 156 | "td_maxlen": 1.0, 157 | "td_target_name": "td_rect_shape", 158 | "td_width_to_size_filter_ratio": 0.9 159 | }, 160 | { 161 | "td_curve_segcount": 0, 162 | "td_height_ratio": 1.0, 163 | "td_length_ratio": 0.5, 164 | "td_maxheight": 2.0, 165 | "td_maxlen": 1.0, 166 | "td_target_name": "td_track_end", 167 | "td_width_to_size_filter_ratio": 0.9 168 | } 169 | ], 170 | "track_widths": [ 171 | 0.0, 172 | 0.2, 173 | 0.5 174 | ], 175 | "via_dimensions": [], 176 | "zones_allow_external_fillets": false, 177 | "zones_use_no_outline": true 178 | }, 179 | "layer_presets": [], 180 | "viewports": [] 181 | }, 182 | "boards": [], 183 | "cvpcb": { 184 | "equivalence_files": [] 185 | }, 186 | "erc": { 187 | "erc_exclusions": [], 188 | "meta": { 189 | "version": 0 190 | }, 191 | "pin_map": [ 192 | [ 193 | 0, 194 | 0, 195 | 0, 196 | 0, 197 | 0, 198 | 0, 199 | 1, 200 | 0, 201 | 0, 202 | 0, 203 | 0, 204 | 2 205 | ], 206 | [ 207 | 0, 208 | 2, 209 | 0, 210 | 1, 211 | 0, 212 | 0, 213 | 1, 214 | 0, 215 | 2, 216 | 2, 217 | 2, 218 | 2 219 | ], 220 | [ 221 | 0, 222 | 0, 223 | 0, 224 | 0, 225 | 0, 226 | 0, 227 | 1, 228 | 0, 229 | 1, 230 | 0, 231 | 1, 232 | 2 233 | ], 234 | [ 235 | 0, 236 | 1, 237 | 0, 238 | 0, 239 | 0, 240 | 0, 241 | 1, 242 | 1, 243 | 2, 244 | 1, 245 | 1, 246 | 2 247 | ], 248 | [ 249 | 0, 250 | 0, 251 | 0, 252 | 0, 253 | 0, 254 | 0, 255 | 1, 256 | 0, 257 | 0, 258 | 0, 259 | 0, 260 | 2 261 | ], 262 | [ 263 | 0, 264 | 0, 265 | 0, 266 | 0, 267 | 0, 268 | 0, 269 | 0, 270 | 0, 271 | 0, 272 | 0, 273 | 0, 274 | 2 275 | ], 276 | [ 277 | 1, 278 | 1, 279 | 1, 280 | 1, 281 | 1, 282 | 0, 283 | 1, 284 | 1, 285 | 1, 286 | 1, 287 | 1, 288 | 2 289 | ], 290 | [ 291 | 0, 292 | 0, 293 | 0, 294 | 1, 295 | 0, 296 | 0, 297 | 1, 298 | 0, 299 | 0, 300 | 0, 301 | 0, 302 | 2 303 | ], 304 | [ 305 | 0, 306 | 2, 307 | 1, 308 | 2, 309 | 0, 310 | 0, 311 | 1, 312 | 0, 313 | 2, 314 | 2, 315 | 2, 316 | 2 317 | ], 318 | [ 319 | 0, 320 | 2, 321 | 0, 322 | 1, 323 | 0, 324 | 0, 325 | 1, 326 | 0, 327 | 2, 328 | 0, 329 | 0, 330 | 2 331 | ], 332 | [ 333 | 0, 334 | 2, 335 | 1, 336 | 1, 337 | 0, 338 | 0, 339 | 1, 340 | 0, 341 | 2, 342 | 0, 343 | 0, 344 | 2 345 | ], 346 | [ 347 | 2, 348 | 2, 349 | 2, 350 | 2, 351 | 2, 352 | 2, 353 | 2, 354 | 2, 355 | 2, 356 | 2, 357 | 2, 358 | 2 359 | ] 360 | ], 361 | "rule_severities": { 362 | "bus_definition_conflict": "error", 363 | "bus_entry_needed": "error", 364 | "bus_to_bus_conflict": "error", 365 | "bus_to_net_conflict": "error", 366 | "conflicting_netclasses": "error", 367 | "different_unit_footprint": "error", 368 | "different_unit_net": "error", 369 | "duplicate_reference": "error", 370 | "duplicate_sheet_names": "error", 371 | "endpoint_off_grid": "warning", 372 | "extra_units": "error", 373 | "global_label_dangling": "warning", 374 | "hier_label_mismatch": "error", 375 | "label_dangling": "error", 376 | "lib_symbol_issues": "warning", 377 | "missing_bidi_pin": "warning", 378 | "missing_input_pin": "warning", 379 | "missing_power_pin": "error", 380 | "missing_unit": "warning", 381 | "multiple_net_names": "warning", 382 | "net_not_bus_member": "warning", 383 | "no_connect_connected": "warning", 384 | "no_connect_dangling": "warning", 385 | "pin_not_connected": "error", 386 | "pin_not_driven": "error", 387 | "pin_to_pin": "warning", 388 | "power_pin_not_driven": "error", 389 | "similar_labels": "warning", 390 | "simulation_model_issue": "ignore", 391 | "unannotated": "error", 392 | "unit_value_mismatch": "error", 393 | "unresolved_variable": "error", 394 | "wire_dangling": "error" 395 | } 396 | }, 397 | "libraries": { 398 | "pinned_footprint_libs": [], 399 | "pinned_symbol_libs": [] 400 | }, 401 | "meta": { 402 | "filename": "heawood4.kicad_pro", 403 | "version": 1 404 | }, 405 | "net_settings": { 406 | "classes": [ 407 | { 408 | "bus_width": 12, 409 | "clearance": 0.2, 410 | "diff_pair_gap": 0.25, 411 | "diff_pair_via_gap": 0.25, 412 | "diff_pair_width": 0.2, 413 | "line_style": 0, 414 | "microvia_diameter": 0.3, 415 | "microvia_drill": 0.1, 416 | "name": "Default", 417 | "pcb_color": "rgba(0, 0, 0, 0.000)", 418 | "schematic_color": "rgba(0, 0, 0, 0.000)", 419 | "track_width": 0.25, 420 | "via_diameter": 0.6, 421 | "via_drill": 0.4, 422 | "wire_width": 6 423 | }, 424 | { 425 | "bus_width": 12, 426 | "clearance": 0.2, 427 | "diff_pair_gap": 0.25, 428 | "diff_pair_via_gap": 0.25, 429 | "diff_pair_width": 0.2, 430 | "line_style": 0, 431 | "microvia_diameter": 0.3, 432 | "microvia_drill": 0.1, 433 | "name": "GND", 434 | "pcb_color": "rgba(0, 0, 0, 0.000)", 435 | "schematic_color": "rgba(0, 0, 0, 0.000)", 436 | "track_width": 0.5, 437 | "via_diameter": 0.6, 438 | "via_drill": 0.4, 439 | "wire_width": 6 440 | }, 441 | { 442 | "bus_width": 12, 443 | "clearance": 0.2, 444 | "diff_pair_gap": 0.25, 445 | "diff_pair_via_gap": 0.25, 446 | "diff_pair_width": 0.2, 447 | "line_style": 0, 448 | "microvia_diameter": 0.3, 449 | "microvia_drill": 0.1, 450 | "name": "VCC", 451 | "pcb_color": "rgba(0, 0, 0, 0.000)", 452 | "schematic_color": "rgba(0, 0, 0, 0.000)", 453 | "track_width": 0.5, 454 | "via_diameter": 0.6, 455 | "via_drill": 0.4, 456 | "wire_width": 6 457 | } 458 | ], 459 | "meta": { 460 | "version": 3 461 | }, 462 | "net_colors": null, 463 | "netclass_assignments": null, 464 | "netclass_patterns": [ 465 | { 466 | "netclass": "Default", 467 | "pattern": "none" 468 | }, 469 | { 470 | "netclass": "GND", 471 | "pattern": "GND" 472 | }, 473 | { 474 | "netclass": "GND", 475 | "pattern": "VCC" 476 | } 477 | ] 478 | }, 479 | "pcbnew": { 480 | "last_paths": { 481 | "gencad": "", 482 | "idf": "", 483 | "netlist": "", 484 | "specctra_dsn": "", 485 | "step": "heawood4.step", 486 | "vrml": "" 487 | }, 488 | "page_layout_descr_file": "" 489 | }, 490 | "schematic": { 491 | "annotate_start_num": 0, 492 | "drawing": { 493 | "dashed_lines_dash_length_ratio": 12.0, 494 | "dashed_lines_gap_length_ratio": 3.0, 495 | "default_line_thickness": 6.0, 496 | "default_text_size": 50.0, 497 | "field_names": [], 498 | "intersheets_ref_own_page": false, 499 | "intersheets_ref_prefix": "", 500 | "intersheets_ref_short": false, 501 | "intersheets_ref_show": false, 502 | "intersheets_ref_suffix": "", 503 | "junction_size_choice": 3, 504 | "label_size_ratio": 0.25, 505 | "pin_symbol_size": 0.0, 506 | "text_offset_ratio": 0.08 507 | }, 508 | "legacy_lib_dir": "", 509 | "legacy_lib_list": [], 510 | "meta": { 511 | "version": 1 512 | }, 513 | "net_format_name": "", 514 | "ngspice": { 515 | "fix_include_paths": true, 516 | "fix_passive_vals": false, 517 | "meta": { 518 | "version": 0 519 | }, 520 | "model_mode": 0, 521 | "workbook_filename": "" 522 | }, 523 | "page_layout_descr_file": "", 524 | "plot_directory": "", 525 | "spice_adjust_passive_values": false, 526 | "spice_current_sheet_as_root": false, 527 | "spice_external_command": "spice \"%I\"", 528 | "spice_model_current_sheet_as_root": true, 529 | "spice_save_all_currents": false, 530 | "spice_save_all_voltages": false, 531 | "subpart_first_id": 65, 532 | "subpart_id_separator": 0 533 | }, 534 | "sheets": [ 535 | [ 536 | "b2404ab0-025a-473e-9fbb-0abc932972cf", 537 | "" 538 | ] 539 | ], 540 | "text_variables": {} 541 | } 542 | -------------------------------------------------------------------------------- /MX/Ver 0.3/Kicad/Heawood42_MX.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.15, 7 | "copper_line_width": 0.09999999999999999, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.09999999999999999, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 1.0, 38 | "height": 2.4, 39 | "width": 1.7 40 | }, 41 | "silk_line_width": 0.15, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.15, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "45_degree_only": false, 49 | "min_clearance": 0.508 50 | } 51 | }, 52 | "diff_pair_dimensions": [], 53 | "drc_exclusions": [ 54 | "clearance|28476500|37415000|51ba543b-90a0-4d16-bd4f-737895641746|6d1d0423-df0a-4c2a-ade3-7095155d7100", 55 | "clearance|28857500|37796000|51ba543b-90a0-4d16-bd4f-737895641746|4c9b439a-fd2b-45dc-b3da-4351cdfc5b4e" 56 | ], 57 | "meta": { 58 | "filename": "board_design_settings.json", 59 | "version": 2 60 | }, 61 | "rule_severities": { 62 | "annular_width": "error", 63 | "clearance": "error", 64 | "connection_width": "warning", 65 | "copper_edge_clearance": "error", 66 | "copper_sliver": "warning", 67 | "courtyards_overlap": "error", 68 | "diff_pair_gap_out_of_range": "error", 69 | "diff_pair_uncoupled_length_too_long": "error", 70 | "drill_out_of_range": "error", 71 | "duplicate_footprints": "warning", 72 | "extra_footprint": "warning", 73 | "footprint": "error", 74 | "footprint_type_mismatch": "ignore", 75 | "hole_clearance": "error", 76 | "hole_near_hole": "error", 77 | "invalid_outline": "error", 78 | "isolated_copper": "warning", 79 | "item_on_disabled_layer": "error", 80 | "items_not_allowed": "error", 81 | "length_out_of_range": "error", 82 | "lib_footprint_issues": "ignore", 83 | "lib_footprint_mismatch": "warning", 84 | "malformed_courtyard": "error", 85 | "microvia_drill_out_of_range": "error", 86 | "missing_courtyard": "ignore", 87 | "missing_footprint": "warning", 88 | "net_conflict": "warning", 89 | "npth_inside_courtyard": "ignore", 90 | "padstack": "error", 91 | "pth_inside_courtyard": "ignore", 92 | "shorting_items": "error", 93 | "silk_edge_clearance": "warning", 94 | "silk_over_copper": "ignore", 95 | "silk_overlap": "ignore", 96 | "skew_out_of_range": "error", 97 | "solder_mask_bridge": "ignore", 98 | "starved_thermal": "error", 99 | "text_height": "ignore", 100 | "text_thickness": "warning", 101 | "through_hole_pad_without_hole": "error", 102 | "too_many_vias": "error", 103 | "track_dangling": "warning", 104 | "track_width": "error", 105 | "tracks_crossing": "error", 106 | "unconnected_items": "error", 107 | "unresolved_variable": "error", 108 | "via_dangling": "warning", 109 | "zones_intersect": "error" 110 | }, 111 | "rules": { 112 | "allow_blind_buried_vias": false, 113 | "allow_microvias": false, 114 | "max_error": 0.005, 115 | "min_clearance": 0.0, 116 | "min_connection": 0.0, 117 | "min_copper_edge_clearance": 0.075, 118 | "min_hole_clearance": 0.25, 119 | "min_hole_to_hole": 0.25, 120 | "min_microvia_diameter": 0.19999999999999998, 121 | "min_microvia_drill": 0.09999999999999999, 122 | "min_resolved_spokes": 2, 123 | "min_silk_clearance": 0.0, 124 | "min_text_height": 0.7999999999999999, 125 | "min_text_thickness": 0.08, 126 | "min_through_hole_diameter": 0.3, 127 | "min_track_width": 0.19999999999999998, 128 | "min_via_annular_width": 0.049999999999999996, 129 | "min_via_diameter": 0.39999999999999997, 130 | "solder_mask_to_copper_clearance": 0.0, 131 | "use_height_for_length_calcs": true 132 | }, 133 | "teardrop_options": [ 134 | { 135 | "td_allow_use_two_tracks": true, 136 | "td_curve_segcount": 5, 137 | "td_on_pad_in_zone": false, 138 | "td_onpadsmd": true, 139 | "td_onroundshapesonly": false, 140 | "td_ontrackend": false, 141 | "td_onviapad": true 142 | } 143 | ], 144 | "teardrop_parameters": [ 145 | { 146 | "td_curve_segcount": 0, 147 | "td_height_ratio": 1.0, 148 | "td_length_ratio": 0.5, 149 | "td_maxheight": 2.0, 150 | "td_maxlen": 1.0, 151 | "td_target_name": "td_round_shape", 152 | "td_width_to_size_filter_ratio": 0.9 153 | }, 154 | { 155 | "td_curve_segcount": 0, 156 | "td_height_ratio": 1.0, 157 | "td_length_ratio": 0.5, 158 | "td_maxheight": 2.0, 159 | "td_maxlen": 1.0, 160 | "td_target_name": "td_rect_shape", 161 | "td_width_to_size_filter_ratio": 0.9 162 | }, 163 | { 164 | "td_curve_segcount": 0, 165 | "td_height_ratio": 1.0, 166 | "td_length_ratio": 0.5, 167 | "td_maxheight": 2.0, 168 | "td_maxlen": 1.0, 169 | "td_target_name": "td_track_end", 170 | "td_width_to_size_filter_ratio": 0.9 171 | } 172 | ], 173 | "track_widths": [ 174 | 0.0, 175 | 0.2, 176 | 0.5 177 | ], 178 | "via_dimensions": [], 179 | "zones_allow_external_fillets": false, 180 | "zones_use_no_outline": true 181 | }, 182 | "layer_presets": [], 183 | "viewports": [] 184 | }, 185 | "boards": [], 186 | "cvpcb": { 187 | "equivalence_files": [] 188 | }, 189 | "erc": { 190 | "erc_exclusions": [], 191 | "meta": { 192 | "version": 0 193 | }, 194 | "pin_map": [ 195 | [ 196 | 0, 197 | 0, 198 | 0, 199 | 0, 200 | 0, 201 | 0, 202 | 1, 203 | 0, 204 | 0, 205 | 0, 206 | 0, 207 | 2 208 | ], 209 | [ 210 | 0, 211 | 2, 212 | 0, 213 | 1, 214 | 0, 215 | 0, 216 | 1, 217 | 0, 218 | 2, 219 | 2, 220 | 2, 221 | 2 222 | ], 223 | [ 224 | 0, 225 | 0, 226 | 0, 227 | 0, 228 | 0, 229 | 0, 230 | 1, 231 | 0, 232 | 1, 233 | 0, 234 | 1, 235 | 2 236 | ], 237 | [ 238 | 0, 239 | 1, 240 | 0, 241 | 0, 242 | 0, 243 | 0, 244 | 1, 245 | 1, 246 | 2, 247 | 1, 248 | 1, 249 | 2 250 | ], 251 | [ 252 | 0, 253 | 0, 254 | 0, 255 | 0, 256 | 0, 257 | 0, 258 | 1, 259 | 0, 260 | 0, 261 | 0, 262 | 0, 263 | 2 264 | ], 265 | [ 266 | 0, 267 | 0, 268 | 0, 269 | 0, 270 | 0, 271 | 0, 272 | 0, 273 | 0, 274 | 0, 275 | 0, 276 | 0, 277 | 2 278 | ], 279 | [ 280 | 1, 281 | 1, 282 | 1, 283 | 1, 284 | 1, 285 | 0, 286 | 1, 287 | 1, 288 | 1, 289 | 1, 290 | 1, 291 | 2 292 | ], 293 | [ 294 | 0, 295 | 0, 296 | 0, 297 | 1, 298 | 0, 299 | 0, 300 | 1, 301 | 0, 302 | 0, 303 | 0, 304 | 0, 305 | 2 306 | ], 307 | [ 308 | 0, 309 | 2, 310 | 1, 311 | 2, 312 | 0, 313 | 0, 314 | 1, 315 | 0, 316 | 2, 317 | 2, 318 | 2, 319 | 2 320 | ], 321 | [ 322 | 0, 323 | 2, 324 | 0, 325 | 1, 326 | 0, 327 | 0, 328 | 1, 329 | 0, 330 | 2, 331 | 0, 332 | 0, 333 | 2 334 | ], 335 | [ 336 | 0, 337 | 2, 338 | 1, 339 | 1, 340 | 0, 341 | 0, 342 | 1, 343 | 0, 344 | 2, 345 | 0, 346 | 0, 347 | 2 348 | ], 349 | [ 350 | 2, 351 | 2, 352 | 2, 353 | 2, 354 | 2, 355 | 2, 356 | 2, 357 | 2, 358 | 2, 359 | 2, 360 | 2, 361 | 2 362 | ] 363 | ], 364 | "rule_severities": { 365 | "bus_definition_conflict": "error", 366 | "bus_entry_needed": "error", 367 | "bus_to_bus_conflict": "error", 368 | "bus_to_net_conflict": "error", 369 | "conflicting_netclasses": "error", 370 | "different_unit_footprint": "error", 371 | "different_unit_net": "error", 372 | "duplicate_reference": "error", 373 | "duplicate_sheet_names": "error", 374 | "endpoint_off_grid": "warning", 375 | "extra_units": "error", 376 | "global_label_dangling": "warning", 377 | "hier_label_mismatch": "error", 378 | "label_dangling": "error", 379 | "lib_symbol_issues": "warning", 380 | "missing_bidi_pin": "warning", 381 | "missing_input_pin": "warning", 382 | "missing_power_pin": "error", 383 | "missing_unit": "warning", 384 | "multiple_net_names": "warning", 385 | "net_not_bus_member": "warning", 386 | "no_connect_connected": "warning", 387 | "no_connect_dangling": "warning", 388 | "pin_not_connected": "error", 389 | "pin_not_driven": "error", 390 | "pin_to_pin": "warning", 391 | "power_pin_not_driven": "error", 392 | "similar_labels": "warning", 393 | "simulation_model_issue": "ignore", 394 | "unannotated": "error", 395 | "unit_value_mismatch": "error", 396 | "unresolved_variable": "error", 397 | "wire_dangling": "error" 398 | } 399 | }, 400 | "libraries": { 401 | "pinned_footprint_libs": [], 402 | "pinned_symbol_libs": [] 403 | }, 404 | "meta": { 405 | "filename": "heawood4.kicad_pro", 406 | "version": 1 407 | }, 408 | "net_settings": { 409 | "classes": [ 410 | { 411 | "bus_width": 12, 412 | "clearance": 0.2, 413 | "diff_pair_gap": 0.25, 414 | "diff_pair_via_gap": 0.25, 415 | "diff_pair_width": 0.2, 416 | "line_style": 0, 417 | "microvia_diameter": 0.3, 418 | "microvia_drill": 0.1, 419 | "name": "Default", 420 | "pcb_color": "rgba(0, 0, 0, 0.000)", 421 | "schematic_color": "rgba(0, 0, 0, 0.000)", 422 | "track_width": 0.25, 423 | "via_diameter": 0.6, 424 | "via_drill": 0.4, 425 | "wire_width": 6 426 | }, 427 | { 428 | "bus_width": 12, 429 | "clearance": 0.2, 430 | "diff_pair_gap": 0.25, 431 | "diff_pair_via_gap": 0.25, 432 | "diff_pair_width": 0.2, 433 | "line_style": 0, 434 | "microvia_diameter": 0.3, 435 | "microvia_drill": 0.1, 436 | "name": "GND", 437 | "pcb_color": "rgba(0, 0, 0, 0.000)", 438 | "schematic_color": "rgba(0, 0, 0, 0.000)", 439 | "track_width": 0.5, 440 | "via_diameter": 0.6, 441 | "via_drill": 0.4, 442 | "wire_width": 6 443 | }, 444 | { 445 | "bus_width": 12, 446 | "clearance": 0.2, 447 | "diff_pair_gap": 0.25, 448 | "diff_pair_via_gap": 0.25, 449 | "diff_pair_width": 0.2, 450 | "line_style": 0, 451 | "microvia_diameter": 0.3, 452 | "microvia_drill": 0.1, 453 | "name": "VCC", 454 | "pcb_color": "rgba(0, 0, 0, 0.000)", 455 | "schematic_color": "rgba(0, 0, 0, 0.000)", 456 | "track_width": 0.5, 457 | "via_diameter": 0.6, 458 | "via_drill": 0.4, 459 | "wire_width": 6 460 | } 461 | ], 462 | "meta": { 463 | "version": 3 464 | }, 465 | "net_colors": null, 466 | "netclass_assignments": null, 467 | "netclass_patterns": [ 468 | { 469 | "netclass": "Default", 470 | "pattern": "none" 471 | }, 472 | { 473 | "netclass": "GND", 474 | "pattern": "GND" 475 | }, 476 | { 477 | "netclass": "GND", 478 | "pattern": "VCC" 479 | }, 480 | { 481 | "netclass": "GND", 482 | "pattern": "col6" 483 | } 484 | ] 485 | }, 486 | "pcbnew": { 487 | "last_paths": { 488 | "gencad": "", 489 | "idf": "", 490 | "netlist": "", 491 | "specctra_dsn": "", 492 | "step": "heawood4.step", 493 | "vrml": "" 494 | }, 495 | "page_layout_descr_file": "" 496 | }, 497 | "schematic": { 498 | "annotate_start_num": 0, 499 | "drawing": { 500 | "dashed_lines_dash_length_ratio": 12.0, 501 | "dashed_lines_gap_length_ratio": 3.0, 502 | "default_line_thickness": 6.0, 503 | "default_text_size": 50.0, 504 | "field_names": [], 505 | "intersheets_ref_own_page": false, 506 | "intersheets_ref_prefix": "", 507 | "intersheets_ref_short": false, 508 | "intersheets_ref_show": false, 509 | "intersheets_ref_suffix": "", 510 | "junction_size_choice": 3, 511 | "label_size_ratio": 0.25, 512 | "pin_symbol_size": 0.0, 513 | "text_offset_ratio": 0.08 514 | }, 515 | "legacy_lib_dir": "", 516 | "legacy_lib_list": [], 517 | "meta": { 518 | "version": 1 519 | }, 520 | "net_format_name": "", 521 | "ngspice": { 522 | "fix_include_paths": true, 523 | "fix_passive_vals": false, 524 | "meta": { 525 | "version": 0 526 | }, 527 | "model_mode": 0, 528 | "workbook_filename": "" 529 | }, 530 | "page_layout_descr_file": "", 531 | "plot_directory": "", 532 | "spice_adjust_passive_values": false, 533 | "spice_current_sheet_as_root": false, 534 | "spice_external_command": "spice \"%I\"", 535 | "spice_model_current_sheet_as_root": true, 536 | "spice_save_all_currents": false, 537 | "spice_save_all_voltages": false, 538 | "subpart_first_id": 65, 539 | "subpart_id_separator": 0 540 | }, 541 | "sheets": [ 542 | [ 543 | "b2404ab0-025a-473e-9fbb-0abc932972cf", 544 | "" 545 | ] 546 | ], 547 | "text_variables": {} 548 | } 549 | -------------------------------------------------------------------------------- /MX-hotswap/Ver 0.3/Kicad/Heawood42_MX_hotswap.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.09999999999999999, 7 | "copper_line_width": 0.19999999999999998, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.15, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 1.0, 38 | "height": 2.4, 39 | "width": 1.7 40 | }, 41 | "silk_line_width": 0.15, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.15, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "min_clearance": 0.5 49 | } 50 | }, 51 | "diff_pair_dimensions": [ 52 | { 53 | "gap": 0.0, 54 | "via_gap": 0.0, 55 | "width": 0.0 56 | } 57 | ], 58 | "drc_exclusions": [ 59 | "clearance|159992638|83624446|80fff5fd-610f-46b3-8605-b509d0eec83c|fc925ac8-31d1-46e7-8c03-5697721ef8e7", 60 | "clearance|159992638|83997826|133b4744-02a2-4892-9357-15919af466de|fc925ac8-31d1-46e7-8c03-5697721ef8e7", 61 | "clearance|190209500|83609500|aaf5def4-98ec-4bfc-8f4e-457b1b85a382|0b1a4431-08fe-43c6-a6d0-79a165f6a80e", 62 | "clearance|190209500|83982880|004892e6-c71f-4748-82d9-6789209e8ac8|0b1a4431-08fe-43c6-a6d0-79a165f6a80e", 63 | "lib_footprint_issues|103010000|91600000|4daeed55-4df3-432e-9db0-61cd619a318c|00000000-0000-0000-0000-000000000000", 64 | "lib_footprint_issues|123600000|57600000|f12d4f40-28ae-4485-8d4b-853271705224|00000000-0000-0000-0000-000000000000", 65 | "lib_footprint_issues|147230002|92695000|e848b3a2-2617-4828-a805-7ccefbfcaca0|00000000-0000-0000-0000-000000000000", 66 | "lib_footprint_issues|151200000|100200000|25bb9fcf-d9ba-4dbb-a024-e3533b88e45f|00000000-0000-0000-0000-000000000000", 67 | "lib_footprint_issues|160030002|99695000|c0f0058c-0e21-435d-ad89-fee7fb0acb53|00000000-0000-0000-0000-000000000000", 68 | "lib_footprint_issues|191062816|99697829|481460ce-8529-4128-be2b-af94a096ff57|00000000-0000-0000-0000-000000000000", 69 | "lib_footprint_issues|199892818|100202829|1d3b0f14-d029-47bc-8161-a24e110c3ec2|00000000-0000-0000-0000-000000000000", 70 | "lib_footprint_issues|203862816|92697829|21e0c512-09e8-4dbf-a761-94719387985a|00000000-0000-0000-0000-000000000000", 71 | "lib_footprint_issues|227492818|57602829|34f43ea7-d16b-4d02-85f4-2752e45b4384|00000000-0000-0000-0000-000000000000", 72 | "lib_footprint_issues|248082818|91602829|a0e44bd1-95a9-4b49-aebf-c4ea33d7e7ff|00000000-0000-0000-0000-000000000000", 73 | "lib_footprint_issues|265692818|52602829|7bf46828-371b-418c-8e59-c95a9cfe245a|00000000-0000-0000-0000-000000000000", 74 | "lib_footprint_issues|46020002|74195000|1bb58f8a-8c95-449c-9138-93e98f049d91|00000000-0000-0000-0000-000000000000", 75 | "lib_footprint_issues|85400000|52600000|93593d55-6dc1-4ac4-9d60-0ddb24a142e1|00000000-0000-0000-0000-000000000000", 76 | "silk_edge_clearance|144713136|48283434|141b7f53-8aff-4224-81c7-4bf2c03af493|7504335b-b3ec-4253-ba0c-6418502b1f5d", 77 | "silk_edge_clearance|145713136|48269946|141b7f53-8aff-4224-81c7-4bf2c03af493|2ea13f3f-4a18-4138-a77d-dcfa6e83fbdd", 78 | "silk_edge_clearance|205355954|48272775|3143549f-ed42-401a-819b-b9b934466a7d|9374e6cf-54a0-41f5-80fb-8cc6a4bb19ab", 79 | "silk_edge_clearance|206305954|48286263|3143549f-ed42-401a-819b-b9b934466a7d|ddb0bb9c-2575-4af0-a11c-3137eef4547a", 80 | "silk_over_copper|144163136|82284415|590cc4b9-38ad-4833-bade-02b54851dd0e|00000000-0000-0000-0000-000000000000", 81 | "silk_over_copper|145045058|90241341|7eb79af9-e108-40c8-9d47-bb4d5e9dffde|00000000-0000-0000-0000-000000000000", 82 | "silk_over_copper|206855954|84258306|bfe12ed5-3e0d-4f73-8b64-30cce5f632b2|00000000-0000-0000-0000-000000000000", 83 | "silk_over_copper|207552830|89075899|169c3133-b325-4b07-aa03-d54a52c3fa34|00000000-0000-0000-0000-000000000000", 84 | "solder_mask_bridge|159992638|83624446|80fff5fd-610f-46b3-8605-b509d0eec83c|fc925ac8-31d1-46e7-8c03-5697721ef8e7", 85 | "solder_mask_bridge|159992638|83997826|133b4744-02a2-4892-9357-15919af466de|fc925ac8-31d1-46e7-8c03-5697721ef8e7", 86 | "solder_mask_bridge|190209500|83609500|aaf5def4-98ec-4bfc-8f4e-457b1b85a382|0b1a4431-08fe-43c6-a6d0-79a165f6a80e", 87 | "solder_mask_bridge|190209500|83982880|004892e6-c71f-4748-82d9-6789209e8ac8|0b1a4431-08fe-43c6-a6d0-79a165f6a80e" 88 | ], 89 | "meta": { 90 | "version": 2 91 | }, 92 | "rule_severities": { 93 | "annular_width": "error", 94 | "clearance": "error", 95 | "connection_width": "warning", 96 | "copper_edge_clearance": "error", 97 | "copper_sliver": "warning", 98 | "courtyards_overlap": "error", 99 | "diff_pair_gap_out_of_range": "error", 100 | "diff_pair_uncoupled_length_too_long": "error", 101 | "drill_out_of_range": "error", 102 | "duplicate_footprints": "warning", 103 | "extra_footprint": "warning", 104 | "footprint": "error", 105 | "footprint_type_mismatch": "ignore", 106 | "hole_clearance": "error", 107 | "hole_near_hole": "ignore", 108 | "invalid_outline": "error", 109 | "isolated_copper": "warning", 110 | "item_on_disabled_layer": "error", 111 | "items_not_allowed": "error", 112 | "length_out_of_range": "error", 113 | "lib_footprint_issues": "warning", 114 | "lib_footprint_mismatch": "warning", 115 | "malformed_courtyard": "error", 116 | "microvia_drill_out_of_range": "error", 117 | "missing_courtyard": "ignore", 118 | "missing_footprint": "warning", 119 | "net_conflict": "warning", 120 | "npth_inside_courtyard": "ignore", 121 | "padstack": "warning", 122 | "pth_inside_courtyard": "ignore", 123 | "shorting_items": "error", 124 | "silk_edge_clearance": "warning", 125 | "silk_over_copper": "warning", 126 | "silk_overlap": "warning", 127 | "skew_out_of_range": "error", 128 | "solder_mask_bridge": "error", 129 | "starved_thermal": "error", 130 | "text_height": "ignore", 131 | "text_thickness": "warning", 132 | "through_hole_pad_without_hole": "error", 133 | "too_many_vias": "error", 134 | "track_dangling": "warning", 135 | "track_width": "error", 136 | "tracks_crossing": "error", 137 | "unconnected_items": "error", 138 | "unresolved_variable": "error", 139 | "via_dangling": "warning", 140 | "zones_intersect": "error" 141 | }, 142 | "rules": { 143 | "max_error": 0.005, 144 | "min_clearance": 0.0, 145 | "min_connection": 0.0, 146 | "min_copper_edge_clearance": 0.0, 147 | "min_hole_clearance": 0.25, 148 | "min_hole_to_hole": 0.25, 149 | "min_microvia_diameter": 0.19999999999999998, 150 | "min_microvia_drill": 0.09999999999999999, 151 | "min_resolved_spokes": 2, 152 | "min_silk_clearance": 0.0, 153 | "min_text_height": 0.7999999999999999, 154 | "min_text_thickness": 0.08, 155 | "min_through_hole_diameter": 0.3, 156 | "min_track_width": 0.0, 157 | "min_via_annular_width": 0.09999999999999999, 158 | "min_via_diameter": 0.5, 159 | "solder_mask_clearance": 0.0, 160 | "solder_mask_min_width": 0.0, 161 | "solder_mask_to_copper_clearance": 0.0, 162 | "use_height_for_length_calcs": true 163 | }, 164 | "teardrop_options": [ 165 | { 166 | "td_allow_use_two_tracks": true, 167 | "td_curve_segcount": 5, 168 | "td_on_pad_in_zone": false, 169 | "td_onpadsmd": true, 170 | "td_onroundshapesonly": false, 171 | "td_ontrackend": false, 172 | "td_onviapad": true 173 | } 174 | ], 175 | "teardrop_parameters": [ 176 | { 177 | "td_curve_segcount": 0, 178 | "td_height_ratio": 1.0, 179 | "td_length_ratio": 0.5, 180 | "td_maxheight": 2.0, 181 | "td_maxlen": 1.0, 182 | "td_target_name": "td_round_shape", 183 | "td_width_to_size_filter_ratio": 0.9 184 | }, 185 | { 186 | "td_curve_segcount": 0, 187 | "td_height_ratio": 1.0, 188 | "td_length_ratio": 0.5, 189 | "td_maxheight": 2.0, 190 | "td_maxlen": 1.0, 191 | "td_target_name": "td_rect_shape", 192 | "td_width_to_size_filter_ratio": 0.9 193 | }, 194 | { 195 | "td_curve_segcount": 0, 196 | "td_height_ratio": 1.0, 197 | "td_length_ratio": 0.5, 198 | "td_maxheight": 2.0, 199 | "td_maxlen": 1.0, 200 | "td_target_name": "td_track_end", 201 | "td_width_to_size_filter_ratio": 0.9 202 | } 203 | ], 204 | "track_widths": [ 205 | 0.0 206 | ], 207 | "via_dimensions": [ 208 | { 209 | "diameter": 0.0, 210 | "drill": 0.0 211 | } 212 | ], 213 | "zones_allow_external_fillets": false 214 | }, 215 | "layer_presets": [], 216 | "viewports": [] 217 | }, 218 | "boards": [], 219 | "cvpcb": { 220 | "equivalence_files": [] 221 | }, 222 | "erc": { 223 | "erc_exclusions": [], 224 | "meta": { 225 | "version": 0 226 | }, 227 | "pin_map": [ 228 | [ 229 | 0, 230 | 0, 231 | 0, 232 | 0, 233 | 0, 234 | 0, 235 | 1, 236 | 0, 237 | 0, 238 | 0, 239 | 0, 240 | 2 241 | ], 242 | [ 243 | 0, 244 | 2, 245 | 0, 246 | 1, 247 | 0, 248 | 0, 249 | 1, 250 | 0, 251 | 2, 252 | 2, 253 | 2, 254 | 2 255 | ], 256 | [ 257 | 0, 258 | 0, 259 | 0, 260 | 0, 261 | 0, 262 | 0, 263 | 1, 264 | 0, 265 | 1, 266 | 0, 267 | 1, 268 | 2 269 | ], 270 | [ 271 | 0, 272 | 1, 273 | 0, 274 | 0, 275 | 0, 276 | 0, 277 | 1, 278 | 1, 279 | 2, 280 | 1, 281 | 1, 282 | 2 283 | ], 284 | [ 285 | 0, 286 | 0, 287 | 0, 288 | 0, 289 | 0, 290 | 0, 291 | 1, 292 | 0, 293 | 0, 294 | 0, 295 | 0, 296 | 2 297 | ], 298 | [ 299 | 0, 300 | 0, 301 | 0, 302 | 0, 303 | 0, 304 | 0, 305 | 0, 306 | 0, 307 | 0, 308 | 0, 309 | 0, 310 | 2 311 | ], 312 | [ 313 | 1, 314 | 1, 315 | 1, 316 | 1, 317 | 1, 318 | 0, 319 | 1, 320 | 1, 321 | 1, 322 | 1, 323 | 1, 324 | 2 325 | ], 326 | [ 327 | 0, 328 | 0, 329 | 0, 330 | 1, 331 | 0, 332 | 0, 333 | 1, 334 | 0, 335 | 0, 336 | 0, 337 | 0, 338 | 2 339 | ], 340 | [ 341 | 0, 342 | 2, 343 | 1, 344 | 2, 345 | 0, 346 | 0, 347 | 1, 348 | 0, 349 | 2, 350 | 2, 351 | 2, 352 | 2 353 | ], 354 | [ 355 | 0, 356 | 2, 357 | 0, 358 | 1, 359 | 0, 360 | 0, 361 | 1, 362 | 0, 363 | 2, 364 | 0, 365 | 0, 366 | 2 367 | ], 368 | [ 369 | 0, 370 | 2, 371 | 1, 372 | 1, 373 | 0, 374 | 0, 375 | 1, 376 | 0, 377 | 2, 378 | 0, 379 | 0, 380 | 2 381 | ], 382 | [ 383 | 2, 384 | 2, 385 | 2, 386 | 2, 387 | 2, 388 | 2, 389 | 2, 390 | 2, 391 | 2, 392 | 2, 393 | 2, 394 | 2 395 | ] 396 | ], 397 | "rule_severities": { 398 | "bus_definition_conflict": "error", 399 | "bus_entry_needed": "error", 400 | "bus_to_bus_conflict": "error", 401 | "bus_to_net_conflict": "error", 402 | "conflicting_netclasses": "error", 403 | "different_unit_footprint": "error", 404 | "different_unit_net": "error", 405 | "duplicate_reference": "error", 406 | "duplicate_sheet_names": "error", 407 | "endpoint_off_grid": "warning", 408 | "extra_units": "error", 409 | "global_label_dangling": "warning", 410 | "hier_label_mismatch": "error", 411 | "label_dangling": "error", 412 | "lib_symbol_issues": "warning", 413 | "missing_bidi_pin": "warning", 414 | "missing_input_pin": "warning", 415 | "missing_power_pin": "error", 416 | "missing_unit": "warning", 417 | "multiple_net_names": "warning", 418 | "net_not_bus_member": "warning", 419 | "no_connect_connected": "warning", 420 | "no_connect_dangling": "warning", 421 | "pin_not_connected": "error", 422 | "pin_not_driven": "error", 423 | "pin_to_pin": "warning", 424 | "power_pin_not_driven": "error", 425 | "similar_labels": "warning", 426 | "simulation_model_issue": "ignore", 427 | "unannotated": "error", 428 | "unit_value_mismatch": "error", 429 | "unresolved_variable": "error", 430 | "wire_dangling": "error" 431 | } 432 | }, 433 | "libraries": { 434 | "pinned_footprint_libs": [], 435 | "pinned_symbol_libs": [] 436 | }, 437 | "meta": { 438 | "filename": "Heawood42.kicad_pro", 439 | "version": 1 440 | }, 441 | "net_settings": { 442 | "classes": [ 443 | { 444 | "bus_width": 12, 445 | "clearance": 0.2, 446 | "diff_pair_gap": 0.25, 447 | "diff_pair_via_gap": 0.25, 448 | "diff_pair_width": 0.2, 449 | "line_style": 0, 450 | "microvia_diameter": 0.3, 451 | "microvia_drill": 0.1, 452 | "name": "Default", 453 | "pcb_color": "rgba(0, 0, 0, 0.000)", 454 | "schematic_color": "rgba(0, 0, 0, 0.000)", 455 | "track_width": 0.25, 456 | "via_diameter": 0.8, 457 | "via_drill": 0.4, 458 | "wire_width": 6 459 | }, 460 | { 461 | "bus_width": 12, 462 | "clearance": 0.2, 463 | "diff_pair_gap": 0.25, 464 | "diff_pair_via_gap": 0.25, 465 | "diff_pair_width": 0.2, 466 | "line_style": 0, 467 | "microvia_diameter": 0.3, 468 | "microvia_drill": 0.1, 469 | "name": "GND", 470 | "pcb_color": "rgba(0, 0, 0, 0.000)", 471 | "schematic_color": "rgba(0, 0, 0, 0.000)", 472 | "track_width": 0.5, 473 | "via_diameter": 0.8, 474 | "via_drill": 0.4, 475 | "wire_width": 6 476 | }, 477 | { 478 | "bus_width": 12, 479 | "clearance": 0.2, 480 | "diff_pair_gap": 0.25, 481 | "diff_pair_via_gap": 0.25, 482 | "diff_pair_width": 0.2, 483 | "line_style": 0, 484 | "microvia_diameter": 0.3, 485 | "microvia_drill": 0.1, 486 | "name": "VCC", 487 | "pcb_color": "rgba(0, 0, 0, 0.000)", 488 | "schematic_color": "rgba(0, 0, 0, 0.000)", 489 | "track_width": 0.5, 490 | "via_diameter": 0.8, 491 | "via_drill": 0.4, 492 | "wire_width": 6 493 | } 494 | ], 495 | "meta": { 496 | "version": 3 497 | }, 498 | "net_colors": null, 499 | "netclass_assignments": null, 500 | "netclass_patterns": [ 501 | { 502 | "netclass": "GND", 503 | "pattern": "VCC" 504 | }, 505 | { 506 | "netclass": "GND", 507 | "pattern": "GND" 508 | } 509 | ] 510 | }, 511 | "pcbnew": { 512 | "last_paths": { 513 | "gencad": "", 514 | "idf": "", 515 | "netlist": "", 516 | "specctra_dsn": "", 517 | "step": "", 518 | "vrml": "" 519 | }, 520 | "page_layout_descr_file": "" 521 | }, 522 | "schematic": { 523 | "annotate_start_num": 0, 524 | "drawing": { 525 | "dashed_lines_dash_length_ratio": 12.0, 526 | "dashed_lines_gap_length_ratio": 3.0, 527 | "default_line_thickness": 6.0, 528 | "default_text_size": 50.0, 529 | "field_names": [], 530 | "intersheets_ref_own_page": false, 531 | "intersheets_ref_prefix": "", 532 | "intersheets_ref_short": false, 533 | "intersheets_ref_show": false, 534 | "intersheets_ref_suffix": "", 535 | "junction_size_choice": 3, 536 | "label_size_ratio": 0.375, 537 | "pin_symbol_size": 25.0, 538 | "text_offset_ratio": 0.15 539 | }, 540 | "legacy_lib_dir": "", 541 | "legacy_lib_list": [], 542 | "meta": { 543 | "version": 1 544 | }, 545 | "net_format_name": "", 546 | "page_layout_descr_file": "", 547 | "plot_directory": "", 548 | "spice_current_sheet_as_root": false, 549 | "spice_external_command": "spice \"%I\"", 550 | "spice_model_current_sheet_as_root": true, 551 | "spice_save_all_currents": false, 552 | "spice_save_all_voltages": false, 553 | "subpart_first_id": 65, 554 | "subpart_id_separator": 0 555 | }, 556 | "sheets": [ 557 | [ 558 | "d263ba60-266e-4154-b995-bd3de4fcb411", 559 | "" 560 | ] 561 | ], 562 | "text_variables": {} 563 | } 564 | -------------------------------------------------------------------------------- /qmk/heawood42.c: -------------------------------------------------------------------------------- 1 | // Copyright 2024 T. G. Marbach 2 | // SPDX-License-Identifier: GPL-2.0-or-later 3 | // This is free software. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | #include "quantum.h" 6 | 7 | #ifdef ENCODER_ENABLE 8 | bool encoder_update_kb(uint8_t index, bool clockwise) { 9 | if (!encoder_update_user(index, clockwise)) { return false; } 10 | if (index == 0) { 11 | if (clockwise) { 12 | tap_code(KC_VOLU); 13 | } else { 14 | tap_code(KC_VOLD); 15 | } 16 | } else if (index == 1) { 17 | if (clockwise) { 18 | tap_code(KC_PGDN); 19 | } else { 20 | tap_code(KC_PGUP); 21 | } 22 | } 23 | return true; 24 | } 25 | #endif 26 | 27 | #ifdef OLED_ENABLE 28 | oled_rotation_t oled_init_kb(oled_rotation_t rotation) { 29 | if (!is_keyboard_master()) { 30 | return OLED_ROTATION_180; 31 | } 32 | return rotation; 33 | } 34 | 35 | void render_layer1_logo(void){ 36 | static const char PROGMEM layer_logo[] = { 37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 41 | 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 42 | 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 43 | 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 44 | 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 45 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 46 | 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 47 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 48 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 49 | 0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 50 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 51 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 52 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 53 | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 54 | 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 55 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 56 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 57 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 58 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 59 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, 60 | 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 61 | 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, 62 | 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 63 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 64 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 65 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 66 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 67 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 68 | 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 69 | }; 70 | oled_write_raw_P(layer_logo, sizeof(layer_logo)); 71 | } 72 | 73 | void render_layer2_logo(void){ 74 | static const char PROGMEM layer_logo[] = { 75 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, 76 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 77 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 78 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 79 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 80 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 81 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 82 | 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 83 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 84 | 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 85 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 86 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 87 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 88 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 89 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 90 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 91 | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 92 | 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 93 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 94 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 95 | 0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 96 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 97 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, 98 | 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 99 | 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, 100 | 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 101 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 102 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 103 | 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 104 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 105 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 106 | 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 107 | }; 108 | oled_write_raw_P(layer_logo, sizeof(layer_logo)); 109 | } 110 | 111 | void render_layer3_logo(void){ 112 | static const char PROGMEM layer_logo[] = { 113 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, 114 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 115 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 116 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 117 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 118 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 119 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 120 | 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 121 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 122 | 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 123 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 124 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 125 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 126 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 127 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 128 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 129 | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 130 | 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 131 | 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 132 | 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07, 133 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 134 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 135 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, 136 | 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 137 | 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, 138 | 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 139 | 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 140 | 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 141 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 142 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 143 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 144 | 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 145 | }; 146 | oled_write_raw_P(layer_logo, sizeof(layer_logo)); 147 | } 148 | 149 | void render_layer4_logo(void){ 150 | static const char PROGMEM layer_logo[] = { 151 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, 152 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 153 | 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 154 | 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 155 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 156 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 157 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 158 | 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 159 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 160 | 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 161 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 162 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 163 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 164 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 165 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 166 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 167 | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 168 | 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 169 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 170 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 171 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 172 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 173 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, 174 | 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 175 | 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, 176 | 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 177 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 178 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 179 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 180 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 181 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 182 | 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 183 | }; 184 | oled_write_raw_P(layer_logo, sizeof(layer_logo)); 185 | } 186 | 187 | void render_logo(void) { 188 | static const char PROGMEM logo[] = { 189 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 190 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 191 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 192 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 193 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 194 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 195 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 196 | 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 197 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 198 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 199 | 0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 200 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 201 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 202 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 203 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0, 204 | 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 205 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 206 | 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 207 | 0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 208 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 209 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 210 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 211 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01, 212 | 0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 213 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 214 | 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 215 | 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 216 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 217 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 218 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 219 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 220 | 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 221 | }; 222 | oled_write_raw_P(logo, sizeof(logo)); 223 | } 224 | 225 | void process_layer_state(void) { 226 | switch (get_highest_layer(layer_state)) { 227 | case 0: 228 | render_layer1_logo(); 229 | break; 230 | case 1: 231 | render_layer2_logo(); 232 | break; 233 | case 2: 234 | render_layer3_logo(); 235 | break; 236 | case 3: 237 | render_layer4_logo(); 238 | break; 239 | } 240 | } 241 | 242 | bool oled_task_kb(void) { 243 | if (!oled_task_user()) { return false; } 244 | if (is_keyboard_master()) { 245 | process_layer_state(); 246 | } else { 247 | render_logo(); 248 | } 249 | return false; 250 | } 251 | #endif 252 | -------------------------------------------------------------------------------- /choc/wifi-choc-version/gerber/heawood4-B_Mask.gbr: -------------------------------------------------------------------------------- 1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,7.0.8* 2 | G04 #@! TF.CreationDate,2024-02-29T00:10:42-05:00* 3 | G04 #@! TF.ProjectId,heawood4,68656177-6f6f-4643-942e-6b696361645f,1.0* 4 | G04 #@! TF.SameCoordinates,Original* 5 | G04 #@! TF.FileFunction,Soldermask,Bot* 6 | G04 #@! TF.FilePolarity,Negative* 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW 7.0.8) date 2024-02-29 00:10:42* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | G04 Aperture macros list* 15 | %AMRoundRect* 16 | 0 Rectangle with rounded corners* 17 | 0 $1 Rounding radius* 18 | 0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners* 19 | 0 Add a 4 corners polygon primitive as box body* 20 | 4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0* 21 | 0 Add four circle primitives for the rounded corners* 22 | 1,1,$1+$1,$2,$3* 23 | 1,1,$1+$1,$4,$5* 24 | 1,1,$1+$1,$6,$7* 25 | 1,1,$1+$1,$8,$9* 26 | 0 Add four rect primitives between the rounded corners* 27 | 20,1,$1+$1,$2,$3,$4,$5,0* 28 | 20,1,$1+$1,$4,$5,$6,$7,0* 29 | 20,1,$1+$1,$6,$7,$8,$9,0* 30 | 20,1,$1+$1,$8,$9,$2,$3,0*% 31 | G04 Aperture macros list end* 32 | %ADD10C,0.125000*% 33 | %ADD11RoundRect,0.200000X-0.850000X-0.500000X0.850000X-0.500000X0.850000X0.500000X-0.850000X0.500000X0*% 34 | %ADD12RoundRect,0.200000X-0.950446X-0.262967X0.691627X-0.702959X0.950446X0.262967X-0.691627X0.702959X0*% 35 | %ADD13RoundRect,0.200000X0.008013X-0.986122X0.858013X0.486122X-0.008013X0.986122X-0.858013X-0.486122X0*% 36 | %ADD14RoundRect,0.200000X0.400000X-0.500000X0.400000X0.500000X-0.400000X0.500000X-0.400000X-0.500000X0*% 37 | %ADD15C,1.300000*% 38 | %ADD16RoundRect,0.200000X0.750000X-0.350000X0.750000X0.350000X-0.750000X0.350000X-0.750000X-0.350000X0*% 39 | %ADD17C,5.400000*% 40 | %ADD18RoundRect,0.450000X-0.350000X-0.625000X0.350000X-0.625000X0.350000X0.625000X-0.350000X0.625000X0*% 41 | %ADD19O,1.600000X2.150000*% 42 | %ADD20C,2.200000*% 43 | %ADD21C,3.400000*% 44 | %ADD22C,3.800000*% 45 | %ADD23RoundRect,0.200000X-0.552628X1.242820X-1.352628X-0.142820X0.552628X-1.242820X1.352628X0.142820X0*% 46 | %ADD24RoundRect,0.200000X1.057442X0.855463X-0.488040X1.269574X-1.057442X-0.855463X0.488040X-1.269574X0*% 47 | %ADD25RoundRect,0.200000X0.800000X1.100000X-0.800000X1.100000X-0.800000X-1.100000X0.800000X-1.100000X0*% 48 | %ADD26C,1.924000*% 49 | %ADD27C,2.400000*% 50 | %ADD28C,1.797000*% 51 | %ADD29RoundRect,0.200000X-0.571500X0.317500X-0.571500X-0.317500X0.571500X-0.317500X0.571500X0.317500X0*% 52 | %ADD30C,4.400000*% 53 | G04 APERTURE END LIST* 54 | D10* 55 | X111929668Y-117651119D02* 56 | X111929668Y-116651119D01* 57 | X111929668Y-117127309D02* 58 | X111358240Y-117127309D01* 59 | X111358240Y-117651119D02* 60 | X111358240Y-116651119D01* 61 | X110501097Y-117603500D02* 62 | X110596335Y-117651119D01* 63 | X110596335Y-117651119D02* 64 | X110786811Y-117651119D01* 65 | X110786811Y-117651119D02* 66 | X110882049Y-117603500D01* 67 | X110882049Y-117603500D02* 68 | X110929668Y-117508261D01* 69 | X110929668Y-117508261D02* 70 | X110929668Y-117127309D01* 71 | X110929668Y-117127309D02* 72 | X110882049Y-117032071D01* 73 | X110882049Y-117032071D02* 74 | X110786811Y-116984452D01* 75 | X110786811Y-116984452D02* 76 | X110596335Y-116984452D01* 77 | X110596335Y-116984452D02* 78 | X110501097Y-117032071D01* 79 | X110501097Y-117032071D02* 80 | X110453478Y-117127309D01* 81 | X110453478Y-117127309D02* 82 | X110453478Y-117222547D01* 83 | X110453478Y-117222547D02* 84 | X110929668Y-117317785D01* 85 | X109596335Y-117651119D02* 86 | X109596335Y-117127309D01* 87 | X109596335Y-117127309D02* 88 | X109643954Y-117032071D01* 89 | X109643954Y-117032071D02* 90 | X109739192Y-116984452D01* 91 | X109739192Y-116984452D02* 92 | X109929668Y-116984452D01* 93 | X109929668Y-116984452D02* 94 | X110024906Y-117032071D01* 95 | X109596335Y-117603500D02* 96 | X109691573Y-117651119D01* 97 | X109691573Y-117651119D02* 98 | X109929668Y-117651119D01* 99 | X109929668Y-117651119D02* 100 | X110024906Y-117603500D01* 101 | X110024906Y-117603500D02* 102 | X110072525Y-117508261D01* 103 | X110072525Y-117508261D02* 104 | X110072525Y-117413023D01* 105 | X110072525Y-117413023D02* 106 | X110024906Y-117317785D01* 107 | X110024906Y-117317785D02* 108 | X109929668Y-117270166D01* 109 | X109929668Y-117270166D02* 110 | X109691573Y-117270166D01* 111 | X109691573Y-117270166D02* 112 | X109596335Y-117222547D01* 113 | X109215382Y-116984452D02* 114 | X109024906Y-117651119D01* 115 | X109024906Y-117651119D02* 116 | X108834430Y-117174928D01* 117 | X108834430Y-117174928D02* 118 | X108643954Y-117651119D01* 119 | X108643954Y-117651119D02* 120 | X108453478Y-116984452D01* 121 | X107929668Y-117651119D02* 122 | X108024906Y-117603500D01* 123 | X108024906Y-117603500D02* 124 | X108072525Y-117555880D01* 125 | X108072525Y-117555880D02* 126 | X108120144Y-117460642D01* 127 | X108120144Y-117460642D02* 128 | X108120144Y-117174928D01* 129 | X108120144Y-117174928D02* 130 | X108072525Y-117079690D01* 131 | X108072525Y-117079690D02* 132 | X108024906Y-117032071D01* 133 | X108024906Y-117032071D02* 134 | X107929668Y-116984452D01* 135 | X107929668Y-116984452D02* 136 | X107786811Y-116984452D01* 137 | X107786811Y-116984452D02* 138 | X107691573Y-117032071D01* 139 | X107691573Y-117032071D02* 140 | X107643954Y-117079690D01* 141 | X107643954Y-117079690D02* 142 | X107596335Y-117174928D01* 143 | X107596335Y-117174928D02* 144 | X107596335Y-117460642D01* 145 | X107596335Y-117460642D02* 146 | X107643954Y-117555880D01* 147 | X107643954Y-117555880D02* 148 | X107691573Y-117603500D01* 149 | X107691573Y-117603500D02* 150 | X107786811Y-117651119D01* 151 | X107786811Y-117651119D02* 152 | X107929668Y-117651119D01* 153 | X107024906Y-117651119D02* 154 | X107120144Y-117603500D01* 155 | X107120144Y-117603500D02* 156 | X107167763Y-117555880D01* 157 | X107167763Y-117555880D02* 158 | X107215382Y-117460642D01* 159 | X107215382Y-117460642D02* 160 | X107215382Y-117174928D01* 161 | X107215382Y-117174928D02* 162 | X107167763Y-117079690D01* 163 | X107167763Y-117079690D02* 164 | X107120144Y-117032071D01* 165 | X107120144Y-117032071D02* 166 | X107024906Y-116984452D01* 167 | X107024906Y-116984452D02* 168 | X106882049Y-116984452D01* 169 | X106882049Y-116984452D02* 170 | X106786811Y-117032071D01* 171 | X106786811Y-117032071D02* 172 | X106739192Y-117079690D01* 173 | X106739192Y-117079690D02* 174 | X106691573Y-117174928D01* 175 | X106691573Y-117174928D02* 176 | X106691573Y-117460642D01* 177 | X106691573Y-117460642D02* 178 | X106739192Y-117555880D01* 179 | X106739192Y-117555880D02* 180 | X106786811Y-117603500D01* 181 | X106786811Y-117603500D02* 182 | X106882049Y-117651119D01* 183 | X106882049Y-117651119D02* 184 | X107024906Y-117651119D01* 185 | X105834430Y-117651119D02* 186 | X105834430Y-116651119D01* 187 | X105834430Y-117603500D02* 188 | X105929668Y-117651119D01* 189 | X105929668Y-117651119D02* 190 | X106120144Y-117651119D01* 191 | X106120144Y-117651119D02* 192 | X106215382Y-117603500D01* 193 | X106215382Y-117603500D02* 194 | X106263001Y-117555880D01* 195 | X106263001Y-117555880D02* 196 | X106310620Y-117460642D01* 197 | X106310620Y-117460642D02* 198 | X106310620Y-117174928D01* 199 | X106310620Y-117174928D02* 200 | X106263001Y-117079690D01* 201 | X106263001Y-117079690D02* 202 | X106215382Y-117032071D01* 203 | X106215382Y-117032071D02* 204 | X106120144Y-116984452D01* 205 | X106120144Y-116984452D02* 206 | X105929668Y-116984452D01* 207 | X105929668Y-116984452D02* 208 | X105834430Y-117032071D01* 209 | X104929668Y-116984452D02* 210 | X104929668Y-117651119D01* 211 | X105167763Y-116603500D02* 212 | X105405858Y-117317785D01* 213 | X105405858Y-117317785D02* 214 | X104786811Y-117317785D01* 215 | X104453477Y-116746357D02* 216 | X104405858Y-116698738D01* 217 | X104405858Y-116698738D02* 218 | X104310620Y-116651119D01* 219 | X104310620Y-116651119D02* 220 | X104072525Y-116651119D01* 221 | X104072525Y-116651119D02* 222 | X103977287Y-116698738D01* 223 | X103977287Y-116698738D02* 224 | X103929668Y-116746357D01* 225 | X103929668Y-116746357D02* 226 | X103882049Y-116841595D01* 227 | X103882049Y-116841595D02* 228 | X103882049Y-116936833D01* 229 | X103882049Y-116936833D02* 230 | X103929668Y-117079690D01* 231 | X103929668Y-117079690D02* 232 | X104501096Y-117651119D01* 233 | X104501096Y-117651119D02* 234 | X103882049Y-117651119D01* 235 | X111167763Y-118880166D02* 236 | X110405859Y-118880166D01* 237 | X110072525Y-118261119D02* 238 | X109501097Y-118261119D01* 239 | X109786811Y-119261119D02* 240 | X109786811Y-118261119D01* 241 | X109167763Y-119261119D02* 242 | X109167763Y-118594452D01* 243 | X109167763Y-118784928D02* 244 | X109120144Y-118689690D01* 245 | X109120144Y-118689690D02* 246 | X109072525Y-118642071D01* 247 | X109072525Y-118642071D02* 248 | X108977287Y-118594452D01* 249 | X108977287Y-118594452D02* 250 | X108882049Y-118594452D01* 251 | X108548715Y-119261119D02* 252 | X108548715Y-118594452D01* 253 | X108548715Y-118261119D02* 254 | X108596334Y-118308738D01* 255 | X108596334Y-118308738D02* 256 | X108548715Y-118356357D01* 257 | X108548715Y-118356357D02* 258 | X108501096Y-118308738D01* 259 | X108501096Y-118308738D02* 260 | X108548715Y-118261119D01* 261 | X108548715Y-118261119D02* 262 | X108548715Y-118356357D01* 263 | X107929668Y-119261119D02* 264 | X108024906Y-119213500D01* 265 | X108024906Y-119213500D02* 266 | X108072525Y-119118261D01* 267 | X108072525Y-119118261D02* 268 | X108072525Y-118261119D01* 269 | X107548715Y-119261119D02* 270 | X107548715Y-118594452D01* 271 | X107548715Y-118261119D02* 272 | X107596334Y-118308738D01* 273 | X107596334Y-118308738D02* 274 | X107548715Y-118356357D01* 275 | X107548715Y-118356357D02* 276 | X107501096Y-118308738D01* 277 | X107501096Y-118308738D02* 278 | X107548715Y-118261119D01* 279 | X107548715Y-118261119D02* 280 | X107548715Y-118356357D01* 281 | X106643954Y-118594452D02* 282 | X106643954Y-119261119D01* 283 | X107072525Y-118594452D02* 284 | X107072525Y-119118261D01* 285 | X107072525Y-119118261D02* 286 | X107024906Y-119213500D01* 287 | X107024906Y-119213500D02* 288 | X106929668Y-119261119D01* 289 | X106929668Y-119261119D02* 290 | X106786811Y-119261119D01* 291 | X106786811Y-119261119D02* 292 | X106691573Y-119213500D01* 293 | X106691573Y-119213500D02* 294 | X106643954Y-119165880D01* 295 | X106167763Y-118880166D02* 296 | X105405859Y-118880166D01* 297 | D11* 298 | X108250331Y-84097921D03* 299 | X108250331Y-85497921D03* 300 | X113750331Y-85497921D03* 301 | X113750331Y-84097921D03* 302 | X162250331Y-86597921D03* 303 | X162250331Y-87997921D03* 304 | X167750331Y-87997921D03* 305 | X167750331Y-86597921D03* 306 | X90250331Y-106097921D03* 307 | X90250331Y-107497921D03* 308 | X95750331Y-107497921D03* 309 | X95750331Y-106097921D03* 310 | X108250331Y-67097921D03* 311 | X108250331Y-68497921D03* 312 | X113750331Y-68497921D03* 313 | X113750331Y-67097921D03* 314 | D12* 315 | X153492185Y-121070326D03* 316 | X153129838Y-122422622D03* 317 | X158442430Y-123846127D03* 318 | X158804777Y-122493830D03* 319 | D13* 320 | X170946828Y-132930244D03* 321 | X172159263Y-133630244D03* 322 | X174909263Y-128867104D03* 323 | X173696828Y-128167104D03* 324 | X187196828Y-142180244D03* 325 | X188409263Y-142880244D03* 326 | X191159263Y-138117104D03* 327 | X189946828Y-137417104D03* 328 | D11* 329 | X90250331Y-72097921D03* 330 | X90250331Y-73497921D03* 331 | X95750331Y-73497921D03* 332 | X95750331Y-72097921D03* 333 | X126250331Y-64597921D03* 334 | X126250331Y-65997921D03* 335 | X131750331Y-65997921D03* 336 | X131750331Y-64597921D03* 337 | X144250331Y-67097921D03* 338 | X144250331Y-68497921D03* 339 | X149750331Y-68497921D03* 340 | X149750331Y-67097921D03* 341 | X162250331Y-69597921D03* 342 | X162250331Y-70997921D03* 343 | X167750331Y-70997921D03* 344 | X167750331Y-69597921D03* 345 | X72250331Y-97597921D03* 346 | X72250331Y-98997921D03* 347 | X77750331Y-98997921D03* 348 | X77750331Y-97597921D03* 349 | X90250331Y-89097921D03* 350 | X90250331Y-90497921D03* 351 | X95750331Y-90497921D03* 352 | X95750331Y-89097921D03* 353 | X126250331Y-81597921D03* 354 | X126250331Y-82997921D03* 355 | X131750331Y-82997921D03* 356 | X131750331Y-81597921D03* 357 | X144250331Y-84097921D03* 358 | X144250331Y-85497921D03* 359 | X149750331Y-85497921D03* 360 | X149750331Y-84097921D03* 361 | X131500331Y-118597921D03* 362 | X131500331Y-119997921D03* 363 | X137000331Y-119997921D03* 364 | X137000331Y-118597921D03* 365 | X108250331Y-101097921D03* 366 | X108250331Y-102497921D03* 367 | X113750331Y-102497921D03* 368 | X113750331Y-101097921D03* 369 | X126250331Y-98597921D03* 370 | X126250331Y-99997921D03* 371 | X131750331Y-99997921D03* 372 | X131750331Y-98597921D03* 373 | X144250331Y-101097921D03* 374 | X144250331Y-102497921D03* 375 | X149750331Y-102497921D03* 376 | X149750331Y-101097921D03* 377 | X162250331Y-103597921D03* 378 | X162250331Y-104997921D03* 379 | X167750331Y-104997921D03* 380 | X167750331Y-103597921D03* 381 | X72250331Y-80597921D03* 382 | X72250331Y-81997921D03* 383 | X77750331Y-81997921D03* 384 | X77750331Y-80597921D03* 385 | D14* 386 | X191970000Y-117900000D03* 387 | X194180000Y-117900000D03* 388 | D15* 389 | X193080000Y-115750000D03* 390 | X193080000Y-112750000D03* 391 | D14* 392 | X191970000Y-110600000D03* 393 | X194180000Y-110600000D03* 394 | D16* 395 | X191320000Y-112000000D03* 396 | X191320000Y-115000000D03* 397 | X191320000Y-116500000D03* 398 | D17* 399 | X134500000Y-114250000D03* 400 | X84500000Y-102500000D03* 401 | X166250000Y-121000032D03* 402 | D18* 403 | X185500000Y-114750000D03* 404 | D19* 405 | X187500000Y-114750000D03* 406 | D20* 407 | X179750000Y-128486860D03* 408 | D21* 409 | X182704294Y-130769873D03* 410 | X182109550Y-136200000D03* 411 | D22* 412 | X177000000Y-133250000D03* 413 | D21* 414 | X177704294Y-139430127D03* 415 | D20* 416 | X174250000Y-138013140D03* 417 | D23* 418 | X176304294Y-141854998D03* 419 | X183509550Y-133775129D03* 420 | D20* 421 | X160062592Y-128423505D03* 422 | D21* 423 | X158621999Y-131868021D03* 424 | X153222968Y-132698962D03* 425 | D22* 426 | X154750000Y-127000000D03* 427 | D21* 428 | X148962740Y-129279830D03* 429 | D20* 430 | X149437408Y-125576495D03* 431 | D24* 432 | X146258148Y-128555137D03* 433 | X155927560Y-133423656D03* 434 | D20* 435 | X80500000Y-86000000D03* 436 | D21* 437 | X80000000Y-89700000D03* 438 | X75000000Y-91900000D03* 439 | D22* 440 | X75000000Y-86000000D03* 441 | D21* 442 | X70000000Y-89700000D03* 443 | D20* 444 | X69500000Y-86000000D03* 445 | D25* 446 | X67200000Y-89700000D03* 447 | X77800000Y-91900000D03* 448 | D20* 449 | X98500000Y-77500000D03* 450 | D21* 451 | X98000000Y-81200000D03* 452 | X93000000Y-83400000D03* 453 | D22* 454 | X93000000Y-77500000D03* 455 | D21* 456 | X88000000Y-81200000D03* 457 | D20* 458 | X87500000Y-77500000D03* 459 | D25* 460 | X85200000Y-81200000D03* 461 | X95800000Y-83400000D03* 462 | D20* 463 | X116500000Y-72500000D03* 464 | D21* 465 | X116000000Y-76200000D03* 466 | X111000000Y-78400000D03* 467 | D22* 468 | X111000000Y-72500000D03* 469 | D21* 470 | X106000000Y-76200000D03* 471 | D20* 472 | X105500000Y-72500000D03* 473 | D25* 474 | X103200000Y-76200000D03* 475 | X113800000Y-78400000D03* 476 | D20* 477 | X134500000Y-70000000D03* 478 | D21* 479 | X134000000Y-73700000D03* 480 | X129000000Y-75900000D03* 481 | D22* 482 | X129000000Y-70000000D03* 483 | D21* 484 | X124000000Y-73700000D03* 485 | D20* 486 | X123500000Y-70000000D03* 487 | D25* 488 | X121200000Y-73700000D03* 489 | X131800000Y-75900000D03* 490 | D20* 491 | X152500000Y-72500000D03* 492 | D21* 493 | X152000000Y-76200000D03* 494 | X147000000Y-78400000D03* 495 | D22* 496 | X147000000Y-72500000D03* 497 | D21* 498 | X142000000Y-76200000D03* 499 | D20* 500 | X141500000Y-72500000D03* 501 | D25* 502 | X139200000Y-76200000D03* 503 | X149800000Y-78400000D03* 504 | D20* 505 | X170500000Y-75000000D03* 506 | D21* 507 | X170000000Y-78700000D03* 508 | X165000000Y-80900000D03* 509 | D22* 510 | X165000000Y-75000000D03* 511 | D21* 512 | X160000000Y-78700000D03* 513 | D20* 514 | X159500000Y-75000000D03* 515 | D25* 516 | X157200000Y-78700000D03* 517 | X167800000Y-80900000D03* 518 | D20* 519 | X80500000Y-103000000D03* 520 | D21* 521 | X80000000Y-106700000D03* 522 | X75000000Y-108900000D03* 523 | D22* 524 | X75000000Y-103000000D03* 525 | D21* 526 | X70000000Y-106700000D03* 527 | D20* 528 | X69500000Y-103000000D03* 529 | D25* 530 | X67200000Y-106700000D03* 531 | X77800000Y-108900000D03* 532 | D20* 533 | X98500000Y-94500000D03* 534 | D21* 535 | X98000000Y-98200000D03* 536 | X93000000Y-100400000D03* 537 | D22* 538 | X93000000Y-94500000D03* 539 | D21* 540 | X88000000Y-98200000D03* 541 | D20* 542 | X87500000Y-94500000D03* 543 | D25* 544 | X85200000Y-98200000D03* 545 | X95800000Y-100400000D03* 546 | D20* 547 | X116500000Y-89500000D03* 548 | D21* 549 | X116000000Y-93200000D03* 550 | X111000000Y-95400000D03* 551 | D22* 552 | X111000000Y-89500000D03* 553 | D21* 554 | X106000000Y-93200000D03* 555 | D20* 556 | X105500000Y-89500000D03* 557 | D25* 558 | X103200000Y-93200000D03* 559 | X113800000Y-95400000D03* 560 | D20* 561 | X134500000Y-87000000D03* 562 | D21* 563 | X134000000Y-90700000D03* 564 | X129000000Y-92900000D03* 565 | D22* 566 | X129000000Y-87000000D03* 567 | D21* 568 | X124000000Y-90700000D03* 569 | D20* 570 | X123500000Y-87000000D03* 571 | D25* 572 | X121200000Y-90700000D03* 573 | X131800000Y-92900000D03* 574 | D20* 575 | X152500000Y-89500000D03* 576 | D21* 577 | X152000000Y-93200000D03* 578 | X147000000Y-95400000D03* 579 | D22* 580 | X147000000Y-89500000D03* 581 | D21* 582 | X142000000Y-93200000D03* 583 | D20* 584 | X141500000Y-89500000D03* 585 | D25* 586 | X139200000Y-93200000D03* 587 | X149800000Y-95400000D03* 588 | D20* 589 | X170500000Y-92000000D03* 590 | D21* 591 | X170000000Y-95700000D03* 592 | X165000000Y-97900000D03* 593 | D22* 594 | X165000000Y-92000000D03* 595 | D21* 596 | X160000000Y-95700000D03* 597 | D20* 598 | X159500000Y-92000000D03* 599 | D25* 600 | X157200000Y-95700000D03* 601 | X167800000Y-97900000D03* 602 | D20* 603 | X139750000Y-124000000D03* 604 | D21* 605 | X139250000Y-127700000D03* 606 | X134250000Y-129900000D03* 607 | D22* 608 | X134250000Y-124000000D03* 609 | D21* 610 | X129250000Y-127700000D03* 611 | D20* 612 | X128750000Y-124000000D03* 613 | D25* 614 | X126450000Y-127700000D03* 615 | X137050000Y-129900000D03* 616 | D20* 617 | X98500000Y-111500000D03* 618 | D21* 619 | X98000000Y-115200000D03* 620 | X93000000Y-117400000D03* 621 | D22* 622 | X93000000Y-111500000D03* 623 | D21* 624 | X88000000Y-115200000D03* 625 | D20* 626 | X87500000Y-111500000D03* 627 | D25* 628 | X85200000Y-115200000D03* 629 | X95800000Y-117400000D03* 630 | D20* 631 | X116500000Y-106500000D03* 632 | D21* 633 | X116000000Y-110200000D03* 634 | X111000000Y-112400000D03* 635 | D22* 636 | X111000000Y-106500000D03* 637 | D21* 638 | X106000000Y-110200000D03* 639 | D20* 640 | X105500000Y-106500000D03* 641 | D25* 642 | X103200000Y-110200000D03* 643 | X113800000Y-112400000D03* 644 | D20* 645 | X134500000Y-104000000D03* 646 | D21* 647 | X134000000Y-107700000D03* 648 | X129000000Y-109900000D03* 649 | D22* 650 | X129000000Y-104000000D03* 651 | D21* 652 | X124000000Y-107700000D03* 653 | D20* 654 | X123500000Y-104000000D03* 655 | D25* 656 | X121200000Y-107700000D03* 657 | X131800000Y-109900000D03* 658 | D20* 659 | X152500000Y-106500000D03* 660 | D21* 661 | X152000000Y-110200000D03* 662 | X147000000Y-112400000D03* 663 | D22* 664 | X147000000Y-106500000D03* 665 | D21* 666 | X142000000Y-110200000D03* 667 | D20* 668 | X141500000Y-106500000D03* 669 | D25* 670 | X139200000Y-110200000D03* 671 | X149800000Y-112400000D03* 672 | D20* 673 | X170500000Y-109000000D03* 674 | D21* 675 | X170000000Y-112700000D03* 676 | X165000000Y-114900000D03* 677 | D22* 678 | X165000000Y-109000000D03* 679 | D21* 680 | X160000000Y-112700000D03* 681 | D20* 682 | X159500000Y-109000000D03* 683 | D25* 684 | X157200000Y-112700000D03* 685 | X167800000Y-114900000D03* 686 | D26* 687 | X178311900Y-78812000D03* 688 | X178311900Y-81352000D03* 689 | X178311900Y-83892000D03* 690 | X178311900Y-86432000D03* 691 | X178311900Y-88972000D03* 692 | X178311900Y-91512000D03* 693 | X178311900Y-94052000D03* 694 | X178311900Y-96592000D03* 695 | X178311900Y-99132000D03* 696 | X178311900Y-101672000D03* 697 | X178311900Y-104212000D03* 698 | X178311900Y-106752000D03* 699 | X193531900Y-106752000D03* 700 | X193531900Y-104212000D03* 701 | X193531900Y-101672000D03* 702 | X193531900Y-99132000D03* 703 | X193531900Y-96592000D03* 704 | X193531900Y-94052000D03* 705 | X193531900Y-91512000D03* 706 | X193531900Y-88972000D03* 707 | X193531900Y-86432000D03* 708 | X193531900Y-83892000D03* 709 | X193531900Y-81352000D03* 710 | X193531900Y-78812000D03* 711 | X176985500Y-80082000D03* 712 | X176985500Y-82622000D03* 713 | X176985500Y-85162000D03* 714 | X176985500Y-87702000D03* 715 | X176985500Y-90242000D03* 716 | X176985500Y-92782000D03* 717 | X176985500Y-95322000D03* 718 | X176985500Y-97862000D03* 719 | X176985500Y-100402000D03* 720 | X176985500Y-102942000D03* 721 | X176985500Y-105482000D03* 722 | X176985500Y-108022000D03* 723 | X192225500Y-108022000D03* 724 | X192225500Y-105482000D03* 725 | X192225500Y-102942000D03* 726 | X192225500Y-100402000D03* 727 | X192225500Y-97862000D03* 728 | X192225500Y-95322000D03* 729 | X192225500Y-92782000D03* 730 | X192225500Y-90242000D03* 731 | X192225500Y-87702000D03* 732 | X192225500Y-85162000D03* 733 | X192225500Y-82622000D03* 734 | X192225500Y-80082000D03* 735 | D27* 736 | X187064583Y-119875000D03* 737 | X181435417Y-116625000D03* 738 | D28* 739 | X181436893Y-112418328D03* 740 | X183976893Y-112418328D03* 741 | X186516893Y-112418328D03* 742 | X189056893Y-112418328D03* 743 | D20* 744 | X196000000Y-137736860D03* 745 | D21* 746 | X198954294Y-140019873D03* 747 | X198359550Y-145450000D03* 748 | D22* 749 | X193250000Y-142500000D03* 750 | D21* 751 | X193954294Y-148680127D03* 752 | D20* 753 | X190500000Y-147263140D03* 754 | D23* 755 | X192554294Y-151104998D03* 756 | X199759550Y-143025129D03* 757 | D29* 758 | X189000500Y-107789620D03* 759 | X189000500Y-108790380D03* 760 | X186500500Y-107789620D03* 761 | X186500500Y-108790380D03* 762 | X184000500Y-107789620D03* 763 | X184000500Y-108790380D03* 764 | X181500500Y-107789620D03* 765 | X181500500Y-108790380D03* 766 | D30* 767 | X192250000Y-121500000D03* 768 | X177760000Y-113000000D03* 769 | D17* 770 | X120000000Y-81250000D03* 771 | X84500000Y-85750000D03* 772 | X156500000Y-83500000D03* 773 | M02* 774 | -------------------------------------------------------------------------------- /choc/wifi-choc-version/gerber/heawood4-F_Mask.gbr: -------------------------------------------------------------------------------- 1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,7.0.8* 2 | G04 #@! TF.CreationDate,2024-02-29T00:10:42-05:00* 3 | G04 #@! TF.ProjectId,heawood4,68656177-6f6f-4643-942e-6b696361645f,1.0* 4 | G04 #@! TF.SameCoordinates,Original* 5 | G04 #@! TF.FileFunction,Soldermask,Top* 6 | G04 #@! TF.FilePolarity,Negative* 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW 7.0.8) date 2024-02-29 00:10:42* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | G04 Aperture macros list* 15 | %AMRoundRect* 16 | 0 Rectangle with rounded corners* 17 | 0 $1 Rounding radius* 18 | 0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners* 19 | 0 Add a 4 corners polygon primitive as box body* 20 | 4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0* 21 | 0 Add four circle primitives for the rounded corners* 22 | 1,1,$1+$1,$2,$3* 23 | 1,1,$1+$1,$4,$5* 24 | 1,1,$1+$1,$6,$7* 25 | 1,1,$1+$1,$8,$9* 26 | 0 Add four rect primitives between the rounded corners* 27 | 20,1,$1+$1,$2,$3,$4,$5,0* 28 | 20,1,$1+$1,$4,$5,$6,$7,0* 29 | 20,1,$1+$1,$6,$7,$8,$9,0* 30 | 20,1,$1+$1,$8,$9,$2,$3,0*% 31 | G04 Aperture macros list end* 32 | %ADD10C,0.125000*% 33 | %ADD11RoundRect,0.200000X0.850000X0.500000X-0.850000X0.500000X-0.850000X-0.500000X0.850000X-0.500000X0*% 34 | %ADD12RoundRect,0.200000X0.950446X0.262967X-0.691627X0.702959X-0.950446X-0.262967X0.691627X-0.702959X0*% 35 | %ADD13RoundRect,0.200000X-0.008013X0.986122X-0.858013X-0.486122X0.008013X-0.986122X0.858013X0.486122X0*% 36 | %ADD14RoundRect,0.200000X0.400000X-0.500000X0.400000X0.500000X-0.400000X0.500000X-0.400000X-0.500000X0*% 37 | %ADD15C,1.300000*% 38 | %ADD16RoundRect,0.200000X0.750000X-0.350000X0.750000X0.350000X-0.750000X0.350000X-0.750000X-0.350000X0*% 39 | %ADD17C,5.400000*% 40 | %ADD18RoundRect,0.450000X-0.350000X-0.625000X0.350000X-0.625000X0.350000X0.625000X-0.350000X0.625000X0*% 41 | %ADD19O,1.600000X2.150000*% 42 | %ADD20C,2.200000*% 43 | %ADD21C,3.400000*% 44 | %ADD22C,3.800000*% 45 | %ADD23RoundRect,0.200000X-0.552628X1.242820X-1.352628X-0.142820X0.552628X-1.242820X1.352628X0.142820X0*% 46 | %ADD24RoundRect,0.200000X1.057442X0.855463X-0.488040X1.269574X-1.057442X-0.855463X0.488040X-1.269574X0*% 47 | %ADD25RoundRect,0.200000X0.800000X1.100000X-0.800000X1.100000X-0.800000X-1.100000X0.800000X-1.100000X0*% 48 | %ADD26RoundRect,0.200000X-0.571500X0.317500X-0.571500X-0.317500X0.571500X-0.317500X0.571500X0.317500X0*% 49 | %ADD27C,1.924000*% 50 | %ADD28C,2.400000*% 51 | %ADD29C,1.797000*% 52 | %ADD30C,4.400000*% 53 | G04 APERTURE END LIST* 54 | D10* 55 | X104320331Y-117651119D02* 56 | X104320331Y-116651119D01* 57 | X104320331Y-117127309D02* 58 | X104891759Y-117127309D01* 59 | X104891759Y-117651119D02* 60 | X104891759Y-116651119D01* 61 | X105748902Y-117603500D02* 62 | X105653664Y-117651119D01* 63 | X105653664Y-117651119D02* 64 | X105463188Y-117651119D01* 65 | X105463188Y-117651119D02* 66 | X105367950Y-117603500D01* 67 | X105367950Y-117603500D02* 68 | X105320331Y-117508261D01* 69 | X105320331Y-117508261D02* 70 | X105320331Y-117127309D01* 71 | X105320331Y-117127309D02* 72 | X105367950Y-117032071D01* 73 | X105367950Y-117032071D02* 74 | X105463188Y-116984452D01* 75 | X105463188Y-116984452D02* 76 | X105653664Y-116984452D01* 77 | X105653664Y-116984452D02* 78 | X105748902Y-117032071D01* 79 | X105748902Y-117032071D02* 80 | X105796521Y-117127309D01* 81 | X105796521Y-117127309D02* 82 | X105796521Y-117222547D01* 83 | X105796521Y-117222547D02* 84 | X105320331Y-117317785D01* 85 | X106653664Y-117651119D02* 86 | X106653664Y-117127309D01* 87 | X106653664Y-117127309D02* 88 | X106606045Y-117032071D01* 89 | X106606045Y-117032071D02* 90 | X106510807Y-116984452D01* 91 | X106510807Y-116984452D02* 92 | X106320331Y-116984452D01* 93 | X106320331Y-116984452D02* 94 | X106225093Y-117032071D01* 95 | X106653664Y-117603500D02* 96 | X106558426Y-117651119D01* 97 | X106558426Y-117651119D02* 98 | X106320331Y-117651119D01* 99 | X106320331Y-117651119D02* 100 | X106225093Y-117603500D01* 101 | X106225093Y-117603500D02* 102 | X106177474Y-117508261D01* 103 | X106177474Y-117508261D02* 104 | X106177474Y-117413023D01* 105 | X106177474Y-117413023D02* 106 | X106225093Y-117317785D01* 107 | X106225093Y-117317785D02* 108 | X106320331Y-117270166D01* 109 | X106320331Y-117270166D02* 110 | X106558426Y-117270166D01* 111 | X106558426Y-117270166D02* 112 | X106653664Y-117222547D01* 113 | X107034617Y-116984452D02* 114 | X107225093Y-117651119D01* 115 | X107225093Y-117651119D02* 116 | X107415569Y-117174928D01* 117 | X107415569Y-117174928D02* 118 | X107606045Y-117651119D01* 119 | X107606045Y-117651119D02* 120 | X107796521Y-116984452D01* 121 | X108320331Y-117651119D02* 122 | X108225093Y-117603500D01* 123 | X108225093Y-117603500D02* 124 | X108177474Y-117555880D01* 125 | X108177474Y-117555880D02* 126 | X108129855Y-117460642D01* 127 | X108129855Y-117460642D02* 128 | X108129855Y-117174928D01* 129 | X108129855Y-117174928D02* 130 | X108177474Y-117079690D01* 131 | X108177474Y-117079690D02* 132 | X108225093Y-117032071D01* 133 | X108225093Y-117032071D02* 134 | X108320331Y-116984452D01* 135 | X108320331Y-116984452D02* 136 | X108463188Y-116984452D01* 137 | X108463188Y-116984452D02* 138 | X108558426Y-117032071D01* 139 | X108558426Y-117032071D02* 140 | X108606045Y-117079690D01* 141 | X108606045Y-117079690D02* 142 | X108653664Y-117174928D01* 143 | X108653664Y-117174928D02* 144 | X108653664Y-117460642D01* 145 | X108653664Y-117460642D02* 146 | X108606045Y-117555880D01* 147 | X108606045Y-117555880D02* 148 | X108558426Y-117603500D01* 149 | X108558426Y-117603500D02* 150 | X108463188Y-117651119D01* 151 | X108463188Y-117651119D02* 152 | X108320331Y-117651119D01* 153 | X109225093Y-117651119D02* 154 | X109129855Y-117603500D01* 155 | X109129855Y-117603500D02* 156 | X109082236Y-117555880D01* 157 | X109082236Y-117555880D02* 158 | X109034617Y-117460642D01* 159 | X109034617Y-117460642D02* 160 | X109034617Y-117174928D01* 161 | X109034617Y-117174928D02* 162 | X109082236Y-117079690D01* 163 | X109082236Y-117079690D02* 164 | X109129855Y-117032071D01* 165 | X109129855Y-117032071D02* 166 | X109225093Y-116984452D01* 167 | X109225093Y-116984452D02* 168 | X109367950Y-116984452D01* 169 | X109367950Y-116984452D02* 170 | X109463188Y-117032071D01* 171 | X109463188Y-117032071D02* 172 | X109510807Y-117079690D01* 173 | X109510807Y-117079690D02* 174 | X109558426Y-117174928D01* 175 | X109558426Y-117174928D02* 176 | X109558426Y-117460642D01* 177 | X109558426Y-117460642D02* 178 | X109510807Y-117555880D01* 179 | X109510807Y-117555880D02* 180 | X109463188Y-117603500D01* 181 | X109463188Y-117603500D02* 182 | X109367950Y-117651119D01* 183 | X109367950Y-117651119D02* 184 | X109225093Y-117651119D01* 185 | X110415569Y-117651119D02* 186 | X110415569Y-116651119D01* 187 | X110415569Y-117603500D02* 188 | X110320331Y-117651119D01* 189 | X110320331Y-117651119D02* 190 | X110129855Y-117651119D01* 191 | X110129855Y-117651119D02* 192 | X110034617Y-117603500D01* 193 | X110034617Y-117603500D02* 194 | X109986998Y-117555880D01* 195 | X109986998Y-117555880D02* 196 | X109939379Y-117460642D01* 197 | X109939379Y-117460642D02* 198 | X109939379Y-117174928D01* 199 | X109939379Y-117174928D02* 200 | X109986998Y-117079690D01* 201 | X109986998Y-117079690D02* 202 | X110034617Y-117032071D01* 203 | X110034617Y-117032071D02* 204 | X110129855Y-116984452D01* 205 | X110129855Y-116984452D02* 206 | X110320331Y-116984452D01* 207 | X110320331Y-116984452D02* 208 | X110415569Y-117032071D01* 209 | X111320331Y-116984452D02* 210 | X111320331Y-117651119D01* 211 | X111082236Y-116603500D02* 212 | X110844141Y-117317785D01* 213 | X110844141Y-117317785D02* 214 | X111463188Y-117317785D01* 215 | X111796522Y-116746357D02* 216 | X111844141Y-116698738D01* 217 | X111844141Y-116698738D02* 218 | X111939379Y-116651119D01* 219 | X111939379Y-116651119D02* 220 | X112177474Y-116651119D01* 221 | X112177474Y-116651119D02* 222 | X112272712Y-116698738D01* 223 | X112272712Y-116698738D02* 224 | X112320331Y-116746357D01* 225 | X112320331Y-116746357D02* 226 | X112367950Y-116841595D01* 227 | X112367950Y-116841595D02* 228 | X112367950Y-116936833D01* 229 | X112367950Y-116936833D02* 230 | X112320331Y-117079690D01* 231 | X112320331Y-117079690D02* 232 | X111748903Y-117651119D01* 233 | X111748903Y-117651119D02* 234 | X112367950Y-117651119D01* 235 | X105082236Y-118880166D02* 236 | X105844141Y-118880166D01* 237 | X106177474Y-118261119D02* 238 | X106748902Y-118261119D01* 239 | X106463188Y-119261119D02* 240 | X106463188Y-118261119D01* 241 | X107082236Y-119261119D02* 242 | X107082236Y-118594452D01* 243 | X107082236Y-118784928D02* 244 | X107129855Y-118689690D01* 245 | X107129855Y-118689690D02* 246 | X107177474Y-118642071D01* 247 | X107177474Y-118642071D02* 248 | X107272712Y-118594452D01* 249 | X107272712Y-118594452D02* 250 | X107367950Y-118594452D01* 251 | X107701284Y-119261119D02* 252 | X107701284Y-118594452D01* 253 | X107701284Y-118261119D02* 254 | X107653665Y-118308738D01* 255 | X107653665Y-118308738D02* 256 | X107701284Y-118356357D01* 257 | X107701284Y-118356357D02* 258 | X107748903Y-118308738D01* 259 | X107748903Y-118308738D02* 260 | X107701284Y-118261119D01* 261 | X107701284Y-118261119D02* 262 | X107701284Y-118356357D01* 263 | X108320331Y-119261119D02* 264 | X108225093Y-119213500D01* 265 | X108225093Y-119213500D02* 266 | X108177474Y-119118261D01* 267 | X108177474Y-119118261D02* 268 | X108177474Y-118261119D01* 269 | X108701284Y-119261119D02* 270 | X108701284Y-118594452D01* 271 | X108701284Y-118261119D02* 272 | X108653665Y-118308738D01* 273 | X108653665Y-118308738D02* 274 | X108701284Y-118356357D01* 275 | X108701284Y-118356357D02* 276 | X108748903Y-118308738D01* 277 | X108748903Y-118308738D02* 278 | X108701284Y-118261119D01* 279 | X108701284Y-118261119D02* 280 | X108701284Y-118356357D01* 281 | X109606045Y-118594452D02* 282 | X109606045Y-119261119D01* 283 | X109177474Y-118594452D02* 284 | X109177474Y-119118261D01* 285 | X109177474Y-119118261D02* 286 | X109225093Y-119213500D01* 287 | X109225093Y-119213500D02* 288 | X109320331Y-119261119D01* 289 | X109320331Y-119261119D02* 290 | X109463188Y-119261119D01* 291 | X109463188Y-119261119D02* 292 | X109558426Y-119213500D01* 293 | X109558426Y-119213500D02* 294 | X109606045Y-119165880D01* 295 | X110082236Y-118880166D02* 296 | X110844141Y-118880166D01* 297 | D11* 298 | X108248325Y-85506814D03* 299 | X108248325Y-84106814D03* 300 | X113748325Y-84106814D03* 301 | X113748325Y-85506814D03* 302 | X162248325Y-88006814D03* 303 | X162248325Y-86606814D03* 304 | X167748325Y-86606814D03* 305 | X167748325Y-88006814D03* 306 | X90248325Y-107506814D03* 307 | X90248325Y-106106814D03* 308 | X95748325Y-106106814D03* 309 | X95748325Y-107506814D03* 310 | X108248325Y-68506814D03* 311 | X108248325Y-67106814D03* 312 | X113748325Y-67106814D03* 313 | X113748325Y-68506814D03* 314 | D12* 315 | X153125599Y-122430693D03* 316 | X153487945Y-121078396D03* 317 | X158800537Y-122501901D03* 318 | X158438191Y-123854197D03* 319 | D13* 320 | X172165962Y-133636427D03* 321 | X170953526Y-132936427D03* 322 | X173703526Y-128173288D03* 323 | X174915962Y-128873288D03* 324 | X188415962Y-142886427D03* 325 | X187203526Y-142186427D03* 326 | X189953526Y-137423288D03* 327 | X191165962Y-138123288D03* 328 | D11* 329 | X90248325Y-73506814D03* 330 | X90248325Y-72106814D03* 331 | X95748325Y-72106814D03* 332 | X95748325Y-73506814D03* 333 | X126248325Y-66006814D03* 334 | X126248325Y-64606814D03* 335 | X131748325Y-64606814D03* 336 | X131748325Y-66006814D03* 337 | X144248325Y-68506814D03* 338 | X144248325Y-67106814D03* 339 | X149748325Y-67106814D03* 340 | X149748325Y-68506814D03* 341 | X162248325Y-71006814D03* 342 | X162248325Y-69606814D03* 343 | X167748325Y-69606814D03* 344 | X167748325Y-71006814D03* 345 | X72248325Y-99006814D03* 346 | X72248325Y-97606814D03* 347 | X77748325Y-97606814D03* 348 | X77748325Y-99006814D03* 349 | X90248325Y-90506814D03* 350 | X90248325Y-89106814D03* 351 | X95748325Y-89106814D03* 352 | X95748325Y-90506814D03* 353 | X126248325Y-83006814D03* 354 | X126248325Y-81606814D03* 355 | X131748325Y-81606814D03* 356 | X131748325Y-83006814D03* 357 | X144248325Y-85506814D03* 358 | X144248325Y-84106814D03* 359 | X149748325Y-84106814D03* 360 | X149748325Y-85506814D03* 361 | X131498325Y-120006814D03* 362 | X131498325Y-118606814D03* 363 | X136998325Y-118606814D03* 364 | X136998325Y-120006814D03* 365 | X108248325Y-102506814D03* 366 | X108248325Y-101106814D03* 367 | X113748325Y-101106814D03* 368 | X113748325Y-102506814D03* 369 | X126248325Y-100006814D03* 370 | X126248325Y-98606814D03* 371 | X131748325Y-98606814D03* 372 | X131748325Y-100006814D03* 373 | X144248325Y-102506814D03* 374 | X144248325Y-101106814D03* 375 | X149748325Y-101106814D03* 376 | X149748325Y-102506814D03* 377 | X162248325Y-105006814D03* 378 | X162248325Y-103606814D03* 379 | X167748325Y-103606814D03* 380 | X167748325Y-105006814D03* 381 | X72248325Y-82006814D03* 382 | X72248325Y-80606814D03* 383 | X77748325Y-80606814D03* 384 | X77748325Y-82006814D03* 385 | D14* 386 | X191970000Y-117900000D03* 387 | X194180000Y-117900000D03* 388 | D15* 389 | X193080000Y-115750000D03* 390 | X193080000Y-112750000D03* 391 | D14* 392 | X191970000Y-110600000D03* 393 | X194180000Y-110600000D03* 394 | D16* 395 | X191320000Y-116500000D03* 396 | X191320000Y-113500000D03* 397 | X191320000Y-112000000D03* 398 | D17* 399 | X134500000Y-114250000D03* 400 | X84500000Y-102500000D03* 401 | X166250000Y-121000032D03* 402 | D18* 403 | X185500000Y-114750000D03* 404 | D19* 405 | X187500000Y-114750000D03* 406 | D20* 407 | X179750000Y-128486860D03* 408 | D21* 409 | X182704294Y-130769873D03* 410 | X182109550Y-136200000D03* 411 | D22* 412 | X177000000Y-133250000D03* 413 | D21* 414 | X177704294Y-139430127D03* 415 | D20* 416 | X174250000Y-138013140D03* 417 | D23* 418 | X184104294Y-128345002D03* 419 | X180709550Y-138624871D03* 420 | D20* 421 | X160062592Y-128423505D03* 422 | D21* 423 | X158621999Y-131868021D03* 424 | X153222968Y-132698962D03* 425 | D22* 426 | X154750000Y-127000000D03* 427 | D21* 428 | X148962740Y-129279830D03* 429 | D20* 430 | X149437408Y-125576495D03* 431 | D24* 432 | X161423184Y-132618596D03* 433 | X150518375Y-131974269D03* 434 | D20* 435 | X80500000Y-86000000D03* 436 | D21* 437 | X80000000Y-89700000D03* 438 | X75000000Y-91900000D03* 439 | D22* 440 | X75000000Y-86000000D03* 441 | D21* 442 | X70000000Y-89700000D03* 443 | D20* 444 | X69500000Y-86000000D03* 445 | D25* 446 | X82900000Y-89700000D03* 447 | X72200000Y-91900000D03* 448 | D20* 449 | X98500000Y-77500000D03* 450 | D21* 451 | X98000000Y-81200000D03* 452 | X93000000Y-83400000D03* 453 | D22* 454 | X93000000Y-77500000D03* 455 | D21* 456 | X88000000Y-81200000D03* 457 | D20* 458 | X87500000Y-77500000D03* 459 | D25* 460 | X100900000Y-81200000D03* 461 | X90200000Y-83400000D03* 462 | D20* 463 | X116500000Y-72500000D03* 464 | D21* 465 | X116000000Y-76200000D03* 466 | X111000000Y-78400000D03* 467 | D22* 468 | X111000000Y-72500000D03* 469 | D21* 470 | X106000000Y-76200000D03* 471 | D20* 472 | X105500000Y-72500000D03* 473 | D25* 474 | X118900000Y-76200000D03* 475 | X108200000Y-78400000D03* 476 | D20* 477 | X134500000Y-70000000D03* 478 | D21* 479 | X134000000Y-73700000D03* 480 | X129000000Y-75900000D03* 481 | D22* 482 | X129000000Y-70000000D03* 483 | D21* 484 | X124000000Y-73700000D03* 485 | D20* 486 | X123500000Y-70000000D03* 487 | D25* 488 | X136900000Y-73700000D03* 489 | X126200000Y-75900000D03* 490 | D20* 491 | X152500000Y-72500000D03* 492 | D21* 493 | X152000000Y-76200000D03* 494 | X147000000Y-78400000D03* 495 | D22* 496 | X147000000Y-72500000D03* 497 | D21* 498 | X142000000Y-76200000D03* 499 | D20* 500 | X141500000Y-72500000D03* 501 | D25* 502 | X154900000Y-76200000D03* 503 | X144200000Y-78400000D03* 504 | D20* 505 | X170500000Y-75000000D03* 506 | D21* 507 | X170000000Y-78700000D03* 508 | X165000000Y-80900000D03* 509 | D22* 510 | X165000000Y-75000000D03* 511 | D21* 512 | X160000000Y-78700000D03* 513 | D20* 514 | X159500000Y-75000000D03* 515 | D25* 516 | X172900000Y-78700000D03* 517 | X162200000Y-80900000D03* 518 | D20* 519 | X80500000Y-103000000D03* 520 | D21* 521 | X80000000Y-106700000D03* 522 | X75000000Y-108900000D03* 523 | D22* 524 | X75000000Y-103000000D03* 525 | D21* 526 | X70000000Y-106700000D03* 527 | D20* 528 | X69500000Y-103000000D03* 529 | D25* 530 | X82900000Y-106700000D03* 531 | X72200000Y-108900000D03* 532 | D20* 533 | X98500000Y-94500000D03* 534 | D21* 535 | X98000000Y-98200000D03* 536 | X93000000Y-100400000D03* 537 | D22* 538 | X93000000Y-94500000D03* 539 | D21* 540 | X88000000Y-98200000D03* 541 | D20* 542 | X87500000Y-94500000D03* 543 | D25* 544 | X100900000Y-98200000D03* 545 | X90200000Y-100400000D03* 546 | D20* 547 | X116500000Y-89500000D03* 548 | D21* 549 | X116000000Y-93200000D03* 550 | X111000000Y-95400000D03* 551 | D22* 552 | X111000000Y-89500000D03* 553 | D21* 554 | X106000000Y-93200000D03* 555 | D20* 556 | X105500000Y-89500000D03* 557 | D25* 558 | X118900000Y-93200000D03* 559 | X108200000Y-95400000D03* 560 | D20* 561 | X134500000Y-87000000D03* 562 | D21* 563 | X134000000Y-90700000D03* 564 | X129000000Y-92900000D03* 565 | D22* 566 | X129000000Y-87000000D03* 567 | D21* 568 | X124000000Y-90700000D03* 569 | D20* 570 | X123500000Y-87000000D03* 571 | D25* 572 | X136900000Y-90700000D03* 573 | X126200000Y-92900000D03* 574 | D20* 575 | X152500000Y-89500000D03* 576 | D21* 577 | X152000000Y-93200000D03* 578 | X147000000Y-95400000D03* 579 | D22* 580 | X147000000Y-89500000D03* 581 | D21* 582 | X142000000Y-93200000D03* 583 | D20* 584 | X141500000Y-89500000D03* 585 | D25* 586 | X154900000Y-93200000D03* 587 | X144200000Y-95400000D03* 588 | D20* 589 | X170500000Y-92000000D03* 590 | D21* 591 | X170000000Y-95700000D03* 592 | X165000000Y-97900000D03* 593 | D22* 594 | X165000000Y-92000000D03* 595 | D21* 596 | X160000000Y-95700000D03* 597 | D20* 598 | X159500000Y-92000000D03* 599 | D25* 600 | X172900000Y-95700000D03* 601 | X162200000Y-97900000D03* 602 | D20* 603 | X139750000Y-124000000D03* 604 | D21* 605 | X139250000Y-127700000D03* 606 | X134250000Y-129900000D03* 607 | D22* 608 | X134250000Y-124000000D03* 609 | D21* 610 | X129250000Y-127700000D03* 611 | D20* 612 | X128750000Y-124000000D03* 613 | D25* 614 | X142150000Y-127700000D03* 615 | X131450000Y-129900000D03* 616 | D20* 617 | X98500000Y-111500000D03* 618 | D21* 619 | X98000000Y-115200000D03* 620 | X93000000Y-117400000D03* 621 | D22* 622 | X93000000Y-111500000D03* 623 | D21* 624 | X88000000Y-115200000D03* 625 | D20* 626 | X87500000Y-111500000D03* 627 | D25* 628 | X100900000Y-115200000D03* 629 | X90200000Y-117400000D03* 630 | D20* 631 | X116500000Y-106500000D03* 632 | D21* 633 | X116000000Y-110200000D03* 634 | X111000000Y-112400000D03* 635 | D22* 636 | X111000000Y-106500000D03* 637 | D21* 638 | X106000000Y-110200000D03* 639 | D20* 640 | X105500000Y-106500000D03* 641 | D25* 642 | X118900000Y-110200000D03* 643 | X108200000Y-112400000D03* 644 | D20* 645 | X134500000Y-104000000D03* 646 | D21* 647 | X134000000Y-107700000D03* 648 | X129000000Y-109900000D03* 649 | D22* 650 | X129000000Y-104000000D03* 651 | D21* 652 | X124000000Y-107700000D03* 653 | D20* 654 | X123500000Y-104000000D03* 655 | D25* 656 | X136900000Y-107700000D03* 657 | X126200000Y-109900000D03* 658 | D20* 659 | X152500000Y-106500000D03* 660 | D21* 661 | X152000000Y-110200000D03* 662 | X147000000Y-112400000D03* 663 | D22* 664 | X147000000Y-106500000D03* 665 | D21* 666 | X142000000Y-110200000D03* 667 | D20* 668 | X141500000Y-106500000D03* 669 | D25* 670 | X154900000Y-110200000D03* 671 | X144200000Y-112400000D03* 672 | D20* 673 | X170500000Y-109000000D03* 674 | D21* 675 | X170000000Y-112700000D03* 676 | X165000000Y-114900000D03* 677 | D22* 678 | X165000000Y-109000000D03* 679 | D21* 680 | X160000000Y-112700000D03* 681 | D20* 682 | X159500000Y-109000000D03* 683 | D25* 684 | X172900000Y-112700000D03* 685 | X162200000Y-114900000D03* 686 | D26* 687 | X189000500Y-107789620D03* 688 | X189000500Y-108790380D03* 689 | X186500500Y-107789620D03* 690 | X186500500Y-108790380D03* 691 | X184000500Y-107789620D03* 692 | X184000500Y-108790380D03* 693 | X181500500Y-107789620D03* 694 | X181500500Y-108790380D03* 695 | D27* 696 | X178311900Y-78812000D03* 697 | X178311900Y-81352000D03* 698 | X178311900Y-83892000D03* 699 | X178311900Y-86432000D03* 700 | X178311900Y-88972000D03* 701 | X178311900Y-91512000D03* 702 | X178311900Y-94052000D03* 703 | X178311900Y-96592000D03* 704 | X178311900Y-99132000D03* 705 | X178311900Y-101672000D03* 706 | X178311900Y-104212000D03* 707 | X178311900Y-106752000D03* 708 | X193531900Y-106752000D03* 709 | X193531900Y-104212000D03* 710 | X193531900Y-101672000D03* 711 | X193531900Y-99132000D03* 712 | X193531900Y-96592000D03* 713 | X193531900Y-94052000D03* 714 | X193531900Y-91512000D03* 715 | X193531900Y-88972000D03* 716 | X193531900Y-86432000D03* 717 | X193531900Y-83892000D03* 718 | X193531900Y-81352000D03* 719 | X193531900Y-78812000D03* 720 | X176985500Y-80082000D03* 721 | X176985500Y-82622000D03* 722 | X176985500Y-85162000D03* 723 | X176985500Y-87702000D03* 724 | X176985500Y-90242000D03* 725 | X176985500Y-92782000D03* 726 | X176985500Y-95322000D03* 727 | X176985500Y-97862000D03* 728 | X176985500Y-100402000D03* 729 | X176985500Y-102942000D03* 730 | X176985500Y-105482000D03* 731 | X176985500Y-108022000D03* 732 | X192225500Y-108022000D03* 733 | X192225500Y-105482000D03* 734 | X192225500Y-102942000D03* 735 | X192225500Y-100402000D03* 736 | X192225500Y-97862000D03* 737 | X192225500Y-95322000D03* 738 | X192225500Y-92782000D03* 739 | X192225500Y-90242000D03* 740 | X192225500Y-87702000D03* 741 | X192225500Y-85162000D03* 742 | X192225500Y-82622000D03* 743 | X192225500Y-80082000D03* 744 | D28* 745 | X187064583Y-119875000D03* 746 | X181435417Y-116625000D03* 747 | D29* 748 | X181436893Y-112418328D03* 749 | X183976893Y-112418328D03* 750 | X186516893Y-112418328D03* 751 | X189056893Y-112418328D03* 752 | D20* 753 | X196000000Y-137736860D03* 754 | D21* 755 | X198954294Y-140019873D03* 756 | X198359550Y-145450000D03* 757 | D22* 758 | X193250000Y-142500000D03* 759 | D21* 760 | X193954294Y-148680127D03* 761 | D20* 762 | X190500000Y-147263140D03* 763 | D23* 764 | X200404294Y-137508399D03* 765 | X196959550Y-147874871D03* 766 | D30* 767 | X192250000Y-121500000D03* 768 | X177760000Y-113000000D03* 769 | D17* 770 | X120000000Y-81250000D03* 771 | X84500000Y-85750000D03* 772 | X156500000Y-83500000D03* 773 | M02* 774 | --------------------------------------------------------------------------------