diff options
| author | Andrew-Fahmy <andrewj.fahmy@gmail.com> | 2021-12-06 22:58:02 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-06 20:58:02 -0800 |
| commit | 23554726c8d6495e8153c994ed4a58112a79be49 (patch) | |
| tree | d62bb67617635c9e2161d0c28048055652958db7 | |
| parent | c0dcfcedf92c5950d3ce7d8eb19e27f2f057c596 (diff) | |
| download | qmk_firmware-23554726c8d6495e8153c994ed4a58112a79be49.tar.gz qmk_firmware-23554726c8d6495e8153c994ed4a58112a79be49.zip | |
[Keyboard] Update K type (#15405)
Co-authored-by: Ryan <fauxpark@gmail.com>
| -rw-r--r-- | keyboards/k_type/config.h | 79 | ||||
| -rw-r--r-- | keyboards/k_type/i2c_master.c | 16 | ||||
| -rw-r--r-- | keyboards/k_type/i2c_master.h | 10 | ||||
| -rw-r--r-- | keyboards/k_type/is31fl3733-dual.c | 10 | ||||
| -rw-r--r-- | keyboards/k_type/is31fl3733-dual.h | 1 | ||||
| -rw-r--r-- | keyboards/k_type/k_type-rgbdriver.c | 4 | ||||
| -rw-r--r-- | keyboards/k_type/k_type.c | 55 | ||||
| -rw-r--r-- | keyboards/k_type/keymaps/default/keymap.c | 11 | ||||
| -rw-r--r-- | keyboards/k_type/keymaps/default/rules.mk (renamed from keyboards/k_type/keymaps/rgb/rules.mk) | 0 | ||||
| -rw-r--r-- | keyboards/k_type/keymaps/rgb/config.h | 32 | ||||
| -rw-r--r-- | keyboards/k_type/keymaps/rgb/keymap.c | 30 | ||||
| -rw-r--r-- | keyboards/k_type/keymaps/rgb/readme.md | 7 | ||||
| -rw-r--r-- | keyboards/k_type/mcuconf.h | 2 | ||||
| -rw-r--r-- | keyboards/k_type/rules.mk | 12 |
14 files changed, 160 insertions, 109 deletions
diff --git a/keyboards/k_type/config.h b/keyboards/k_type/config.h index 82f641c53..de73e06a9 100644 --- a/keyboards/k_type/config.h +++ b/keyboards/k_type/config.h | |||
| @@ -105,3 +105,82 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 105 | /* Bootmagic Lite key configuration */ | 105 | /* Bootmagic Lite key configuration */ |
| 106 | //#define BOOTMAGIC_LITE_ROW 0 | 106 | //#define BOOTMAGIC_LITE_ROW 0 |
| 107 | //#define BOOTMAGIC_LITE_COLUMN 0 | 107 | //#define BOOTMAGIC_LITE_COLUMN 0 |
| 108 | |||
| 109 | |||
| 110 | #ifdef RGB_MATRIX_ENABLE | ||
| 111 | //#include "gpio.h" | ||
| 112 | // RGB Matrix Animation modes. Explicitly enabled | ||
| 113 | // For full list of effects, see: | ||
| 114 | // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects | ||
| 115 | # define ENABLE_RGB_MATRIX_ALPHAS_MODS | ||
| 116 | # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
| 117 | # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT | ||
| 118 | # define ENABLE_RGB_MATRIX_BREATHING | ||
| 119 | # define ENABLE_RGB_MATRIX_BAND_SAT | ||
| 120 | # define ENABLE_RGB_MATRIX_BAND_VAL | ||
| 121 | # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
| 122 | # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
| 123 | # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
| 124 | # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
| 125 | # define ENABLE_RGB_MATRIX_CYCLE_ALL | ||
| 126 | # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
| 127 | # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
| 128 | # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
| 129 | # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
| 130 | # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
| 131 | # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
| 132 | # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
| 133 | # define ENABLE_RGB_MATRIX_DUAL_BEACON | ||
| 134 | # define ENABLE_RGB_MATRIX_RAINBOW_BEACON | ||
| 135 | # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
| 136 | # define ENABLE_RGB_MATRIX_RAINDROPS | ||
| 137 | # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
| 138 | # define ENABLE_RGB_MATRIX_HUE_BREATHING | ||
| 139 | # define ENABLE_RGB_MATRIX_HUE_PENDULUM | ||
| 140 | # define ENABLE_RGB_MATRIX_HUE_WAVE | ||
| 141 | # define ENABLE_RGB_MATRIX_PIXEL_RAIN | ||
| 142 | # define ENABLE_RGB_MATRIX_PIXEL_FLOW | ||
| 143 | # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL | ||
| 144 | // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined | ||
| 145 | # define ENABLE_RGB_MATRIX_TYPING_HEATMAP | ||
| 146 | # define ENABLE_RGB_MATRIX_DIGITAL_RAIN | ||
| 147 | // enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined | ||
| 148 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
| 149 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE | ||
| 150 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
| 151 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
| 152 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
| 153 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
| 154 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
| 155 | # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
| 156 | # define ENABLE_RGB_MATRIX_SPLASH | ||
| 157 | # define ENABLE_RGB_MATRIX_MULTISPLASH | ||
| 158 | # define ENABLE_RGB_MATRIX_SOLID_SPLASH | ||
| 159 | # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
| 160 | |||
| 161 | # define RGB_MATRIX_KEYPRESSES | ||
| 162 | # define RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
| 163 | |||
| 164 | |||
| 165 | // i2c_master defines | ||
| 166 | # define I2C_COUNT 2 | ||
| 167 | # define I2C1_CLOCK_SPEED 400000 | ||
| 168 | |||
| 169 | # define I2C1_SCL_PIN B0 // A2 on pinout = B0 | ||
| 170 | # define I2C1_SDA_PIN B1 // A2 on pinout = B1 | ||
| 171 | # define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | ||
| 172 | # define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | ||
| 173 | |||
| 174 | # define USE_I2C2 | ||
| 175 | # define I2C2_SCL_PIN C10 // A2 on pinout = C10 | ||
| 176 | # define I2C2_SDA_PIN C11 // A2 on pinout = C11 | ||
| 177 | # define I2C2_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | ||
| 178 | # define I2C2_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | ||
| 179 | |||
| 180 | # define DRIVER_ADDR_1 0b1010000 | ||
| 181 | # define DRIVER_ADDR_2 0b1010000 | ||
| 182 | # define DRIVER_COUNT 2 | ||
| 183 | # define DRIVER_1_LED_TOTAL 64 | ||
| 184 | # define DRIVER_2_LED_TOTAL 55 | ||
| 185 | # define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||
| 186 | #endif | ||
diff --git a/keyboards/k_type/i2c_master.c b/keyboards/k_type/i2c_master.c index 62d732c2d..af34d55ef 100644 --- a/keyboards/k_type/i2c_master.c +++ b/keyboards/k_type/i2c_master.c | |||
| @@ -63,22 +63,22 @@ static i2c_status_t chibios_to_qmk(const msg_t* status) { | |||
| 63 | } | 63 | } |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | __attribute__((weak)) void i2c_init(I2CDriver *driver, ioportid_t scl_port, ioportid_t sda_port, iopadid_t scl_pad, iopadid_t sda_pad) { | 66 | __attribute__((weak)) void i2c_init(I2CDriver *driver, ioline_t scl_pin, ioline_t sda_pin) { |
| 67 | static uint8_t index = 0; | 67 | static uint8_t index = 0; |
| 68 | if (index < I2C_COUNT) { | 68 | if (index < I2C_COUNT) { |
| 69 | 69 | ||
| 70 | // Try releasing special pins for a short time | 70 | // Try releasing special pins for a short time |
| 71 | palSetPadMode(scl_port, scl_pad, PAL_MODE_INPUT); | 71 | palSetLineMode(scl_pin, PAL_MODE_INPUT); |
| 72 | palSetPadMode(sda_port, sda_pad, PAL_MODE_INPUT); | 72 | palSetLineMode(sda_pin, PAL_MODE_INPUT); |
| 73 | 73 | ||
| 74 | chThdSleepMilliseconds(10); | 74 | chThdSleepMilliseconds(10); |
| 75 | 75 | ||
| 76 | #if defined(USE_GPIOV1) | 76 | #if defined(USE_GPIOV1) |
| 77 | palSetPadMode(scl_port, scl_pad, I2C1_SCL_PAL_MODE); | 77 | palSetLineMode(scl_pin, I2C1_SCL_PAL_MODE); |
| 78 | palSetPadMode(sda_port, sda_pad, I2C1_SDA_PAL_MODE); | 78 | palSetLineMode(sda_pin, I2C1_SDA_PAL_MODE); |
| 79 | #else | 79 | #else |
| 80 | palSetPadMode(scl_port, scl_pad, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); | 80 | palSetLineMode(scl_pin, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_OUTPUT_TYPE_OPENDRAIN); |
| 81 | palSetPadMode(sda_port, sda_pad, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); | 81 | palSetLineMode(sda_pin, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_OUTPUT_TYPE_OPENDRAIN); |
| 82 | #endif | 82 | #endif |
| 83 | 83 | ||
| 84 | drivers[index++] = driver; | 84 | drivers[index++] = driver; |
diff --git a/keyboards/k_type/i2c_master.h b/keyboards/k_type/i2c_master.h index 5a7893fae..d4e9d6878 100644 --- a/keyboards/k_type/i2c_master.h +++ b/keyboards/k_type/i2c_master.h | |||
| @@ -58,11 +58,11 @@ | |||
| 58 | # endif | 58 | # endif |
| 59 | #endif | 59 | #endif |
| 60 | 60 | ||
| 61 | #ifndef I2C1_SCL | 61 | #ifndef I2C1_SCL_PIN |
| 62 | # define I2C1_SCL 6 | 62 | # define I2C1_SCL_PIN 6 |
| 63 | #endif | 63 | #endif |
| 64 | #ifndef I2C1_SDA | 64 | #ifndef I2C1_SDA_PIN |
| 65 | # define I2C1_SDA 7 | 65 | # define I2C1_SDA_PIN 7 |
| 66 | #endif | 66 | #endif |
| 67 | 67 | ||
| 68 | #ifdef USE_I2CV1 | 68 | #ifdef USE_I2CV1 |
| @@ -118,7 +118,7 @@ typedef int16_t i2c_status_t; | |||
| 118 | #define I2C_STATUS_ERROR (-1) | 118 | #define I2C_STATUS_ERROR (-1) |
| 119 | #define I2C_STATUS_TIMEOUT (-2) | 119 | #define I2C_STATUS_TIMEOUT (-2) |
| 120 | 120 | ||
| 121 | void i2c_init(I2CDriver *driver, ioportid_t scl_port, ioportid_t sda_port, iopadid_t scl_pad, iopadid_t sda_pad); | 121 | void i2c_init(I2CDriver *driver, ioline_t scl_pin, ioline_t sda_pin); |
| 122 | i2c_status_t i2c_start(uint8_t index, uint8_t address); | 122 | i2c_status_t i2c_start(uint8_t index, uint8_t address); |
| 123 | i2c_status_t i2c_transmit(uint8_t index, uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout); | 123 | i2c_status_t i2c_transmit(uint8_t index, uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout); |
| 124 | i2c_status_t i2c_receive(uint8_t index, uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout); | 124 | i2c_status_t i2c_receive(uint8_t index, uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout); |
diff --git a/keyboards/k_type/is31fl3733-dual.c b/keyboards/k_type/is31fl3733-dual.c index 8f39e73c6..e76479b01 100644 --- a/keyboards/k_type/is31fl3733-dual.c +++ b/keyboards/k_type/is31fl3733-dual.c | |||
| @@ -51,7 +51,7 @@ | |||
| 51 | #define ISSI_REG_CSPULLUP 0x10 // PG3 | 51 | #define ISSI_REG_CSPULLUP 0x10 // PG3 |
| 52 | 52 | ||
| 53 | #ifndef ISSI_TIMEOUT | 53 | #ifndef ISSI_TIMEOUT |
| 54 | # define ISSI_TIMEOUT 100 | 54 | # define ISSI_TIMEOUT 5000 |
| 55 | #endif | 55 | #endif |
| 56 | 56 | ||
| 57 | #ifndef ISSI_PERSISTENCE | 57 | #ifndef ISSI_PERSISTENCE |
| @@ -80,12 +80,12 @@ bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t | |||
| 80 | 80 | ||
| 81 | #if ISSI_PERSISTENCE > 0 | 81 | #if ISSI_PERSISTENCE > 0 |
| 82 | for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { | 82 | for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { |
| 83 | if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) { | 83 | if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, TIME_US2I(ISSI_TIMEOUT)) != 0) { |
| 84 | return false; | 84 | return false; |
| 85 | } | 85 | } |
| 86 | } | 86 | } |
| 87 | #else | 87 | #else |
| 88 | if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) { | 88 | if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, TIME_US2I(ISSI_TIMEOUT)) != 0) { |
| 89 | return false; | 89 | return false; |
| 90 | } | 90 | } |
| 91 | #endif | 91 | #endif |
| @@ -110,12 +110,12 @@ bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffe | |||
| 110 | 110 | ||
| 111 | #if ISSI_PERSISTENCE > 0 | 111 | #if ISSI_PERSISTENCE > 0 |
| 112 | for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { | 112 | for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { |
| 113 | if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) { | 113 | if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, TIME_US2I(ISSI_TIMEOUT)) != 0) { |
| 114 | return false; | 114 | return false; |
| 115 | } | 115 | } |
| 116 | } | 116 | } |
| 117 | #else | 117 | #else |
| 118 | if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) { | 118 | if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, TIME_US2I(ISSI_TIMEOUT)) != 0) { |
| 119 | return false; | 119 | return false; |
| 120 | } | 120 | } |
| 121 | #endif | 121 | #endif |
diff --git a/keyboards/k_type/is31fl3733-dual.h b/keyboards/k_type/is31fl3733-dual.h index ea45a7086..d4af1848f 100644 --- a/keyboards/k_type/is31fl3733-dual.h +++ b/keyboards/k_type/is31fl3733-dual.h | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | 20 | ||
| 21 | #include <stdint.h> | 21 | #include <stdint.h> |
| 22 | #include <stdbool.h> | 22 | #include <stdbool.h> |
| 23 | #include "progmem.h" | ||
| 23 | 24 | ||
| 24 | typedef struct is31_led { | 25 | typedef struct is31_led { |
| 25 | uint8_t driver : 2; | 26 | uint8_t driver : 2; |
diff --git a/keyboards/k_type/k_type-rgbdriver.c b/keyboards/k_type/k_type-rgbdriver.c index 8369aa909..5ae132d63 100644 --- a/keyboards/k_type/k_type-rgbdriver.c +++ b/keyboards/k_type/k_type-rgbdriver.c | |||
| @@ -23,10 +23,10 @@ | |||
| 23 | 23 | ||
| 24 | 24 | ||
| 25 | static void init(void) { | 25 | static void init(void) { |
| 26 | i2c_init(&I2CD1, I2C1_SCL_BANK, I2C1_SDA_BANK, I2C1_SCL, I2C1_SDA); | 26 | i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN); |
| 27 | IS31FL3733_init(0, DRIVER_ADDR_1, 0); | 27 | IS31FL3733_init(0, DRIVER_ADDR_1, 0); |
| 28 | # ifdef USE_I2C2 | 28 | # ifdef USE_I2C2 |
| 29 | i2c_init(&I2CD2, I2C2_SCL_BANK, I2C2_SDA_BANK, I2C2_SCL, I2C2_SDA); | 29 | i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN); |
| 30 | IS31FL3733_init(1, DRIVER_ADDR_2, 0); | 30 | IS31FL3733_init(1, DRIVER_ADDR_2, 0); |
| 31 | # endif | 31 | # endif |
| 32 | for (int index = 0; index < DRIVER_LED_TOTAL; index++) { | 32 | for (int index = 0; index < DRIVER_LED_TOTAL; index++) { |
diff --git a/keyboards/k_type/k_type.c b/keyboards/k_type/k_type.c index 29e7fa57b..0e10710cb 100644 --- a/keyboards/k_type/k_type.c +++ b/keyboards/k_type/k_type.c | |||
| @@ -67,11 +67,11 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { | |||
| 67 | { 0, H_7, G_7, I_7 }, | 67 | { 0, H_7, G_7, I_7 }, |
| 68 | { 0, H_8, G_8, I_8 }, | 68 | { 0, H_8, G_8, I_8 }, |
| 69 | { 0, H_9, G_9, I_9 }, | 69 | { 0, H_9, G_9, I_9 }, |
| 70 | { 0, H_10, G_10, I_10 }, | 70 | { 0, H_10, G_10, I_10 }, |
| 71 | { 0, H_11, G_11, I_11 }, | 71 | { 0, H_11, G_11, I_11 }, |
| 72 | { 0, H_12, G_12, I_12 }, | 72 | { 0, H_12, G_12, I_12 }, |
| 73 | { 0, H_13, G_13, I_13 }, | 73 | { 0, H_13, G_13, I_13 }, |
| 74 | { 0, H_14, G_14, I_14 }, | 74 | { 0, H_14, G_14, I_14 }, |
| 75 | { 0, H_15, G_15, I_15 }, | 75 | { 0, H_15, G_15, I_15 }, |
| 76 | { 0, H_16, G_16, I_16 }, | 76 | { 0, H_16, G_16, I_16 }, |
| 77 | 77 | ||
| @@ -84,15 +84,15 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { | |||
| 84 | { 0, K_7, J_7, L_7 }, | 84 | { 0, K_7, J_7, L_7 }, |
| 85 | { 0, K_8, J_8, L_8 }, | 85 | { 0, K_8, J_8, L_8 }, |
| 86 | { 0, K_9, J_9, L_9 }, | 86 | { 0, K_9, J_9, L_9 }, |
| 87 | { 0, K_10, J_10, L_10 }, | 87 | { 0, K_10, J_10, L_10 }, |
| 88 | { 0, K_11, J_11, L_11 }, | 88 | { 0, K_11, J_11, L_11 }, |
| 89 | { 0, K_12, J_12, L_12 }, | 89 | { 0, K_12, J_12, L_12 }, |
| 90 | { 0, K_13, J_13, L_13 }, | 90 | { 0, K_13, J_13, L_13 }, |
| 91 | { 0, K_14, J_14, L_14 }, | 91 | { 0, K_14, J_14, L_14 }, |
| 92 | { 0, K_15, J_15, L_15 }, | 92 | { 0, K_15, J_15, L_15 }, |
| 93 | { 0, K_16, J_16, L_16 }, | 93 | { 0, K_16, J_16, L_16 }, |
| 94 | 94 | ||
| 95 | // Driver 2 is on I2C2 - currently not usable with i2c_master | 95 | // Driver 2 is on I2C2 |
| 96 | { 1, B_1, A_1, C_1 }, | 96 | { 1, B_1, A_1, C_1 }, |
| 97 | { 1, B_2, A_2, C_2 }, | 97 | { 1, B_2, A_2, C_2 }, |
| 98 | { 1, B_3, A_3, C_3 }, | 98 | { 1, B_3, A_3, C_3 }, |
| @@ -176,7 +176,7 @@ led_config_t g_led_config = { | |||
| 176 | { 0, 42.67 }, { 13.18, 42.67 }, { 26.35, 42.67 }, { 39.53, 42.67 }, { 52.71, 42.67 }, { 65.88, 42.67 }, { 79.06, 42.67 }, { 92.24, 42.67 }, { 105.41, 42.67 }, { 118.59, 42.67 }, { 131.77, 42.67 }, { 144.94, 42.67 }, { 171.29, 42.67 }, | 176 | { 0, 42.67 }, { 13.18, 42.67 }, { 26.35, 42.67 }, { 39.53, 42.67 }, { 52.71, 42.67 }, { 65.88, 42.67 }, { 79.06, 42.67 }, { 92.24, 42.67 }, { 105.41, 42.67 }, { 118.59, 42.67 }, { 131.77, 42.67 }, { 144.94, 42.67 }, { 171.29, 42.67 }, |
| 177 | { 0, 53.33 }, { 26.35, 53.33 }, { 39.53, 53.33 }, { 52.71, 53.33 }, { 65.88, 53.33 }, { 79.06, 53.33 }, { 92.24, 53.33 }, { 105.41, 53.33 }, { 118.59, 53.33 }, { 131.77, 53.33 }, { 144.94, 53.33 }, { 171.29, 53.33 }, { 210.82, 53.33 }, | 177 | { 0, 53.33 }, { 26.35, 53.33 }, { 39.53, 53.33 }, { 52.71, 53.33 }, { 65.88, 53.33 }, { 79.06, 53.33 }, { 92.24, 53.33 }, { 105.41, 53.33 }, { 118.59, 53.33 }, { 131.77, 53.33 }, { 144.94, 53.33 }, { 171.29, 53.33 }, { 210.82, 53.33 }, |
| 178 | { 0, 64 }, { 13.18, 64 }, { 26.35, 64 }, { 79.06, 64 }, { 131.77, 64 }, { 144.94, 64 }, { 158.12, 64 }, { 171.29, 64 }, { 197.65, 64 }, { 210.82, 64 }, { 224, 64 }, | 178 | { 0, 64 }, { 13.18, 64 }, { 26.35, 64 }, { 79.06, 64 }, { 131.77, 64 }, { 144.94, 64 }, { 158.12, 64 }, { 171.29, 64 }, { 197.65, 64 }, { 210.82, 64 }, { 224, 64 }, |
| 179 | 179 | ||
| 180 | // Underglow LED | 180 | // Underglow LED |
| 181 | { 224, 64 }, { 206.77, 64 }, { 189.54, 64 }, { 172.31, 64 }, { 155.08, 64 }, { 137.85, 64 }, { 120.61, 64 }, { 103.38, 64 }, { 86.15, 64 }, { 68.92, 64 }, { 51.69, 64 }, { 34.46, 64 }, { 17.23, 64 }, { 0, 64 }, | 181 | { 224, 64 }, { 206.77, 64 }, { 189.54, 64 }, { 172.31, 64 }, { 155.08, 64 }, { 137.85, 64 }, { 120.61, 64 }, { 103.38, 64 }, { 86.15, 64 }, { 68.92, 64 }, { 51.69, 64 }, { 34.46, 64 }, { 17.23, 64 }, { 0, 64 }, |
| 182 | { 0, 42.67 }, { 0, 21.33 }, | 182 | { 0, 42.67 }, { 0, 21.33 }, |
| @@ -197,10 +197,39 @@ led_config_t g_led_config = { | |||
| 197 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 197 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 198 | 198 | ||
| 199 | 2, 2, | 199 | 2, 2, |
| 200 | 200 | ||
| 201 | 2, 2, | 201 | 2, 2, |
| 202 | 202 | ||
| 203 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 203 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 204 | } | 204 | } |
| 205 | }; | 205 | }; |
| 206 | #endif | 206 | #endif |
| 207 | |||
| 208 | |||
| 209 | void keyboard_pre_init_kb(void) { | ||
| 210 | #ifdef RGB_MATRIX_ENABLE | ||
| 211 | // Turn on LED controller | ||
| 212 | setPinOutput(B16); | ||
| 213 | writePinHigh(B16); | ||
| 214 | #endif | ||
| 215 | keyboard_pre_init_user(); | ||
| 216 | } | ||
| 217 | |||
| 218 | void matrix_init_kb(void) { | ||
| 219 | // put your keyboard start-up code here | ||
| 220 | // runs once when the firmware starts up | ||
| 221 | |||
| 222 | #ifdef RGB_MATRIX_ENABLE | ||
| 223 | /* | ||
| 224 | * Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c), | ||
| 225 | * and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot. | ||
| 226 | */ | ||
| 227 | # if !defined(RGB_MATRIX_STARTUP_SPD) | ||
| 228 | # define RGB_MATRIX_STARTUP_SPD UINT8_MAX / 2 | ||
| 229 | # endif | ||
| 230 | rgb_matrix_set_speed(RGB_MATRIX_STARTUP_SPD), | ||
| 231 | rgb_matrix_set_flags(LED_FLAG_ALL); | ||
| 232 | #endif | ||
| 233 | |||
| 234 | matrix_init_user(); | ||
| 235 | } | ||
diff --git a/keyboards/k_type/keymaps/default/keymap.c b/keyboards/k_type/keymaps/default/keymap.c index b8df4df5e..ef069af65 100644 --- a/keyboards/k_type/keymaps/default/keymap.c +++ b/keyboards/k_type/keymaps/default/keymap.c | |||
| @@ -8,6 +8,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 8 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, | 8 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, |
| 9 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | 9 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, |
| 10 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | 10 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, |
| 11 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | 11 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT |
| 12 | ), | ||
| 13 | [1] = LAYOUT_tkl_ansi( | ||
| 14 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, | ||
| 15 | |||
| 16 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_HUI, RGB_SAI, RGB_VAI, | ||
| 17 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, | ||
| 18 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 19 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 20 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 12 | ) | 21 | ) |
| 13 | }; | 22 | }; |
diff --git a/keyboards/k_type/keymaps/rgb/rules.mk b/keyboards/k_type/keymaps/default/rules.mk index aad92997d..aad92997d 100644 --- a/keyboards/k_type/keymaps/rgb/rules.mk +++ b/keyboards/k_type/keymaps/default/rules.mk | |||
diff --git a/keyboards/k_type/keymaps/rgb/config.h b/keyboards/k_type/keymaps/rgb/config.h deleted file mode 100644 index 4c5d23454..000000000 --- a/keyboards/k_type/keymaps/rgb/config.h +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #ifdef RGB_MATRIX_ENABLE | ||
| 4 | # define RGB_MATRIX_KEYPRESSES | ||
| 5 | # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR | ||
| 6 | |||
| 7 | # define RGB_MATRIX_LED_FLUSH_LIMIT 100 | ||
| 8 | |||
| 9 | |||
| 10 | // i2c_master defines | ||
| 11 | # define I2C_COUNT 2 | ||
| 12 | |||
| 13 | # define I2C1_BANK GPIOB | ||
| 14 | # define I2C1_SCL 0 // A2 on pinout = B0 | ||
| 15 | # define I2C1_SDA 1 // A2 on pinout = B1 | ||
| 16 | # define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | ||
| 17 | # define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | ||
| 18 | |||
| 19 | # define USE_I2C2 | ||
| 20 | # define I2C2_BANK GPIOC | ||
| 21 | # define I2C2_SCL 10 // A2 on pinout = C10 | ||
| 22 | # define I2C2_SDA 11 // A2 on pinout = C11 | ||
| 23 | # define I2C2_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | ||
| 24 | # define I2C2_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | ||
| 25 | |||
| 26 | # define DRIVER_ADDR_1 0b1010000 | ||
| 27 | # define DRIVER_ADDR_2 0b1010000 | ||
| 28 | # define DRIVER_COUNT 2 | ||
| 29 | # define DRIVER_1_LED_TOTAL 64 | ||
| 30 | # define DRIVER_2_LED_TOTAL 55 | ||
| 31 | # define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | ||
| 32 | #endif | ||
diff --git a/keyboards/k_type/keymaps/rgb/keymap.c b/keyboards/k_type/keymaps/rgb/keymap.c deleted file mode 100644 index 88f5eaa37..000000000 --- a/keyboards/k_type/keymaps/rgb/keymap.c +++ /dev/null | |||
| @@ -1,30 +0,0 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | |||
| 3 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 4 | [0] = LAYOUT_tkl_ansi( | ||
| 5 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, | ||
| 6 | |||
| 7 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, | ||
| 8 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, | ||
| 9 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | ||
| 10 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | ||
| 11 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
| 12 | ), | ||
| 13 | [1] = LAYOUT_tkl_ansi( | ||
| 14 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, | ||
| 15 | |||
| 16 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_HUI, RGB_SAI, RGB_VAI, | ||
| 17 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, | ||
| 18 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 19 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 20 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 21 | ) | ||
| 22 | }; | ||
| 23 | |||
| 24 | #ifdef RGB_MATRIX_ENABLE | ||
| 25 | // Turn off SDB | ||
| 26 | void keyboard_pre_init_user() { | ||
| 27 | palSetPadMode(GPIOB, 16, PAL_MODE_OUTPUT_PUSHPULL); | ||
| 28 | palSetPad(GPIOB, 16); | ||
| 29 | } | ||
| 30 | #endif | ||
diff --git a/keyboards/k_type/keymaps/rgb/readme.md b/keyboards/k_type/keymaps/rgb/readme.md deleted file mode 100644 index 330321976..000000000 --- a/keyboards/k_type/keymaps/rgb/readme.md +++ /dev/null | |||
| @@ -1,7 +0,0 @@ | |||
| 1 | # K-Type RGB Matrix Keymap | ||
| 2 | |||
| 3 | This is an experimental keymap adding support for RGB Matrix on the K-Type. | ||
| 4 | |||
| 5 | The keyboard should now support full RGB lightings. The lighting animations are running at 10 fps for performance reasons. | ||
| 6 | You can configure this by changing the `RGB_MATRIX_LED_FLUSH_LIMIT` inside the `config.h` file to a lower value. | ||
| 7 | For example `RGB_MATRIX_LED_FLUSH_LIMIT 16` would mean that the animations run every 16 ms or at 60 fps. | ||
diff --git a/keyboards/k_type/mcuconf.h b/keyboards/k_type/mcuconf.h index 1d9ecf610..b898d25e8 100644 --- a/keyboards/k_type/mcuconf.h +++ b/keyboards/k_type/mcuconf.h | |||
| @@ -52,6 +52,6 @@ | |||
| 52 | #define KINETIS_I2C_I2C0_PRIORITY 4 | 52 | #define KINETIS_I2C_I2C0_PRIORITY 4 |
| 53 | 53 | ||
| 54 | #define KINETIS_I2C_USE_I2C1 TRUE | 54 | #define KINETIS_I2C_USE_I2C1 TRUE |
| 55 | #define KINETIS_I2C_I2C0_PRIORITY 4 | 55 | #define KINETIS_I2C_I2C1_PRIORITY 4 |
| 56 | 56 | ||
| 57 | #endif /* _MCUCONF_H_ */ | 57 | #endif /* _MCUCONF_H_ */ |
diff --git a/keyboards/k_type/rules.mk b/keyboards/k_type/rules.mk index 102c787bc..71e638569 100644 --- a/keyboards/k_type/rules.mk +++ b/keyboards/k_type/rules.mk | |||
| @@ -15,20 +15,22 @@ BOARD = IC_TEENSY_3_1 | |||
| 15 | # change yes to no to disable | 15 | # change yes to no to disable |
| 16 | # | 16 | # |
| 17 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | 17 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite |
| 18 | MOUSEKEY_ENABLE = yes # Mouse keys | 18 | MOUSEKEY_ENABLE = no # Mouse keys |
| 19 | EXTRAKEY_ENABLE = yes # Audio control and System control | 19 | EXTRAKEY_ENABLE = no # Audio control and System control |
| 20 | CONSOLE_ENABLE = yes # Console for debug | 20 | CONSOLE_ENABLE = no # Console for debug |
| 21 | COMMAND_ENABLE = yes # Commands for debug and configuration | 21 | COMMAND_ENABLE = no # Commands for debug and configuration |
| 22 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | 22 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work |
| 23 | NKRO_ENABLE = yes # USB Nkey Rollover | 23 | NKRO_ENABLE = yes # USB Nkey Rollover |
| 24 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | 24 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality |
| 25 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | 25 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow |
| 26 | AUDIO_ENABLE = no # Audio output | 26 | AUDIO_ENABLE = no # Audio output |
| 27 | |||
| 28 | # RGB options | ||
| 27 | RGB_MATRIX_ENABLE = no | 29 | RGB_MATRIX_ENABLE = no |
| 28 | RGB_MATRIX_DRIVER = custom | 30 | RGB_MATRIX_DRIVER = custom |
| 29 | 31 | ||
| 32 | # Additional files for RGB lighting | ||
| 30 | SRC += k_type-rgbdriver.c | 33 | SRC += k_type-rgbdriver.c |
| 31 | |||
| 32 | QUANTUM_LIB_SRC += i2c_master.c is31fl3733-dual.c | 34 | QUANTUM_LIB_SRC += i2c_master.c is31fl3733-dual.c |
| 33 | 35 | ||
| 34 | LAYOUTS = tkl_ansi | 36 | LAYOUTS = tkl_ansi |
