Renew repo
This commit is contained in:
parent
ca5c9b4ae6
commit
63d3058465
49 changed files with 997 additions and 613 deletions
11
app/boards/arm/mdbt50q/CMakeLists.txt
Normal file
11
app/boards/arm/mdbt50q/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/../tools/uf2/utils/uf2conv.py
|
||||
-c
|
||||
-b 0x26000
|
||||
-f 0xADA52840
|
||||
-o ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.uf2
|
||||
${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.bin
|
||||
)
|
8
app/boards/arm/mdbt50q/Kconfig
Normal file
8
app/boards/arm/mdbt50q/Kconfig
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config BOARD_ENABLE_DCDC
|
||||
bool "Enable DCDC mode"
|
||||
select SOC_DCDC_NRF52X
|
||||
default n
|
||||
depends on BOARD_MDBT50Q
|
9
app/boards/arm/mdbt50q/Kconfig.board
Normal file
9
app/boards/arm/mdbt50q/Kconfig.board
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Maker Diary nrf52840 M.2 board configuration
|
||||
|
||||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config BOARD_MDBT50Q
|
||||
bool "mdbt50q"
|
||||
depends on SOC_NRF52840_QIAA
|
||||
|
31
app/boards/arm/mdbt50q/Kconfig.defconfig
Normal file
31
app/boards/arm/mdbt50q/Kconfig.defconfig
Normal file
|
@ -0,0 +1,31 @@
|
|||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
if BOARD_MDBT50Q
|
||||
|
||||
config BOARD
|
||||
default "mdbt50q"
|
||||
|
||||
if USB
|
||||
|
||||
config USB_NRFX
|
||||
default y
|
||||
|
||||
config USB_DEVICE_STACK
|
||||
default y
|
||||
|
||||
endif # USB
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
|
||||
config ZMK_BLE
|
||||
default y
|
||||
|
||||
config ZMK_USB
|
||||
default n
|
||||
|
||||
config ZMK_SLEEP
|
||||
default y
|
||||
|
||||
endif # BOARD_MDBT50Q
|
7
app/boards/arm/mdbt50q/board.cmake
Normal file
7
app/boards/arm/mdbt50q/board.cmake
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset")
|
||||
|
||||
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake)
|
91
app/boards/arm/mdbt50q/mdbt50q.dts
Normal file
91
app/boards/arm/mdbt50q/mdbt50q.dts
Normal file
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <nordic/nrf52840_qiaa.dtsi>
|
||||
|
||||
/ {
|
||||
model = "Raytac mdbt50q module";
|
||||
compatible = "raytac,mdbt50q";
|
||||
|
||||
chosen {
|
||||
// zephyr,console = &uart0;
|
||||
// zephyr,shell-uart = &uart0;
|
||||
// zephyr,uart-mcumgr = &uart0;
|
||||
// zephyr,bt-mon-uart = &uart0;
|
||||
// zephyr,bt-c2h-uart = &uart0;
|
||||
zephyr,code-partition = &code_partition;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
};
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
current-speed = <115200>;
|
||||
// status = "okay";
|
||||
};
|
||||
|
||||
&usbd {
|
||||
compatible = "nordic,nrf-usbd";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&flash0 {
|
||||
/*
|
||||
* For more information, see:
|
||||
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
|
||||
*/
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
sd_partition: partition@0 {
|
||||
label = "softdevice";
|
||||
reg = <0x00000000 0x00026000>;
|
||||
};
|
||||
code_partition: partition@26000 {
|
||||
label = "code_partition";
|
||||
reg = <0x00026000 0x000c6000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000ec000 and ending at
|
||||
* 0x000f3fff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Storage partition will be used by FCB/LittleFS/NVS
|
||||
* if enabled.
|
||||
*/
|
||||
storage_partition: partition@ec000 {
|
||||
label = "storage";
|
||||
reg = <0x000ec000 0x00008000>;
|
||||
};
|
||||
boot_partition: partition@f4000 {
|
||||
label = "adafruit_boot";
|
||||
reg = <0x000f4000 0x0000c000>;
|
||||
};
|
||||
};
|
||||
};
|
15
app/boards/arm/mdbt50q/mdbt50q.yaml
Normal file
15
app/boards/arm/mdbt50q/mdbt50q.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
identifier: mdbt50q
|
||||
name: Raytac mdbt50q module
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- adc
|
||||
- usb_device
|
||||
- ble
|
||||
- ieee802154
|
||||
- pwm
|
||||
- watchdog
|
10
app/boards/arm/mdbt50q/mdbt50q.zmk.yml
Normal file
10
app/boards/arm/mdbt50q/mdbt50q.zmk.yml
Normal file
|
@ -0,0 +1,10 @@
|
|||
file_format: "1"
|
||||
id: mdbt50q
|
||||
name: mdbt50q Module
|
||||
type: board
|
||||
arch: arm
|
||||
outputs:
|
||||
- usb
|
||||
- ble
|
||||
url: https://raytac.com
|
||||
exposes: [raytac_mdbt50q]
|
38
app/boards/arm/mdbt50q/mdbt50q_defconfig
Normal file
38
app/boards/arm/mdbt50q/mdbt50q_defconfig
Normal file
|
@ -0,0 +1,38 @@
|
|||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
CONFIG_SOC_SERIES_NRF52X=y
|
||||
CONFIG_SOC_NRF52840_QIAA=y
|
||||
CONFIG_BOARD_MDBT50Q=y
|
||||
|
||||
# Enable MPU
|
||||
CONFIG_ARM_MPU=y
|
||||
|
||||
# enable GPIO
|
||||
CONFIG_GPIO=y
|
||||
|
||||
CONFIG_USE_DT_CODE_PARTITION=y
|
||||
|
||||
CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
||||
CONFIG_NVS=y
|
||||
CONFIG_SETTINGS_NVS=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_PAGE_LAYOUT=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
||||
CONFIG_CLOCK_CONTROL_NRF=y
|
||||
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
|
||||
|
||||
#CONFIG_SERIAL=y
|
||||
|
||||
#CONFIG_CONSOLE=y
|
||||
#CONFIG_UART_CONSOLE=y
|
||||
|
||||
CONFIG_GPIO_AS_PINRESET=y
|
||||
|
||||
#CONFIG_BT_DEBUG_LOG=y
|
||||
#CONFIG_LOG=y
|
||||
#CONFIG_ZMK_LOG_LEVEL_DBG=y
|
||||
#CONFIG_NVS_LOG_LEVEL_DBG=y
|
||||
#CONFIG_USB=n
|
||||
#CONFIG_HWINFO=y
|
|
@ -1,12 +1,12 @@
|
|||
config BOARD_ENABLE_DCDC
|
||||
bool "Enable DCDC mode"
|
||||
select SOC_DCDC_NRF52X
|
||||
default y
|
||||
depends on (BOARD_MIKOTO_520)
|
||||
bool "Enable DCDC mode"
|
||||
select SOC_DCDC_NRF52X
|
||||
default y
|
||||
depends on (BOARD_MIKOTO_520)
|
||||
|
||||
choice BOARD_MIKOTO_CHARGER_CURRENT
|
||||
prompt "Charge current to supply to attached batteries"
|
||||
depends on (BOARD_MIKOTO_520)
|
||||
depends on (BOARD_MIKOTO_520)
|
||||
|
||||
config BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
||||
bool "40mA charge current, for battery capacity 40mAh or higher"
|
||||
|
|
|
@ -4,5 +4,5 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config BOARD_MIKOTO_520
|
||||
bool "mikoto_520"
|
||||
depends on SOC_NRF52840_QIAA
|
||||
bool "mikoto_520"
|
||||
depends on SOC_NRF52840_QIAA
|
||||
|
|
|
@ -6,32 +6,32 @@
|
|||
if BOARD_MIKOTO_520
|
||||
|
||||
config BOARD
|
||||
default "mikoto"
|
||||
default "mikoto"
|
||||
|
||||
if USB
|
||||
|
||||
config USB_NRFX
|
||||
default y
|
||||
default y
|
||||
|
||||
config USB_DEVICE_STACK
|
||||
default y
|
||||
default y
|
||||
|
||||
endif # USB
|
||||
|
||||
config BT_CTLR
|
||||
default BT
|
||||
default BT
|
||||
|
||||
config ZMK_BLE
|
||||
default y
|
||||
default y
|
||||
|
||||
config ZMK_USB
|
||||
default y
|
||||
default y
|
||||
|
||||
config PINMUX
|
||||
default y
|
||||
default y
|
||||
|
||||
choice BOARD_MIKOTO_CHARGER_CURRENT
|
||||
default BOARD_MIKOTO_CHARGER_CURRENT_100MA
|
||||
default BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
||||
endchoice
|
||||
|
||||
endif # BOARD_MIKOTO_520
|
||||
|
|
|
@ -6,50 +6,50 @@
|
|||
|
||||
|
||||
/ {
|
||||
pro_micro: connector {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 4 0> /* D0 */
|
||||
, <1 0 &gpio0 8 0> /* D1 */
|
||||
, <2 0 &gpio0 17 0> /* D2 */
|
||||
, <3 0 &gpio0 20 0> /* D3 */
|
||||
, <4 0 &gpio0 22 0> /* D4/A6 */
|
||||
, <5 0 &gpio0 24 0> /* D5 */
|
||||
, <6 0 &gpio1 0 0> /* D6/A7 */
|
||||
, <7 0 &gpio1 2 0> /* D7 */
|
||||
, <8 0 &gpio1 4 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio0 9 0> /* D10/A10 */
|
||||
, <16 0 &gpio0 10 0> /* D16 */
|
||||
, <14 0 &gpio1 13 0> /* D14 */
|
||||
, <15 0 &gpio0 2 0> /* D15 */
|
||||
, <18 0 &gpio0 29 0> /* D18/A0 */
|
||||
, <19 0 &gpio0 31 0> /* D19/A1 */
|
||||
, <20 0 &gpio0 25 0> /* D20/A2 */
|
||||
, <21 0 &gpio0 11 0> /* D21/A3 */
|
||||
;
|
||||
};
|
||||
pro_micro: connector {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 4 0> /* D0 */
|
||||
, <1 0 &gpio0 8 0> /* D1 */
|
||||
, <2 0 &gpio0 17 0> /* D2 */
|
||||
, <3 0 &gpio0 20 0> /* D3 */
|
||||
, <4 0 &gpio0 22 0> /* D4/A6 */
|
||||
, <5 0 &gpio0 24 0> /* D5 */
|
||||
, <6 0 &gpio1 8 0> /* D6/A7 */
|
||||
, <7 0 &gpio1 2 0> /* D7 */
|
||||
, <8 0 &gpio1 4 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio0 9 0> /* D10/A10 */
|
||||
, <16 0 &gpio0 10 0> /* D16 */
|
||||
, <14 0 &gpio1 13 0> /* D14 */
|
||||
, <15 0 &gpio0 2 0> /* D15 */
|
||||
, <18 0 &gpio0 29 0> /* D18/A0 */
|
||||
, <19 0 &gpio0 31 0> /* D19/A1 */
|
||||
, <20 0 &gpio0 25 0> /* D20/A2 */
|
||||
, <21 0 &gpio0 11 0> /* D21/A3 */
|
||||
;
|
||||
};
|
||||
|
||||
pro_micro_a: connector_a {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 29 0> /* D18/A0 */
|
||||
, <1 0 &gpio0 31 0> /* D19/A1 */
|
||||
, <2 0 &gpio0 25 0> /* D20/A2 */
|
||||
, <3 0 &gpio0 11 0> /* D21/A3 */
|
||||
, <6 0 &gpio0 22 0> /* D4/A6 */
|
||||
, <7 0 &gpio1 0 0> /* D6/A7 */
|
||||
, <8 0 &gpio1 4 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio0 9 0> /* D10/A10 */
|
||||
;
|
||||
};
|
||||
pro_micro_a: connector_a {
|
||||
compatible = "arduino-pro-micro";
|
||||
#gpio-cells = <2>;
|
||||
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||
gpio-map-pass-thru = <0 0x3f>;
|
||||
gpio-map
|
||||
= <0 0 &gpio0 29 0> /* D18/A0 */
|
||||
, <1 0 &gpio0 31 0> /* D19/A1 */
|
||||
, <2 0 &gpio0 25 0> /* D20/A2 */
|
||||
, <3 0 &gpio0 11 0> /* D21/A3 */
|
||||
, <6 0 &gpio0 22 0> /* D4/A6 */
|
||||
, <7 0 &gpio1 0 0> /* D6/A7 */
|
||||
, <8 0 &gpio1 4 0> /* D8/A8 */
|
||||
, <9 0 &gpio1 6 0> /* D9/A9 */
|
||||
, <10 0 &gpio0 9 0> /* D10/A10 */
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
&pinctrl {
|
||||
uart0_default: uart0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 4)>;
|
||||
bias-pull-up;
|
||||
};
|
||||
group2 {
|
||||
psels = <NRF_PSEL(UART_TX, 0, 8)>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0_sleep: uart0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(UART_RX, 0, 4)>,
|
||||
<NRF_PSEL(UART_TX, 0, 8)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_default: i2c0_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 20)>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_sleep: i2c0_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
|
||||
<NRF_PSEL(TWIM_SCL, 0, 20)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -7,120 +7,116 @@
|
|||
/dts-v1/;
|
||||
#include <nordic/nrf52840_qiaa.dtsi>
|
||||
#include "arduino_pro_micro_pins.dtsi"
|
||||
#include "mikoto_520-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "mikoto";
|
||||
compatible = "zhiayang,mikoto";
|
||||
model = "mikoto";
|
||||
compatible = "zhiayang,mikoto";
|
||||
|
||||
chosen {
|
||||
zephyr,code-partition = &code_partition;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zephyr,console = &cdc_acm_uart;
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
chosen {
|
||||
zephyr,code-partition = &code_partition;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zephyr,console = &cdc_acm_uart;
|
||||
zmk,battery = &vbatt;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
blue_led: led_0 {
|
||||
gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
|
||||
label = "Blue LED";
|
||||
};
|
||||
};
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
blue_led: led_0 {
|
||||
gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
|
||||
label = "Blue LED";
|
||||
};
|
||||
};
|
||||
|
||||
ext-power {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
label = "EXT_POWER";
|
||||
control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
ext-power {
|
||||
compatible = "zmk,ext-power-generic";
|
||||
label = "EXT_POWER";
|
||||
control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
|
||||
init-delay-ms = <50>;
|
||||
};
|
||||
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
label = "BATTERY";
|
||||
io-channels = <&adc 1>;
|
||||
output-ohms = <10000000>;
|
||||
full-ohms = <(10000000 + 4000000)>;
|
||||
};
|
||||
vbatt: vbatt {
|
||||
compatible = "zmk,battery-voltage-divider";
|
||||
label = "BATTERY";
|
||||
io-channels = <&adc 1>;
|
||||
output-ohms = <10000000>;
|
||||
full-ohms = <(10000000 + 4000000)>;
|
||||
};
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "okay";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpiote {
|
||||
status = "okay";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
compatible = "nordic,nrf-twi";
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-1 = <&i2c0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
compatible = "nordic,nrf-twi";
|
||||
sda-pin = <17>;
|
||||
scl-pin = <20>;
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
compatible = "nordic,nrf-uarte";
|
||||
current-speed = <115200>;
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-1 = <&uart0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
compatible = "nordic,nrf-uarte";
|
||||
tx-pin = <8>;
|
||||
rx-pin = <4>;
|
||||
};
|
||||
|
||||
&usbd {
|
||||
status = "okay";
|
||||
cdc_acm_uart: cdc_acm_uart {
|
||||
compatible = "zephyr,cdc-acm-uart";
|
||||
label = "CDC_ACM_0";
|
||||
};
|
||||
status = "okay";
|
||||
cdc_acm_uart: cdc_acm_uart {
|
||||
compatible = "zephyr,cdc-acm-uart";
|
||||
label = "CDC_ACM_0";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
&flash0 {
|
||||
/*
|
||||
* For more information, see:
|
||||
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
|
||||
*/
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
/*
|
||||
* For more information, see:
|
||||
* http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html
|
||||
*/
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
sd_partition: partition@0 {
|
||||
label = "softdevice";
|
||||
reg = <0x00000000 0x00026000>;
|
||||
};
|
||||
code_partition: partition@26000 {
|
||||
label = "code_partition";
|
||||
reg = <0x00026000 0x000c6000>;
|
||||
};
|
||||
sd_partition: partition@0 {
|
||||
label = "mbr";
|
||||
reg = <0x00000000 0x00001000>;
|
||||
};
|
||||
code_partition: partition@1000 {
|
||||
label = "code_partition";
|
||||
reg = <0x00001000 0x000d3000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The flash starting at 0x000ec000 and ending at
|
||||
* 0x000f3fff is reserved for use by the application.
|
||||
*/
|
||||
/*
|
||||
* The flash starting at 0x000ec000 and ending at
|
||||
* 0x000f3fff is reserved for use by the application.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Storage partition will be used by FCB/LittleFS/NVS
|
||||
* if enabled.
|
||||
*/
|
||||
storage_partition: partition@ec000 {
|
||||
label = "storage";
|
||||
reg = <0x000ec000 0x00008000>;
|
||||
};
|
||||
/*
|
||||
* Storage partition will be used by FCB/LittleFS/NVS
|
||||
* if enabled.
|
||||
*/
|
||||
storage_partition: partition@ec000 {
|
||||
label = "storage";
|
||||
reg = <0x000ec000 0x00008000>;
|
||||
};
|
||||
|
||||
boot_partition: partition@f4000 {
|
||||
label = "adafruit_boot";
|
||||
reg = <0x000f4000 0x0000c000>;
|
||||
};
|
||||
};
|
||||
boot_partition: partition@f4000 {
|
||||
label = "adafruit_boot";
|
||||
reg = <0x000f4000 0x0000c000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -7,8 +7,6 @@ CONFIG_BOARD_MIKOTO_520=y
|
|||
# Enable MPU
|
||||
CONFIG_ARM_MPU=y
|
||||
|
||||
CONFIG_PINCTRL=y
|
||||
|
||||
# enable GPIO
|
||||
CONFIG_GPIO=y
|
||||
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <zephyr/kernel.h>
|
||||
#include <zephyr/device.h>
|
||||
#include <zephyr/init.h>
|
||||
#include <zephyr/drivers/gpio.h>
|
||||
#include <zephyr/sys/sys_io.h>
|
||||
#include <zephyr/devicetree.h>
|
||||
#include <kernel.h>
|
||||
#include <device.h>
|
||||
#include <init.h>
|
||||
#include <drivers/gpio.h>
|
||||
#include <sys/sys_io.h>
|
||||
#include <devicetree.h>
|
||||
|
||||
static int pinmux_mikoto_init(const struct device *port) {
|
||||
ARG_UNUSED(port);
|
||||
|
||||
#if CONFIG_BOARD_MIKOTO_520
|
||||
const struct device *p0 = DEVICE_DT_GET(DT_NODELABEL(gpio0));
|
||||
const struct device *p1 = DEVICE_DT_GET(DT_NODELABEL(gpio1));
|
||||
const struct device *p0 = device_get_binding("GPIO_0");
|
||||
const struct device *p1 = device_get_binding("GPIO_1");
|
||||
#if CONFIG_BOARD_MIKOTO_CHARGER_CURRENT_40MA
|
||||
gpio_pin_configure(p0, 26, GPIO_INPUT | GPIO_PULL_DOWN);
|
||||
gpio_pin_configure(p1, 15, GPIO_INPUT);
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
if SHIELD_CORNE_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Corne"
|
||||
default "Corne"
|
||||
|
||||
config ZMK_SPLIT_ROLE_CENTRAL
|
||||
default y
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_CORNE_LEFT || SHIELD_CORNE_RIGHT
|
||||
|
||||
config ZMK_SPLIT
|
||||
default y
|
||||
default y
|
||||
|
||||
if ZMK_DISPLAY
|
||||
|
||||
config I2C
|
||||
default y
|
||||
default y
|
||||
|
||||
config SSD1306
|
||||
default y
|
||||
default y
|
||||
|
||||
config SSD1306_REVERSE_MODE
|
||||
default y
|
||||
default y
|
||||
|
||||
endif # ZMK_DISPLAY
|
||||
|
||||
if LVGL
|
||||
|
||||
config LV_Z_VDB_SIZE
|
||||
default 64
|
||||
config LVGL_VDB_SIZE
|
||||
default 64
|
||||
|
||||
config LV_Z_DPI
|
||||
default 148
|
||||
config LVGL_DPI
|
||||
default 148
|
||||
|
||||
config LV_Z_BITS_PER_PIXEL
|
||||
default 1
|
||||
config LVGL_BITS_PER_PIXEL
|
||||
default 1
|
||||
|
||||
choice LV_COLOR_DEPTH
|
||||
default LV_COLOR_DEPTH_1
|
||||
choice LVGL_COLOR_DEPTH
|
||||
default LVGL_COLOR_DEPTH_1
|
||||
endchoice
|
||||
|
||||
endif # LVGL
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_CORNE_LEFT
|
||||
def_bool $(shields_list_contains,corne_left)
|
||||
def_bool $(shields_list_contains,corne_left)
|
||||
|
||||
config SHIELD_CORNE_RIGHT
|
||||
def_bool $(shields_list_contains,corne_right)
|
||||
def_bool $(shields_list_contains,corne_right)
|
||||
|
|
|
@ -1,47 +1,33 @@
|
|||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
&spi1 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
/* Cannot be used together with i2c0. */
|
||||
status = "okay";
|
||||
mosi-pin = <6>;
|
||||
// Unused pins, needed for SPI definition, but not used by the ws2812 driver itself.
|
||||
sck-pin = <5>;
|
||||
miso-pin = <7>;
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "SK6812mini";
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
/* WS2812 */
|
||||
chain-length = <6>; /* There are per-key RGB, but the first 6 are underglow */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
|
@ -7,77 +7,77 @@
|
|||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,display = &oled;
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
chosen {
|
||||
zephyr,display = &oled;
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <4>;
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <12>;
|
||||
rows = <4>;
|
||||
// | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||
// | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 |
|
||||
// | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 |
|
||||
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||
map = <
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
|
||||
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11)
|
||||
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11)
|
||||
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||
>;
|
||||
};
|
||||
>;
|
||||
};
|
||||
|
||||
five_column_transform: keymap_transform_1 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <10>;
|
||||
rows = <4>;
|
||||
five_column_transform: keymap_transform_1 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <10>;
|
||||
rows = <4>;
|
||||
// | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 |
|
||||
// | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 |
|
||||
// | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 |
|
||||
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||
map = <
|
||||
map = <
|
||||
RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10)
|
||||
RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10)
|
||||
RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10)
|
||||
RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8)
|
||||
>;
|
||||
};
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
// TODO: per-key RGB node(s)?
|
||||
// TODO: per-key RGB node(s)?
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
&kp TAB &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &trans
|
||||
&kp LSHFT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT
|
||||
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT
|
||||
>;
|
||||
};
|
||||
|
||||
|
@ -49,7 +49,7 @@
|
|||
&kp TAB &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp BSPC
|
||||
&kp LCTRL &trans &trans &trans &trans &trans &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &kp GRAVE
|
||||
&kp LSHFT &trans &trans &trans &trans &trans &kp UNDER &kp PLUS &kp LBRC &kp RBRC &kp PIPE &kp TILDE
|
||||
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT
|
||||
&kp LGUI &trans &kp SPACE &kp RET &trans &kp RALT
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
#include "corne.dtsi"
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 21 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 20 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
col-gpios
|
||||
= <&pro_micro 21 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 20 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
|
|
|
@ -7,20 +7,16 @@
|
|||
#include "corne.dtsi"
|
||||
|
||||
&default_transform {
|
||||
col-offset = <6>;
|
||||
};
|
||||
|
||||
&five_column_transform {
|
||||
col-offset = <6>;
|
||||
col-offset = <6>;
|
||||
};
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 20 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 21 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
col-gpios
|
||||
= <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 20 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 21 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
|
|
|
@ -2,44 +2,44 @@
|
|||
if SHIELD_LILY58_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Lily58"
|
||||
default "Lily58"
|
||||
|
||||
config ZMK_SPLIT_ROLE_CENTRAL
|
||||
default y
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_LILY58_LEFT || SHIELD_LILY58_RIGHT
|
||||
|
||||
config ZMK_SPLIT
|
||||
default y
|
||||
default y
|
||||
|
||||
if ZMK_DISPLAY
|
||||
|
||||
config I2C
|
||||
default y
|
||||
default y
|
||||
|
||||
config SSD1306
|
||||
default y
|
||||
default y
|
||||
|
||||
config SSD1306_REVERSE_MODE
|
||||
default y
|
||||
default y
|
||||
|
||||
endif # ZMK_DISPLAY
|
||||
|
||||
if LVGL
|
||||
|
||||
config LV_Z_VDB_SIZE
|
||||
default 64
|
||||
config LVGL_VDB_SIZE
|
||||
default 64
|
||||
|
||||
config LV_Z_DPI
|
||||
default 148
|
||||
config LVGL_DPI
|
||||
default 148
|
||||
|
||||
config LV_Z_BITS_PER_PIXEL
|
||||
default 1
|
||||
config LVGL_BITS_PER_PIXEL
|
||||
default 1
|
||||
|
||||
choice LV_COLOR_DEPTH
|
||||
default LV_COLOR_DEPTH_1
|
||||
choice LVGL_COLOR_DEPTH
|
||||
default LVGL_COLOR_DEPTH_1
|
||||
endchoice
|
||||
|
||||
endif # LVGL
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_LILY58_LEFT
|
||||
def_bool $(shields_list_contains,lily58_left)
|
||||
def_bool $(shields_list_contains,lily58_left)
|
||||
|
||||
config SHIELD_LILY58_RIGHT
|
||||
def_bool $(shields_list_contains,lily58_right)
|
||||
def_bool $(shields_list_contains,lily58_right)
|
||||
|
|
|
@ -1,47 +1,37 @@
|
|||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
&spi1 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
mosi-pin = <6>;
|
||||
// Unused pins, needed for SPI definition, but not used by the ws2812 driver itself.
|
||||
sck-pin = <5>;
|
||||
miso-pin = <7>;
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
/* WS2812 */
|
||||
chain-length = <5>; /* number of LEDs */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
#include <dt-bindings/led/led.h>
|
||||
|
||||
&pinctrl {
|
||||
spi3_default: spi3_default {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
};
|
||||
};
|
||||
|
||||
spi3_sleep: spi3_sleep {
|
||||
group1 {
|
||||
psels = <NRF_PSEL(SPIM_MOSI, 0, 6)>;
|
||||
low-power-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi3 {
|
||||
compatible = "nordic,nrf-spim";
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&spi3_default>;
|
||||
pinctrl-1 = <&spi3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
led_strip: ws2812@0 {
|
||||
compatible = "worldsemi,ws2812-spi";
|
||||
label = "WS2812";
|
||||
|
||||
/* SPI */
|
||||
reg = <0>; /* ignored, but necessary for SPI bindings */
|
||||
spi-max-frequency = <4000000>;
|
||||
|
||||
/* WS2812 */
|
||||
chain-length = <10>; /* arbitrary; change at will */
|
||||
spi-one-frame = <0x70>;
|
||||
spi-zero-frame = <0x40>;
|
||||
|
||||
color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,underglow = &led_strip;
|
||||
};
|
||||
};
|
|
@ -1,6 +1,9 @@
|
|||
# Uncomment to enable encoder
|
||||
# CONFIG_EC11=y
|
||||
# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
|
||||
CONFIG_ZMK_SLEEP=y
|
||||
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000
|
||||
CONFIG_ZMK_BATTERY_REPORT_INTERVAL=900
|
||||
|
||||
# Uncomment the following line to enable the Lily58 OLED Display
|
||||
# CONFIG_ZMK_DISPLAY=y
|
||||
|
||||
CONFIG_ZMK_USB_INIT_PRIORITY=10
|
||||
CONFIG_ZMK_BLE_INIT_PRIORITY=90
|
||||
|
||||
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||
|
|
|
@ -7,75 +7,41 @@
|
|||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,display = &oled;
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <16>;
|
||||
rows = <5>;
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <16>;
|
||||
rows = <5>;
|
||||
// | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 |
|
||||
// | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 |
|
||||
// | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 |
|
||||
// | SW24 | SW23 | SW22 | SW21 | SW20 | SW19 | SW25 | | SW25 | SW19 | SW20 | SW21 | SW22 | SW23 | SW24 |
|
||||
// | SW29 | SW28 | SW27 | SW26 | | SW26 | SW27 | SW28 | SW29 |
|
||||
map = <
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
|
||||
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11)
|
||||
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11)
|
||||
RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11)
|
||||
RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,7) RC(4,8) RC(4,9) RC(4,10)
|
||||
>;
|
||||
};
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
= <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
|
||||
};
|
||||
|
||||
left_encoder: encoder_left {
|
||||
compatible = "alps,ec11";
|
||||
label = "LEFT_ENCODER";
|
||||
a-gpios = <&pro_micro 21 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||
b-gpios = <&pro_micro 20 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||
resolution = <4>;
|
||||
};
|
||||
|
||||
sensors {
|
||||
compatible = "zmk,keymap-sensors";
|
||||
sensors = <&left_encoder>;
|
||||
};
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
diode-direction = "col2row";
|
||||
row-gpios
|
||||
= <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
|
||||
};
|
||||
};
|
||||
|
|
56
app/boards/shields/lily58/lily58.h
Normal file
56
app/boards/shields/lily58/lily58.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
#define DFT 0
|
||||
#define LWR 1
|
||||
#define RSE 2
|
||||
#define ADJ 3
|
||||
|
||||
#define Z_BOOT &bootloader
|
||||
#define Z_BT_0 &bt BT_SEL 0
|
||||
#define Z_BT_1 &bt BT_SEL 1
|
||||
#define Z_BT_2 &bt BT_SEL 2
|
||||
#define Z_BT_3 &bt BT_SEL 3
|
||||
#define Z_BT_4 &bt BT_SEL 4
|
||||
#define Z_BT_C &bt BT_CLR
|
||||
#define Z_VUP &kp C_VOL_UP
|
||||
#define Z_VDN &kp C_VOL_DN
|
||||
#define Z_MUT &kp C_MUTE
|
||||
#define CPW &caps_word
|
||||
#define OUT_T &out OUT_TOG
|
||||
#define OUT_U &out OUT_USB
|
||||
#define OUT_B &out OUT_BLE
|
||||
#define EP_T &ext_power EP_TOG
|
||||
#define EP_ON &ext_power EP_ON
|
||||
#define EP_OF &ext_power EP_OFF
|
||||
#define ESCT &mt TILD ESC
|
||||
#define FN1 &mt F1 N1
|
||||
#define FN2 &mt F2 N2
|
||||
#define FN3 &mt F3 N3
|
||||
#define FN4 &mt F4 N4
|
||||
#define FN5 &mt F5 N5
|
||||
#define FN6 &mt F6 N6
|
||||
#define FN7 &mt F7 N7
|
||||
#define FN8 &mt F8 N8
|
||||
#define FN9 &mt F9 N9
|
||||
#define FN10 &mt F10 N0
|
||||
#define FN11 &mt F11 MINUS
|
||||
#define ______ &trans
|
||||
#define XXXXXX &none
|
||||
|
||||
// Combo macro
|
||||
#define COMBO(name, keypress, keypos) \
|
||||
combo_##name { \
|
||||
layers = <0 2>; \
|
||||
timeout-ms = <50>; \
|
||||
bindings = <keypress>; \
|
||||
key-positions = <keypos>; \
|
||||
};
|
||||
|
||||
// Macro macro
|
||||
#define MACRO(name, keys) \
|
||||
name: name##_macro { \
|
||||
label = #name; \
|
||||
compatible = "zmk,behavior-macro";\
|
||||
#binding-cells = <0>; \
|
||||
tap-ms = <1>; \
|
||||
wait-ms = <1>; \
|
||||
bindings = <keys>; \
|
||||
};
|
|
@ -7,64 +7,109 @@
|
|||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
#include <dt-bindings/zmk/ext_power.h>
|
||||
#include <dt-bindings/zmk/outputs.h>
|
||||
#include "lily58.h"
|
||||
|
||||
&kscan0 {
|
||||
debounce-press-ms = <3>;
|
||||
debounce-release-ms = <3>;
|
||||
debounce-scan-period-ms = <10>;
|
||||
};
|
||||
|
||||
&mt {
|
||||
flavor = "tap-preferred";
|
||||
tapping-term-ms = <400>;
|
||||
quick-tap-ms = <200>;
|
||||
};
|
||||
|
||||
&caps_word {
|
||||
continue-list = <UNDER MINUS BSPC>;
|
||||
};
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | - |
|
||||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
// | SHIFT | Z | X | C | V | B | "[" | | "]" | N | M | , | . | / | SHIFT |
|
||||
// | ALT | GUI | LOWER| SPACE | | ENTER | RAISE| BSPC | GUI |
|
||||
bindings = <
|
||||
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp GRAVE
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp MINUS
|
||||
&kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp LBKT &kp RBKT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT
|
||||
&kp LALT &kp LGUI &mo 1 &kp SPACE &kp RET &mo 2 &kp BSPC &kp RGUI
|
||||
>;
|
||||
default_layer {
|
||||
bindings = <
|
||||
|
||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
ESCT FN1 FN2 FN3 FN4 FN5 FN6 FN7 FN8 FN9 FN10 FN11
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
&kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp LPAR &kp RPAR &kp N &kp M &kp COMMA &kp DOT &kp SLASH &kp RSHFT
|
||||
// └────────┴────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴────────┤ ├────────┴──┬─────┴──┬─────┴──┬─────┴──┬─────┴────────┴────────┘
|
||||
&mo ADJ &kp LGUI &mo RSE &kp SPACE &kp ENTER &mo LWR &kp RALT &kp BKSP
|
||||
// └────────┴────────┴────────┴───────────┘ └───────────┴────────┴────────┴────────┘
|
||||
>;
|
||||
};
|
||||
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
|
||||
lower_layer {
|
||||
bindings = <
|
||||
|
||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPRN &kp RPRN &kp UNDER
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
______ &kp AT &kp HASH &kp DLLR &kp CARET &kp STAR ______ ______ ______ ______ ______ ______
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
CPW &kp QMARK XXXXXX &kp LBKT &kp RBKT &kp COLN ______ ______ ______ ______ ______ ______
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
______ &kp UNDER &kp DQT &kp LPRN &kp RPRN &kp PIPE ______ ______ ______ ______ ______ ______ ______ ______
|
||||
// └────────┴────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴────────┤ ├────────┴──┬─────┴──┬─────┴──┬─────┴──┬─────┴────────┴────────┘
|
||||
______ ______ ______ ______ ______ ______ ______ ______
|
||||
// └────────┴────────┴────────┴───────────┘ └───────────┴────────┴────────┴────────┘
|
||||
>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
bindings = <
|
||||
|
||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
______ XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX &kp PSCRN XXXXXX XXXXXX XXXXXX XXXXXX &kp EQL
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
______ ______ ______ ______ ______ ______ &kp INS &kp N7 &kp N8 &kp N9 XXXXXX &kp RBKT
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
______ ______ ______ ______ ______ ______ &kp DEL &kp N4 &kp N5 &kp N6 &kp LT &kp GT
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
______ ______ ______ ______ ______ ______ ______ ______ &kp N0 &kp N1 &kp N2 &kp N3 &kp DOT ______
|
||||
// └────────┴────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴────────┤ ├────────┴──┬─────┴──┬─────┴──┬─────┴──┬─────┴────────┴────────┘
|
||||
______ ______ ______ ______ ______ ______ ______ ______
|
||||
// └────────┴────────┴────────┴───────────┘ └───────────┴────────┴────────┴────────┘
|
||||
>;
|
||||
};
|
||||
|
||||
adjust_layer {
|
||||
bindings = <
|
||||
|
||||
// ┌──[0]───┬──[1]───┬──[2]───┬──[3]───┬──[4]───┬──[5]───┐ ┌──[6]───┬──[7]───┬──[8]───┬──[9]───┬──[10]──┬──[11]──┐
|
||||
______ Z_BT_0 Z_BT_1 Z_BT_2 Z_BT_3 Z_BT_4 Z_VUP XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX
|
||||
// ├──[12]──┼──[13]──┼──[14]──┼──[15]──┼──[16]──┼──[17]──┤ ├──[18]──┼──[19]──┼──[20]──┼──[21]──┼──[22]──┼──[23]──┤
|
||||
______ ______ ______ ______ OUT_T Z_BT_C Z_VDN &kp HOME &kp UP &kp END &kp PGUP &kp BSLH
|
||||
// ├──[24]──┼──[25]──┼──[26]──┼──[27]──┼──[28]──┼──[29]──┤ ├──[30]──┼──[31]──┼──[32]──┼──[33]──┼──[34]──┼──[35]──┤
|
||||
______ ______ ______ ______ ______ ______ Z_MUT &kp LEFT &kp DOWN &kp RIGHT &kp PGDN ______
|
||||
// ├──[36]──┼──[37]──┼──[38]──┼──[39]──┼──[40]──┼──[41]──┼──[52]──┐ ┌──[53]──┼──[42]──┼──[43]──┼──[44]──┼──[45]──┼──[46]──┼──[47]──┤
|
||||
______ ______ ______ ______ &suspend Z_BOOT &vim_s &vim_q Z_BOOT &suspend ______ ______ ______ ______
|
||||
// └────────┴────────┴─────┬──┴[48]─┬──┴[49]─┬──┴[50]─┬──┴──[51]──┤ ├──[54]──┴──┬─[55]┴──┬─[56]┴──┬─[57]┴──┬─────┴────────┴────────┘
|
||||
______ ______ ______ ______ ______ ______ ______ ______
|
||||
// └────────┴────────┴────────┴───────────┘ └───────────┴────────┴────────┴────────┘
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | BTCLR | BT1 | BT2 | BT3 | BT4 | BT5 | | | | | | | |
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
// | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | ~ |
|
||||
// | | | | | | | | | | | _ | + | { | } | "|" |
|
||||
// | | | | | | | | | |
|
||||
bindings = <
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
|
||||
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp TILDE
|
||||
&trans &ext_power EP_ON &ext_power EP_OFF &ext_power EP_TOG &trans &trans &trans &trans &trans &kp MINUS &kp KP_PLUS &kp LBRC &kp RBRC &kp PIPE
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | | | <- | v | ^ | -> | |
|
||||
// | F7 | F8 | F9 | F10 | F11 | F12 | | | | + | - | = | [ | ] | \ |
|
||||
// | | | | | | | | | |
|
||||
bindings = <
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans
|
||||
&kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &trans &trans &kp KP_PLUS &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
|
||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
|
||||
};
|
||||
combos {
|
||||
compatible = "zmk,combos";
|
||||
// layer toggle
|
||||
COMBO(nlock, &tog RSE, 28 31)
|
||||
COMBO(caps, &kp CAPS, 25 34)
|
||||
// vim shortcuts
|
||||
};
|
||||
|
||||
macros {
|
||||
MACRO(vim_q, &kp COLON &kp Q &kp EXCL)
|
||||
MACRO(vim_s, &kp COLON &kp W &kp Q)
|
||||
MACRO(dir_up, &kp DOT &kp DOT &kp FSLH)
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
# Uncomment to enable encoder
|
||||
# CONFIG_EC11=y
|
||||
# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
|
||||
CONFIG_ZMK_SLEEP=y
|
||||
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000
|
||||
CONFIG_ZMK_BATTERY_REPORT_INTERVAL=900
|
||||
|
||||
|
||||
CONFIG_ZMK_USB_INIT_PRIORITY=10
|
||||
CONFIG_ZMK_BLE_INIT_PRIORITY=90
|
||||
|
||||
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||
|
|
|
@ -7,16 +7,12 @@
|
|||
#include "lily58.dtsi"
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 16 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 10 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
|
||||
&left_encoder {
|
||||
status = "okay";
|
||||
col-gpios
|
||||
= <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 16 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 10 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
|
|
|
@ -1 +1,13 @@
|
|||
CONFIG_ZMK_SLEEP=y
|
||||
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000
|
||||
CONFIG_ZMK_BATTERY_REPORT_INTERVAL=1800
|
||||
|
||||
CONFIG_ZMK_USB_INIT_PRIORITY=10
|
||||
CONFIG_ZMK_BLE_INIT_PRIORITY=90
|
||||
|
||||
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
|
||||
|
||||
CONFIG_BT_PERIPHERAL_PREF_MAX_INT=9
|
||||
CONFIG_BT_PERIPHERAL_PREF_LATENCY=16
|
||||
CONFIG_BT_BUF_ACL_TX_COUNT=32
|
||||
CONFIG_BT_L2CAP_TX_BUF_COUNT=32
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
#include "lily58.dtsi"
|
||||
|
||||
&default_transform {
|
||||
col-offset = <6>;
|
||||
col-offset = <6>;
|
||||
};
|
||||
|
||||
&kscan0 {
|
||||
col-gpios
|
||||
= <&pro_micro 10 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 16 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
col-gpios
|
||||
= <&pro_micro 10 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 16 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 18 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 19 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
|
|
16
app/boards/shields/orthrus/Kconfig.defconfig
Normal file
16
app/boards/shields/orthrus/Kconfig.defconfig
Normal file
|
@ -0,0 +1,16 @@
|
|||
if SHIELD_ORTHRUS_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Orthrus"
|
||||
|
||||
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_ORTHRUS_LEFT || SHIELD_ORTHRUS_RIGHT
|
||||
|
||||
config ZMK_SPLIT
|
||||
default y
|
||||
|
||||
endif
|
8
app/boards/shields/orthrus/Kconfig.shield
Normal file
8
app/boards/shields/orthrus/Kconfig.shield
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2020 Pete Johanson
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_ORTHRUS_LEFT
|
||||
def_bool $(shields_list_contains,orthrus_left)
|
||||
|
||||
config SHIELD_ORTHRUS_RIGHT
|
||||
def_bool $(shields_list_contains,orthrus_right)
|
0
app/boards/shields/orthrus/orthrus.conf
Normal file
0
app/boards/shields/orthrus/orthrus.conf
Normal file
30
app/boards/shields/orthrus/orthrus.dtsi
Normal file
30
app/boards/shields/orthrus/orthrus.dtsi
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Copyright (c) 2020 Pete Johanson
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
compatible = "zmk,matrix-transform";
|
||||
columns = <56>;
|
||||
rows = <1>;
|
||||
// | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 |
|
||||
// | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 |
|
||||
// | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 |
|
||||
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
|
||||
map = <
|
||||
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,28) RC(0,29) RC(0,30) RC(0,31) RC(0,32) RC(0,33)
|
||||
RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,34) RC(0,35) RC(0,36) RC(0,37) RC(0,38) RC(0,39)
|
||||
RC(0,12) RC(0,13) RC(0,14) RC(0,15) RC(0,16) RC(0,17) RC(0,40) RC(0,41) RC(0,42) RC(0,43) RC(0,44) RC(0,45)
|
||||
RC(0,18) RC(0,19) RC(0,20) RC(0,21) RC(0,22) RC(0,23) RC(0,46) RC(0,47) RC(0,48) RC(0,49) RC(0,50) RC(0,51)
|
||||
RC(0,24) RC(0,25) RC(0,26) RC(0,27) RC(0,52) RC(0,53) RC(0,54) RC(0,55)
|
||||
>;
|
||||
};
|
||||
};
|
66
app/boards/shields/orthrus/orthrus.keymap
Normal file
66
app/boards/shields/orthrus/orthrus.keymap
Normal file
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
|
||||
&mt {
|
||||
flavor = "tap-preferred";
|
||||
tapping-term-ms = <400>;
|
||||
quick-tap-ms = <200>;
|
||||
};
|
||||
|
||||
#define DFT 0
|
||||
#define LWR 1
|
||||
#define RSE 2
|
||||
#define ADJ 3
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
bindings = <
|
||||
&mt F12 ESC &mt F1 N1 &mt F2 N2 &mt F3 N3 &mt F4 N4 &mt F5 N5 &mt F6 N6 &mt F7 N7 &mt F8 N8 &mt F9 N9 &mt F10 N0 &mt F11 MINUS
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBRC
|
||||
&kp LGUI &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH &kp RSHFT
|
||||
&mo ADJ &kp LCTRL &mo RSE &kp SPACE &kp ENTER &mo LWR &kp RALT &kp BKSP
|
||||
>;
|
||||
};
|
||||
|
||||
lower_layer {
|
||||
bindings = <
|
||||
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPRN &kp RPRN &kp UNDER
|
||||
&kp TILD &kp AT &kp HASH &kp DLLR &kp CARET &kp STAR &trans &trans &trans &trans &trans &trans
|
||||
&kp CAPS &kp QMARK &none &kp LBKT &kp RBKT &kp COLN &trans &trans &trans &trans &trans &trans
|
||||
&trans &kp UNDER &kp DQT &kp LPRN &kp RPRN &kp PIPE &trans &trans &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
|
||||
raise_layer {
|
||||
bindings = <
|
||||
&trans &none &none &none &none &none &kp PSCRN &none &none &none &none &kp EQL
|
||||
&trans &trans &trans &trans &trans &trans &kp INS &kp N7 &kp N8 &kp N9 &trans &kp RBRC
|
||||
&trans &trans &trans &trans &trans &trans &kp DEL &kp N4 &kp N5 &kp N6 &kp LT &kp GT
|
||||
&trans &trans &trans &trans &trans &trans &kp N0 &kp N1 &kp N2 &kp N3 &kp DOT &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans < ADJ BKSP
|
||||
>;
|
||||
};
|
||||
|
||||
adjust_layer {
|
||||
bindings = <
|
||||
&trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans
|
||||
&trans &bt BT_PRV &bt BT_NXT &bt BT_CLR &trans &trans &trans &kp HOME &kp PGDN &kp PGUP &kp END &kp BSLH
|
||||
&trans &trans &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans
|
||||
&trans &trans &trans &trans &reset &bootloader &bootloader &reset &trans &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
11
app/boards/shields/orthrus/orthrus.zmk.yml
Normal file
11
app/boards/shields/orthrus/orthrus.zmk.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
file_format: "1"
|
||||
id: orthrus
|
||||
name: Orthrus
|
||||
type: shield
|
||||
url: https://github.com/
|
||||
requires: [mdbt50q]
|
||||
features:
|
||||
- keys
|
||||
siblings:
|
||||
- orthrus_left
|
||||
- orthrus_right
|
0
app/boards/shields/orthrus/orthrus_left.conf
Normal file
0
app/boards/shields/orthrus/orthrus_left.conf
Normal file
52
app/boards/shields/orthrus/orthrus_left.overlay
Normal file
52
app/boards/shields/orthrus/orthrus_left.overlay
Normal file
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* Copyright (c) 2020 Pete Johanson
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "orthrus.dtsi"
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
label = "KSCAN";
|
||||
input-gpios
|
||||
= <&gpio1 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 23 #0 28
|
||||
, <&gpio0 30 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 29 #1 29
|
||||
, <&gpio0 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 0 #2 30
|
||||
, <&gpio1 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 5 #3 31
|
||||
, <&gpio0 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 9 #4 32
|
||||
, <&gpio0 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 13 #5 33
|
||||
, <&gpio1 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 22 #6 34
|
||||
, <&gpio0 31 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 28 #7 35
|
||||
, <&gpio0 27 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 30 #8 36
|
||||
, <&gpio0 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 4 #9 37
|
||||
, <&gpio1 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 8 #10 38
|
||||
, <&gpio0 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 14 #11 39
|
||||
, <&gpio1 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 21 #12 40
|
||||
, <&gpio0 29 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 25 #13 41
|
||||
, <&gpio1 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 11 #14 42
|
||||
, <&gpio0 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 3 #15 43
|
||||
, <&gpio0 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 7 #16 44
|
||||
, <&gpio0 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 15 #17 45
|
||||
, <&gpio1 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 20 #18 46
|
||||
, <&gpio1 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 24 #19 47
|
||||
, <&gpio1 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 12 #20 48
|
||||
, <&gpio0 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 2 #21 49
|
||||
, <&gpio0 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 6 #22 50
|
||||
, <&gpio0 17 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 16 #23 51
|
||||
, <&gpio0 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 1 #24 52
|
||||
, <&gpio0 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 10 #25 53
|
||||
, <&gpio0 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 17 #26 54
|
||||
, <&gpio1 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 18 #27 55
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
//&uart0 {
|
||||
// tx-pin = <27>;
|
||||
//};
|
0
app/boards/shields/orthrus/orthrus_right.conf
Normal file
0
app/boards/shields/orthrus/orthrus_right.conf
Normal file
56
app/boards/shields/orthrus/orthrus_right.overlay
Normal file
56
app/boards/shields/orthrus/orthrus_right.overlay
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2020 Pete Johanson
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "orthrus.dtsi"
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
label = "KSCAN";
|
||||
input-gpios
|
||||
= <&gpio0 30 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 29 #0 28
|
||||
, <&gpio0 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 0 #1 29
|
||||
, <&gpio0 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 4 #2 30
|
||||
, <&gpio0 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 9 #3 29
|
||||
, <&gpio0 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 13 #4 30
|
||||
, <&gpio0 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 17 #5 31
|
||||
, <&gpio0 31 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 28 #6 32
|
||||
, <&gpio0 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 1 #7 33
|
||||
, <&gpio1 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 5 #8 34
|
||||
, <&gpio0 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 10 #9 35
|
||||
, <&gpio0 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 14 #10 36
|
||||
, <&gpio1 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 18 #11 37
|
||||
, <&gpio0 29 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 25 #12 38
|
||||
, <&gpio0 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 2 #13 39
|
||||
, <&gpio0 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 6 #14 40
|
||||
, <&gpio1 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 11 #15 41
|
||||
, <&gpio0 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 15 #16 42
|
||||
, <&gpio1 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 19 #17 43
|
||||
, <&gpio1 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 24 #18 44
|
||||
, <&gpio0 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 3 #19 45
|
||||
, <&gpio0 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 7 #20 46
|
||||
, <&gpio1 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 12 #21 47
|
||||
, <&gpio0 17 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 16 #22 48
|
||||
, <&gpio1 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 20 #24 49
|
||||
, <&gpio1 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 22 #25 50
|
||||
, <&gpio1 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 23 #26 51
|
||||
, <&gpio0 27 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 30 #27 52
|
||||
, <&gpio1 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> // 8 #28 53
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
&default_transform {
|
||||
col-offset = <28>;
|
||||
};
|
||||
|
||||
//&uart0 {
|
||||
// tx-pin = <27>;
|
||||
//};
|
|
@ -7,18 +7,24 @@
|
|||
#include <dt-bindings/zmk/reset.h>
|
||||
|
||||
/ {
|
||||
behaviors {
|
||||
sys_reset: behavior_reset {
|
||||
compatible = "zmk,behavior-reset";
|
||||
label = "SYSRESET";
|
||||
#binding-cells = <0>;
|
||||
};
|
||||
behaviors {
|
||||
reset: behavior_reset {
|
||||
compatible = "zmk,behavior-reset";
|
||||
label = "RESET";
|
||||
#binding-cells = <0>;
|
||||
};
|
||||
|
||||
bootloader: behavior_reset_dfu {
|
||||
compatible = "zmk,behavior-reset";
|
||||
label = "BOOTLOAD";
|
||||
type = <RST_UF2>;
|
||||
#binding-cells = <0>;
|
||||
};
|
||||
bootloader: behavior_reset_dfu {
|
||||
compatible = "zmk,behavior-reset";
|
||||
label = "BOOTLOAD";
|
||||
type = <RST_UF2>;
|
||||
#binding-cells = <0>;
|
||||
};
|
||||
suspend: behavior_reset_suspend {
|
||||
compatible = "zmk,behavior-reset";
|
||||
label = "SUSPEND";
|
||||
type = <RST_SUSPEND>;
|
||||
#binding-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,4 +10,6 @@
|
|||
// AdaFruit nrf52 Bootloader Specific. See
|
||||
// https://github.com/adafruit/Adafruit_nRF52_Bootloader/blob/d6b28e66053eea467166f44875e3c7ec741cb471/src/main.c#L107
|
||||
|
||||
#define RST_UF2 0x57
|
||||
#define RST_UF2 0x57
|
||||
#define RST_OTA 0xA8
|
||||
#define RST_SUSPEND 0xFE
|
||||
|
|
Loading…
Add table
Reference in a new issue