From c73514a2b7284df51b8c6acd416e3fcb01dcbdc7 Mon Sep 17 00:00:00 2001 From: Danny Nguyen Date: Thu, 18 Jan 2018 14:51:16 -0500 Subject: [PATCH] Update pinout for Rev. 1.0 Iris without LED --- keyboards/iris/iris.h | 2 + keyboards/iris/keymaps/default/config.h | 2 +- keyboards/iris/keymaps/hexwire/config.h | 2 +- keyboards/iris/keymaps/lewisridden/config.h | 2 +- keyboards/iris/rev1/config.h | 6 +- keyboards/iris/rev1_led/config.h | 90 +++++++++++++++++++++ keyboards/iris/rev1_led/rev1_led.c | 22 +++++ keyboards/iris/rev1_led/rev1_led.h | 40 +++++++++ keyboards/iris/rev1_led/rules.mk | 1 + keyboards/iris/rev2/config.h | 2 +- keyboards/iris/rev2/rev2.h | 4 +- 11 files changed, 164 insertions(+), 9 deletions(-) create mode 100644 keyboards/iris/rev1_led/config.h create mode 100644 keyboards/iris/rev1_led/rev1_led.c create mode 100644 keyboards/iris/rev1_led/rev1_led.h create mode 100644 keyboards/iris/rev1_led/rules.mk diff --git a/keyboards/iris/iris.h b/keyboards/iris/iris.h index ec2aabab0..a0df746fb 100644 --- a/keyboards/iris/iris.h +++ b/keyboards/iris/iris.h @@ -3,6 +3,8 @@ #ifdef KEYBOARD_iris_rev1 #include "rev1.h" +#elif KEYBOARD_iris_rev1_led + #include "rev1_led.h" #else #include "rev2.h" #endif diff --git a/keyboards/iris/keymaps/default/config.h b/keyboards/iris/keymaps/default/config.h index c4604af43..72e35c472 100644 --- a/keyboards/iris/keymaps/default/config.h +++ b/keyboards/iris/keymaps/default/config.h @@ -1,5 +1,5 @@ /* -Copyright 2017 Danny Nguyen +Copyright 2017 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 diff --git a/keyboards/iris/keymaps/hexwire/config.h b/keyboards/iris/keymaps/hexwire/config.h index 81df2e916..53b00d24f 100644 --- a/keyboards/iris/keymaps/hexwire/config.h +++ b/keyboards/iris/keymaps/hexwire/config.h @@ -1,5 +1,5 @@ /* -Copyright 2017 Danny Nguyen +Copyright 2017 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 diff --git a/keyboards/iris/keymaps/lewisridden/config.h b/keyboards/iris/keymaps/lewisridden/config.h index 259efc8d2..6d96b31bd 100644 --- a/keyboards/iris/keymaps/lewisridden/config.h +++ b/keyboards/iris/keymaps/lewisridden/config.h @@ -1,5 +1,5 @@ /* -Copyright 2017 Danny Nguyen +Copyright 2017 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 diff --git a/keyboards/iris/rev1/config.h b/keyboards/iris/rev1/config.h index c9bc62528..c22d49b26 100644 --- a/keyboards/iris/rev1/config.h +++ b/keyboards/iris/rev1/config.h @@ -1,5 +1,5 @@ /* -Copyright 2017 Danny Nguyen +Copyright 2017 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 @@ -35,7 +35,7 @@ along with this program. If not, see . // wiring of each half #define MATRIX_ROW_PINS { D7, E6, B4, B5, D4 } -#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, F4 } +#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 } /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW @@ -59,7 +59,7 @@ along with this program. If not, see . keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) -#define BACKLIGHT_PIN B6 +#define BACKLIGHT_PIN D2 #define BACKLIGHT_LEVELS 5 /* ws2812 RGB LED */ diff --git a/keyboards/iris/rev1_led/config.h b/keyboards/iris/rev1_led/config.h new file mode 100644 index 000000000..957776022 --- /dev/null +++ b/keyboards/iris/rev1_led/config.h @@ -0,0 +1,90 @@ +/* +Copyright 2017 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 . +*/ + +#ifndef REV1_CONFIG_H +#define REV1_CONFIG_H + +#include QMK_KEYBOARD_CONFIG_H + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCEEB +#define PRODUCT_ID 0x1256 +#define DEVICE_VER 0x0100 +#define MANUFACTURER Keebio +#define PRODUCT Iris Keyboard +#define DESCRIPTION Split 50 percent ergonomic keyboard + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_ROW_PINS { D7, E6, B4, B5, D4 } +#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, F4 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +// #define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 5 + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D3 +#define RGBLIGHT_TIMER +#define RGBLED_NUM 12 // Number of LEDs +#define ws2812_PORTREG PORTD +#define ws2812_DDRREG DDRD + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/iris/rev1_led/rev1_led.c b/keyboards/iris/rev1_led/rev1_led.c new file mode 100644 index 000000000..7a4c87488 --- /dev/null +++ b/keyboards/iris/rev1_led/rev1_led.c @@ -0,0 +1,22 @@ +#include "rev1_led.h" + + +#ifdef SSD1306OLED +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + led_set_user(usb_led); +} +#endif + +void matrix_init_kb(void) { + + // // green led on + // DDRD |= (1<<5); + // PORTD &= ~(1<<5); + + // // orange led on + // DDRB |= (1<<0); + // PORTB &= ~(1<<0); + + matrix_init_user(); +}; diff --git a/keyboards/iris/rev1_led/rev1_led.h b/keyboards/iris/rev1_led/rev1_led.h new file mode 100644 index 000000000..82aa01eb5 --- /dev/null +++ b/keyboards/iris/rev1_led/rev1_led.h @@ -0,0 +1,40 @@ +#ifndef REV1_LED_H +#define REV1_LED_H + +#include "iris.h" + +//void promicro_bootloader_jmp(bool program); +#include "quantum.h" + + +#ifdef USE_I2C +#include +#ifdef __AVR__ + #include + #include +#endif +#endif + +//void promicro_bootloader_jmp(bool program); + +#define KEYMAP( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, LT4, RT4, R30, R31, R32, R33, R34, R35, \ + LT1, LT2, LT3, RT3, RT2, RT1 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { KC_NO, KC_NO, LT4, LT1, LT2, LT3 }, \ + { R05, R04, R03, R02, R01, R00 }, \ + { R15, R14, R13, R12, R11, R10 }, \ + { R25, R24, R23, R22, R21, R20 }, \ + { R35, R34, R33, R32, R31, R30 }, \ + { KC_NO, KC_NO, RT4, RT1, RT2, RT3 } \ + } + +#endif diff --git a/keyboards/iris/rev1_led/rules.mk b/keyboards/iris/rev1_led/rules.mk new file mode 100644 index 000000000..7b30c0bef --- /dev/null +++ b/keyboards/iris/rev1_led/rules.mk @@ -0,0 +1 @@ +BACKLIGHT_ENABLE = no diff --git a/keyboards/iris/rev2/config.h b/keyboards/iris/rev2/config.h index 290fba450..4aa8cda17 100644 --- a/keyboards/iris/rev2/config.h +++ b/keyboards/iris/rev2/config.h @@ -1,5 +1,5 @@ /* -Copyright 2017 Danny Nguyen +Copyright 2017 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 diff --git a/keyboards/iris/rev2/rev2.h b/keyboards/iris/rev2/rev2.h index 6d2053651..e0230673e 100644 --- a/keyboards/iris/rev2/rev2.h +++ b/keyboards/iris/rev2/rev2.h @@ -1,5 +1,5 @@ -#ifndef REV1_H -#define REV1_H +#ifndef REV2_H +#define REV2_H #include "iris.h" -- 2.39.2