[Keyboard] Add Split65 to keyboards/handwired (#13264)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joris Wachsmuth <jwachsmuth@techfak.uni-bielefeld.de>
This commit is contained in:
parent
e33ccc556f
commit
8385ab32d0
16 changed files with 693 additions and 0 deletions
60
keyboards/handwired/split65/stm32/config.h
Normal file
60
keyboards/handwired/split65/stm32/config.h
Normal file
|
@ -0,0 +1,60 @@
|
|||
/* Copyright 2020-2021 PercyJW-2 <joris.wachsmuth@gmail.com>
|
||||
*
|
||||
* 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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
// USB Device descriptor parameter
|
||||
#define VENDOR_ID 0x4A57 // JW
|
||||
#define PRODUCT_ID 0x0000 // first keeb
|
||||
#define DEVICE_VER 0x0000 // first revision
|
||||
#define MANUFACTURER percyjw
|
||||
#define PRODUCT split65
|
||||
|
||||
// Audio
|
||||
#define AUDIO_PIN A5
|
||||
#define AUDIO_PIN_ALT A4
|
||||
#define AUDIO_PIN_ALT_AS_NEGATIVE
|
||||
|
||||
// Matrix Assignments
|
||||
#define MATRIX_ROWS 10 //Rows are doubled-up
|
||||
#define MATRIX_COLS 8
|
||||
|
||||
#define MATRIX_COL_PINS {A2, A1, A0, B8, B13, B14, B15, B9}
|
||||
#define MATRIX_ROW_PINS {B5, B4, B3, B2, B1}
|
||||
|
||||
// COL2ROW, ROW2COL
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define MATRIX_IO_DELAY 5
|
||||
|
||||
// Split Keyboard specifics
|
||||
#define SOFT_SERIAL_PIN A9
|
||||
#define SELECT_SOFT_SERIAL_SPEED 1
|
||||
#define SERIAL_USART_DRIVER SD1
|
||||
#define SERIAL_USART_TX_PAL_MODE 7
|
||||
#define SERIAL_USART_TIMEOUT 100
|
||||
|
||||
// Debounce to reduce unintended double-presses use 0 if not needed
|
||||
#define DEBOUNCE 5
|
||||
|
||||
// Feature diable options
|
||||
//#define NO_DEBUG
|
||||
//#define NO_PRINT
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
#define OLED_DISPLAY_128X64
|
21
keyboards/handwired/split65/stm32/halconf.h
Normal file
21
keyboards/handwired/split65/stm32/halconf.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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
|
||||
|
||||
#define HAL_USE_SERIAL TRUE
|
||||
|
||||
#include_next <halconf.h>
|
25
keyboards/handwired/split65/stm32/rules.mk
Normal file
25
keyboards/handwired/split65/stm32/rules.mk
Normal file
|
@ -0,0 +1,25 @@
|
|||
# MCU name
|
||||
MCU = STM32F303
|
||||
BOARD = QMK_PROTON_C
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # 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
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = yes # Audio output
|
||||
OLED_ENABLE = yes
|
||||
SPLIT_KEYBOARD = yes
|
||||
SERIAL_DRIVER = usart
|
16
keyboards/handwired/split65/stm32/stm32.c
Normal file
16
keyboards/handwired/split65/stm32/stm32.c
Normal file
|
@ -0,0 +1,16 @@
|
|||
/* Copyright 2020-2021 PercyJW-2 <joris.wachsmuth@gmail.com>
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include "stm32.h"
|
38
keyboards/handwired/split65/stm32/stm32.h
Normal file
38
keyboards/handwired/split65/stm32/stm32.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
/* Copyright 2020-2021 PercyJW-2 <joris.wachsmuth@gmail.com>
|
||||
*
|
||||
* 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
|
||||
|
||||
#include "split65.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R07, R06, R05, R04, R03, R02, R01, R00, \
|
||||
L10, L11, L12, L13, L14, L15, R17, R16, R15, R14, R13, R12, R11, R10, \
|
||||
L20, L21, L22, L23, L24, L25, R47, R27, R26, R25, R24, R23, R22, R21, R20, \
|
||||
L30, L31, L32, L33, L34, L35, L36, R37, R36, R35, R34, R33, R32, R31, R30, \
|
||||
L40, L41, L42, L43, R46, R45, R44, R43, R42, R41, R40 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, KC_NO}, \
|
||||
{L10, L11, L12, L13, L14, L15, KC_NO, KC_NO}, \
|
||||
{L20, L21, L22, L23, L24, L25, KC_NO, KC_NO}, \
|
||||
{L30, L31, L32, L33, L34, L35, L36, KC_NO}, \
|
||||
{L40, L41, L42, KC_NO, L43, KC_NO, KC_NO, KC_NO}, \
|
||||
{R00, R01, R02, R03, R04, R05, R06, R07}, \
|
||||
{R10, R11, R12, R13, R14, R15, R16, R17}, \
|
||||
{R20, R21, R22, R23, R24, R25, R26, R27}, \
|
||||
{R30, R31, R32, R33, R34, R35, R36, R37}, \
|
||||
{R40, R41, R42, R43, R44, R45, R46, R47} \
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue