qmk_firmware/keyboards/bastardkb/charybdis/3x5/blackpill/config.h
Charly Delay 30b2dbe369
Bastard Keyboards: upstream recent changes (#18903)
* bastardkb: cleanup blackpill configuration

Fixes #17

* bastardkb: fix splinky configuration

The pinout of the splinky changed between the last beta batch, and the
production one. This commit updates the keyboard definition to support
the new pinout by default, while offering backward compatibility.

Define `SPLINKY_BETA_PINOUT` to build the firmware with pre-production
pinout.

Fixes #15

* bastardkb: add support for STeMCell

* Update scylla/tbkmini/skeletyl outdated readmes

* bastardkb/dilemma: enable circular scroll

* bastardkb/dilemma: add initial version of the `via` keymap

* bastardkb/dilemma/assembled: add new keyboard

Fixes #20

* bastardkb/dilemma: remove elite-c

* Initial support for the Dilemma 3x5+3 Assembled RGB

* Address code review comments

* Address more comments

* Address review comments

* Address more nits

* bastardkb: split splinky-based keyboards to distinguish between Splinky v2 and v3 pinout
2022-11-15 08:51:44 +00:00

62 lines
1.8 KiB
C

/*
* Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* Copyright 2021 Stefan Kerkmann (@KarlK90)
* Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Publicw 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
/* Key matrix configuration. */
#define MATRIX_ROW_PINS \
{ A2, B8, A8, B9 }
#define MATRIX_COL_PINS \
{ B1, B10, B3, B4, B5 }
/* Handedness. */
#define SPLIT_HAND_PIN A3 // High -> left, Low -> right.
/* RGB settings. */
#define RGB_DI_PIN A1
#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 1
#define WS2812_EXTERNAL_PULLUP
#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
#define WS2812_DMA_CHANNEL 3
#define WS2812_PWM_TARGET_PERIOD 800000
/* Serial configuration for split keyboard. */
#define SERIAL_USART_TX_PIN A9
/* CRC. */
#define CRC8_USE_TABLE
#define CRC8_OPTIMIZE_SPEED
/* SPI config for EEPROM and pmw3360 sensor. */
#define SPI_DRIVER SPID1
#define SPI_SCK_PIN A5
#define SPI_SCK_PAL_MODE 5
#define SPI_MOSI_PIN A7
#define SPI_MOSI_PAL_MODE 5
#define SPI_MISO_PIN A6
#define SPI_MISO_PAL_MODE 5
/* EEPROM config. */
#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
/* PMW3360 settings. */
#define POINTING_DEVICE_CS_PIN B14
#define PMW33XX_CS_DIVISOR 64