From 7eac1fe2e5026124e6085bbb47ec0a7885c1c616 Mon Sep 17 00:00:00 2001 From: Stefan Sundin Date: Thu, 5 Nov 2020 17:19:13 +0100 Subject: [PATCH 01/16] started adding cyber60 --- app/boards/arm/cyber60/Kconfig.board | 9 ++ app/boards/arm/cyber60/Kconfig.defconfig | 31 ++++++ app/boards/arm/cyber60/board.cmake | 5 + app/boards/arm/cyber60/cyber60.dts | 115 +++++++++++++++++++++++ app/boards/arm/cyber60/cyber60.keymap | 25 +++++ app/boards/arm/cyber60/cyber60_defconfig | 20 ++++ 6 files changed, 205 insertions(+) create mode 100644 app/boards/arm/cyber60/Kconfig.board create mode 100644 app/boards/arm/cyber60/Kconfig.defconfig create mode 100644 app/boards/arm/cyber60/board.cmake create mode 100644 app/boards/arm/cyber60/cyber60.dts create mode 100644 app/boards/arm/cyber60/cyber60.keymap create mode 100644 app/boards/arm/cyber60/cyber60_defconfig diff --git a/app/boards/arm/cyber60/Kconfig.board b/app/boards/arm/cyber60/Kconfig.board new file mode 100644 index 00000000..83344f2e --- /dev/null +++ b/app/boards/arm/cyber60/Kconfig.board @@ -0,0 +1,9 @@ +# cyber60 board configuration + +# Copyright (c) 2020 Stefan Sundin (4pplet) +# SPDX-License-Identifier: MIT + +config BOARD_CYBER60_A + bool "cyber60 Rev A" + depends on SOC_NRF52840_QIAA + diff --git a/app/boards/arm/cyber60/Kconfig.defconfig b/app/boards/arm/cyber60/Kconfig.defconfig new file mode 100644 index 00000000..5ced61c4 --- /dev/null +++ b/app/boards/arm/cyber60/Kconfig.defconfig @@ -0,0 +1,31 @@ +# Copyright (c) 2020 Stefan Sundin (4pplet) +# SPDX-License-Identifier: MIT + +if BOARD_CYBER60 + +config BOARD + default "cyber60" + +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 y + +config ZMK_BATTERY_VOLTAGE_DIVIDER + default y + +endif # BOARD_CYBER60 diff --git a/app/boards/arm/cyber60/board.cmake b/app/boards/arm/cyber60/board.cmake new file mode 100644 index 00000000..fa847d50 --- /dev/null +++ b/app/boards/arm/cyber60/board.cmake @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: MIT + +board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset") +include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake) +include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts new file mode 100644 index 00000000..8474a23b --- /dev/null +++ b/app/boards/arm/cyber60/cyber60.dts @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2020 Stefan Sundin (4pplet) + * + * SPDX-License-Identifier: MIT + */ + +/dts-v1/; +#include + +/ { + model = "CYBER60_A"; + compatible = "cyber60,A"; + + chosen { + zephyr,code-partition = &code_partition; + // zephyr,console = &uart0; + //zephyr,bt-mon-uart = &uart0; + //zephyr,bt-c2h-uart = &uart0; + zephyr,sram = &sram0; + zephyr,flash = &flash0; + }; + + leds { + compatible = "gpio-leds"; + red_led: led_0 { + gpios = <&gpio0 42 GPIO_ACTIVE_HIGH>; + label = "Red LED"; + }; + green_led: led_1 { + gpios = <&gpio0 42 GPIO_ACTIVE_HIGH>; + label = "Green LED"; + }; + blue_led: led_2 { + gpios = <&gpio0 42 GPIO_ACTIVE_HIGH>; + label = "Blue LED"; + }; + }; + + vbatt { + compatible = "zmk,battery-voltage-divider"; + label = "BATTERY"; + io-channels = <&adc 7>; + output-ohms = <2000000>; + full-ohms = <(2000000 + 806000)>; + }; + +}; + +&adc { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&i2c0 { + compatible = "nordic,nrf-twi"; + sda-pin = <15>; + scl-pin = <17>; +}; + +&uart0 { + compatible = "nordic,nrf-uarte"; + status = "okay"; + current-speed = <115200>; + tx-pin = <39>; + rx-pin = <34>; + rts-pin = <33>; + cts-pin = <12>; +}; + +&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>; + + boot_partition: partition@0 { + label = "adafruit_boot"; + reg = <0x000000000 0x0000C000>; + }; + code_partition: partition@26000 { + label = "code_partition"; + reg = <0x00026000 0x000d2000>; + }; + + /* + * The flash starting at 0x000f8000 and ending at + * 0x000fffff is reserved for use by the application. + */ + + /* + * Storage partition will be used by FCB/LittleFS/NVS + * if enabled. + */ + storage_partition: partition@f8000 { + label = "storage"; + reg = <0x000f8000 0x00008000>; + }; + }; +}; diff --git a/app/boards/arm/cyber60/cyber60.keymap b/app/boards/arm/cyber60/cyber60.keymap new file mode 100644 index 00000000..8de01c17 --- /dev/null +++ b/app/boards/arm/cyber60/cyber60.keymap @@ -0,0 +1,25 @@ +#include +#include + +/ { + keymap { + compatible = "zmk,keymap"; + + default_layer { +// ------------------------------------------------------------------------------------------ +// | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BKSP | +// | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | "|" | +// | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | +// | SHIFT | Z | X | C | V | B | N | M | , | . | SHIFT(/) | ^ | DEL | +// | CTL | WIN | ALT | SPACE | ALT | MO(1) | <- | v | -> | +// ------------------------------------------------------------------------------------------ + bindings = < + &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BKSP + &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 RBKT &kp BSLH + &kp CLCK &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET + &kp LSFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &mt MOD_RSFT FSLH &kp UARW &kp DEL + &kp LCTL &kp LGUI &kp LALT &kp SPC &kp RALT &mo 1 &kp LARW &kp DARW &kp RARW + >; + }; + }; +}; \ No newline at end of file diff --git a/app/boards/arm/cyber60/cyber60_defconfig b/app/boards/arm/cyber60/cyber60_defconfig new file mode 100644 index 00000000..393d61fe --- /dev/null +++ b/app/boards/arm/cyber60/cyber60_defconfig @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: MIT + +CONFIG_SOC_SERIES_NRF52X=y +CONFIG_SOC_NRF52840_QIAA=y +CONFIG_BOARD_NICE_NANO=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 \ No newline at end of file From c17a9c212800f1da93bec928d203a0470103201e Mon Sep 17 00:00:00 2001 From: Stefan Sundin Date: Thu, 5 Nov 2020 18:30:23 +0100 Subject: [PATCH 02/16] Update cyber60_defconfig --- app/boards/arm/cyber60/cyber60_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/boards/arm/cyber60/cyber60_defconfig b/app/boards/arm/cyber60/cyber60_defconfig index 393d61fe..ddec50d8 100644 --- a/app/boards/arm/cyber60/cyber60_defconfig +++ b/app/boards/arm/cyber60/cyber60_defconfig @@ -2,7 +2,7 @@ CONFIG_SOC_SERIES_NRF52X=y CONFIG_SOC_NRF52840_QIAA=y -CONFIG_BOARD_NICE_NANO=y +CONFIG_BOARD_CYBER60_A=y # Enable MPU CONFIG_ARM_MPU=y From f597f55d04efe9158fc35261a5665b407cecb10c Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Thu, 5 Nov 2020 22:58:49 +0100 Subject: [PATCH 03/16] Update cyber60.dts --- app/boards/arm/cyber60/cyber60.dts | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index 8474a23b..a25fd3b3 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -18,6 +18,8 @@ //zephyr,bt-c2h-uart = &uart0; zephyr,sram = &sram0; zephyr,flash = &flash0; + zmk,kscan = &kscan0; + zmk,matrix_transform = &default_transform; }; leds { @@ -36,6 +38,48 @@ }; }; + default_transform: keymap_transform_0 { + compatible = "zmk,matrix-transform"; + columns = <14>; + rows = <5>; + 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(0,12) RC(0,13) +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(1,12) RC(1,13) +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(2,13) +RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11) RC(3,13) +RC(4,0) RC(4,1) RC(4,2) RC(4,5) RC(4,8) RC(4,9) RC(4,10) RC(4,11) RC(4,13) + >; + }; + + kscan0: kscan { + compatible = "zmk,kscan-gpio-matrix"; + label = "KSCAN"; + + diode-direction = "col2row"; + row-gpios + = <&gpioa 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpiob 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpiob 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpiob 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpiob 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + ; + col-gpios + = <&gpioa 6 GPIO_ACTIVE_HIGH> + , <&gpioa 7 GPIO_ACTIVE_HIGH> + , <&gpiob 0 GPIO_ACTIVE_HIGH> + , <&gpiob 13 GPIO_ACTIVE_HIGH> + , <&gpiob 15 GPIO_ACTIVE_HIGH> + , <&gpioa 8 GPIO_ACTIVE_HIGH> + , <&gpioa 15 GPIO_ACTIVE_HIGH> + , <&gpiob 3 GPIO_ACTIVE_HIGH> + , <&gpiob 4 GPIO_ACTIVE_HIGH> + , <&gpiob 5 GPIO_ACTIVE_HIGH> + , <&gpiob 8 GPIO_ACTIVE_HIGH> + , <&gpiob 9 GPIO_ACTIVE_HIGH> + , <&gpioc 13 GPIO_ACTIVE_HIGH> + , <&gpioc 14 GPIO_ACTIVE_HIGH> + ; + }; vbatt { compatible = "zmk,battery-voltage-divider"; label = "BATTERY"; From 11d144a0c30b83b932969f55b3db5bdc38df8ff4 Mon Sep 17 00:00:00 2001 From: Stefan Sundin Date: Fri, 6 Nov 2020 09:19:55 +0100 Subject: [PATCH 04/16] Update Kconfig.defconfig --- app/boards/arm/cyber60/Kconfig.defconfig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/boards/arm/cyber60/Kconfig.defconfig b/app/boards/arm/cyber60/Kconfig.defconfig index 5ced61c4..b590d3aa 100644 --- a/app/boards/arm/cyber60/Kconfig.defconfig +++ b/app/boards/arm/cyber60/Kconfig.defconfig @@ -1,10 +1,10 @@ # Copyright (c) 2020 Stefan Sundin (4pplet) # SPDX-License-Identifier: MIT -if BOARD_CYBER60 +if BOARD_CYBER60_A config BOARD - default "cyber60" + default "cyber60 Rev A" if USB @@ -28,4 +28,4 @@ config ZMK_USB config ZMK_BATTERY_VOLTAGE_DIVIDER default y -endif # BOARD_CYBER60 +endif # BOARD_CYBER60_A From 2ee2bcc8a9ddb0b11956cc347f4ff88c9147bddf Mon Sep 17 00:00:00 2001 From: Stefan Sundin Date: Fri, 6 Nov 2020 10:39:39 +0100 Subject: [PATCH 05/16] simplifying stuff a bit to make it compile --- app/boards/arm/cyber60/Kconfig.defconfig | 3 - app/boards/arm/cyber60/cyber60.dts | 99 ++++++------------------ 2 files changed, 22 insertions(+), 80 deletions(-) diff --git a/app/boards/arm/cyber60/Kconfig.defconfig b/app/boards/arm/cyber60/Kconfig.defconfig index b590d3aa..71a17ef1 100644 --- a/app/boards/arm/cyber60/Kconfig.defconfig +++ b/app/boards/arm/cyber60/Kconfig.defconfig @@ -25,7 +25,4 @@ config ZMK_BLE config ZMK_USB default y -config ZMK_BATTERY_VOLTAGE_DIVIDER - default y - endif # BOARD_CYBER60_A diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index a25fd3b3..40c19b78 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -6,38 +6,19 @@ /dts-v1/; #include - +#include / { model = "CYBER60_A"; - compatible = "cyber60,A"; + compatible = "cyber60", "Rev A"; chosen { - zephyr,code-partition = &code_partition; - // zephyr,console = &uart0; - //zephyr,bt-mon-uart = &uart0; - //zephyr,bt-c2h-uart = &uart0; + //zephyr,code-partition = &code_partition; zephyr,sram = &sram0; zephyr,flash = &flash0; zmk,kscan = &kscan0; zmk,matrix_transform = &default_transform; }; - leds { - compatible = "gpio-leds"; - red_led: led_0 { - gpios = <&gpio0 42 GPIO_ACTIVE_HIGH>; - label = "Red LED"; - }; - green_led: led_1 { - gpios = <&gpio0 42 GPIO_ACTIVE_HIGH>; - label = "Green LED"; - }; - blue_led: led_2 { - gpios = <&gpio0 42 GPIO_ACTIVE_HIGH>; - label = "Blue LED"; - }; - }; - default_transform: keymap_transform_0 { compatible = "zmk,matrix-transform"; columns = <14>; @@ -57,65 +38,29 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,5) RC( diode-direction = "col2row"; row-gpios - = <&gpioa 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpiob 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpiob 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpiob 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpiob 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + = <&gpio0 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> ; col-gpios - = <&gpioa 6 GPIO_ACTIVE_HIGH> - , <&gpioa 7 GPIO_ACTIVE_HIGH> - , <&gpiob 0 GPIO_ACTIVE_HIGH> - , <&gpiob 13 GPIO_ACTIVE_HIGH> - , <&gpiob 15 GPIO_ACTIVE_HIGH> - , <&gpioa 8 GPIO_ACTIVE_HIGH> - , <&gpioa 15 GPIO_ACTIVE_HIGH> - , <&gpiob 3 GPIO_ACTIVE_HIGH> - , <&gpiob 4 GPIO_ACTIVE_HIGH> - , <&gpiob 5 GPIO_ACTIVE_HIGH> - , <&gpiob 8 GPIO_ACTIVE_HIGH> - , <&gpiob 9 GPIO_ACTIVE_HIGH> - , <&gpioc 13 GPIO_ACTIVE_HIGH> - , <&gpioc 14 GPIO_ACTIVE_HIGH> + = <&gpio0 6 GPIO_ACTIVE_HIGH> + , <&gpio0 7 GPIO_ACTIVE_HIGH> + , <&gpio1 0 GPIO_ACTIVE_HIGH> + , <&gpio1 13 GPIO_ACTIVE_HIGH> + , <&gpio1 15 GPIO_ACTIVE_HIGH> + , <&gpio1 8 GPIO_ACTIVE_HIGH> + , <&gpio1 15 GPIO_ACTIVE_HIGH> + , <&gpio1 3 GPIO_ACTIVE_HIGH> + , <&gpio1 4 GPIO_ACTIVE_HIGH> + , <&gpio1 5 GPIO_ACTIVE_HIGH> + , <&gpio1 8 GPIO_ACTIVE_HIGH> + , <&gpio1 9 GPIO_ACTIVE_HIGH> + , <&gpio1 13 GPIO_ACTIVE_HIGH> + , <&gpio1 14 GPIO_ACTIVE_HIGH> ; }; - vbatt { - compatible = "zmk,battery-voltage-divider"; - label = "BATTERY"; - io-channels = <&adc 7>; - output-ohms = <2000000>; - full-ohms = <(2000000 + 806000)>; - }; - -}; - -&adc { - status = "okay"; -}; - -&gpio0 { - status = "okay"; -}; - -&gpio1 { - status = "okay"; -}; - -&i2c0 { - compatible = "nordic,nrf-twi"; - sda-pin = <15>; - scl-pin = <17>; -}; - -&uart0 { - compatible = "nordic,nrf-uarte"; - status = "okay"; - current-speed = <115200>; - tx-pin = <39>; - rx-pin = <34>; - rts-pin = <33>; - cts-pin = <12>; }; &usbd { From ed651ffb14cd17e091ff3f242733dda15cf0ea47 Mon Sep 17 00:00:00 2001 From: Stefan Sundin Date: Fri, 6 Nov 2020 15:01:54 +0100 Subject: [PATCH 06/16] started implementing matrix --- app/boards/arm/cyber60/cyber60.dts | 46 +++++++++++++-------------- app/boards/arm/cyber60/cyber60.keymap | 28 ++++++++++------ 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index 40c19b78..7aab07e3 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -21,14 +21,14 @@ default_transform: keymap_transform_0 { compatible = "zmk,matrix-transform"; - columns = <14>; - rows = <5>; + columns = <11>; + rows = <6>; 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(0,12) RC(0,13) -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(1,12) RC(1,13) -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(2,13) -RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11) RC(3,13) -RC(4,0) RC(4,1) RC(4,2) RC(4,5) RC(4,8) RC(4,9) RC(4,10) RC(4,11) RC(4,13) +RC(0,0) RC(0,1) RC(1,1) RC(0,2) RC(0,3) RC(0,4) RC(1,4) RC(0,5) RC(0,6) RC(0,7) RC(1,7) RC(0,8) RC(0,9) RC(0,10) RC(1,10) // done +RC(1,0) RC(2,1) RC(1,2) RC(2,2) RC(1,3) RC(2,4) RC(1,5) RC(1,6) RC(2,6) RC(2,7) RC(1,8) RC(1,9) RC(2,9) RC(3,10) // done +RC(2,0) RC(3,1) RC(3,2) RC(2,3) RC(3,3) RC(3,4) RC(2,5) RC(3,6) RC(4,6) RC(3,7) RC(2,8) RC(3,9) RC(2,10) // done +RC(3,0) RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(3,5) RC(4,5) RC(5,6) RC(4,7) RC(4,8) RC(4,8) RC(4,9) RC(4,10) // done +RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(5,5) RC(5,7) RC(5,8) RC(5,9) RC(5,10) // done >; }; @@ -38,27 +38,25 @@ RC(4,0) RC(4,1) RC(4,2) RC(4,5) RC( diode-direction = "col2row"; row-gpios - = <&gpio0 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + = <&gpio0 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 21 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 23 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio1 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&gpio0 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> , <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> ; col-gpios - = <&gpio0 6 GPIO_ACTIVE_HIGH> - , <&gpio0 7 GPIO_ACTIVE_HIGH> - , <&gpio1 0 GPIO_ACTIVE_HIGH> - , <&gpio1 13 GPIO_ACTIVE_HIGH> - , <&gpio1 15 GPIO_ACTIVE_HIGH> - , <&gpio1 8 GPIO_ACTIVE_HIGH> - , <&gpio1 15 GPIO_ACTIVE_HIGH> + = <&gpio0 2 GPIO_ACTIVE_HIGH> + , <&gpio1 10 GPIO_ACTIVE_HIGH> + , <&gpio0 4 GPIO_ACTIVE_HIGH> + , <&gpio0 19 GPIO_ACTIVE_HIGH> + , <&gpio1 4 GPIO_ACTIVE_HIGH> + , <&gpio0 22 GPIO_ACTIVE_HIGH> + , <&gpio1 6 GPIO_ACTIVE_HIGH> + , <&gpio1 2 GPIO_ACTIVE_HIGH> + , <&gpio1 1 GPIO_ACTIVE_HIGH> , <&gpio1 3 GPIO_ACTIVE_HIGH> - , <&gpio1 4 GPIO_ACTIVE_HIGH> - , <&gpio1 5 GPIO_ACTIVE_HIGH> - , <&gpio1 8 GPIO_ACTIVE_HIGH> - , <&gpio1 9 GPIO_ACTIVE_HIGH> - , <&gpio1 13 GPIO_ACTIVE_HIGH> - , <&gpio1 14 GPIO_ACTIVE_HIGH> + , <&gpio1 0 GPIO_ACTIVE_HIGH> ; }; }; diff --git a/app/boards/arm/cyber60/cyber60.keymap b/app/boards/arm/cyber60/cyber60.keymap index 8de01c17..9e730ea9 100644 --- a/app/boards/arm/cyber60/cyber60.keymap +++ b/app/boards/arm/cyber60/cyber60.keymap @@ -7,18 +7,28 @@ default_layer { // ------------------------------------------------------------------------------------------ -// | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BKSP | -// | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | "|" | +// | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | "|" | ~ | +// | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | BKSP | // | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | -// | SHIFT | Z | X | C | V | B | N | M | , | . | SHIFT(/) | ^ | DEL | -// | CTL | WIN | ALT | SPACE | ALT | MO(1) | <- | v | -> | +// | SHIFT |iso| Z | X | C | V | B | N | M | , | . | / | Shift | FN | +// | CTL | WIN | ALT | SPACE | SPACE | SPACE | ALT | WIN | MENU | CTRL | // ------------------------------------------------------------------------------------------ bindings = < - &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BKSP - &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 RBKT &kp BSLH - &kp CLCK &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET - &kp LSFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &mt MOD_RSFT FSLH &kp UARW &kp DEL - &kp LCTL &kp LGUI &kp LALT &kp SPC &kp RALT &mo 1 &kp LARW &kp DARW &kp RARW + &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BSLH &kp GRAV + &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 RBKT &kp BKSP + &kp CLCK &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET + &kp LSFT &kp Z &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &kp RSFT &mo 1 + &kp LCTL &kp LGUI &kp LALT &kp SPC &kp SPC &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL + >; + }; + + fn_layer { + bindings = < + &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 &bootloader &reset + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; }; From bfada1412c40c78463ca8cad90069ca69c7d353a Mon Sep 17 00:00:00 2001 From: Stefan Sundin Date: Fri, 6 Nov 2020 15:21:19 +0100 Subject: [PATCH 07/16] added BT-commands --- app/boards/arm/cyber60/cyber60.keymap | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/boards/arm/cyber60/cyber60.keymap b/app/boards/arm/cyber60/cyber60.keymap index 9e730ea9..21440a9e 100644 --- a/app/boards/arm/cyber60/cyber60.keymap +++ b/app/boards/arm/cyber60/cyber60.keymap @@ -1,5 +1,6 @@ #include #include +#include / { keymap { @@ -24,11 +25,11 @@ fn_layer { bindings = < - &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 &bootloader &reset - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &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 &bootloader &reset + &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &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 + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; }; From 132ef701d30a3db90ff769785fa0d34b851eddbd Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Fri, 6 Nov 2020 15:57:21 +0100 Subject: [PATCH 08/16] Update cyber60.dts --- app/boards/arm/cyber60/cyber60.dts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index 7aab07e3..b4e30c9d 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -24,11 +24,11 @@ columns = <11>; rows = <6>; map = < -RC(0,0) RC(0,1) RC(1,1) RC(0,2) RC(0,3) RC(0,4) RC(1,4) RC(0,5) RC(0,6) RC(0,7) RC(1,7) RC(0,8) RC(0,9) RC(0,10) RC(1,10) // done -RC(1,0) RC(2,1) RC(1,2) RC(2,2) RC(1,3) RC(2,4) RC(1,5) RC(1,6) RC(2,6) RC(2,7) RC(1,8) RC(1,9) RC(2,9) RC(3,10) // done -RC(2,0) RC(3,1) RC(3,2) RC(2,3) RC(3,3) RC(3,4) RC(2,5) RC(3,6) RC(4,6) RC(3,7) RC(2,8) RC(3,9) RC(2,10) // done -RC(3,0) RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(3,5) RC(4,5) RC(5,6) RC(4,7) RC(4,8) RC(4,8) RC(4,9) RC(4,10) // done -RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(5,5) RC(5,7) RC(5,8) RC(5,9) RC(5,10) // done +RC(0,0) RC(0,1) RC(1,1) RC(0,2) RC(0,3) RC(0,4) RC(1,4) RC(0,5) RC(0,6) RC(0,7) RC(1,7) RC(0,8) RC(0,9) RC(0,10) RC(1,10) +RC(1,0) RC(2,1) RC(1,2) RC(2,2) RC(1,3) RC(2,4) RC(1,5) RC(1,6) RC(2,6) RC(2,7) RC(1,8) RC(1,9) RC(2,9) RC(3,10) +RC(2,0) RC(3,1) RC(3,2) RC(2,3) RC(3,3) RC(3,4) RC(2,5) RC(3,6) RC(4,6) RC(3,7) RC(2,8) RC(3,9) RC(2,10) +RC(3,0) RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(3,5) RC(4,5) RC(5,6) RC(4,7) RC(4,8) RC(4,8) RC(4,9) RC(4,10) +RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(5,5) RC(5,7) RC(5,8) RC(5,9) RC(5,10) >; }; From cfe8b90e47a7eb4bc14b4d31b9bffbed85d819d4 Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Fri, 6 Nov 2020 23:07:55 +0100 Subject: [PATCH 09/16] cont --- app/boards/arm/cyber60/CMakeLists.txt | 8 +++++ app/boards/arm/cyber60/cyber60.dts | 26 +++++++++++++- app/boards/arm/cyber60/cyber60.keymap | 6 ++-- app/boards/arm/cyber60/cyber60.keymap_default | 36 +++++++++++++++++++ 4 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 app/boards/arm/cyber60/CMakeLists.txt create mode 100644 app/boards/arm/cyber60/cyber60.keymap_default diff --git a/app/boards/arm/cyber60/CMakeLists.txt b/app/boards/arm/cyber60/CMakeLists.txt new file mode 100644 index 00000000..00952c30 --- /dev/null +++ b/app/boards/arm/cyber60/CMakeLists.txt @@ -0,0 +1,8 @@ +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 +) diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index b4e30c9d..509f8c46 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -12,13 +12,37 @@ compatible = "cyber60", "Rev A"; chosen { - //zephyr,code-partition = &code_partition; + zephyr,code-partition = &code_partition; zephyr,sram = &sram0; zephyr,flash = &flash0; zmk,kscan = &kscan0; zmk,matrix_transform = &default_transform; }; + leds { + compatible = "gpio-leds"; + red_led: led_0 { + gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; + label = "Red LED"; + }; + green_led: led_1 { + gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; + label = "Green LED"; + }; + blue_led: led_2 { + gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; + label = "Blue LED"; + }; + }; + + vbatt { + compatible = "zmk,battery-voltage-divider"; + label = "BATTERY"; + io-channels = <&adc 1>; + output-ohms = <2000000>; + full-ohms = <(2000000 + 806000)>; + }; + default_transform: keymap_transform_0 { compatible = "zmk,matrix-transform"; columns = <11>; diff --git a/app/boards/arm/cyber60/cyber60.keymap b/app/boards/arm/cyber60/cyber60.keymap index 21440a9e..78fc903c 100644 --- a/app/boards/arm/cyber60/cyber60.keymap +++ b/app/boards/arm/cyber60/cyber60.keymap @@ -17,7 +17,7 @@ bindings = < &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BSLH &kp GRAV &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 RBKT &kp BKSP - &kp CLCK &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET + &kp LGUI &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET &kp LSFT &kp Z &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &kp RSFT &mo 1 &kp LCTL &kp LGUI &kp LALT &kp SPC &kp SPC &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL >; @@ -25,8 +25,8 @@ fn_layer { bindings = < - &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 &bootloader &reset - &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &kp GRAV &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader &reset + &kp CLCK &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &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 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans diff --git a/app/boards/arm/cyber60/cyber60.keymap_default b/app/boards/arm/cyber60/cyber60.keymap_default new file mode 100644 index 00000000..016a0dda --- /dev/null +++ b/app/boards/arm/cyber60/cyber60.keymap_default @@ -0,0 +1,36 @@ +#include +#include +#include + +/ { + 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 | [ | ] | BKSP | +// | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | +// | SHIFT |iso| Z | X | C | V | B | N | M | , | . | / | Shift | FN | +// | CTL | WIN | ALT | SPACE | SPACE | SPACE | ALT | WIN | MENU | CTRL | +// ------------------------------------------------------------------------------------------ + bindings = < + &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BSLH &kp GRAV + &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 RBKT &kp BKSP + &kp CLCK &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET + &kp LSFT &kp Z &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &kp RSFT &mo 1 + &kp LCTL &kp LGUI &kp LALT &kp SPC &kp SPC &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL + >; + }; + + fn_layer { + bindings = < + &kp GRAV &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader &reset + &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &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 + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + >; + }; + }; +}; \ No newline at end of file From 8be922703929d6d469fc9335db33c24e17605293 Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Sun, 8 Nov 2020 22:23:23 +0100 Subject: [PATCH 10/16] Update cyber60.dts --- app/boards/arm/cyber60/cyber60.dts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index 509f8c46..76bd2990 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -19,17 +19,22 @@ zmk,matrix_transform = &default_transform; }; + vbat-sense-en { + label = "VBAT_SENSE_EN"; + control-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; + }; + leds { compatible = "gpio-leds"; - red_led: led_0 { + red_led: led_3 { gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; label = "Red LED"; }; - green_led: led_1 { + green_led: led_2 { gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; label = "Green LED"; }; - blue_led: led_2 { + blue_led: led_1 { // also broken out on header con307 on cyber60-2 Rev A1 gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; label = "Blue LED"; }; From 553193b076eeaa955ddbb08d938a46ca45d04174 Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Mon, 9 Nov 2020 18:24:30 +0100 Subject: [PATCH 11/16] cont --- app/boards/arm/cyber60/Kconfig.defconfig | 3 +++ app/boards/arm/cyber60/cyber60.dts | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/app/boards/arm/cyber60/Kconfig.defconfig b/app/boards/arm/cyber60/Kconfig.defconfig index 71a17ef1..e53db746 100644 --- a/app/boards/arm/cyber60/Kconfig.defconfig +++ b/app/boards/arm/cyber60/Kconfig.defconfig @@ -24,5 +24,8 @@ config ZMK_BLE config ZMK_USB default y + +config ZMK_BATTERY_VOLTAGE_DIVIDER + default y endif # BOARD_CYBER60_A diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index 76bd2990..e25aa608 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -24,6 +24,14 @@ control-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; }; + vbatt { // need to figure out the resistances + compatible = "zmk,battery-voltage-divider"; + label = "BATTERY"; + io-channels = <&adc 1>; + output-ohms = <2000000>; + full-ohms = <(2000000 + 806000)>; + }; + leds { compatible = "gpio-leds"; red_led: led_3 { @@ -90,6 +98,10 @@ RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) }; }; +&adc { + status = "okay"; +}; + &usbd { status = "okay"; }; From e7d7e5391756499c5b587b657842dd3299acf76d Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Mon, 9 Nov 2020 22:18:15 +0100 Subject: [PATCH 12/16] cont --- app/boards/arm/cyber60/cyber60.dts | 16 ++++++++++++---- app/boards/arm/cyber60/cyber60.yaml | 15 +++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 app/boards/arm/cyber60/cyber60.yaml diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index e25aa608..e005140d 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -21,7 +21,7 @@ vbat-sense-en { label = "VBAT_SENSE_EN"; - control-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; + control-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; }; vbatt { // need to figure out the resistances @@ -35,15 +35,15 @@ leds { compatible = "gpio-leds"; red_led: led_3 { - gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; + gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; label = "Red LED"; }; green_led: led_2 { - gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; + gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; label = "Green LED"; }; blue_led: led_1 { // also broken out on header con307 on cyber60-2 Rev A1 - gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; + gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; label = "Blue LED"; }; }; @@ -98,6 +98,14 @@ RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) }; }; +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + &adc { status = "okay"; }; diff --git a/app/boards/arm/cyber60/cyber60.yaml b/app/boards/arm/cyber60/cyber60.yaml new file mode 100644 index 00000000..0315b0c3 --- /dev/null +++ b/app/boards/arm/cyber60/cyber60.yaml @@ -0,0 +1,15 @@ +identifier: cyber60_rev_a +name: Cyber60 Rev A +type: mcu +arch: arm +toolchain: + - zephyr + - gnuarmemb + - xtools +supported: + - adc + - usb_device + - ble + - ieee802154 + - pwm + - watchdog From 458ebb552d1e0420552de7deeff95807bf5a5908 Mon Sep 17 00:00:00 2001 From: 4pplet <4pplet@protonmail.com> Date: Mon, 9 Nov 2020 23:41:17 +0100 Subject: [PATCH 13/16] Update cyber60.keymap --- app/boards/arm/cyber60/cyber60.keymap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/boards/arm/cyber60/cyber60.keymap b/app/boards/arm/cyber60/cyber60.keymap index 78fc903c..050fcf29 100644 --- a/app/boards/arm/cyber60/cyber60.keymap +++ b/app/boards/arm/cyber60/cyber60.keymap @@ -19,7 +19,7 @@ &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 RBKT &kp BKSP &kp LGUI &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET &kp LSFT &kp Z &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &kp RSFT &mo 1 - &kp LCTL &kp LGUI &kp LALT &kp SPC &kp SPC &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL + &kp LCTL &kp LGUI &kp LALT &kp RALT &mo 1 &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL >; }; From 3ed36c598d76381b0b512057d68c239646255963 Mon Sep 17 00:00:00 2001 From: Stefan Sundin Date: Tue, 10 Nov 2020 14:58:19 +0100 Subject: [PATCH 14/16] Update cyber60.dts --- app/boards/arm/cyber60/cyber60.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index e005140d..caf30e28 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -52,8 +52,8 @@ compatible = "zmk,battery-voltage-divider"; label = "BATTERY"; io-channels = <&adc 1>; - output-ohms = <2000000>; - full-ohms = <(2000000 + 806000)>; + output-ohms = <100000>; + full-ohms = <(100000 + 100000)>; }; default_transform: keymap_transform_0 { From 93a4f257e25f5d290eeaad5920a489170a5e4aeb Mon Sep 17 00:00:00 2001 From: Stefan Sundin Date: Tue, 10 Nov 2020 15:08:44 +0100 Subject: [PATCH 15/16] removed personal layout --- app/boards/arm/cyber60/cyber60.keymap | 6 ++-- app/boards/arm/cyber60/cyber60.keymap_default | 36 ------------------- 2 files changed, 3 insertions(+), 39 deletions(-) delete mode 100644 app/boards/arm/cyber60/cyber60.keymap_default diff --git a/app/boards/arm/cyber60/cyber60.keymap b/app/boards/arm/cyber60/cyber60.keymap index 050fcf29..016a0dda 100644 --- a/app/boards/arm/cyber60/cyber60.keymap +++ b/app/boards/arm/cyber60/cyber60.keymap @@ -17,16 +17,16 @@ bindings = < &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BSLH &kp GRAV &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 RBKT &kp BKSP - &kp LGUI &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET + &kp CLCK &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET &kp LSFT &kp Z &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &kp RSFT &mo 1 - &kp LCTL &kp LGUI &kp LALT &kp RALT &mo 1 &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL + &kp LCTL &kp LGUI &kp LALT &kp SPC &kp SPC &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL >; }; fn_layer { bindings = < &kp GRAV &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader &reset - &kp CLCK &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &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 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans diff --git a/app/boards/arm/cyber60/cyber60.keymap_default b/app/boards/arm/cyber60/cyber60.keymap_default deleted file mode 100644 index 016a0dda..00000000 --- a/app/boards/arm/cyber60/cyber60.keymap_default +++ /dev/null @@ -1,36 +0,0 @@ -#include -#include -#include - -/ { - 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 | [ | ] | BKSP | -// | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | -// | SHIFT |iso| Z | X | C | V | B | N | M | , | . | / | Shift | FN | -// | CTL | WIN | ALT | SPACE | SPACE | SPACE | ALT | WIN | MENU | CTRL | -// ------------------------------------------------------------------------------------------ - bindings = < - &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BSLH &kp GRAV - &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 RBKT &kp BKSP - &kp CLCK &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET - &kp LSFT &kp Z &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &kp RSFT &mo 1 - &kp LCTL &kp LGUI &kp LALT &kp SPC &kp SPC &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL - >; - }; - - fn_layer { - bindings = < - &kp GRAV &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader &reset - &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &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 - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - >; - }; - }; -}; \ No newline at end of file From e9e24e369434dfbb530109a0f5afe5772d8ee4e7 Mon Sep 17 00:00:00 2001 From: Stefan Sundin <4pplet@protonmail.com> Date: Fri, 13 Nov 2020 15:38:57 +0100 Subject: [PATCH 16/16] fixed partition and matrix-issue. --- app/boards/arm/cyber60/cyber60.dts | 46 ++++++++++++--------------- app/boards/arm/cyber60/cyber60.keymap | 27 ++++++++-------- 2 files changed, 34 insertions(+), 39 deletions(-) diff --git a/app/boards/arm/cyber60/cyber60.dts b/app/boards/arm/cyber60/cyber60.dts index caf30e28..929dec82 100644 --- a/app/boards/arm/cyber60/cyber60.dts +++ b/app/boards/arm/cyber60/cyber60.dts @@ -18,18 +18,18 @@ zmk,kscan = &kscan0; zmk,matrix_transform = &default_transform; }; - +/* vbat-sense-en { label = "VBAT_SENSE_EN"; control-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; }; - - vbatt { // need to figure out the resistances +*/ + vbatt { compatible = "zmk,battery-voltage-divider"; label = "BATTERY"; io-channels = <&adc 1>; - output-ohms = <2000000>; - full-ohms = <(2000000 + 806000)>; + output-ohms = <100000>; + full-ohms = <(100000 + 100000)>; }; leds { @@ -42,20 +42,12 @@ gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; label = "Green LED"; }; - blue_led: led_1 { // also broken out on header con307 on cyber60-2 Rev A1 + blue_led: led_1 { // also broken out on header con307 on cyber60-2 Rev A1 for debug gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; label = "Blue LED"; }; }; - vbatt { - compatible = "zmk,battery-voltage-divider"; - label = "BATTERY"; - io-channels = <&adc 1>; - output-ohms = <100000>; - full-ohms = <(100000 + 100000)>; - }; - default_transform: keymap_transform_0 { compatible = "zmk,matrix-transform"; columns = <11>; @@ -64,7 +56,7 @@ RC(0,0) RC(0,1) RC(1,1) RC(0,2) RC(0,3) RC(0,4) RC(1,4) RC(0,5) RC(0,6) RC(0,7) RC(1,7) RC(0,8) RC(0,9) RC(0,10) RC(1,10) RC(1,0) RC(2,1) RC(1,2) RC(2,2) RC(1,3) RC(2,4) RC(1,5) RC(1,6) RC(2,6) RC(2,7) RC(1,8) RC(1,9) RC(2,9) RC(3,10) RC(2,0) RC(3,1) RC(3,2) RC(2,3) RC(3,3) RC(3,4) RC(2,5) RC(3,6) RC(4,6) RC(3,7) RC(2,8) RC(3,9) RC(2,10) -RC(3,0) RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(3,5) RC(4,5) RC(5,6) RC(4,7) RC(4,8) RC(4,8) RC(4,9) RC(4,10) +RC(3,0) RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(3,5) RC(4,5) RC(5,6) RC(4,7) RC(3,8) RC(4,8) RC(4,9) RC(4,10) RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(5,5) RC(5,7) RC(5,8) RC(5,9) RC(5,10) >; }; @@ -114,7 +106,6 @@ RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) status = "okay"; }; - &flash0 { /* * For more information, see: @@ -125,27 +116,32 @@ RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) #address-cells = <1>; #size-cells = <1>; - boot_partition: partition@0 { - label = "adafruit_boot"; - reg = <0x000000000 0x0000C000>; + sd_partition: partition@0 { + label = "softdevice"; + reg = <0x00000000 0x00026000>; }; code_partition: partition@26000 { label = "code_partition"; - reg = <0x00026000 0x000d2000>; + reg = <0x00026000 0x000c6000>; }; /* - * The flash starting at 0x000f8000 and ending at - * 0x000fffff 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@f8000 { + storage_partition: partition@ec000 { label = "storage"; - reg = <0x000f8000 0x00008000>; + reg = <0x000ec000 0x00008000>; + }; + + boot_partition: partition@f4000 { + label = "adafruit_boot"; + reg = <0x000f4000 0x0000c000>; }; }; -}; +}; \ No newline at end of file diff --git a/app/boards/arm/cyber60/cyber60.keymap b/app/boards/arm/cyber60/cyber60.keymap index 016a0dda..1f66c938 100644 --- a/app/boards/arm/cyber60/cyber60.keymap +++ b/app/boards/arm/cyber60/cyber60.keymap @@ -11,25 +11,24 @@ // | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | "|" | ~ | // | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | BKSP | // | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | -// | SHIFT |iso| Z | X | C | V | B | N | M | , | . | / | Shift | FN | -// | CTL | WIN | ALT | SPACE | SPACE | SPACE | ALT | WIN | MENU | CTRL | +// | SHIFT |none| Z | X | C | V | B | N | M | , | . | / | Shift | FN | +// | LCTL | LWIN | LALT | RALT | FN | SPACE | RALT | RWIN | RMENU | RCTRL | // ------------------------------------------------------------------------------------------ bindings = < - &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BSLH &kp GRAV - &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 RBKT &kp BKSP - &kp CLCK &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET - &kp LSFT &kp Z &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &kp RSFT &mo 1 - &kp LCTL &kp LGUI &kp LALT &kp SPC &kp SPC &kp SPC &kp RALT &kp RGUI &kp 2 &kp RCTL + &kp ESC &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 &kp MINUS &kp EQL &kp BSLH &kp GRAV + &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 RBKT &kp BKSP + &kp LGUI &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &kp QUOT &kp RET + &kp LSFT &none &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &kp FSLH &kp RSFT &mo 1 + &kp LCTL &kp LGUI &kp LALT &kp RALT &mo 1 &kp SPC &kp RALT &kp RGUI &kp K_APP &kp RCTL >; }; - - fn_layer { + fn_layer { bindings = < - &kp GRAV &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader &reset - &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &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 - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &kp GRAV &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader &reset + &kp CLCK &trans &kp UP &trans &trans &trans &trans &trans &trans &trans &trans &kp UP &trans &trans + &trans &kp LEFT &kp DOWN &kp RIGHT &trans &trans &trans &trans &trans &trans &kp LEFT &kp RIGHT &trans + &trans &trans &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 &kp DOWN &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; };