rgb working, configd
This commit is contained in:
		
							parent
							
								
									93871ba3e9
								
							
						
					
					
						commit
						71436db957
					
				
					 10 changed files with 231 additions and 129 deletions
				
			
		| 
						 | 
				
			
			@ -43,7 +43,11 @@ static const I2CConfig i2cconfig = {
 | 
			
		|||
 | 
			
		||||
void i2c_init(void)
 | 
			
		||||
{
 | 
			
		||||
  palSetGroupMode(GPIOB, GPIOB_PIN6 | GPIOB_PIN7, 0, PAL_MODE_INPUT); // Try releasing special pins for a short time
 | 
			
		||||
  //palSetGroupMode(GPIOB, GPIOB_PIN6 | GPIOB_PIN7, 0, PAL_MODE_INPUT); // Try releasing special pins for a short time
 | 
			
		||||
 | 
			
		||||
  palSetPadMode(GPIOB, 6, PAL_MODE_INPUT);
 | 
			
		||||
  palSetPadMode(GPIOB, 7, PAL_MODE_INPUT);
 | 
			
		||||
 | 
			
		||||
  chThdSleepMilliseconds(10);
 | 
			
		||||
 | 
			
		||||
  palSetPadMode(GPIOB, 6, PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_PUPDR_PULLUP);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,7 +24,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
#include "ch.h"
 | 
			
		||||
#include <hal.h>
 | 
			
		||||
#include "hal.h"
 | 
			
		||||
 | 
			
		||||
#ifndef I2C_DRIVER
 | 
			
		||||
  #define I2C_DRIVER I2CD1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,7 +77,7 @@ uint8_t g_twi_transfer_buffer[20];
 | 
			
		|||
uint8_t g_pwm_buffer[DRIVER_COUNT][192];
 | 
			
		||||
bool g_pwm_buffer_update_required = false;
 | 
			
		||||
 | 
			
		||||
uint8_t g_led_control_registers[DRIVER_COUNT][24] = { { 0 }, { 0 } };
 | 
			
		||||
uint8_t g_led_control_registers[DRIVER_COUNT][24] = { { 0 } };
 | 
			
		||||
bool g_led_control_registers_update_required = false;
 | 
			
		||||
 | 
			
		||||
void IS31FL3733_write_register( uint8_t addr, uint8_t reg, uint8_t data )
 | 
			
		||||
| 
						 | 
				
			
			@ -159,7 +159,7 @@ void IS31FL3733_init( uint8_t addr )
 | 
			
		|||
    // Select PG3
 | 
			
		||||
    IS31FL3733_write_register( addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION );
 | 
			
		||||
    // Set global current to maximum.
 | 
			
		||||
    IS31FL3733_write_register( addr, ISSI_REG_GLOBALCURRENT, 0xFF );
 | 
			
		||||
    IS31FL3733_write_register( addr, ISSI_REG_GLOBALCURRENT, 0x03 );
 | 
			
		||||
    // Disable software shutdown.
 | 
			
		||||
    IS31FL3733_write_register( addr, ISSI_REG_CONFIGURATION, 0x01 );
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -125,13 +125,13 @@
 | 
			
		|||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 | 
			
		||||
//#define MIDI_TONE_KEYCODE_OCTAVES 1
 | 
			
		||||
 | 
			
		||||
#define WS2812_LED_N 2
 | 
			
		||||
#define RGBLED_NUM WS2812_LED_N
 | 
			
		||||
#define WS2812_TIM_N 2
 | 
			
		||||
#define WS2812_TIM_CH 2
 | 
			
		||||
#define PORT_WS2812     GPIOA
 | 
			
		||||
#define PIN_WS2812      1
 | 
			
		||||
#define WS2812_DMA_STREAM STM32_DMA1_STREAM2  // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
 | 
			
		||||
// #define WS2812_LED_N 2
 | 
			
		||||
// #define RGBLED_NUM WS2812_LED_N
 | 
			
		||||
// #define WS2812_TIM_N 2
 | 
			
		||||
// #define WS2812_TIM_CH 2
 | 
			
		||||
// #define PORT_WS2812     GPIOA
 | 
			
		||||
// #define PIN_WS2812      1
 | 
			
		||||
// #define WS2812_DMA_STREAM STM32_DMA1_STREAM2  // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
 | 
			
		||||
//#define WS2812_DMA_CHANNEL 7                  // DMA channel for TIMx_UP
 | 
			
		||||
//#define WS2812_EXTERNAL_PULLUP
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -142,4 +142,6 @@
 | 
			
		|||
#define DRIVER_1_LED_TOTAL 47
 | 
			
		||||
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
 | 
			
		||||
 | 
			
		||||
#define IS31FL3737
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,27 +28,6 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		|||
    {0, A_9,   B_9,   C_9},
 | 
			
		||||
    {0, A_8,   B_8,   C_8},
 | 
			
		||||
    {0, A_7,   B_7,   C_7},
 | 
			
		||||
    {0, A_6,   B_6,   C_6},
 | 
			
		||||
    {0, A_5,   B_5,   C_5},
 | 
			
		||||
    {0, A_4,   B_4,   C_4},
 | 
			
		||||
    {0, A_3,   B_3,   C_3},
 | 
			
		||||
    {0, A_2,   B_2,   C_2},
 | 
			
		||||
    {0, A_1,   B_1,   C_1},
 | 
			
		||||
    {0, A_0,   B_0,   C_0},
 | 
			
		||||
 | 
			
		||||
    {0, D_12,  E_12,  F_12},
 | 
			
		||||
    {0, D_11,  E_11,  F_11},
 | 
			
		||||
    {0, D_10,  E_10,  F_10},
 | 
			
		||||
    {0, D_9,   E_9,   F_9},
 | 
			
		||||
    {0, D_8,   E_8,   F_8},
 | 
			
		||||
    {0, D_7,   E_7,   F_7},
 | 
			
		||||
    {0, D_6,   E_6,   F_6},
 | 
			
		||||
    {0, D_5,   E_5,   F_5},
 | 
			
		||||
    {0, D_4,   E_4,   F_4},
 | 
			
		||||
    {0, D_3,   E_3,   F_3},
 | 
			
		||||
    {0, D_2,   E_2,   F_2},
 | 
			
		||||
    {0, D_1,   E_1,   F_1},
 | 
			
		||||
    {0, D_0,   E_0,   F_0},
 | 
			
		||||
 | 
			
		||||
    {0, G_12,  H_12,  I_12},
 | 
			
		||||
    {0, G_11,  H_11,  I_11},
 | 
			
		||||
| 
						 | 
				
			
			@ -56,13 +35,27 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		|||
    {0, G_9,   H_9,   I_9},
 | 
			
		||||
    {0, G_8,   H_8,   I_8},
 | 
			
		||||
    {0, G_7,   H_7,   I_7},
 | 
			
		||||
 | 
			
		||||
    {0, A_6,   B_6,   C_6},
 | 
			
		||||
    {0, A_5,   B_5,   C_5},
 | 
			
		||||
    {0, A_4,   B_4,   C_4},
 | 
			
		||||
    {0, A_3,   B_3,   C_3},
 | 
			
		||||
    {0, A_2,   B_2,   C_2},
 | 
			
		||||
    {0, A_1,   B_1,   C_1},
 | 
			
		||||
 | 
			
		||||
    {0, G_6,   H_6,   I_6},
 | 
			
		||||
    {0, G_5,   H_5,   I_5},
 | 
			
		||||
    {0, G_4,   H_4,   I_4},
 | 
			
		||||
    {0, G_3,   H_3,   I_3},
 | 
			
		||||
    {0, G_2,   H_2,   I_2},
 | 
			
		||||
    {0, G_1,   H_1,   I_1},
 | 
			
		||||
    {0, G_0,   H_0,   I_0},
 | 
			
		||||
 | 
			
		||||
    {0, D_12,  E_12,  F_12},
 | 
			
		||||
    {0, D_11,  E_11,  F_11},
 | 
			
		||||
    {0, D_10,  E_10,  F_10},
 | 
			
		||||
    {0, D_9,   E_9,   F_9},
 | 
			
		||||
    {0, D_8,   E_8,   F_8},
 | 
			
		||||
    {0, D_7,   E_7,   F_7},
 | 
			
		||||
 | 
			
		||||
    {0, J_12,  K_12,  L_12},
 | 
			
		||||
    {0, J_11,  K_11,  L_11},
 | 
			
		||||
| 
						 | 
				
			
			@ -70,12 +63,19 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
 | 
			
		|||
    {0, J_9,   K_9,   L_9},
 | 
			
		||||
    {0, J_8,   K_8,   L_8},
 | 
			
		||||
    {0, J_7,   K_7,   L_7},
 | 
			
		||||
 | 
			
		||||
    {0, D_6,   E_6,   F_6},
 | 
			
		||||
    {0, D_5,   E_5,   F_5},
 | 
			
		||||
    {0, D_4,   E_4,   F_4},
 | 
			
		||||
    {0, D_3,   E_3,   F_3},
 | 
			
		||||
    {0, D_2,   E_2,   F_2},
 | 
			
		||||
    {0, D_1,   E_1,   F_1},
 | 
			
		||||
 | 
			
		||||
    {0, J_6,   K_6,   L_6},
 | 
			
		||||
    {0, J_5,   K_5,   L_5},
 | 
			
		||||
    {0, J_4,   K_4,   L_4},
 | 
			
		||||
    {0, J_3,   K_3,   L_3},
 | 
			
		||||
    {0, J_2,   K_2,   L_2},
 | 
			
		||||
    {0, J_1,   K_1,   L_1},
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,3 +16,92 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "planck.h"
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_1x2uC( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34,    k35,   k36, k37, k38, k39, k3a \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_1x2uR( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35,   k36,    k37, k38, k39, k3a \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_1x2uL( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33,   k34,    k35, k36, k37, k38, k39, k3a \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_2x2u( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33,   k34,      k36,    k37, k38, k39, k3a \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_grid( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k3b, k36, k37, k38, k39, k3a \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define KEYMAP LAYOUT_planck_grid
 | 
			
		||||
#define LAYOUT_ortho_4x12 LAYOUT_planck_grid
 | 
			
		||||
#define KC_LAYOUT_ortho_4x12 KC_KEYMAP
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -76,7 +76,7 @@
 | 
			
		|||
 * @brief   Enables the I2C subsystem.
 | 
			
		||||
 */
 | 
			
		||||
#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
 | 
			
		||||
#define HAL_USE_I2C                 FALSE
 | 
			
		||||
#define HAL_USE_I2C                 TRUE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -111,7 +111,7 @@
 | 
			
		|||
 * @brief   Enables the PWM subsystem.
 | 
			
		||||
 */
 | 
			
		||||
#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
 | 
			
		||||
#define HAL_USE_PWM                 TRUE
 | 
			
		||||
#define HAL_USE_PWM                 FALSE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -154,7 +154,7 @@
 | 
			
		|||
/*
 | 
			
		||||
 * I2C driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define STM32_I2C_USE_I2C1                  FALSE
 | 
			
		||||
#define STM32_I2C_USE_I2C1                  TRUE
 | 
			
		||||
#define STM32_I2C_USE_I2C2                  FALSE
 | 
			
		||||
#define STM32_I2C_BUSY_TIMEOUT              50
 | 
			
		||||
#define STM32_I2C_I2C1_IRQ_PRIORITY         10
 | 
			
		||||
| 
						 | 
				
			
			@ -183,8 +183,8 @@
 | 
			
		|||
 */
 | 
			
		||||
#define STM32_PWM_USE_ADVANCED              FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM1                  FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM2                  TRUE
 | 
			
		||||
#define STM32_PWM_USE_TIM3                  TRUE
 | 
			
		||||
#define STM32_PWM_USE_TIM2                  FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM3                  FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM4                  FALSE
 | 
			
		||||
#define STM32_PWM_USE_TIM8                  FALSE
 | 
			
		||||
#define STM32_PWM_TIM1_IRQ_PRIORITY         7
 | 
			
		||||
| 
						 | 
				
			
			@ -197,7 +197,7 @@
 | 
			
		|||
 * SERIAL driver system settings.
 | 
			
		||||
 */
 | 
			
		||||
#define STM32_SERIAL_USE_USART1             FALSE
 | 
			
		||||
#define STM32_SERIAL_USE_USART2             TRUE
 | 
			
		||||
#define STM32_SERIAL_USE_USART2             FALSE
 | 
			
		||||
#define STM32_SERIAL_USE_USART3             FALSE
 | 
			
		||||
#define STM32_SERIAL_USE_UART4              FALSE
 | 
			
		||||
#define STM32_SERIAL_USE_UART5              FALSE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,97 +48,14 @@
 | 
			
		|||
#define LAYOUT_ortho_4x12 LAYOUT_planck_grid
 | 
			
		||||
#define KC_LAYOUT_ortho_4x12 KC_KEYMAP
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	#define LAYOUT_planck_1x2uC( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34,    k35,   k37, k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_1x2uR( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35,   k37,    k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_1x2uL( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33,   k34,    k36, k37, k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_2x2u( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33,   k34,      k36,    k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_grid( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define KEYMAP LAYOUT_planck_grid
 | 
			
		||||
#define LAYOUT_ortho_4x12 LAYOUT_planck_grid
 | 
			
		||||
#define KC_LAYOUT_ortho_4x12 KC_KEYMAP
 | 
			
		||||
#ifdef KEYBOARD_planck_rev6
 | 
			
		||||
  #include "rev6.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef KEYBOARD_planck_ez
 | 
			
		||||
  #include "ez.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,4 +18,94 @@
 | 
			
		|||
 | 
			
		||||
#include "planck.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_1x2uC( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34,    k35,   k37, k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_1x2uR( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35,   k37,    k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_1x2uL( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33,   k34,    k36, k37, k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_2x2u( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33,   k34,      k36,    k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_planck_grid( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25 }, \
 | 
			
		||||
    { k30, k31, k32, k39, k3a, k3b }, \
 | 
			
		||||
    { k06, k07, k08, k09, k0a, k0b }, \
 | 
			
		||||
    { k16, k17, k18, k19, k1a, k1b }, \
 | 
			
		||||
    { k26, k27, k28, k29, k2a, k2b }, \
 | 
			
		||||
    { k36, k37, k38, k33, k34, k35 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define KEYMAP LAYOUT_planck_grid
 | 
			
		||||
#define LAYOUT_ortho_4x12 LAYOUT_planck_grid
 | 
			
		||||
#define KC_LAYOUT_ortho_4x12 KC_KEYMAP
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue