refactor: mechwild/bbs (#23373)
This commit is contained in:
		
							parent
							
								
									5f9917856a
								
							
						
					
					
						commit
						5c90facf93
					
				
					 7 changed files with 69 additions and 70 deletions
				
			
		| 
						 | 
				
			
			@ -3,23 +3,6 @@
 | 
			
		|||
 
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
			
		||||
#define LOCKING_SUPPORT_ENABLE
 | 
			
		||||
/* Locking resynchronize hack */
 | 
			
		||||
#define LOCKING_RESYNC_ENABLE
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Feature disable options
 | 
			
		||||
 *  These options are also useful to firmware size reduction.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* disable debug print */
 | 
			
		||||
//#define NO_DEBUG
 | 
			
		||||
 | 
			
		||||
/* disable print */
 | 
			
		||||
//#define NO_PRINT
 | 
			
		||||
 | 
			
		||||
/* disable action features */
 | 
			
		||||
//#define NO_ACTION_LAYER
 | 
			
		||||
//#define NO_ACTION_TAPPING
 | 
			
		||||
//#define NO_ACTION_ONESHOT
 | 
			
		||||
#define WS2812_PWM_DRIVER PWMD4
 | 
			
		||||
#define WS2812_PWM_CHANNEL 4
 | 
			
		||||
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM6
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										8
									
								
								keyboards/mechwild/bbs/halconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								keyboards/mechwild/bbs/halconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
// Copyright 2024 QMK Contributors (@qmk)
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0-or-later
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#define HAL_USE_PWM TRUE
 | 
			
		||||
 | 
			
		||||
#include_next <halconf.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,29 +1,60 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "BB Steno",
 | 
			
		||||
    "manufacturer": "MechWild",
 | 
			
		||||
    "keyboard_name": "BB Steno",
 | 
			
		||||
    "maintainer": "kylemccreery",
 | 
			
		||||
    "url": "https://mechwild.com/product/bb-steno/",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "vid": "0x6D77",
 | 
			
		||||
        "pid": "0x170E",
 | 
			
		||||
        "device_version": "0.0.1",
 | 
			
		||||
        "force_nkro": true
 | 
			
		||||
    },
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "cols": ["B0", "A7", "A6", "A5", "A4", "A3"],
 | 
			
		||||
        "rows": ["B12", "B10", "B13", "B1", "B14"]
 | 
			
		||||
    },
 | 
			
		||||
    "bootloader_instructions": "Hold down the BOOT button, then tap the NRST button on the BlackPill. Avoid touching the A11 and A12 pins.",
 | 
			
		||||
    "development_board": "blackpill_f401",
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "dip_switch": {
 | 
			
		||||
        "pins": ["A0"]
 | 
			
		||||
    },
 | 
			
		||||
    "features": {
 | 
			
		||||
        "bootmagic": true,
 | 
			
		||||
        "dip_switch": true,
 | 
			
		||||
        "nkro": true,
 | 
			
		||||
        "rgblight": true,
 | 
			
		||||
        "steno": true
 | 
			
		||||
    },
 | 
			
		||||
    "indicators": {
 | 
			
		||||
        "caps_lock": "C13",
 | 
			
		||||
        "on_state": 0
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "STM32F401",
 | 
			
		||||
    "bootloader": "stm32-dfu",
 | 
			
		||||
    "board": "BLACKPILL_STM32_F401",
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "cols": ["B0", "A7", "A6", "A5", "A4", "A3"],
 | 
			
		||||
        "rows": ["B12", "B10", "B13", "B1", "B14"]
 | 
			
		||||
    },
 | 
			
		||||
    "rgblight": {
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "alternating": true,
 | 
			
		||||
            "breathing": true,
 | 
			
		||||
            "christmas": true,
 | 
			
		||||
            "knight": true,
 | 
			
		||||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true,
 | 
			
		||||
            "rgb_test": true,
 | 
			
		||||
            "snake": true,
 | 
			
		||||
            "static_gradient": true,
 | 
			
		||||
            "twinkle": true
 | 
			
		||||
        },
 | 
			
		||||
        "brightness_steps": 8,
 | 
			
		||||
        "led_count": 6,
 | 
			
		||||
        "saturation_steps": 8,
 | 
			
		||||
        "sleep": true
 | 
			
		||||
    },
 | 
			
		||||
    "url": "https://mechwild.com/product/bb-steno/",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "device_version": "1.1.0",
 | 
			
		||||
        "force_nkro": true,
 | 
			
		||||
        "pid": "0x170E",
 | 
			
		||||
        "shared_endpoint": {
 | 
			
		||||
            "keyboard": true
 | 
			
		||||
        },
 | 
			
		||||
        "vid": "0x6D77"
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "driver": "pwm",
 | 
			
		||||
        "pin": "B9"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
| 
						 | 
				
			
			@ -33,32 +64,27 @@
 | 
			
		|||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.125},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 6.75, "y": 0.125},
 | 
			
		||||
                {"matrix": [1, 1], "x": 7.75, "y": 0.125},
 | 
			
		||||
                {"matrix": [1, 2], "x": 8.75, "y": 0},
 | 
			
		||||
                {"matrix": [1, 3], "x": 9.75, "y": 0.125},
 | 
			
		||||
                {"matrix": [1, 4], "x": 10.75, "y": 0.375},
 | 
			
		||||
                {"matrix": [1, 5], "x": 11.75, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 1.125},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 6.75, "y": 1.125},
 | 
			
		||||
                {"matrix": [3, 1], "x": 7.75, "y": 1.125},
 | 
			
		||||
                {"matrix": [3, 2], "x": 8.75, "y": 1},
 | 
			
		||||
                {"matrix": [3, 3], "x": 9.75, "y": 1.125},
 | 
			
		||||
                {"matrix": [3, 4], "x": 10.75, "y": 1.375},
 | 
			
		||||
                {"matrix": [3, 5], "x": 11.75, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.75, "y": 3.125, "h": 1.5},
 | 
			
		||||
                {"matrix": [4, 4], "x": 3.75, "y": 3.125, "h": 1.5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 4.75, "y": 2.875, "h": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 7, "y": 2.875, "h": 1.5},
 | 
			
		||||
                {"matrix": [4, 1], "x": 8, "y": 3.125, "h": 1.5},
 | 
			
		||||
                {"matrix": [4, 2], "x": 9, "y": 3.125, "h": 1.5}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,22 +3,11 @@
 | 
			
		|||
 
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
// Defines names for use in layer keycodes and the keymap
 | 
			
		||||
enum layer_names {
 | 
			
		||||
    _BASE,
 | 
			
		||||
    _FN1
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Base */
 | 
			
		||||
    [_BASE] = LAYOUT(
 | 
			
		||||
    [0] = LAYOUT(
 | 
			
		||||
    STN_RES1, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1,     STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR,
 | 
			
		||||
    STN_RES2, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2,     STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR,
 | 
			
		||||
                               STN_A,  STN_O,  STN_N1,      STN_N2,  STN_E,  STN_U
 | 
			
		||||
    ),
 | 
			
		||||
    [_FN1] = LAYOUT(                                                                                   
 | 
			
		||||
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
 | 
			
		||||
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
 | 
			
		||||
                               KC_TRNS, KC_TRNS, KC_TRNS,     KC_TRNS, KC_TRNS, KC_TRNS
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										9
									
								
								keyboards/mechwild/bbs/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								keyboards/mechwild/bbs/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
// Copyright 2024 QMK Contributors (@qmk)
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0-or-later
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include_next <mcuconf.h>
 | 
			
		||||
 | 
			
		||||
#undef STM32_PWM_USE_TIM4
 | 
			
		||||
#define STM32_PWM_USE_TIM4                  TRUE
 | 
			
		||||
| 
						 | 
				
			
			@ -5,7 +5,8 @@
 | 
			
		|||
A bare-bones stenography keyboard. No bells or whistles. Simple, cheap, effective, steno.
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery)
 | 
			
		||||
* Hardware Supported: BBS v0.1
 | 
			
		||||
* Hardware Supported: BBS v0.1, v1.1
 | 
			
		||||
  * v0.1 PCBs were miswired for WS2812 RGB LED strips. As the data pin is the same, a strip could still be added with some handwiring.
 | 
			
		||||
* Hardware Availability: [BBS on MechWild](https://mechwild.com/product/bb-steno/)
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +0,0 @@
 | 
			
		|||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
			
		||||
MOUSEKEY_ENABLE = no        # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = no        # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output
 | 
			
		||||
DIP_SWITCH_ENABLE = yes     # Dip Switch Enabled
 | 
			
		||||
 | 
			
		||||
# Necessary for stenography functionality
 | 
			
		||||
STENO_ENABLE = yes          # Enable stenography endpoint
 | 
			
		||||
NKRO_ENABLE = yes           # Enable N-Key Rollover
 | 
			
		||||
KEYBOARD_SHARED_EP = yes    # Needed to free up an endpoint in blackpill
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue