From e25672baef4f4aa2a6566cd279bca701a54b5d72 Mon Sep 17 00:00:00 2001 From: Danny Date: Mon, 12 Dec 2022 21:50:23 -0500 Subject: [Keyboard] Add Convolution Rev. 1 PCB (#19283) Co-authored-by: Joel Challis --- keyboards/keebio/convolution/rev1/config.h | 46 +++++++++++++++++ keyboards/keebio/convolution/rev1/info.json | 49 ++++++++++++++++++ keyboards/keebio/convolution/rev1/rev1.h | 80 +++++++++++++++++++++++++++++ keyboards/keebio/convolution/rev1/rules.mk | 1 + 4 files changed, 176 insertions(+) create mode 100644 keyboards/keebio/convolution/rev1/config.h create mode 100644 keyboards/keebio/convolution/rev1/info.json create mode 100644 keyboards/keebio/convolution/rev1/rev1.h create mode 100644 keyboards/keebio/convolution/rev1/rules.mk (limited to 'keyboards/keebio/convolution/rev1') diff --git a/keyboards/keebio/convolution/rev1/config.h b/keyboards/keebio/convolution/rev1/config.h new file mode 100644 index 0000000000..35a7d5b00d --- /dev/null +++ b/keyboards/keebio/convolution/rev1/config.h @@ -0,0 +1,46 @@ +/* Copyright 2022 Danny Nguyen + +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 . +*/ + +#pragma once + +// RGB Matrix +#define RGB_DI_PIN GP26 +#define RGB_MATRIX_LED_COUNT 16 +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define ENABLE_RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/keebio/convolution/rev1/info.json b/keyboards/keebio/convolution/rev1/info.json new file mode 100644 index 0000000000..ef3107905c --- /dev/null +++ b/keyboards/keebio/convolution/rev1/info.json @@ -0,0 +1,49 @@ +{ + "keyboard_name": "Convolution Rev. 1", + "usb": { + "pid": "0x145F", + "device_version": "1.0.0" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "console": true, + "rgblight": false, + "backlight": false, + "rgb_matrix": true, + }, + "matrix_pins": { + "cols": ["GP0", "GP4", "GP9", "GP8", "GP20", "GP21", "GP23", "GP24", "GP17"], + "rows": ["GP29", "GP28", "GP27", "GP25", "GP22", "GP1", "GP2", "GP3", "GP5", "GP10"] + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP19", "pin_b": "GP18" }, + {"pin_a": "GP14", "pin_b": "GP15" } + ] + }, + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + { "flags": 2, "x": 12, "y": 13 }, + { "flags": 2, "x": 40, "y": 13 }, + { "flags": 2, "x": 77, "y": 13 }, + { "flags": 2, "x": 101, "y": 13 }, + { "flags": 2, "x": 126, "y": 13 }, + { "flags": 2, "x": 150, "y": 13 }, + { "flags": 2, "x": 181, "y": 13 }, + { "flags": 2, "x": 212, "y": 13 }, + { "flags": 2, "x": 212, "y": 51 }, + { "flags": 2, "x": 181, "y": 51 }, + { "flags": 2, "x": 149, "y": 51 }, + { "flags": 2, "x": 121, "y": 51 }, + { "flags": 2, "x": 101, "y": 51 }, + { "flags": 2, "x": 75, "y": 51 }, + { "flags": 2, "x": 43, "y": 51 }, + { "flags": 2, "x": 12, "y": 51 } + ] + } +} diff --git a/keyboards/keebio/convolution/rev1/rev1.h b/keyboards/keebio/convolution/rev1/rev1.h new file mode 100644 index 0000000000..c50074c3f3 --- /dev/null +++ b/keyboards/keebio/convolution/rev1/rev1.h @@ -0,0 +1,80 @@ +/* Copyright 2022 Danny Nguyen + +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 . +*/ + +#pragma once + +#include "convolution.h" +#include "quantum.h" + +#define LAYOUT_65xt( \ + LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA9, RA8, RA7, RA6, RA5, RA4, RA3, RA2, RA1, \ + LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, LB9, RB9, RB8, RB7, RB6, RB5, RB4, RB3, RB1, \ + LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, LC9, RC9, RC8, RC7, RC6, RC5, RC3, RC1, \ + LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD9, RD8, RD7, RD6, RD5, RD4, RD3, RD1, \ + LE1, LE2, LE3, LE4, LE5, LE6, LE9, RE9, RE7, RE6, RE5, RE4, RE3, RE1 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, LB9 }, \ + { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, LC9 }, \ + { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \ + { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, KC_NO, LE9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \ + { RB1, KC_NO, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \ + { RC1, KC_NO, RC3, KC_NO, RC5, RC6, RC7, RC8, RC9 }, \ + { RD1, KC_NO, RD3, RD4, RD5, RD6, RD7, RD8, RD9 }, \ + { RE1, KC_NO, RE3, RE4, RE5, RE6, RE7, KC_NO, RE9 } \ + } + +#define LAYOUT_65xt_iso( \ + LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA9, RA8, RA7, RA6, RA5, RA4, RA3, RA2, RA1, \ + LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, LB9, RB9, RB8, RB7, RB6, RB5, RB4, RB1, \ + LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, LC9, RC9, RC8, RC7, RC6, RC5, RC4, RC3, RC1, \ + LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD9, RD8, RD7, RD6, RD5, RD4, RD3, RD1, \ + LE1, LE2, LE3, LE4, LE5, LE6, LE9, RE9, RE7, RE6, RE5, RE4, RE3, RE1 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, LB9 }, \ + { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, LC9 }, \ + { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \ + { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, KC_NO, LE9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \ + { RB1, KC_NO, KC_NO, RB4, RB5, RB6, RB7, RB8, RB9 }, \ + { RC1, KC_NO, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \ + { RD1, KC_NO, RD3, RD4, RD5, RD6, RD7, RD8, RD9 }, \ + { RE1, KC_NO, RE3, RE4, RE5, RE6, RE7, KC_NO, RE9 } \ + } + +#define LAYOUT_all( \ + LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA9, RA8, RA7, RA6, RA5, RA4, RA3, RA2, RA1, \ + LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, LB9, RB9, RB8, RB7, RB6, RB5, RB4, RB3, RB1, \ + LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, LC9, RC9, RC8, RC7, RC6, RC5, RC4, RC3, RC1, \ + LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD9, RD8, RD7, RD6, RD5, RD4, RD3, RD1, \ + LE1, LE2, LE3, LE4, LE5, LE6, LE9, RE9, RE7, RE6, RE5, RE4, RE3, RE1 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, LB9 }, \ + { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, LC9 }, \ + { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \ + { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, KC_NO, LE9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \ + { RB1, KC_NO, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \ + { RC1, KC_NO, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \ + { RD1, KC_NO, RD3, RD4, RD5, RD6, RD7, RD8, RD9 }, \ + { RE1, KC_NO, RE3, RE4, RE5, RE6, RE7, KC_NO, RE9 } \ + } diff --git a/keyboards/keebio/convolution/rev1/rules.mk b/keyboards/keebio/convolution/rev1/rules.mk new file mode 100644 index 0000000000..997fce7e65 --- /dev/null +++ b/keyboards/keebio/convolution/rev1/rules.mk @@ -0,0 +1 @@ +WS2812_DRIVER = vendor -- cgit v1.2.3