diff options
Diffstat (limited to 'keyboards/bastardkb/dilemma/splinky')
-rw-r--r-- | keyboards/bastardkb/dilemma/splinky/config.h | 46 | ||||
-rw-r--r-- | keyboards/bastardkb/dilemma/splinky/halconf.h | 21 | ||||
-rw-r--r-- | keyboards/bastardkb/dilemma/splinky/info.json | 6 | ||||
-rw-r--r-- | keyboards/bastardkb/dilemma/splinky/mcuconf.h | 23 | ||||
-rw-r--r-- | keyboards/bastardkb/dilemma/splinky/rules.mk | 9 | ||||
-rw-r--r-- | keyboards/bastardkb/dilemma/splinky/splinky.c | 32 |
6 files changed, 137 insertions, 0 deletions
diff --git a/keyboards/bastardkb/dilemma/splinky/config.h b/keyboards/bastardkb/dilemma/splinky/config.h new file mode 100644 index 0000000000..80c9e42224 --- /dev/null +++ b/keyboards/bastardkb/dilemma/splinky/config.h @@ -0,0 +1,46 @@ +/* + * Copyright 2022 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 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 + +/* Key matrix configuration. */ +#define MATRIX_ROW_PINS \ + { GP4, GP5, GP28, GP26 } +#define MATRIX_COL_PINS \ + { GP8, GP9, GP7, GP6, GP27 } + +/* Handedness. */ +#define MASTER_RIGHT + +// To use the handedness pin, resistors need to be installed on the PCB. +// If so, uncomment the following code, and undefine MASTER_RIGHT above. +//#define SPLIT_HAND_PIN GP29 +// If you've soldered the handedness pull-up on the upper side instead of the +// left one, uncomment the following line. +//#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. + +/* serial.c configuration (for split keyboard). */ +#define SOFT_SERIAL_PIN GP1 + +/* CRC. */ +#define CRC8_USE_TABLE +#define CRC8_OPTIMIZE_SPEED + +/* Reset. */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/dilemma/splinky/halconf.h b/keyboards/bastardkb/dilemma/splinky/halconf.h new file mode 100644 index 0000000000..a4c25c090a --- /dev/null +++ b/keyboards/bastardkb/dilemma/splinky/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2022 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_I2C TRUE + +#include_next "halconf.h" diff --git a/keyboards/bastardkb/dilemma/splinky/info.json b/keyboards/bastardkb/dilemma/splinky/info.json new file mode 100644 index 0000000000..07ee320bb9 --- /dev/null +++ b/keyboards/bastardkb/dilemma/splinky/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Dilemma Splinky", + "usb": { + "device_version": "1.0.0", + }, +} diff --git a/keyboards/bastardkb/dilemma/splinky/mcuconf.h b/keyboards/bastardkb/dilemma/splinky/mcuconf.h new file mode 100644 index 0000000000..5e47eac54f --- /dev/null +++ b/keyboards/bastardkb/dilemma/splinky/mcuconf.h @@ -0,0 +1,23 @@ +/* + * Copyright 2022 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 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_next "mcuconf.h" + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/bastardkb/dilemma/splinky/rules.mk b/keyboards/bastardkb/dilemma/splinky/rules.mk new file mode 100644 index 0000000000..9c593c6ed8 --- /dev/null +++ b/keyboards/bastardkb/dilemma/splinky/rules.mk @@ -0,0 +1,9 @@ +# MCU name +MCU = RP2040 + +# Bootloader selection +BOOTLOADER = rp2040 + +# RP2040-specific options +PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. +SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/dilemma/splinky/splinky.c b/keyboards/bastardkb/dilemma/splinky/splinky.c new file mode 100644 index 0000000000..f38fe43818 --- /dev/null +++ b/keyboards/bastardkb/dilemma/splinky/splinky.c @@ -0,0 +1,32 @@ +/* + * Copyright 2022 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 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 "quantum.h" + +// Forward declare RP2040 SDK declaration. +void gpio_init(uint gpio); + +void keyboard_pre_init_user(void) { + // Ensures that GP26 through GP29 are initialized as digital inputs (as + // opposed to analog inputs). These GPIOs are shared with A0 through A3, + // respectively. On RP2040-B2 and later, the digital inputs are disabled by + // default (see RP2040-E6). + gpio_init(GP26); + gpio_init(GP27); + gpio_init(GP28); + gpio_init(GP29); +} |