1
0
Fork 0

[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:
Joris Wachsmuth 2021-10-12 03:09:25 +02:00 committed by GitHub
parent e33ccc556f
commit 8385ab32d0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 693 additions and 0 deletions

View 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

View 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>

View 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

View 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"

View 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} \
}