Browse Source
* Basic Clueboard Californai Macropad shield definition. * New "direct" KSCAN driver that supports non-matrix direct wiring for switches, needed for macropad that doesn't have a matrix at all. * Some renames for existing KSCAN GPIO driver to make the implied "matrix" part explicit.xmkb
Pete Johanson
4 years ago
16 changed files with 129 additions and 11 deletions
@ -1,6 +1,7 @@ |
|||||||
# SPDX-License-Identifier: MIT |
# SPDX-License-Identifier: MIT |
||||||
|
|
||||||
board_runner_args(jlink "--device=STM32F303VC" "--speed=4000") |
board_runner_args(dfu-util "--pid=0483:df11" "--alt=0" "--dfuse") |
||||||
|
board_runner_args(jlink "--device=STM32F303CC" "--speed=4000") |
||||||
|
|
||||||
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake) |
include(${ZEPHYR_BASE}/boards/common/dfu-util.board.cmake) |
||||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) |
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) |
||||||
|
@ -0,0 +1,14 @@ |
|||||||
|
|
||||||
|
if SHIELD_CLUEBOARD_CALIFORNIA |
||||||
|
|
||||||
|
config ZMK_KEYBOARD_NAME |
||||||
|
default "Clueboard California Macropad" |
||||||
|
|
||||||
|
# Unable to use interrupts as the same pin number is used |
||||||
|
# across A & B controllers, and STM32F303CCT6 can't enable |
||||||
|
# interrutps for multiple controllers for the same "line" |
||||||
|
# for the external interrupts. |
||||||
|
config ZMK_KSCAN_GPIO_POLLING |
||||||
|
default y |
||||||
|
|
||||||
|
endif |
@ -0,0 +1,5 @@ |
|||||||
|
# Copyright (c) 2020 Pete Johanson |
||||||
|
# SPDX-License-Identifier: MIT |
||||||
|
|
||||||
|
config SHIELD_CLUEBOARD_CALIFORNIA |
||||||
|
def_bool $(shields_list_contains,clueboard_california) |
@ -0,0 +1,34 @@ |
|||||||
|
/* |
||||||
|
* Copyright (c) 2020 Pete Johanson |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: MIT |
||||||
|
*/ |
||||||
|
|
||||||
|
/ { |
||||||
|
chosen { |
||||||
|
zmk,kscan = &kscan0; |
||||||
|
}; |
||||||
|
|
||||||
|
kscan0: kscan_0 { |
||||||
|
compatible = "zmk,kscan-gpio-direct"; |
||||||
|
|
||||||
|
label = "KSCAN"; |
||||||
|
|
||||||
|
input-gpios |
||||||
|
= <&gpioa 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpioa 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpioa 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpiob 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpiob 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpiob 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpioa 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpioa 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpiob 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
, <&gpiob 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> |
||||||
|
; |
||||||
|
|
||||||
|
}; |
||||||
|
|
||||||
|
// TODO: Per-key LED node(s) |
||||||
|
}; |
||||||
|
|
@ -0,0 +1,24 @@ |
|||||||
|
#include <dt-bindings/zmk/keys.h> |
||||||
|
#include <dt-bindings/zmk/matrix-transform.h> |
||||||
|
#include <keymap.h> |
||||||
|
|
||||||
|
/ { |
||||||
|
chosen { |
||||||
|
zmk,keymap = &keymap0; |
||||||
|
}; |
||||||
|
|
||||||
|
keymap0: keymap { |
||||||
|
compatible = "zmk,keymap"; |
||||||
|
label ="Default Kyria Keymap"; |
||||||
|
layers = <&default>; |
||||||
|
}; |
||||||
|
|
||||||
|
layers { |
||||||
|
compatible = "zmk,layers"; |
||||||
|
|
||||||
|
default: layer_0 { |
||||||
|
label = "DEFAULT"; |
||||||
|
keys = <KC_9 KC_8 KC_7 KC_6 KC_5 KC_4 KC_3 KC_2 KC_1 KC_0>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
@ -0,0 +1,24 @@ |
|||||||
|
# Clueboard California Macropad |
||||||
|
|
||||||
|
A small 10-key macropad in the shape of the US state of California, |
||||||
|
|
||||||
|
## Features |
||||||
|
|
||||||
|
* Per key LED. |
||||||
|
* Proton-C compatible, including space for the piezo speaker. |
||||||
|
* Direct GPIO wiring, no GPIO matrix at all. |
||||||
|
|
||||||
|
Will need to set them to be PULL HIGH, and ACTIVE LOW |
||||||
|
|
||||||
|
| Switch | Switch Pin | LED Pin | |
||||||
|
| ------------ | ---------- | ------- | |
||||||
|
| shasta1 | a10 | a2 | |
||||||
|
| modoc1 | a9 | b5 | |
||||||
|
| mendocino1 | a0 | a1 | |
||||||
|
| lassen1 | b8 | b4 | |
||||||
|
| eldorado1 | b11 | b12 | |
||||||
|
| big_sur1 | b9 | b10 | |
||||||
|
| sierra1 | a8 | a15 | |
||||||
|
| los_padres1 | a7 | a6 | |
||||||
|
| mojave1 | b1 | b0 | |
||||||
|
| joshua_tree1 | b2 | b3 | |
Loading…
Reference in new issue