mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-12 10:51:33 +00:00
Refactor bastardkb/dilemma/3x5_2
(#25462)
* Refactor bastardkb/dilemma/3x5_2 - Rename splinky -> promicro as the DIY PCB supports a Pro Micro compatible development board - Update keyboard aliases accordingly - Migrated shared configuration to top level 3x5_2 directory - Migrate keymap to JSON - Migrate miscellaneous configuration to JSON - Remove configuration that trends towards user-specific (CRC Table) - Use short SPDX license headers - Tidy up readme and make note of differences between PCBs In short, the only difference between these two revisions (assembled vs. promicro) is SPI vs. I2C (respectively) is used for the Cirque Trackpad. * Migrate promicro configuration to AVR The code in dilemma.c that reinitialises the ADC capable pins on RP2040 as digital inputs is not needed. Per section RP2040-E6 (p.630) of RP2040 datasheet, it appears digital inputs are *not* disabled, and this should be handled internally anyway in matrix initialisation
This commit is contained in:
parent
558fee16e4
commit
e1b42d5252
@ -68,6 +68,9 @@
|
||||
"bakeneko80": {
|
||||
"target": "kkatano/bakeneko80"
|
||||
},
|
||||
"bastardkb/dilemma/3x5_2/splinky": {
|
||||
"target": "bastardkb/dilemma/3x5_2/promicro"
|
||||
},
|
||||
"bastardkb/scylla/v2/elitec": {
|
||||
"target": "bastardkb/scylla/promicro"
|
||||
},
|
||||
|
@ -1,37 +1,12 @@
|
||||
/**
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
// Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
/* Handedness. */
|
||||
#define SPLIT_HAND_PIN GP29
|
||||
#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* CRC. */
|
||||
#define CRC8_USE_TABLE
|
||||
#define CRC8_OPTIMIZE_SPEED
|
||||
|
||||
/* Cirque trackpad. */
|
||||
#define SPI_SCK_PIN GP22
|
||||
#define SPI_MOSI_PIN GP23
|
||||
#define SPI_MISO_PIN GP20
|
||||
#define POINTING_DEVICE_CS_PIN GP21
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
|
@ -1,20 +1,5 @@
|
||||
/**
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
// Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
|
@ -1,22 +1,17 @@
|
||||
{
|
||||
"keyboard_name": "Dilemma (3x5+2) Assembled",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"pointing_device": true
|
||||
},
|
||||
"bootloader": "rp2040",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP8", "GP9", "GP7", "GP6", "GP27"],
|
||||
"rows": ["GP4", "GP5", "GP28", "GP26"]
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"processor": "RP2040",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"handedness": {
|
||||
"pin": "GP29"
|
||||
},
|
||||
"serial": {
|
||||
"driver": "vendor",
|
||||
"pin": "GP1"
|
||||
}
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040"
|
||||
}
|
||||
}
|
||||
|
@ -1,20 +1,5 @@
|
||||
/**
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
// Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
@ -1,7 +1 @@
|
||||
AUDIO_SUPPORTED = no # Audio is not supported
|
||||
RGB_MATRIX_SUPPORTED = no # RGB matrix is supported and enabled by default
|
||||
RGBLIGHT_SUPPORTED = no # RGB underglow is supported, but not enabled by default
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
|
||||
POINTING_DEVICE_DRIVER = cirque_pinnacle_spi # Assembled version uses SPI.
|
||||
POINTING_DEVICE_DRIVER = cirque_pinnacle_spi
|
||||
|
5
keyboards/bastardkb/dilemma/3x5_2/config.h
Normal file
5
keyboards/bastardkb/dilemma/3x5_2/config.h
Normal file
@ -0,0 +1,5 @@
|
||||
// Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define SPLIT_HAND_PIN_LOW_IS_LEFT
|
@ -1,4 +1,15 @@
|
||||
{
|
||||
"keyboard_name": "Dilemma 3x5+2",
|
||||
"diode_direction": "ROW2COL",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"pointing_device": true
|
||||
},
|
||||
"split": {
|
||||
"enabled": true
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x1835"
|
||||
@ -12,40 +23,33 @@
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
|
||||
{"matrix": [4, 4], "x": 11, "y": 0},
|
||||
{"matrix": [4, 3], "x": 12, "y": 0},
|
||||
{"matrix": [4, 2], "x": 13, "y": 0},
|
||||
{"matrix": [4, 1], "x": 14, "y": 0},
|
||||
{"matrix": [4, 0], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
|
||||
{"matrix": [5, 4], "x": 11, "y": 1},
|
||||
{"matrix": [5, 3], "x": 12, "y": 1},
|
||||
{"matrix": [5, 2], "x": 13, "y": 1},
|
||||
{"matrix": [5, 1], "x": 14, "y": 1},
|
||||
{"matrix": [5, 0], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
|
||||
{"matrix": [6, 4], "x": 11, "y": 2},
|
||||
{"matrix": [6, 3], "x": 12, "y": 2},
|
||||
{"matrix": [6, 2], "x": 13, "y": 2},
|
||||
{"matrix": [6, 1], "x": 14, "y": 2},
|
||||
{"matrix": [6, 0], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 4, "y": 3},
|
||||
{"matrix": [3, 2], "x": 5, "y": 3},
|
||||
|
||||
{"matrix": [7, 2], "x": 10, "y": 3},
|
||||
{"matrix": [7, 0], "x": 11, "y": 3}
|
||||
]
|
||||
|
@ -1,84 +0,0 @@
|
||||
/**
|
||||
* 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 QMK_KEYBOARD_H
|
||||
|
||||
enum charybdis_keymap_layers {
|
||||
LAYER_BASE = 0,
|
||||
LAYER_NAV,
|
||||
LAYER_SYM,
|
||||
LAYER_NUM,
|
||||
};
|
||||
|
||||
#define NAV MO(LAYER_NAV)
|
||||
#define SYM MO(LAYER_SYM)
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[LAYER_BASE] = LAYOUT_split_3x5_2(
|
||||
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
|
||||
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
|
||||
NAV, CW_TOGG, KC_SPC, SYM
|
||||
// ╰──────────────────╯ ╰──────────────────╯
|
||||
),
|
||||
|
||||
[LAYER_NAV] = LAYOUT_split_3x5_2(
|
||||
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
|
||||
KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_DEL,
|
||||
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
|
||||
KC_LSFT, KC_LCTL, KC_LALT, KC_RGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC,
|
||||
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
|
||||
QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT,
|
||||
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
|
||||
_______, KC_LSFT, KC_SPC, _______
|
||||
// ╰──────────────────╯ ╰──────────────────╯
|
||||
),
|
||||
|
||||
[LAYER_SYM] = LAYOUT_split_3x5_2(
|
||||
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
|
||||
KC_ESC, KC_LBRC, KC_LCBR, KC_LPRN, KC_TILD, KC_CIRC, KC_RPRN, KC_RCBR, KC_RBRC, KC_GRV,
|
||||
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
|
||||
KC_MINS, KC_ASTR, KC_EQL, KC_UNDS, KC_DLR, KC_HASH, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT,
|
||||
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
|
||||
KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, _______, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM,
|
||||
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
|
||||
_______, KC_LSFT, KC_SPC, _______
|
||||
// ╰──────────────────╯ ╰──────────────────╯
|
||||
),
|
||||
|
||||
[LAYER_NUM] = LAYOUT_split_3x5_2(
|
||||
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
|
||||
KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_F11, KC_F12, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT,
|
||||
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
|
||||
_______, KC_LSFT, KC_SPC, _______
|
||||
// ╰──────────────────╯ ╰──────────────────╯
|
||||
),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, LAYER_NAV, LAYER_SYM, LAYER_NUM);
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
{
|
||||
"keyboard": "bastardkb/dilemma/3x5_2/promicro",
|
||||
"keymap": "default",
|
||||
"layout": "LAYOUT_split_3x5_2",
|
||||
"layers": [
|
||||
[
|
||||
"KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P",
|
||||
"KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN",
|
||||
"KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH",
|
||||
"MO(1)", "KC_SPC", "KC_ENT", "MO(2)"
|
||||
],
|
||||
[
|
||||
"KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0",
|
||||
"KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN",
|
||||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"_______", "_______", "_______", "_______"
|
||||
],
|
||||
[
|
||||
"QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"EE_CLR", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"_______", "_______", "_______", "_______"
|
||||
]
|
||||
]
|
||||
}
|
||||
|
15
keyboards/bastardkb/dilemma/3x5_2/promicro/keyboard.json
Normal file
15
keyboards/bastardkb/dilemma/3x5_2/promicro/keyboard.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"development_board": "elite_c",
|
||||
"matrix_pins": {
|
||||
"cols": ["B4", "B5", "E6", "D7", "F6"],
|
||||
"rows": ["D4", "C6", "F5", "F7"]
|
||||
},
|
||||
"split": {
|
||||
"handedness": {
|
||||
"pin": "F4"
|
||||
},
|
||||
"serial": {
|
||||
"pin": "D2"
|
||||
}
|
||||
}
|
||||
}
|
1
keyboards/bastardkb/dilemma/3x5_2/promicro/rules.mk
Normal file
1
keyboards/bastardkb/dilemma/3x5_2/promicro/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c
|
@ -1,37 +0,0 @@
|
||||
/**
|
||||
* 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
|
||||
|
||||
/* 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.
|
||||
|
||||
/* 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
|
@ -1,21 +0,0 @@
|
||||
/* 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>
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"keyboard_name": "Dilemma (3x5+2) Splinky",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"pointing_device": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP8", "GP9", "GP7", "GP6", "GP27"],
|
||||
"rows": ["GP4", "GP5", "GP28", "GP26"]
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"serial": {
|
||||
"pin": "GP1"
|
||||
}
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040"
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
/*
|
||||
* 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
|
@ -1,7 +0,0 @@
|
||||
AUDIO_SUPPORTED = no # Audio is not supported
|
||||
RGB_MATRIX_SUPPORTED = no # RGB matrix is supported and enabled by default
|
||||
RGBLIGHT_SUPPORTED = no # RGB underglow is supported, but not enabled by default
|
||||
|
||||
SERIAL_DRIVER = vendor
|
||||
|
||||
POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c # DIY version uses I2C.
|
@ -328,22 +328,6 @@ void matrix_init_kb(void) {
|
||||
}
|
||||
#endif // POINTING_DEVICE_ENABLE
|
||||
|
||||
// Forward declare RP2040 SDK declaration.
|
||||
void gpio_init(uint gpio);
|
||||
|
||||
void keyboard_pre_init_kb(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);
|
||||
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
|
||||
bool shutdown_kb(bool jump_to_bootloader) {
|
||||
if (!shutdown_user(jump_to_bootloader)) {
|
||||
return false;
|
||||
|
@ -1,21 +1,31 @@
|
||||
# Dilemma
|
||||
|
||||
A family of split keyboards with embedded RP2040 controllers, support for Cirque GlidePoint circle trackpads, and SPI + I2C breakouts for other peripherals
|
||||
|
||||
- Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/)
|
||||
- Hardware Supported: [Bastardkb Dilemma](https://github.com/Bastardkb/Dilemma)
|
||||
- Hardware Availability: [Bastardkb.com](https://bastardkb.com/)
|
||||
|
||||
A DIY version of the 3x5_2 PCB with promicro compatible footprint is also available.
|
||||
* Keyboard Maintainer: [BastardKB](https://github.com/BastardKB)
|
||||
* Hardware Supported: Dilemma PCBs with integrated or devlopment board<sup>*</sup> microcontrollers
|
||||
* Hardware Availability: [GitHub](https://github.com/Bastardkb/Dilemma)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make bastardkb/dilemma/3x5_2/assembled:default
|
||||
make bastardkb/dilemma/3x5_2/promicro:default
|
||||
make bastardkb/dilemma/3x5_3:default
|
||||
make bastardkb/dilemma/4x6_4:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make bastardkb/dilemma/3x5_2/assembled:default:flash
|
||||
make bastardkb/dilemma/3x5_2/promicro:default:flash
|
||||
make bastardkb/dilemma/3x5_3:default:flash
|
||||
make bastardkb/dilemma/4x6_4:default:flash
|
||||
|
||||
See the [keyboard build instructions](http://docs.bastardkb.com/)
|
||||
Note<sup>*</sup>: the `dilemma/3x5_2/promicro` revision is the only DIY Dilemma PCB. It is footprint and pin compatible with a Pro Micro development board, and the firmware is written as such it can be used with the Converter Feature. This PCB uses I2C communication for the Cirque Trackpad, opposed to SPI for the variants with an integrated microcontroller.
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard
|
||||
* **Physical reset button**: Double-tap the reset button under/near the microcontroller.
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
Loading…
Reference in New Issue
Block a user