diff options
author | Zach White <skullydazed@gmail.com> | 2021-08-14 08:42:59 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-14 08:42:59 -0700 |
commit | 60a36863bca9f52cad6984de4e877f8dcd30a88f (patch) | |
tree | 8006ed317043e2dd4f85d1e3135f3ae12a205c8a /keyboards/ez_maker | |
parent | 110a320321181a0d02f46bd0d06d15c10ed751bb (diff) |
[Keyboard] ez_maker/directpins for easy one-offs in qmk_configurator (#13321)
* new keyboard: handwired/directpins
* fix promicro keyboard_name
* add teensy2 and teensy2++ support
* align with handwired/onekey
* tweak pids
* add teensy 3.2 and teensy lc to directpins
* move directpins from handwired to ez_maker
* add docs for easy maker
Diffstat (limited to 'keyboards/ez_maker')
45 files changed, 1109 insertions, 0 deletions
diff --git a/keyboards/ez_maker/directpins/promicro/config.h b/keyboards/ez_maker/directpins/promicro/config.h new file mode 100644 index 0000000000..436e169c19 --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2021 Zach White + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +#include "config_common.h" diff --git a/keyboards/ez_maker/directpins/promicro/info.json b/keyboards/ez_maker/directpins/promicro/info.json new file mode 100644 index 0000000000..ad91afeb9a --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/info.json @@ -0,0 +1,49 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins ProMicro", + "maintainer": "skullydazed", + "bootloader": "atmel-dfu", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["D3", null], + ["D2", null], + ["D1", "F4"], + ["D0", "F5"], + ["D4", "F6"], + ["C6", "F7"], + ["D7", "B1"], + ["E6", "B3"], + ["B4", "B2"], + ["B5", "B6"] + ] + }, + "processor": "atmega32u4", + "usb": { + "device_ver": "0x0001", + "pid": "0x2320", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"D3", "matrix": [0, 0], "x":0, "y":0}, + {"label":"D2", "matrix": [1, 0], "x":0, "y":1}, + {"label":"D1", "matrix": [2, 0], "x":0, "y":4}, {"label":"F4", "matrix": [2, 1], "x":2, "y":4}, + {"label":"D0", "matrix": [3, 0], "x":0, "y":5}, {"label":"F5", "matrix": [3, 1], "x":2, "y":5}, + {"label":"D4", "matrix": [4, 0], "x":0, "y":6}, {"label":"F6", "matrix": [4, 1], "x":2, "y":6}, + {"label":"C6", "matrix": [5, 0], "x":0, "y":7}, {"label":"F7", "matrix": [5, 1], "x":2, "y":7}, + {"label":"D7", "matrix": [6, 0], "x":0, "y":8}, {"label":"B1", "matrix": [6, 1], "x":2, "y":8}, + {"label":"E6", "matrix": [7, 0], "x":0, "y":9}, {"label":"B3", "matrix": [7, 1], "x":2, "y":9}, + {"label":"B4", "matrix": [8, 0], "x":0, "y":10}, {"label":"B2", "matrix": [8, 1], "x":2, "y":10}, + {"label":"B5", "matrix": [9, 0], "x":0, "y":11}, {"label":"B6", "matrix": [9, 1], "x":2, "y":11} + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json new file mode 100644 index 0000000000..f39a5802b9 --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json @@ -0,0 +1,19 @@ +{ + "keyboard": "ez_maker/directpins/promicro", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", + "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", + "KC_6", "KC_7", + "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/promicro/promicro.c b/keyboards/ez_maker/directpins/promicro/promicro.c new file mode 100644 index 0000000000..1f89eb39ef --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/promicro.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Zach White + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "promicro.h" diff --git a/keyboards/ez_maker/directpins/promicro/promicro.h b/keyboards/ez_maker/directpins/promicro/promicro.h new file mode 100644 index 0000000000..386e50fb5b --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/promicro.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Zach White + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "quantum.h" diff --git a/keyboards/ez_maker/directpins/promicro/readme.md b/keyboards/ez_maker/directpins/promicro/readme.md new file mode 100644 index 0000000000..b987ce0aad --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Promicro Pinout Guide](https://i.imgur.com/LZ194Hf.jpg) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Promicro +* Hardware Availability: Sparkfun, chinese clones + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/promicro -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/promicro -km default + +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). diff --git a/keyboards/ez_maker/directpins/promicro/rules.mk b/keyboards/ez_maker/directpins/promicro/rules.mk new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/rules.mk diff --git a/keyboards/ez_maker/directpins/proton_c/info.json b/keyboards/ez_maker/directpins/proton_c/info.json new file mode 100644 index 0000000000..4b72f46105 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/info.json @@ -0,0 +1,60 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins Proton C", + "maintainer": "skullydazed", + "debounce": 5, + "processor": "STM32F303", + "board": "QMK_PROTON_C", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["A9", null], + ["A10", null], + ["B7", "A2"], + ["B6", "A1"], + ["B5", "A0"], + ["B4", "B8"], + ["B3", "B13"], + ["B2", "B14"], + ["B1", "B15"], + ["B0", "B9"], + ["A4", "B10"], + ["A5", "B11"], + ["A6", "B12"], + ["A7", "A14"], + ["A8", "A13"], + ["A15", null] + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2321", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "A9", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "A10", "matrix": [1, 0], "x": 0, "y": 1 }, + { "label": "B7", "matrix": [2, 0], "x": 0, "y": 4 }, { "label": "A2", "matrix": [2, 1], "x": 2, "y": 4 }, + { "label": "B6", "matrix": [3, 0], "x": 0, "y": 5 }, { "label": "A1", "matrix": [3, 1], "x": 2, "y": 5 }, + { "label": "B5", "matrix": [4, 0], "x": 0, "y": 6 }, { "label": "A0", "matrix": [4, 1], "x": 2, "y": 6 }, + { "label": "B4", "matrix": [5, 0], "x": 0, "y": 7 }, { "label": "B8", "matrix": [5, 1], "x": 2, "y": 7 }, + { "label": "B3", "matrix": [6, 0], "x": 0, "y": 8 }, { "label": "B13", "matrix": [6, 1], "x": 2, "y": 8 }, + { "label": "B2", "matrix": [7, 0], "x": 0, "y": 9 }, { "label": "B14", "matrix": [7, 1], "x": 2, "y": 9 }, + { "label": "B1", "matrix": [8, 0], "x": 0, "y": 10 }, { "label": "B15", "matrix": [8, 1], "x": 2, "y": 10 }, + { "label": "B0", "matrix": [9, 0], "x": 0, "y": 11 }, { "label": "B9", "matrix": [9, 1], "x": 2, "y": 11 }, + { "label": "A4", "matrix": [10, 0], "x": 0, "y": 13 }, { "label": "B10", "matrix": [10, 1], "x": 2, "y": 13 }, + { "label": "A5", "matrix": [11, 0], "x": 0, "y": 14 }, { "label": "B11", "matrix": [11, 1], "x": 2, "y": 14 }, + { "label": "A6", "matrix": [12, 0], "x": 0, "y": 15 }, { "label": "B12", "matrix": [12, 1], "x": 2, "y": 15 }, + { "label": "A7", "matrix": [13, 0], "x": 0, "y": 16 }, { "label": "A14", "matrix": [13, 1], "x": 2, "y": 16 }, + { "label": "A8", "matrix": [14, 0], "x": 0, "y": 17 }, { "label": "A13", "matrix": [14, 1], "x": 2, "y": 17 }, + { "label": "A15", "matrix": [15, 0], "x": 0, "y": 18 } + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json new file mode 100644 index 0000000000..7af6d44762 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json @@ -0,0 +1,25 @@ +{ + "keyboard": "ez_maker/directpins/proton_c", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", + "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", + "KC_6", "KC_7", + "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_K", "KC_L", + "KC_M", "KC_N", + "KC_O", "KC_P", + "KC_Q", "KC_R", + "KC_S" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md b/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md new file mode 100644 index 0000000000..69c6d2663b --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for directpins diff --git a/keyboards/ez_maker/directpins/proton_c/proton_c.c b/keyboards/ez_maker/directpins/proton_c/proton_c.c new file mode 100644 index 0000000000..75534b609f --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/proton_c.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Zach White + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "proton_c.h" diff --git a/keyboards/ez_maker/directpins/proton_c/proton_c.h b/keyboards/ez_maker/directpins/proton_c/proton_c.h new file mode 100644 index 0000000000..386e50fb5b --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/proton_c.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Zach White + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "quantum.h" diff --git a/keyboards/ez_maker/directpins/proton_c/readme.md b/keyboards/ez_maker/directpins/proton_c/readme.md new file mode 100644 index 0000000000..caf6c7c995 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Proton-C Pinout Guide](https://i.imgur.com/NqsqmdF.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Proton C +* Hardware Availability: https://qmk.fm/proton-c + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/proton_c -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/proton_c -km default + +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). diff --git a/keyboards/ez_maker/directpins/proton_c/rules.mk b/keyboards/ez_maker/directpins/proton_c/rules.mk new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/rules.mk diff --git a/keyboards/ez_maker/directpins/readme.md b/keyboards/ez_maker/directpins/readme.md new file mode 100644 index 0000000000..bd415f78a1 --- /dev/null +++ b/keyboards/ez_maker/directpins/readme.md @@ -0,0 +1,5 @@ +# DirectPins + +Easily assign keys to pins for your custom project using QMK Configurator. + +This directory exists so that people creating one-offs can easily hook up their pins to switches and flash QMK to it. diff --git a/keyboards/ez_maker/directpins/teensy_2/config.h b/keyboards/ez_maker/directpins/teensy_2/config.h new file mode 100644 index 0000000000..436e169c19 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2021 Zach White + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +#include "config_common.h" diff --git a/keyboards/ez_maker/directpins/teensy_2/info.json b/keyboards/ez_maker/directpins/teensy_2/info.json new file mode 100644 index 0000000000..cc2e6feec7 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/info.json @@ -0,0 +1,52 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins Teensy 2.0", + "maintainer": "skullydazed", + "processor": "atmega32u4", + "bootloader": "halfkay", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["B0", "F0"], + ["B1", "F1"], + ["B2", "F4"], + ["B3", "F5"], + ["B7", "F6"], + ["D0", "F7"], + ["D1", "B6"], + ["D2", "B5"], + ["D3", "B4"], + ["C6", "D7"], + ["C7", "D6"], + ["D5", "D4"] + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2322", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"B0", "matrix": [0, 0], "x":0, "y":1}, {"label":"F0", "matrix": [0, 1], "x":4, "y":1}, + {"label":"B1", "matrix": [1, 0], "x":0, "y":2}, {"label":"F1", "matrix": [1, 1], "x":4, "y":2}, + {"label":"B2", "matrix": [2, 0], "x":0, "y":3}, {"label":"F4", "matrix": [2, 1], "x":4, "y":3}, + {"label":"B3", "matrix": [3, 0], "x":0, "y":4}, {"label":"F5", "matrix": [3, 1], "x":4, "y":4}, + {"label":"B7", "matrix": [4, 0], "x":0, "y":5}, {"label":"F6", "matrix": [4, 1], "x":4, "y":5}, + {"label":"D0", "matrix": [5, 0], "x":0, "y":6}, {"label":"F7", "matrix": [5, 1], "x":4, "y":6}, + {"label":"D1", "matrix": [6, 0], "x":0, "y":7}, {"label":"B6", "matrix": [6, 1], "x":4, "y":7}, + {"label":"D2", "matrix": [7, 0], "x":0, "y":8}, {"label":"B5", "matrix": [7, 1], "x":4, "y":8}, + {"label":"D3", "matrix": [8, 0], "x":0, "y":9}, {"label":"B4", "matrix": [8, 1], "x":4, "y":9}, + {"label":"C6", "matrix": [9, 0], "x":0, "y":10}, {"label":"D7", "matrix": [9, 1], "x":4, "y":10}, + {"label":"C7", "matrix": [10, 0], "x":0, "y":11}, {"label":"D5", "matrix": [11, 0], "x":1, "y":11}, {"label":"D4", "matrix": [11, 1], "x":3, "y":11}, {"label":"D6", "matrix": [10, 1], "x":4, "y":11} + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json new file mode 100644 index 0000000000..f52247ec27 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json @@ -0,0 +1,20 @@ +{ + "keyboard": "ez_maker/directpins/teensy2", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", + "KC_6", "KC_7", + "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_K", "KC_L", "KC_M", "KC_N" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/teensy_2/readme.md b/keyboards/ez_maker/directpins/teensy_2/readme.md new file mode 100644 index 0000000000..997680b594 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Teensy 2.0 Pinout Guide](https://www.pjrc.com/teensy/pinout2a.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Teensy 2.0 +* Hardware Availability: https://www.pjrc.com/ + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/teensy2 -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/teensy2 -km default + +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). diff --git a/keyboards/ez_maker/directpins/teensy_2/rules.mk b/keyboards/ez_maker/directpins/teensy_2/rules.mk new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/rules.mk diff --git a/keyboards/ez_maker/directpins/teensy_2/teensy2.c b/keyboards/ez_maker/directpins/teensy_2/teensy2.c new file mode 100644 index 0000000000..1ef3337a1a --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/teensy2.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Zach White + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "teensy2.h" diff --git a/keyboards/ez_maker/directpins/teensy_2/teensy2.h b/keyboards/ez_maker/directpins/teensy_2/teensy2.h new file mode 100644 index 0000000000..386e50fb5b --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/teensy2.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Zach White + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "quantum.h" diff --git a/keyboards/ez_maker/directpins/teensy_2pp/config.h b/keyboards/ez_maker/directpins/teensy_2pp/config.h new file mode 100644 index 0000000000..436e169c19 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2021 Zach White + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +#include "config_common.h" diff --git a/keyboards/ez_maker/directpins/teensy_2pp/info.json b/keyboards/ez_maker/directpins/teensy_2pp/info.json new file mode 100644 index 0000000000..1e2e69d90e --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/info.json @@ -0,0 +1,67 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins Teensy 2.0++", + "maintainer": "skullydazed", + "processor": "at90usb1286", + "bootloader": "halfkay", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["B7", null, null, "B6"], + ["D0", null, null, "B5"], + ["D1", null, null, "B4"], + ["D2", null, null, "B3"], + ["D3", null, null, "B2"], + ["D4", "E5", "E4", "B1"], + ["D5", null, null, "B0"], + ["D6", null, null, "E7"], + ["D7", null, null, "E6"], + ["E0", null, null, null], + ["E1", null, null, null], + ["C0", null, null, "F0"], + ["C1", "A4", "A0", "F1"], + ["C2", "A5", "A1", "F2"], + ["C3", "A6", "A2", "F3"], + ["C4", "A7", "A3", "F4"], + ["C5", null, null, "F5"], + ["C6", null, null, "F6"], + ["C7", null, null, "F7"], + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2323", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"B7", "matrix": [0, 0], "x":0, "y":1}, {"label":"B6", "matrix": [0, 3], "x":5, "y":1}, + {"label":"D0", "matrix": [1, 0], "x":0, "y":2}, {"label":"B5", "matrix": [1, 3], "x":5, "y":2}, + {"label":"D1", "matrix": [2, 0], "x":0, "y":3}, {"label":"B4", "matrix": [2, 3], "x":5, "y":3}, + {"label":"D2", "matrix": [3, 0], "x":0, "y":4}, {"label":"B3", "matrix": [3, 3], "x":5, "y":4}, + {"label":"D3", "matrix": [4, 0], "x":0, "y":5}, {"label":"B2", "matrix": [4, 3], "x":5, "y":5}, + {"label":"D4", "matrix": [5, 0], "x":0, "y":6}, {"label":"E5", "matrix": [5, 1], "x":2, "y":6}, {"label":"E4", "matrix": [5, 2], "x":3, "y":6}, {"label":"B1", "matrix": [5, 3], "x":5, "y":6}, + {"label":"D5", "matrix": [6, 0], "x":0, "y":7}, {"label":"B0", "matrix": [6, 3], "x":5, "y":7}, + {"label":"D6", "matrix": [7, 0], "x":0, "y":8}, {"label":"E7", "matrix": [7, 3], "x":5, "y":8}, + {"label":"D7", "matrix": [8, 0], "x":0, "y":9}, {"label":"E6", "matrix": [8, 3], "x":5, "y":9}, + {"label":"E0", "matrix": [9, 0], "x":0, "y":10}, + {"label":"E1", "matrix": [10, 0], "x":0, "y":11}, + {"label":"C0", "matrix": [11, 0], "x":0, "y":12}, {"label":"F0", "matrix": [11, 3], "x":5, "y":12}, + {"label":"C1", "matrix": [12, 0], "x":0, "y":13}, {"label":"A4", "matrix": [12, 1], "x":2, "y":13}, {"label":"A0", "matrix": [12, 2], "x":3, "y":13}, {"label":"F1", "matrix": [12, 3], "x":5, "y":13}, + {"label":"C2", "matrix": [13, 0], "x":0, "y":14}, {"label":"A5", "matrix": [13, 1], "x":2, "y":14}, {"label":"A1", "matrix": [13, 2], "x":3, "y":14}, {"label":"F2", "matrix": [13, 3], "x":5, "y":14}, + {"label":"C3", "matrix": [14, 0], "x":0, "y":15}, {"label":"A6", "matrix": [14, 1], "x":2, "y":15}, {"label":"A2", "matrix": [14, 2], "x":3, "y":15}, {"label":"F3", "matrix": [14, 3], "x":5, "y":15}, + {"label":"C4", "matrix": [15, 0], "x":0, "y":16}, {"label":"A7", "matrix": [15, 1], "x":2, "y":16}, {"label":"A3", "matrix": [15, 2], "x":3, "y":16}, {"label":"F4", "matrix": [15, 3], "x":5, "y":16}, + {"label":"C5", "matrix": [16, 0], "x":0, "y":17}, {"label":"F5", "matrix": [16, 3], "x":5, "y":17}, + {"label":"C6", "matrix": [17, 0], "x":0, "y":18}, {"label":"F6", "matrix": [17, 3], "x":5, "y":18}, + {"label":"C7", "matrix": [18, 0], "x":0, "y":19}, {"label":"F7", "matrix": [18, 3], "x":5, "y":19} + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json new file mode 100644 index 0000000000..444f8cacb3 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json @@ -0,0 +1,28 @@ +{ + "keyboard": "ez_maker/directpins/promicro", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", + "KC_6", "KC_7", + "KC_8", "KC_9", + "KC_A", "KC_B", "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_J", + "KC_L", + "KC_M", "KC_N", + "KC_O", "KC_P", "KC_Q", "KC_R", + "KC_S", "KC_T", "KC_U", "KC_V", + "KC_W", "KC_X", "KC_Y", "KC_Z", + "KC_P1", "KC_P2", "KC_P3", "KC_P4", + "KC_P5", "KC_P6", + "KC_P7", "KC_P8", + "KC_P9", "KC_P0" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/teensy_2pp/readme.md b/keyboards/ez_maker/directpins/teensy_2pp/readme.md new file mode 100644 index 0000000000..6b64dc8ac9 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Teensy 2.0++ Pinout Guide](https://www.pjrc.com/teensy/pinout4a.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Teensy 2.0++ +* Hardware Availability: https://www.pjrc.com/ + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/teensy2pp -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/teensy2pp -km default + +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). diff --git a/keyboards/ez_maker/directpins/teensy_2pp/rules.mk b/keyboards/ez_maker/directpins/teensy_2pp/rules.mk new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/rules.mk diff --git a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c new file mode 100644 index 0000000000..1ef3337a1a --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Zach White + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "teensy2.h" diff --git a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h new file mode 100644 index 0000000000..386e50fb5b --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Zach White + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "quantum.h" diff --git a/keyboards/ez_maker/directpins/teensy_32/chconf.h b/keyboards/ez_maker/directpins/teensy_32/chconf.h new file mode 100644 index 0000000000..04c223e727 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/chconf.h @@ -0,0 +1,53 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_32/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 1000 + +#define CH_CFG_ST_TIMEDELTA 0 + +#define CH_CFG_TIME_QUANTUM 20 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#define CH_DBG_SYSTEM_STATE_CHECK TRUE + +#define CH_DBG_ENABLE_CHECKS TRUE + +#define CH_DBG_ENABLE_ASSERTS TRUE + +#define CH_DBG_ENABLE_STACK_CHECK TRUE + +#define CH_DBG_FILL_THREADS TRUE + +#include_next <chconf.h> + diff --git a/keyboards/ez_maker/directpins/teensy_32/config.h b/keyboards/ez_maker/directpins/teensy_32/config.h new file mode 100644 index 0000000000..861ae70e41 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/config.h @@ -0,0 +1,23 @@ +/* Copyright 2019 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +// i2c_master defines +#define I2C1_SCL 0 // A2 on pinout = B0 +#define I2C1_SDA 1 // A3 on pinout = B1 +#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 +#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 diff --git a/keyboards/ez_maker/directpins/teensy_32/halconf.h b/keyboards/ez_maker/directpins/teensy_32/halconf.h new file mode 100644 index 0000000000..9ba6e8fc31 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_32/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next <halconf.h> + diff --git a/keyboards/ez_maker/directpins/teensy_32/info.json b/keyboards/ez_maker/directpins/teensy_32/info.json new file mode 100644 index 0000000000..5de8d90a5c --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/info.json @@ -0,0 +1,53 @@ +{ + "manufacturer": "QMK", + "keyboard_name": "DirectPins Teensy 3.2", + "maintainer": "skullydazed", + "debounce": 5, + "processor": "MK20DX256", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["LINE_PIN0", null, null], + ["LINE_PIN1", null, null], + ["LINE_PIN2", null, "LINE_PIN23"], + ["LINE_PIN3", "LINE_PIN24", "LINE_PIN22"], + ["LINE_PIN4", "LINE_PIN25", "LINE_PIN21"], + ["LINE_PIN5", null, "LINE_PIN20"], + ["LINE_PIN6", null, "LINE_PIN19"], + ["LINE_PIN7", null, "LINE_PIN18"], + ["LINE_PIN8", null, "LINE_PIN17"], + ["LINE_PIN9", null, "LINE_PIN16"], + ["LINE_PIN10", null, "LINE_PIN15"], + ["LINE_PIN11", null, "LINE_PIN14"], + ["LINE_PIN12", "E30", "LINE_PIN13"], + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2324", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "0", "matrix": [0, 0], "x": 0, "y": 1 }, + { "label": "1", "matrix": [1, 0], "x": 0, "y": 2 }, + { "label": "2", "matrix": [2, 0], "x": 0, "y": 3 }, { "label": "23", "matrix": [2, 2], "x": 3, "y": 3 }, + { "label": "3", "matrix": [3, 0], "x": 0, "y": 4 }, { "label": "24", "matrix": [3, 1], "x": 2, "y": 4 }, { "label": "22", "matrix": [3, 2], "x": 3, "y": 4 }, + { "label": "4", "matrix": [4, 0], "x": 0, "y": 5 }, { "label": "25", "matrix": [4, 1], "x": 2, "y": 5 }, { "label": "21", "matrix": [4, 2], "x": 3, "y": 5 }, + { "label": "5", "matrix": [5, 0], "x": 0, "y": 6 }, { "label": "20", "matrix": [5, 2], "x": 3, "y": 6 }, + { "label": "6", "matrix": [6, 0], "x": 0, "y": 7 }, { "label": "19", "matrix": [6, 2], "x": 3, "y": 7 }, + { "label": "7", "matrix": [7, 0], "x": 0, "y": 8 }, { "label": "18", "matrix": [7, 2], "x": 3, "y": 8 }, + { "label": "8", "matrix": [8, 0], "x": 0, "y": 9 }, { "label": "17", "matrix": [8, 2], "x": 3, "y": 9 }, + { "label": "9", "matrix": [9, 0], "x": 0, "y": 10 }, { "label": "16", "matrix": [9, 2], "x": 3, "y": 10 }, + { "label": "10", "matrix": [10, 0], "x": 0, "y": 11 }, { "label": "15", "matrix": [10, 2], "x": 3, "y": 11 }, + { "label": "11", "matrix": [11, 0], "x": 0, "y": 12 }, { "label": "14", "matrix": [11, 2], "x": 3, "y": 12 }, + { "label": "12", "matrix": [12, 0], "x": 0, "y": 13 }, { "label": "26", "matrix": [12, 1], "x": 2, "y": 13 }, { "label": "13", "matrix": [12, 2], "x": 3, "y": 13 } + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json new file mode 100644 index 0000000000..4b289997c3 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json @@ -0,0 +1,22 @@ +{ + "keyboard": "ez_maker/directpins/teensy_32", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", + "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", "KC_6", + "KC_7", "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_K", "KC_L", + "KC_M", "KC_N", + "KC_O", "KC_P", "KC_Q" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/teensy_32/mcuconf.h b/keyboards/ez_maker/directpins/teensy_32/mcuconf.h new file mode 100644 index 0000000000..327f5c9aa3 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/mcuconf.h @@ -0,0 +1,51 @@ +/* + ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef _MCUCONF_H_ +#define _MCUCONF_H_ + +#define K20x_MCUCONF + +/* + * HAL driver system settings. + */ +/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */ +#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE +#define KINETIS_PLLCLK_FREQUENCY 96000000UL +#define KINETIS_SYSCLK_FREQUENCY 48000000UL + +/* + * SERIAL driver system settings. + */ +#define KINETIS_SERIAL_USE_UART0 TRUE + +/* + * USB driver settings + */ +#define KINETIS_USB_USE_USB0 TRUE + +/* Need to redefine this, since the default (configured for K20x) might not apply + * 2 for Teensy LC + * 5 for Teensy 3.x */ +#define KINETIS_USB_USB0_IRQ_PRIORITY 5 + +/* + * I2C driver settings + */ +#define KINETIS_I2C_USE_I2C0 TRUE +#define KINETIS_I2C_I2C0_PRIORITY 4 + +#endif /* _MCUCONF_H_ */ diff --git a/keyboards/ez_maker/directpins/teensy_32/readme.md b/keyboards/ez_maker/directpins/teensy_32/readme.md new file mode 100644 index 0000000000..76b4573193 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Teensy 3.2 Pinout Guide](https://www.pjrc.com/teensy/card7a_rev1.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Teensy 3.2 +* Hardware Availability: https://pjrc.com/ + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/teensy_32 -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/teensy_32 -km default + +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). diff --git a/keyboards/ez_maker/directpins/teensy_32/rules.mk b/keyboards/ez_maker/directpins/teensy_32/rules.mk new file mode 100644 index 0000000000..a92b099328 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/rules.mk @@ -0,0 +1,2 @@ +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ez_maker/directpins/teensy_lc/chconf.h b/keyboards/ez_maker/directpins/teensy_lc/chconf.h new file mode 100644 index 0000000000..659dca63ad --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/chconf.h @@ -0,0 +1,53 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_lc/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 1000 + +#define CH_CFG_ST_TIMEDELTA 0 + +#define CH_CFG_TIME_QUANTUM 20 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#define CH_DBG_SYSTEM_STATE_CHECK TRUE + +#define CH_DBG_ENABLE_CHECKS TRUE + +#define CH_DBG_ENABLE_ASSERTS TRUE + +#define CH_DBG_ENABLE_STACK_CHECK TRUE + +#define CH_DBG_FILL_THREADS TRUE + +#include_next <chconf.h> + diff --git a/keyboards/ez_maker/directpins/teensy_lc/config.h b/keyboards/ez_maker/directpins/teensy_lc/config.h new file mode 100644 index 0000000000..861ae70e41 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/config.h @@ -0,0 +1,23 @@ +/* Copyright 2019 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +// i2c_master defines +#define I2C1_SCL 0 // A2 on pinout = B0 +#define I2C1_SDA 1 // A3 on pinout = B1 +#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 +#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 diff --git a/keyboards/ez_maker/directpins/teensy_lc/halconf.h b/keyboards/ez_maker/directpins/teensy_lc/halconf.h new file mode 100644 index 0000000000..bd9fe497f2 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_lc/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next <halconf.h> + diff --git a/keyboards/ez_maker/directpins/teensy_lc/info.json b/keyboards/ez_maker/directpins/teensy_lc/info.json new file mode 100644 index 0000000000..882fa9ad95 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/info.json @@ -0,0 +1,53 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins Teensy LC", + "maintainer": "skullydazed", + "debounce": 5, + "processor": "MKL26Z64", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["LINE_PIN0", null, null], + ["LINE_PIN1", null, null], + ["LINE_PIN2", null, "LINE_PIN23"], + ["LINE_PIN3", "LINE_PIN24", "LINE_PIN22"], + ["LINE_PIN4", "LINE_PIN25", "LINE_PIN21"], + ["LINE_PIN5", null, "LINE_PIN20"], + ["LINE_PIN6", null, "LINE_PIN19"], + ["LINE_PIN7", null, "LINE_PIN18"], + ["LINE_PIN8", null, "LINE_PIN17"], + ["LINE_PIN9", null, "LINE_PIN16"], + ["LINE_PIN10", null, "LINE_PIN15"], + ["LINE_PIN11", null, "LINE_PIN14"], + ["LINE_PIN12", "E30", "LINE_PIN13"], + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2325", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "0", "matrix": [0, 0], "x": 0, "y": 1 }, + { "label": "1", "matrix": [1, 0], "x": 0, "y": 2 }, + { "label": "2", "matrix": [2, 0], "x": 0, "y": 3 }, { "label": "23", "matrix": [2, 2], "x": 3, "y": 3 }, + { "label": "3", "matrix": [3, 0], "x": 0, "y": 4 }, { "label": "24", "matrix": [3, 1], "x": 2, "y": 4 }, { "label": "22", "matrix": [3, 2], "x": 3, "y": 4 }, + { "label": "4", "matrix": [4, 0], "x": 0, "y": 5 }, { "label": "25", "matrix": [4, 1], "x": 2, "y": 5 }, { "label": "21", "matrix": [4, 2], "x": 3, "y": 5 }, + { "label": "5", "matrix": [5, 0], "x": 0, "y": 6 }, { "label": "20", "matrix": [5, 2], "x": 3, "y": 6 }, + { "label": "6", "matrix": [6, 0], "x": 0, "y": 7 }, { "label": "19", "matrix": [6, 2], "x": 3, "y": 7 }, + { "label": "7", "matrix": [7, 0], "x": 0, "y": 8 }, { "label": "18", "matrix": [7, 2], "x": 3, "y": 8 }, + { "label": "8", "matrix": [8, 0], "x": 0, "y": 9 }, { "label": "17", "matrix": [8, 2], "x": 3, "y": 9 }, + { "label": "9", "matrix": [9, 0], "x": 0, "y": 10 }, { "label": "16", "matrix": [9, 2], "x": 3, "y": 10 }, + { "label": "10", "matrix": [10, 0], "x": 0, "y": 11 }, { "label": "15", "matrix": [10, 2], "x": 3, "y": 11 }, + { "label": "11", "matrix": [11, 0], "x": 0, "y": 12 }, { "label": "14", "matrix": [11, 2], "x": 3, "y": 12 }, + { "label": "12", "matrix": [12, 0], "x": 0, "y": 13 }, { "label": "26", "matrix": [12, 1], "x": 2, "y": 13 }, { "label": "13", "matrix": [12, 2], "x": 3, "y": 13 } + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json new file mode 100644 index 0000000000..e2f557adf5 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json @@ -0,0 +1,22 @@ +{ + "keyboard": "ez_maker/directpins/teensy_lc", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", + "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", "KC_6", + "KC_7", "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_K", "KC_L", + "KC_M", "KC_N", + "KC_O", "KC_P", "KC_Q" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h b/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h new file mode 100644 index 0000000000..f73bec3dc3 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h @@ -0,0 +1,51 @@ +/* + ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef _MCUCONF_H_ +#define _MCUCONF_H_ + +#define KL2x_MCUCONF + +/* + * HAL driver system settings. + */ +/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */ +#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE +#define KINETIS_PLLCLK_FREQUENCY 96000000UL +#define KINETIS_SYSCLK_FREQUENCY 48000000UL + +/* + * SERIAL driver system settings. + */ +#define KINETIS_SERIAL_USE_UART0 TRUE + +/* + * USB driver settings + */ +#define KINETIS_USB_USE_USB0 TRUE + +/* Need to redefine this, since the default (configured for K20x) might not apply + * 2 for Teensy LC + * 5 for Teensy 3.x */ +#define KINETIS_USB_USB0_IRQ_PRIORITY 2 + +/* + * I2C driver settings + */ +#define KINETIS_I2C_USE_I2C0 TRUE +#define KINETIS_I2C_I2C0_PRIORITY 4 + +#endif /* _MCUCONF_H_ */ diff --git a/keyboards/ez_maker/directpins/teensy_lc/readme.md b/keyboards/ez_maker/directpins/teensy_lc/readme.md new file mode 100644 index 0000000000..25172ab01c --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Teensy LC Pinout Guide](https://www.pjrc.com/teensy/card6a_rev2.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Teensy LC +* Hardware Availability: https://pjcr.com/ + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/teensy_lc -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/teensy_lc -km default + +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). diff --git a/keyboards/ez_maker/directpins/teensy_lc/rules.mk b/keyboards/ez_maker/directpins/teensy_lc/rules.mk new file mode 100644 index 0000000000..e04e843284 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/rules.mk @@ -0,0 +1,5 @@ +# MCU name +USE_CHIBIOS_CONTRIB = yes + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE |