mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Move encoder config to data driven (#19923)
Co-authored-by: Nick Brassel <nick@tzarc.org>
This commit is contained in:
		
							parent
							
								
									314f6c1ddb
								
							
						
					
					
						commit
						7e0299117b
					
				@ -19,9 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
// clang-format off
 | 
					// clang-format off
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TAP_CODE_DELAY 10
 | 
					#define TAP_CODE_DELAY 10
 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { F6 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F5 }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define RGB_DI_PIN D3
 | 
					#define RGB_DI_PIN D3
 | 
				
			||||||
#ifdef RGB_DI_PIN
 | 
					#ifdef RGB_DI_PIN
 | 
				
			||||||
 | 
				
			|||||||
@ -13,6 +13,11 @@
 | 
				
			|||||||
    "levels": 7,
 | 
					    "levels": 7,
 | 
				
			||||||
    "breathing": true
 | 
					    "breathing": true
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  "encoder": {
 | 
				
			||||||
 | 
					    "rotary": [
 | 
				
			||||||
 | 
					      {"pin_a": "F6", "pin_b": "F5"}
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  "qmk_lufa_bootloader": {
 | 
					  "qmk_lufa_bootloader": {
 | 
				
			||||||
    "led": "B0"
 | 
					    "led": "B0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
				
			|||||||
@ -35,9 +35,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TAP_CODE_DELAY 10
 | 
					#define TAP_CODE_DELAY 10
 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { D0 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { D1 }
 | 
					 | 
				
			||||||
// clang-format on
 | 
					// clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
					/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
    "pid": "0xA455",
 | 
					    "pid": "0xA455",
 | 
				
			||||||
    "device_version": "0.0.1"
 | 
					    "device_version": "0.0.1"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  "encoder": {
 | 
				
			||||||
 | 
					    "rotary": [
 | 
				
			||||||
 | 
					      {"pin_a": "D0", "pin_b": "D1"}
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  "processor": "atmega328p",
 | 
					  "processor": "atmega328p",
 | 
				
			||||||
  "bootloader": "usbasploader",
 | 
					  "bootloader": "usbasploader",
 | 
				
			||||||
  "layout_aliases": {
 | 
					  "layout_aliases": {
 | 
				
			||||||
 | 
				
			|||||||
@ -40,8 +40,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define OLED_FONT_H "./lib/glcdfont.c"
 | 
					#define OLED_FONT_H "./lib/glcdfont.c"
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { C7 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F7 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x7C99",
 | 
					        "pid": "0x7C99",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "C7", "pin_b": "F7"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina",
 | 
					    "bootloader": "caterina",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -20,9 +20,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { GP21, GP20, GP19, GP18 }
 | 
					#define MATRIX_ROW_PINS { GP21, GP20, GP19, GP18 }
 | 
				
			||||||
#define MATRIX_COL_PINS { GP1, GP2, GP3, GP4, GP5, GP6, GP7, GP8, GP9, GP10, GP11, GP12 }
 | 
					#define MATRIX_COL_PINS { GP1, GP2, GP3, GP4, GP5, GP6, GP7, GP8, GP9, GP10, GP11, GP12 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { GP14 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { GP13 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_DI_PIN GP0
 | 
					#define RGB_DI_PIN GP0
 | 
				
			||||||
#define RGB_MATRIX_LED_COUNT 47
 | 
					#define RGB_MATRIX_LED_COUNT 47
 | 
				
			||||||
#define RGBLED_NUM 47
 | 
					#define RGBLED_NUM 47
 | 
				
			||||||
 | 
				
			|||||||
@ -6,6 +6,11 @@
 | 
				
			|||||||
        "pid": "0x5600",
 | 
					        "pid": "0x5600",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "GP14", "pin_b": "GP13"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "RP2040",
 | 
					    "processor": "RP2040",
 | 
				
			||||||
    "bootloader": "rp2040",
 | 
					    "bootloader": "rp2040",
 | 
				
			||||||
    "board": "GENERIC_RP_RP2040",
 | 
					    "board": "GENERIC_RP_RP2040",
 | 
				
			||||||
 | 
				
			|||||||
@ -34,10 +34,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { D1, D2, D3, D4 }
 | 
					#define MATRIX_ROW_PINS { D1, D2, D3, D4 }
 | 
				
			||||||
#define MATRIX_COL_PINS { D5, D6, C2, D0 }
 | 
					#define MATRIX_COL_PINS { D5, D6, C2, D0 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B1, B3 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B2, B4 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* COL2ROW, ROW2COL */
 | 
					/* COL2ROW, ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,12 @@
 | 
				
			|||||||
      "pid": "0x5517",
 | 
					      "pid": "0x5517",
 | 
				
			||||||
      "device_version": "0.0.1"
 | 
					      "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					      "rotary": [
 | 
				
			||||||
 | 
					        {"pin_a": "B1", "pin_b": "B2"},
 | 
				
			||||||
 | 
					        {"pin_a": "B3", "pin_b": "B4"}
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u2",
 | 
					    "processor": "atmega32u2",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -25,9 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
/* COL2ROW, ROW2COL*/
 | 
					/* COL2ROW, ROW2COL*/
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B6, B5 }  // located @ upper left
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B7, B4 }  // located @ bottom left
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_DI_PIN C7
 | 
					#define RGB_DI_PIN C7
 | 
				
			||||||
#ifdef RGB_DI_PIN
 | 
					#ifdef RGB_DI_PIN
 | 
				
			||||||
   #define RGBLED_NUM 6
 | 
					   #define RGBLED_NUM 6
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,12 @@
 | 
				
			|||||||
    "usb": {
 | 
					    "usb": {
 | 
				
			||||||
        "device_version": "0.0.0"
 | 
					        "device_version": "0.0.0"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B6", "pin_b": "B7"},
 | 
				
			||||||
 | 
					            {"pin_a": "B5", "pin_b": "B4"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u2",
 | 
					    "processor": "atmega32u2",
 | 
				
			||||||
    "bootloader": "atmel-dfu"
 | 
					    "bootloader": "atmel-dfu"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -25,9 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
/* COL2ROW, ROW2COL*/
 | 
					/* COL2ROW, ROW2COL*/
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B5, F5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B6, F6 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_DI_PIN B3
 | 
					#define RGB_DI_PIN B3
 | 
				
			||||||
#ifdef RGB_DI_PIN
 | 
					#ifdef RGB_DI_PIN
 | 
				
			||||||
   #define RGBLED_NUM 8
 | 
					   #define RGBLED_NUM 8
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,12 @@
 | 
				
			|||||||
    "usb": {
 | 
					    "usb": {
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B5", "pin_b": "B6"},
 | 
				
			||||||
 | 
					            {"pin_a": "F5", "pin_b": "F6"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "backlight": {
 | 
					    "backlight": {
 | 
				
			||||||
        "pin": "C6",
 | 
					        "pin": "C6",
 | 
				
			||||||
        "levels": 8,
 | 
					        "levels": 8,
 | 
				
			||||||
 | 
				
			|||||||
@ -17,10 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B6, B3 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B2, B1 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_DI_PIN D3
 | 
					#define RGB_DI_PIN D3
 | 
				
			||||||
#ifdef RGB_DI_PIN
 | 
					#ifdef RGB_DI_PIN
 | 
				
			||||||
#    define RGBLED_NUM 5
 | 
					#    define RGBLED_NUM 5
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,12 @@
 | 
				
			|||||||
        "pid": "0xCA42",
 | 
					        "pid": "0xCA42",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B6", "pin_b": "B2"},
 | 
				
			||||||
 | 
					            {"pin_a": "B3", "pin_b": "B1"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina",
 | 
					    "bootloader": "caterina",
 | 
				
			||||||
    "matrix_pins": {
 | 
					    "matrix_pins": {
 | 
				
			||||||
 | 
				
			|||||||
@ -5,11 +5,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { C4, C5 }
 | 
					#define MATRIX_ROW_PINS { C4, C5 }
 | 
				
			||||||
#define MATRIX_COL_PINS { B3, B4, B5, B6, B7, C7, B2 }
 | 
					#define MATRIX_COL_PINS { B3, B4, B5, B6, B7, C7, B2 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { D0 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { D1 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* COL2ROW or ROW2COL */
 | 
					/* COL2ROW or ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x6090",
 | 
					        "pid": "0x6090",
 | 
				
			||||||
        "device_version": "0.0.2"
 | 
					        "device_version": "0.0.2"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D0", "pin_b": "D1", "resolution": 1}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u2",
 | 
					    "processor": "atmega32u2",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -18,10 +18,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B4 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B5 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* key matrix pins */
 | 
					/* key matrix pins */
 | 
				
			||||||
#define MATRIX_ROW_PINS { D3, D5, D7, D6 }
 | 
					#define MATRIX_ROW_PINS { D3, D5, D7, D6 }
 | 
				
			||||||
#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, B7, F6, F5, F4, C7, F7, C6, B6, D4 }
 | 
					#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, B7, F6, F5, F4, C7, F7, C6, B6, D4 }
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
      "pid": "0x4511",
 | 
					      "pid": "0x4511",
 | 
				
			||||||
      "device_version": "0.0.1"
 | 
					      "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					      "rotary": [
 | 
				
			||||||
 | 
					        {"pin_a": "B4", "pin_b": "B5"}
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -18,10 +18,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define MATRIX_ROW_PINS { B0, B1, D7, B2, D6, B3, D5, B4, D4, B5 }
 | 
					#define MATRIX_ROW_PINS { B0, B1, D7, B2, D6, B3, D5, B4, D4, B5 }
 | 
				
			||||||
#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5 }
 | 
					#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5 }
 | 
				
			||||||
#define ENCODERS_PAD_A  { D0 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B  { D1 }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
#define TAP_CODE_DELAY 16
 | 
					#define TAP_CODE_DELAY 16
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0001",
 | 
					        "pid": "0x0001",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D0", "pin_b": "D1"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega328p",
 | 
					    "processor": "atmega328p",
 | 
				
			||||||
    "bootloader": "usbasploader",
 | 
					    "bootloader": "usbasploader",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -33,10 +33,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define DIP_SWITCH_PINS { D0 }
 | 
					#define DIP_SWITCH_PINS { D0 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { F1 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F0 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* COL2ROW, ROW2COL*/
 | 
					/* COL2ROW, ROW2COL*/
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
#define RGB_DI_PIN D1
 | 
					#define RGB_DI_PIN D1
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0000",
 | 
					        "pid": "0x0000",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "F1", "pin_b": "F0"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -64,7 +64,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
//#define NO_ACTION_LAYER
 | 
					//#define NO_ACTION_LAYER
 | 
				
			||||||
//#define NO_ACTION_TAPPING
 | 
					//#define NO_ACTION_TAPPING
 | 
				
			||||||
//#define NO_ACTION_ONESHOT
 | 
					//#define NO_ACTION_ONESHOT
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B2, B3, D5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B1, B7, B4 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,13 @@
 | 
				
			|||||||
        "pid": "0x0001",
 | 
					        "pid": "0x0001",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B2", "pin_b": "B1", "resolution": 2},
 | 
				
			||||||
 | 
					            {"pin_a": "B3", "pin_b": "B7", "resolution": 2},
 | 
				
			||||||
 | 
					            {"pin_a": "D5", "pin_b": "B4", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "backlight": {
 | 
					    "backlight": {
 | 
				
			||||||
        "pin": "C6",
 | 
					        "pin": "C6",
 | 
				
			||||||
        "levels": 15
 | 
					        "levels": 15
 | 
				
			||||||
 | 
				
			|||||||
@ -17,11 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
/* encoder pads */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B6 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B7 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Keyboard Matrix Assignments
 | 
					 * Keyboard Matrix Assignments
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
				
			|||||||
@ -6,6 +6,11 @@
 | 
				
			|||||||
    "pid": "0x5368",
 | 
					    "pid": "0x5368",
 | 
				
			||||||
    "device_version": "0.0.1"
 | 
					    "device_version": "0.0.1"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  "encoder": {
 | 
				
			||||||
 | 
					    "rotary": [
 | 
				
			||||||
 | 
					      {"pin_a": "B6", "pin_b": "B7"}
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  "backlight": {
 | 
					  "backlight": {
 | 
				
			||||||
    "pin": "B0"
 | 
					    "pin": "B0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
				
			|||||||
@ -49,7 +49,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
 | 
					#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
 | 
				
			||||||
#define WS2812_DMA_CHANNEL 6
 | 
					#define WS2812_DMA_CHANNEL 6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { C15 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { C14 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define EEPROM_I2C_24LC256
 | 
					#define EEPROM_I2C_24LC256
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,11 @@
 | 
				
			|||||||
        "pid": "0x5369",
 | 
					        "pid": "0x5369",
 | 
				
			||||||
        "device_version": "0.0.2"
 | 
					        "device_version": "0.0.2"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "C15", "pin_b": "C14"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "backlight": {
 | 
					    "backlight": {
 | 
				
			||||||
        "pin": "A6",
 | 
					        "pin": "A6",
 | 
				
			||||||
        "levels": 20,
 | 
					        "levels": 20,
 | 
				
			||||||
 | 
				
			|||||||
@ -37,10 +37,6 @@
 | 
				
			|||||||
#define SPI_MOSI_PIN GP27
 | 
					#define SPI_MOSI_PIN GP27
 | 
				
			||||||
#define SPI_MISO_PIN GP28
 | 
					#define SPI_MISO_PIN GP28
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Encoders */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { GP18 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { GP17 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Double tap the side button to enter bootloader */
 | 
					/* Double tap the side button to enter bootloader */
 | 
				
			||||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
 | 
					#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
 | 
				
			||||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP13
 | 
					#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP13
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0108",
 | 
					        "pid": "0x0108",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "GP18", "pin_b": "GP17"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "bootmagic": {
 | 
					    "bootmagic": {
 | 
				
			||||||
        "matrix": [1, 2]
 | 
					        "matrix": [1, 2]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
@ -20,12 +20,6 @@
 | 
				
			|||||||
/* COL2ROW, ROW2COL */
 | 
					/* COL2ROW, ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*Rotary encoder - set the resolution fitting your encoder.
 | 
					 | 
				
			||||||
Most will need a value of 4. If 1 encoder click results in 2 keycodes sent
 | 
					 | 
				
			||||||
increase the value. If you need 2 clicks for 1 keycode, decrease*/
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B1 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B3 }
 | 
					 | 
				
			||||||
#define TAP_CODE_DELAY 10
 | 
					#define TAP_CODE_DELAY 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Audio functionality */
 | 
					/* Audio functionality */
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,11 @@
 | 
				
			|||||||
        "pid": "0x0004",
 | 
					        "pid": "0x0004",
 | 
				
			||||||
        "vid": "0x4450"
 | 
					        "vid": "0x4450"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B1", "pin_b": "B3"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina",
 | 
					    "bootloader": "caterina",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -34,12 +34,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
/* COL2ROW, ROW2COL */
 | 
					/* COL2ROW, ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*Rotary encoder - set the resolution fitting your encoder.
 | 
					 | 
				
			||||||
Most will need a value of 4. If 1 encoder click results in 2 keycodes sent
 | 
					 | 
				
			||||||
increase the value. If you need 2 clicks for 1 keycode, decrease*/
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B7 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { D5 }
 | 
					 | 
				
			||||||
#define TAP_CODE_DELAY 10
 | 
					#define TAP_CODE_DELAY 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Underglow options: */
 | 
					/* Underglow options: */
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0001",
 | 
					        "pid": "0x0001",
 | 
				
			||||||
        "device_version": "1.0.0"
 | 
					        "device_version": "1.0.0"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B7", "pin_b": "D5"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -20,12 +20,6 @@
 | 
				
			|||||||
/* COL2ROW, ROW2COL */
 | 
					/* COL2ROW, ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*Rotary encoder - set the resolution fitting your encoder.
 | 
					 | 
				
			||||||
Most will need a value of 4. If 1 encoder click results in 2 keycodes sent
 | 
					 | 
				
			||||||
increase the value. If you need 2 clicks for 1 keycode, decrease*/
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { F1 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F0 }
 | 
					 | 
				
			||||||
#define TAP_CODE_DELAY 10
 | 
					#define TAP_CODE_DELAY 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Underglow options: */
 | 
					/* Underglow options: */
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,11 @@
 | 
				
			|||||||
        "pid": "0x0002",
 | 
					        "pid": "0x0002",
 | 
				
			||||||
        "vid": "0x4450"
 | 
					        "vid": "0x4450"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "F1", "pin_b": "F0"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina",
 | 
					    "bootloader": "caterina",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -3,9 +3,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { D5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B7 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define OLED_DISPLAY_128X64 //Comment this out to change the screen size
 | 
					#define OLED_DISPLAY_128X64 //Comment this out to change the screen size
 | 
				
			||||||
 | 
				
			|||||||
@ -25,6 +25,11 @@
 | 
				
			|||||||
        "pid": "0x4564",
 | 
					        "pid": "0x4564",
 | 
				
			||||||
        "vid": "0xA059"
 | 
					        "vid": "0xA059"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D5", "pin_b": "B7", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
        "LAYOUT_2u_single_space": {
 | 
					        "LAYOUT_2u_single_space": {
 | 
				
			||||||
            "layout": [
 | 
					            "layout": [
 | 
				
			||||||
 | 
				
			|||||||
@ -20,12 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { D2 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { D4 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A_RIGHT { D4 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B_RIGHT { D2 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* key matrix pins */
 | 
					/* key matrix pins */
 | 
				
			||||||
#define MATRIX_ROW_PINS { C6, D7, E6, B4, F4 }
 | 
					#define MATRIX_ROW_PINS { C6, D7, E6, B4, F4 }
 | 
				
			||||||
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
 | 
					#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
 | 
				
			||||||
 | 
				
			|||||||
@ -8,8 +8,20 @@
 | 
				
			|||||||
        "pid": "0xF902",
 | 
					        "pid": "0xF902",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D2", "pin_b": "D4", "resolution": 3}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "split": {
 | 
					    "split": {
 | 
				
			||||||
        "soft_serial_pin": "D3"
 | 
					        "soft_serial_pin": "D3",
 | 
				
			||||||
 | 
					        "encoder": {
 | 
				
			||||||
 | 
					            "right": {
 | 
				
			||||||
 | 
					                "rotary": [
 | 
				
			||||||
 | 
					                    {"pin_a": "D4", "pin_b": "D2", "resolution": 3}
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina",
 | 
					    "bootloader": "caterina",
 | 
				
			||||||
 | 
				
			|||||||
@ -19,11 +19,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { A4, B14, B15, B9, B10, B11 }
 | 
					#define MATRIX_ROW_PINS { A4, B14, B15, B9, B10, B11 }
 | 
				
			||||||
#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5, B6, B7, A5, A6, A7, A8, A15, A2, A1, A0, B8, B13 }
 | 
					#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5, B6, B7, A5, A6, A7, A8, A15, A2, A1, A0, B8, B13 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B12 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { A14 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TAP_CODE_DELAY 10
 | 
					#define TAP_CODE_DELAY 10
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0651",
 | 
					        "pid": "0x0651",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B12", "pin_b": "A14", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "STM32F303",
 | 
					    "processor": "STM32F303",
 | 
				
			||||||
    "bootloader": "stm32-dfu",
 | 
					    "bootloader": "stm32-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -27,9 +27,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define TAPPING_TERM 200
 | 
					#define TAPPING_TERM 200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Encoder */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { F5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F4 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define TAP_CODE_DELAY 50
 | 
					#define TAP_CODE_DELAY 50
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,11 @@
 | 
				
			|||||||
        "pid": "0x0040",
 | 
					        "pid": "0x0040",
 | 
				
			||||||
        "device_version": "0.0.2"
 | 
					        "device_version": "0.0.2"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "F5", "pin_b": "F4"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina"
 | 
					    "bootloader": "caterina"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,22 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
Copyright 2020 David Doan
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* rotary encoder*/
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A {F0}
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B {F1}
 | 
					 | 
				
			||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x4F46",
 | 
					        "pid": "0x4F46",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					  "encoder": {
 | 
				
			||||||
 | 
					    "rotary": [
 | 
				
			||||||
 | 
					      {"pin_a": "F0", "pin_b": "F1"}
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  "processor": "atmega32u4",
 | 
					  "processor": "atmega32u4",
 | 
				
			||||||
  "bootloader": "caterina",
 | 
					  "bootloader": "caterina",
 | 
				
			||||||
  "matrix_pins": {
 | 
					  "matrix_pins": {
 | 
				
			||||||
 | 
				
			|||||||
@ -21,11 +21,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { F1, F7, F6, F5, F4, D5 }
 | 
					#define MATRIX_ROW_PINS { F1, F7, F6, F5, F4, D5 }
 | 
				
			||||||
#define MATRIX_COL_PINS { F0, C7, C6, B6, B5, B4, D7, D6, B2, B7, D3, D2, D1, D0, B3 }
 | 
					#define MATRIX_COL_PINS { F0, C7, C6, B6, B5, B4, D7, D6, B2, B7, D3, D2, D1, D0, B3 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Encoder pins */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { E6 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B0 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
#define ENCODERS 1
 | 
					 | 
				
			||||||
#define ENCODERS_CCW_KEY { { 4, 5 } } // Note:  array is { col, row )
 | 
					#define ENCODERS_CCW_KEY { { 4, 5 } } // Note:  array is { col, row )
 | 
				
			||||||
#define ENCODERS_CW_KEY  { { 3, 5 } } // Note:  array is { col, row )
 | 
					#define ENCODERS_CW_KEY  { { 3, 5 } } // Note:  array is { col, row )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,11 @@
 | 
				
			|||||||
        "pid": "0x0081",
 | 
					        "pid": "0x0081",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "E6", "pin_b": "B0"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "indicators": {
 | 
					    "indicators": {
 | 
				
			||||||
        "caps_lock": "D4",
 | 
					        "caps_lock": "D4",
 | 
				
			||||||
        "on_state": 0
 | 
					        "on_state": 0
 | 
				
			||||||
 | 
				
			|||||||
@ -18,16 +18,12 @@
 | 
				
			|||||||
#include "encoder_actions.h"
 | 
					#include "encoder_actions.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
 | 
					#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
 | 
				
			||||||
 | 
					static uint8_t  encoder_state[NUM_ENCODERS] = {0};
 | 
				
			||||||
#    ifdef ENCODERS
 | 
					static keypos_t encoder_cw[NUM_ENCODERS]    = ENCODERS_CW_KEY;
 | 
				
			||||||
static uint8_t  encoder_state[ENCODERS] = {0};
 | 
					static keypos_t encoder_ccw[NUM_ENCODERS]   = ENCODERS_CCW_KEY;
 | 
				
			||||||
static keypos_t encoder_cw[ENCODERS]    = ENCODERS_CW_KEY;
 | 
					 | 
				
			||||||
static keypos_t encoder_ccw[ENCODERS]   = ENCODERS_CCW_KEY;
 | 
					 | 
				
			||||||
#    endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
void encoder_action_unregister(void) {
 | 
					void encoder_action_unregister(void) {
 | 
				
			||||||
#    ifdef ENCODERS
 | 
					    for (int index = 0; index < NUM_ENCODERS; ++index) {
 | 
				
			||||||
    for (int index = 0; index < ENCODERS; ++index) {
 | 
					 | 
				
			||||||
        if (encoder_state[index]) {
 | 
					        if (encoder_state[index]) {
 | 
				
			||||||
            keyevent_t encoder_event = (keyevent_t) {
 | 
					            keyevent_t encoder_event = (keyevent_t) {
 | 
				
			||||||
                .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
 | 
					                .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
 | 
				
			||||||
@ -38,11 +34,9 @@ void encoder_action_unregister(void) {
 | 
				
			|||||||
            action_exec(encoder_event);
 | 
					            action_exec(encoder_event);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#    endif
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void encoder_action_register(uint8_t index, bool clockwise) {
 | 
					void encoder_action_register(uint8_t index, bool clockwise) {
 | 
				
			||||||
#    ifdef ENCODERS
 | 
					 | 
				
			||||||
    keyevent_t encoder_event = (keyevent_t) {
 | 
					    keyevent_t encoder_event = (keyevent_t) {
 | 
				
			||||||
        .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
 | 
					        .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
 | 
				
			||||||
        .pressed = true,
 | 
					        .pressed = true,
 | 
				
			||||||
@ -50,7 +44,6 @@ void encoder_action_register(uint8_t index, bool clockwise) {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
    encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
 | 
					    encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
 | 
				
			||||||
    action_exec(encoder_event);
 | 
					    action_exec(encoder_event);
 | 
				
			||||||
#    endif
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void matrix_scan_kb(void) {
 | 
					void matrix_scan_kb(void) {
 | 
				
			||||||
 | 
				
			|||||||
@ -30,13 +30,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { D7, E6, B4, B5, F6, F7, B1, B3, B6, B2 }
 | 
					#define MATRIX_ROW_PINS { D7, E6, B4, B5, F6, F7, B1, B3, B6, B2 }
 | 
				
			||||||
#define MATRIX_COL_PINS { C6, D4, D0, D1, D2, D3 }
 | 
					#define MATRIX_COL_PINS { C6, D4, D0, D1, D2, D3 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* encoder support */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { F5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F4 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A_RIGHT { F4 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B_RIGHT { F5 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
 | 
					/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,20 @@
 | 
				
			|||||||
      "pid": "0x0001",
 | 
					      "pid": "0x0001",
 | 
				
			||||||
      "device_version": "0.0.1"
 | 
					      "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "F5", "pin_b": "F4"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "split": {
 | 
				
			||||||
 | 
					        "encoder": {
 | 
				
			||||||
 | 
					            "right": {
 | 
				
			||||||
 | 
					                "rotary": [
 | 
				
			||||||
 | 
					                    {"pin_a": "F4", "pin_b": "F5"}
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -30,11 +30,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { D7, E6, B4, B5, F6, F7, B1, B3, B6, B2 }
 | 
					#define MATRIX_ROW_PINS { D7, E6, B4, B5, F6, F7, B1, B3, B6, B2 }
 | 
				
			||||||
#define MATRIX_COL_PINS { F4, F5, C6, D4, D2, D3 }
 | 
					#define MATRIX_COL_PINS { F4, F5, C6, D4, D2, D3 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* encoder support */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { D5, D5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B7, C7 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
 | 
					/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,12 @@
 | 
				
			|||||||
      "pid": "0x0001",
 | 
					      "pid": "0x0001",
 | 
				
			||||||
      "device_version": "0.0.2"
 | 
					      "device_version": "0.0.2"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D5", "pin_b": "B7"},
 | 
				
			||||||
 | 
					            {"pin_a": "D5", "pin_b": "C7"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -13,7 +13,3 @@
 | 
				
			|||||||
#define RGBLED_NUM 12
 | 
					#define RGBLED_NUM 12
 | 
				
			||||||
#define RGBLED_SPLIT { 6, 6 }
 | 
					#define RGBLED_SPLIT { 6, 6 }
 | 
				
			||||||
#define RGBLIGHT_SPLIT
 | 
					#define RGBLIGHT_SPLIT
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F4 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0002",
 | 
					        "pid": "0x0002",
 | 
				
			||||||
        "device_version": "0.0.2"
 | 
					        "device_version": "0.0.2"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B5", "pin_b": "F4", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "split": {
 | 
					    "split": {
 | 
				
			||||||
        "soft_serial_pin": "D2"
 | 
					        "soft_serial_pin": "D2"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
@ -13,7 +13,3 @@
 | 
				
			|||||||
#define RGBLED_NUM 12
 | 
					#define RGBLED_NUM 12
 | 
				
			||||||
#define RGBLED_SPLIT { 7, 7 }
 | 
					#define RGBLED_SPLIT { 7, 7 }
 | 
				
			||||||
#define RGBLIGHT_SPLIT
 | 
					#define RGBLIGHT_SPLIT
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F4 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0003",
 | 
					        "pid": "0x0003",
 | 
				
			||||||
        "device_version": "0.0.3"
 | 
					        "device_version": "0.0.3"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B5", "pin_b": "F4", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "split": {
 | 
					    "split": {
 | 
				
			||||||
        "soft_serial_pin": "D2"
 | 
					        "soft_serial_pin": "D2"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
@ -8,10 +8,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { F4 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGBLIGHT_ENABLE
 | 
					#ifdef RGBLIGHT_ENABLE
 | 
				
			||||||
#    define RGB_DI_PIN D3
 | 
					#    define RGB_DI_PIN D3
 | 
				
			||||||
#    define RGBLED_NUM 64
 | 
					#    define RGBLED_NUM 64
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0004",
 | 
					        "pid": "0x0004",
 | 
				
			||||||
        "device_version": "0.0.4"
 | 
					        "device_version": "0.0.4"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B5", "pin_b": "F4", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "split": {
 | 
					    "split": {
 | 
				
			||||||
        "soft_serial_pin": "D2"
 | 
					        "soft_serial_pin": "D2"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
@ -157,15 +157,4 @@
 | 
				
			|||||||
#   define MIDI_INITIAL_VELOCITY 117
 | 
					#   define MIDI_INITIAL_VELOCITY 117
 | 
				
			||||||
#endif  //  MIDI_ENABLE
 | 
					#endif  //  MIDI_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					#define TAP_CODE_DELAY 10
 | 
				
			||||||
 * Encoder options
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#ifdef ENCODER_ENABLE
 | 
					 | 
				
			||||||
#   define ENCODERS_PAD_A { }
 | 
					 | 
				
			||||||
#   define ENCODERS_PAD_B { }
 | 
					 | 
				
			||||||
#   define ENCODER_RESOLUTIONS { }
 | 
					 | 
				
			||||||
#   define ENCODERS_PAD_A_RIGHT { F5 }
 | 
					 | 
				
			||||||
#   define ENCODERS_PAD_B_RIGHT { F4 }
 | 
					 | 
				
			||||||
#   define ENCODER_RESOLUTIONS_RIGHT { 4 }
 | 
					 | 
				
			||||||
#   define TAP_CODE_DELAY 10
 | 
					 | 
				
			||||||
#endif  // ENCODER_ENABLE
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,14 @@
 | 
				
			|||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "split": {
 | 
					    "split": {
 | 
				
			||||||
        "soft_serial_pin": "D2"
 | 
					        "soft_serial_pin": "D2",
 | 
				
			||||||
 | 
					        "encoder": {
 | 
				
			||||||
 | 
					            "right": {
 | 
				
			||||||
 | 
					                "rotary": [
 | 
				
			||||||
 | 
					                    {"pin_a": "F5", "pin_b": "F4"}
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina",
 | 
					    "bootloader": "caterina",
 | 
				
			||||||
 | 
				
			|||||||
@ -22,10 +22,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { B0, B7, F7, B1, B6, C6, C7, B5, F6, D2 }
 | 
					#define MATRIX_ROW_PINS { B0, B7, F7, B1, B6, C6, C7, B5, F6, D2 }
 | 
				
			||||||
#define MATRIX_COL_PINS { F0, F1, F4, F5, D1, B2, D0, B3 }
 | 
					#define MATRIX_COL_PINS { F0, F1, F4, F5, D1, B2, D0, B3 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { D4, D6, D7 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B4, D3, D5 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* COL2ROW, ROW2COL*/
 | 
					/* COL2ROW, ROW2COL*/
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,13 @@
 | 
				
			|||||||
        "pid": "0xEAF3",
 | 
					        "pid": "0xEAF3",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D4", "pin_b": "B4"},
 | 
				
			||||||
 | 
					            {"pin_a": "D6", "pin_b": "D3"},
 | 
				
			||||||
 | 
					            {"pin_a": "D7", "pin_b": "D5"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "bootmagic": {
 | 
					    "bootmagic": {
 | 
				
			||||||
        "matrix": [1, 0]
 | 
					        "matrix": [1, 0]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
				
			|||||||
@ -30,7 +30,4 @@
 | 
				
			|||||||
/* Locking resynchronize hack */
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
#define LOCKING_RESYNC_ENABLE
 | 
					#define LOCKING_RESYNC_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { D7 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { C0 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
#define TAP_CODE_DELAY 10
 | 
					#define TAP_CODE_DELAY 10
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x8989",
 | 
					        "pid": "0x8989",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D7", "pin_b": "C0"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32a",
 | 
					    "processor": "atmega32a",
 | 
				
			||||||
    "bootloader": "usbasploader",
 | 
					    "bootloader": "usbasploader",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -37,9 +37,5 @@
 | 
				
			|||||||
/* COL2ROW, ROW2COL*/
 | 
					/* COL2ROW, ROW2COL*/
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* rotary encoder */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B7 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { E6 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define PMW33XX_CS_PIN SPI_SS_PIN
 | 
					#define PMW33XX_CS_PIN SPI_SS_PIN
 | 
				
			||||||
#define POINTING_DEVICE_INVERT_Y
 | 
					#define POINTING_DEVICE_INVERT_Y
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0001",
 | 
					        "pid": "0x0001",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B7", "pin_b": "E6"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "qmk-dfu",
 | 
					    "bootloader": "qmk-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -22,12 +22,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define EE_HANDS
 | 
					#define EE_HANDS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// encoders
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B4 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A_RIGHT { B5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B_RIGHT { B4 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// OLED driver
 | 
					// OLED driver
 | 
				
			||||||
#ifdef OLED_DRIVER_ENABLE
 | 
					#ifdef OLED_DRIVER_ENABLE
 | 
				
			||||||
  #define OLED_DISPLAY_128X32
 | 
					  #define OLED_DISPLAY_128X32
 | 
				
			||||||
 | 
				
			|||||||
@ -8,8 +8,20 @@
 | 
				
			|||||||
    "pid": "0x3046",
 | 
					    "pid": "0x3046",
 | 
				
			||||||
    "device_version": "1.0.0"
 | 
					    "device_version": "1.0.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  "encoder": {
 | 
				
			||||||
 | 
					    "rotary": [
 | 
				
			||||||
 | 
					      {"pin_a": "B4", "pin_b": "B5"}
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  "split": {
 | 
					  "split": {
 | 
				
			||||||
    "soft_serial_pin": "D2"
 | 
					    "soft_serial_pin": "D2",
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					      "right": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					          {"pin_a": "B5", "pin_b": "B4"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "processor": "atmega32u4",
 | 
					  "processor": "atmega32u4",
 | 
				
			||||||
  "bootloader": "caterina",
 | 
					  "bootloader": "caterina",
 | 
				
			||||||
 | 
				
			|||||||
@ -31,6 +31,3 @@
 | 
				
			|||||||
#define MATRIX_COL_PINS { F6, F5, F4 }
 | 
					#define MATRIX_COL_PINS { F6, F5, F4 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B3 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B2 }
 | 
					 | 
				
			||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0002",
 | 
					        "pid": "0x0002",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B3", "pin_b": "B2"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "indicators": {
 | 
					    "indicators": {
 | 
				
			||||||
        "caps_lock": "D0",
 | 
					        "caps_lock": "D0",
 | 
				
			||||||
        "num_lock": "D4",
 | 
					        "num_lock": "D4",
 | 
				
			||||||
 | 
				
			|||||||
@ -26,10 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
/* COL2ROW or ROW2COL */
 | 
					/* COL2ROW or ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B2 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B3 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Feature disable options
 | 
					 * Feature disable options
 | 
				
			||||||
 *  These options are also useful to firmware size reduction.
 | 
					 *  These options are also useful to firmware size reduction.
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x6470",
 | 
					        "pid": "0x6470",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B2", "pin_b": "B3", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -49,12 +49,6 @@
 | 
				
			|||||||
//The 3D-printed version of Boston uses APA106 LEDs, which are reversed
 | 
					//The 3D-printed version of Boston uses APA106 LEDs, which are reversed
 | 
				
			||||||
#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB
 | 
					#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Define encoder */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A \
 | 
					 | 
				
			||||||
    { C13 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B \
 | 
					 | 
				
			||||||
    { F1 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
#define TAP_CODE_DELAY 15
 | 
					#define TAP_CODE_DELAY 15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x4176",
 | 
					        "pid": "0x4176",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "C13", "pin_b": "F1", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "backlight": {
 | 
					    "backlight": {
 | 
				
			||||||
        "pin": "A6",
 | 
					        "pin": "A6",
 | 
				
			||||||
        "levels": 6,
 | 
					        "levels": 6,
 | 
				
			||||||
 | 
				
			|||||||
@ -17,9 +17,6 @@
 | 
				
			|||||||
#define MATRIX_ROW_PINS { A3, B8, B9, B1 }
 | 
					#define MATRIX_ROW_PINS { A3, B8, B9, B1 }
 | 
				
			||||||
#define MATRIX_COL_PINS { A7, A8, B2, B10 }
 | 
					#define MATRIX_COL_PINS { A7, A8, B2, B10 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B13 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B14 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//Audio
 | 
					//Audio
 | 
				
			||||||
#undef AUDIO_VOICES
 | 
					#undef AUDIO_VOICES
 | 
				
			||||||
#undef AUDIO_PIN
 | 
					#undef AUDIO_PIN
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,11 @@
 | 
				
			|||||||
    "usb": {
 | 
					    "usb": {
 | 
				
			||||||
        "device_version": "20.1.9"
 | 
					        "device_version": "20.1.9"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B13", "pin_b": "B14"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "STM32F303",
 | 
					    "processor": "STM32F303",
 | 
				
			||||||
    "bootloader": "stm32-dfu",
 | 
					    "bootloader": "stm32-dfu",
 | 
				
			||||||
    "board": "QMK_PROTON_C",
 | 
					    "board": "QMK_PROTON_C",
 | 
				
			||||||
 | 
				
			|||||||
@ -26,10 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
/* Locking resynchronize hack */
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
#define LOCKING_RESYNC_ENABLE
 | 
					#define LOCKING_RESYNC_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B5 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B6 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
#define TAP_CODE_DELAY 25
 | 
					#define TAP_CODE_DELAY 25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
 | 
					#define DYNAMIC_KEYMAP_LAYER_COUNT 3
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0xBA77",
 | 
					        "pid": "0xBA77",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B5", "pin_b": "B6", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "indicators": {
 | 
					    "indicators": {
 | 
				
			||||||
        "caps_lock": "B12",
 | 
					        "caps_lock": "B12",
 | 
				
			||||||
        "num_lock": "B14",
 | 
					        "num_lock": "B14",
 | 
				
			||||||
 | 
				
			|||||||
@ -24,9 +24,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define BACKLIGHT_PWM_DRIVER PWMD1
 | 
					#define BACKLIGHT_PWM_DRIVER PWMD1
 | 
				
			||||||
#define BACKLIGHT_PWM_CHANNEL 1
 | 
					#define BACKLIGHT_PWM_CHANNEL 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B9 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B8 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
					/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
				
			||||||
#define LOCKING_SUPPORT_ENABLE
 | 
					#define LOCKING_SUPPORT_ENABLE
 | 
				
			||||||
/* Locking resynchronize hack */
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
    "pid": "0x6464",
 | 
					    "pid": "0x6464",
 | 
				
			||||||
    "device_version": "0.0.1"
 | 
					    "device_version": "0.0.1"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  "encoder": {
 | 
				
			||||||
 | 
					    "rotary": [
 | 
				
			||||||
 | 
					      {"pin_a": "B9", "pin_b": "B8"}
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  "backlight": {
 | 
					  "backlight": {
 | 
				
			||||||
    "pin": "A8",
 | 
					    "pin": "A8",
 | 
				
			||||||
    "levels": 6,
 | 
					    "levels": 6,
 | 
				
			||||||
 | 
				
			|||||||
@ -27,11 +27,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define MATRIX_ROW_PINS { B3, B4, A0, A2, A4, A3 }
 | 
					#define MATRIX_ROW_PINS { B3, B4, A0, A2, A4, A3 }
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENCODERS_PAD_A { B9 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B8 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// I2C config
 | 
					// I2C config
 | 
				
			||||||
#define I2C_DRIVER I2CD1
 | 
					#define I2C_DRIVER I2CD1
 | 
				
			||||||
#define I2C1_SCL_PIN B6
 | 
					#define I2C1_SCL_PIN B6
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x57F5",
 | 
					        "pid": "0x57F5",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B9", "pin_b": "B8", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "backlight": {
 | 
					    "backlight": {
 | 
				
			||||||
        "levels": 24,
 | 
					        "levels": 24,
 | 
				
			||||||
        "breathing": true
 | 
					        "breathing": true
 | 
				
			||||||
 | 
				
			|||||||
@ -27,12 +27,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 | 
					 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { D6 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { D4 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MATRIX_ROW_PINS { D7, F0, F6 }
 | 
					#define MATRIX_ROW_PINS { D7, F0, F6 }
 | 
				
			||||||
#define MATRIX_COL_PINS { F5, F7, F4 }
 | 
					#define MATRIX_COL_PINS { F5, F7, F4 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x0007",
 | 
					        "pid": "0x0007",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D6", "pin_b": "D4", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -29,8 +29,3 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* Locking resynchronize hack */
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
#define LOCKING_RESYNC_ENABLE
 | 
					#define LOCKING_RESYNC_ENABLE
 | 
				
			||||||
 | 
					 | 
				
			||||||
/* encoder pads */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B1 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B2 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x1849",
 | 
					        "pid": "0x1849",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B1", "pin_b": "B2"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u2",
 | 
					    "processor": "atmega32u2",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -46,8 +46,3 @@
 | 
				
			|||||||
#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
 | 
					#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
 | 
					#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
 | 
					#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
 | 
				
			||||||
 | 
					 | 
				
			||||||
// rotary encoder parameters
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { B0 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { D1 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x5340",
 | 
					        "pid": "0x5340",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B0", "pin_b": "D1"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u2",
 | 
					    "processor": "atmega32u2",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "community_layouts": ["ortho_4x12", "planck_mit"],
 | 
					    "community_layouts": ["ortho_4x12", "planck_mit"],
 | 
				
			||||||
 | 
				
			|||||||
@ -46,7 +46,3 @@
 | 
				
			|||||||
#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
 | 
					#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
 | 
					#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
 | 
					#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { C7, B7, B3, B2}
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { B7, C7, B2, B3}
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,14 @@
 | 
				
			|||||||
        "pid": "0x5344",
 | 
					        "pid": "0x5344",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					      "rotary": [
 | 
				
			||||||
 | 
					        {"pin_a": "C7", "pin_b": "B7"},
 | 
				
			||||||
 | 
					        {"pin_a": "B7", "pin_b": "C7"},
 | 
				
			||||||
 | 
					        {"pin_a": "B3", "pin_b": "B2"},
 | 
				
			||||||
 | 
					        {"pin_a": "B2", "pin_b": "B3"}
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "backlight": {
 | 
					    "backlight": {
 | 
				
			||||||
      "pin": "C4",
 | 
					      "pin": "C4",
 | 
				
			||||||
      "levels": 6,
 | 
					      "levels": 6,
 | 
				
			||||||
 | 
				
			|||||||
@ -46,7 +46,3 @@
 | 
				
			|||||||
#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
 | 
					#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
 | 
					#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
 | 
					#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
 | 
				
			||||||
 | 
					 | 
				
			||||||
/* define rotary encoder pins */
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A {B0}
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B {D1}
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x5342",
 | 
					        "pid": "0x5342",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B0", "pin_b": "D1"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u2",
 | 
					    "processor": "atmega32u2",
 | 
				
			||||||
    "bootloader": "atmel-dfu",
 | 
					    "bootloader": "atmel-dfu",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
@ -47,6 +47,3 @@ Copyright 2022 Nathan Spears
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* Locking resynchronize hack */
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
#define LOCKING_RESYNC_ENABLE
 | 
					#define LOCKING_RESYNC_ENABLE
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A {D2}
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B {D3}
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x2416",
 | 
					        "pid": "0x2416",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D2", "pin_b": "D3"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "backlight": {
 | 
					    "backlight": {
 | 
				
			||||||
        "pin": "D1",
 | 
					        "pin": "D1",
 | 
				
			||||||
        "levels": 6,
 | 
					        "levels": 6,
 | 
				
			||||||
 | 
				
			|||||||
@ -28,11 +28,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3 }
 | 
					#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3 }
 | 
				
			||||||
#define MATRIX_COL_PINS { D5, D4, D6, D7, F7, B5, B6, C6 }
 | 
					#define MATRIX_COL_PINS { D5, D4, D6, D7, F7, B5, B6, C6 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Encoder configuration */
 | 
					 | 
				
			||||||
//#define ENCODERS_PAD_A { F5 }
 | 
					 | 
				
			||||||
//#define ENCODERS_PAD_B { F6 }
 | 
					 | 
				
			||||||
//#define ENCODER_RESOLUTION 4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* COL2ROW, ROW2COL*/
 | 
					/* COL2ROW, ROW2COL*/
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,3 @@
 | 
				
			|||||||
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
 | 
					#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_A { D3 }
 | 
					 | 
				
			||||||
#define ENCODERS_PAD_B { D2 }
 | 
					 | 
				
			||||||
#define ENCODER_RESOLUTION 2
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,11 @@
 | 
				
			|||||||
        "pid": "0x1001",
 | 
					        "pid": "0x1001",
 | 
				
			||||||
        "device_version": "0.0.1"
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "D3", "pin_b": "D2", "resolution": 2}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "processor": "atmega32u4",
 | 
					    "processor": "atmega32u4",
 | 
				
			||||||
    "bootloader": "caterina",
 | 
					    "bootloader": "caterina",
 | 
				
			||||||
    "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user