From 1728a660cea95760573a72bbf0f6b1da68342749 Mon Sep 17 00:00:00 2001 From: Jim Jowdy Date: Wed, 27 Dec 2023 04:59:59 -0800 Subject: [PATCH 1/3] Prefer `tr` to ${char^^}, which does not work on older bash versions (#303) * Prefer `tr` to ${char^^}, which does not work on older bash versions * Update CHANGELOG.md --------- Co-authored-by: ReFil <31960031+ReFil@users.noreply.github.com> --- CHANGELOG.md | 3 ++- bin/get_version.sh | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 536cedaaee..c5c3c96add 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +12/27/2023 - Change how the characters are used in the versioning script for improved MacOS experience [#303](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/303) + 12/15/2022 - Update keymap.json to reflect new versioning macro [#300](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/300) 12/15/2023 - Add PR template [#293](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/293) @@ -38,7 +40,6 @@ Many thanks to all those who have submitted issues and pull requests to make thi 3/4/2023 - Add extra keys into matrix that point to nowhere, fixes spurious keypress issues when using USB3.1 cables [#114](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/114) [#116](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/116) - 2/14/2023 - Disable ZMK logging by default to improve power consumption [#101](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/101) 1/25/2023 - Fix automatic OS detection to build properly when using the local builder on OS-X [#91](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/91) diff --git a/bin/get_version.sh b/bin/get_version.sh index 6a5007b0f0..aa23e1719d 100755 --- a/bin/get_version.sh +++ b/bin/get_version.sh @@ -5,11 +5,18 @@ date=$(date -u +"%Y%m%d") branch=${1:-$(git rev-parse --abbrev-ref HEAD | cut -c1-4)} commit=${2:-$(git rev-parse --short HEAD)} +uppercase_char() { + local char=$1 + + (echo $char | tr '[a-z]' '[A-Z]' 2> /dev/null) || echo "${char^^}" +} + # Function to transform characters to ZMK key behaviours transform_char() { local char=$1 + if [[ $char =~ [A-Za-z] ]]; then - echo "<&kp ${char^^}>, " + echo "<&kp $(uppercase_char $char)>, " elif [[ $char =~ [0-9] ]]; then echo "<&kp N${char}>, " elif [ "$char" = "." ]; then From 4a5003a0d4e6c1cf26512d79d4358455bccb00a8 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Sun, 14 Jan 2024 19:12:15 +0000 Subject: [PATCH 2/3] Base ZMK update (#326) --- CHANGELOG.md | 29 +++++++++++++++---- config/boards/arm/adv360/Kconfig.defconfig | 6 ---- config/boards/arm/adv360/adv360.dtsi | 7 +++-- .../boards/arm/adv360/adv360_left_defconfig | 7 +++++ .../boards/arm/adv360/adv360_right_defconfig | 5 ++++ config/west.yml | 2 +- 6 files changed, 41 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5c3c96add..2fd0a5d12d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +1/14/2024 - Update base ZMK, change KConfig attributes to support, Enable experimental BLE features for improved stability [#326](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/326) + 12/27/2023 - Change how the characters are used in the versioning script for improved MacOS experience [#303](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/303) 12/15/2022 - Update keymap.json to reflect new versioning macro [#300](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/300) @@ -16,11 +18,11 @@ Many thanks to all those who have submitted issues and pull requests to make thi 11/16/2023 - Update changelog with base ZMK update [#268](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/268) -11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) +11/15/2023 - Add and document the new automatic versioning system [#267](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/267) -11/7/2023 - Add and document a new configuration option for extended NKRO ranges [#264](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/264) +11/7/2023 - Add and document a new configuration option for extended NKRO ranges [#264](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/264) -11/2/2023 - Update the documentation to note the new configuration options, other miscellaneous improvements based on feedback [#260](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/260) +11/2/2023 - Update the documentation to note the new configuration options, other miscellaneous improvements based on feedback [#260](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/260) 10/30/2023 - Update the [settings_reset.uf2](/settings-reset.uf2) file to improve reset behaviour with the new update @@ -88,15 +90,30 @@ Many thanks to all those who have submitted issues and pull requests to make thi ## Base ZMK -There have beeen 4 branches of ZMK used for the 360 Pro so far. Beta branches are not changelogged as they are subject to frequent changes and tweaks. +There have beeen 5 branches of ZMK used for the 360 Pro so far. Beta branches are not changelogged as they are subject to frequent changes and tweaks. | Branch | Date From | Date To | Config Branch | | -------- | ------- |-------|-----| | [adv360-beta](https://github.com/ReFil/zmk/tree/adv360-beta) | 3/1/2022 | 9/17/2022 | V1.0 (since deleted) | | [adv360-z3](https://github.com/ReFil/zmk/tree/adv360-z3) | 9/17/2022 | 7/6/2023 | V2.0 (since deleted) | | [adv360-z3.2](https://github.com/ReFil/zmk/tree/adv360-z3.2) | 7/6/2023 | 20/10/2023 | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Up to commit 82494e7) | -| [adv360-z3.2-2](https://github.com/ReFil/zmk/tree/adv360-z3.2-2) | 20/10/2023 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (current) | +| [adv360-z3.2-2](https://github.com/ReFil/zmk/tree/adv360-z3.2-2) | 20/10/2023 | 1/14/2024 | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (Up to commit XXXXXXX) | +| [adv360-z3.2-3](https://github.com/ReFil/zmk/tree/adv360-z3.2-3) | 1/14/2024 | To date | [V3.0](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/tree/V3.0) (current) | + + +### adv360-z3.2-3 + +1/8/2023 - Merge latest upstream ZMK (Commit 7652fbeb) + +12/17/2023 - Add KConfig line to ensure compatibility with previous NKRO extended report is maintained + +12/17/2023 - Fix conflicts with upstream HID indicators code for split communication + +12/17/2023 - Add defines for HID indicator LEDs to maintain compatibility with lighting code + +12/17/2023 - Merge latest upstream ZMK (Commit 78fa1e77) +Note: Several features that used to be custom to this branch (BT battery reporting disable, Extended NKRO, HID Indicators) are now upstream ### adv360-z3.2-2 @@ -108,7 +125,7 @@ There have beeen 4 branches of ZMK used for the 360 Pro so far. Beta branches ar 11/1/2023 - Change order of RGB initialisation to prevent situations where lighting could get stuck in battery reporting mode -10/27/2023 - Change HID max NKRO usage to allow usage of F13-F24 and other rarely used keycodes with NKRO enabled +10/27/2023 - Change HID max NKRO usage to allow usage of F13-F24 and other rarely used keycodes with NKRO enabled 10/18/2023 - Disable saving certain RGB elements to flash memory to help with flash wear diff --git a/config/boards/arm/adv360/Kconfig.defconfig b/config/boards/arm/adv360/Kconfig.defconfig index aa2fb87a16..7333f89a0b 100644 --- a/config/boards/arm/adv360/Kconfig.defconfig +++ b/config/boards/arm/adv360/Kconfig.defconfig @@ -35,12 +35,6 @@ config SPI config BT_CTLR default BT -config ZMK_BLE - default y - -config ZMK_USB - default y - if USB config USB_NRFX diff --git a/config/boards/arm/adv360/adv360.dtsi b/config/boards/arm/adv360/adv360.dtsi index 2f221fcbfb..0e092033d8 100644 --- a/config/boards/arm/adv360/adv360.dtsi +++ b/config/boards/arm/adv360/adv360.dtsi @@ -21,6 +21,7 @@ zephyr,code-partition = &code_partition; zephyr,sram = &sram0; zephyr,flash = &flash0; + zephyr,console = &cdc_acm_uart; zmk,kscan = &kscan0; zmk,backlight = &backlight; zmk,battery = &vbatt; @@ -43,9 +44,8 @@ >; }; - ext-power { + EXT_POWER { compatible = "zmk,ext-power-generic"; - label = "EXT_POWER"; control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; }; @@ -90,6 +90,9 @@ &usbd { status = "okay"; + cdc_acm_uart: cdc_acm_uart { + compatible = "zephyr,cdc-acm-uart"; + }; }; diff --git a/config/boards/arm/adv360/adv360_left_defconfig b/config/boards/arm/adv360/adv360_left_defconfig index 1f551d6e10..b37679a4d3 100644 --- a/config/boards/arm/adv360/adv360_left_defconfig +++ b/config/boards/arm/adv360/adv360_left_defconfig @@ -65,3 +65,10 @@ CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y CONFIG_ZMK_HID_KEYBOARD_EXTENDED_REPORT=n #Set this to y for F13-F24 and intl keys with NKRO CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y CONFIG_BUILD_OUTPUT_UF2=y + +CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y +CONFIG_ZMK_BLE_PASSKEY_ENTRY=n + +CONFIG_ZMK_BLE=y +CONFIG_ZMK_USB=y +CONFIG_ZMK_HID_INDICATORS=y \ No newline at end of file diff --git a/config/boards/arm/adv360/adv360_right_defconfig b/config/boards/arm/adv360/adv360_right_defconfig index f1eb05f35a..3c2e65a3b1 100644 --- a/config/boards/arm/adv360/adv360_right_defconfig +++ b/config/boards/arm/adv360/adv360_right_defconfig @@ -54,3 +54,8 @@ CONFIG_BT_CTLR_TX_PWR_PLUS_8=y CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y CONFIG_BUILD_OUTPUT_UF2=y + +CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y + +CONFIG_ZMK_BLE=y +CONFIG_ZMK_USB=y diff --git a/config/west.yml b/config/west.yml index ceaefbfcb0..e35c82658b 100644 --- a/config/west.yml +++ b/config/west.yml @@ -7,7 +7,7 @@ manifest: projects: - name: zmk remote: refil - revision: adv360-z3.2-2 + revision: adv360-z3.2-3 import: app/west.yml self: path: config From 0737d53e019903fd986df25d1ee3384f16ad7639 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Tue, 16 Jan 2024 16:43:55 +0000 Subject: [PATCH 3/3] Update Makefile variables (#335) --- CHANGELOG.md | 2 ++ Makefile | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fd0a5d12d..ce41c1c383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Here's all notable changes and commits to both the configuration repo and the ba Many thanks to all those who have submitted issues and pull requests to make this firmware better! ## Config repo +1/16/2024 - Change the makefile to fis WSL2 compatibility [#335](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/335) + 1/14/2024 - Update base ZMK, change KConfig attributes to support, Enable experimental BLE features for improved stability [#326](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/326) 12/27/2023 - Change how the characters are used in the versioning script for improved MacOS experience [#303](https://github.com/KinesisCorporation/Adv360-Pro-ZMK/pull/303) diff --git a/Makefile b/Makefile index e5231eb4fb..39d09d3bde 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ -DOCKER := $(shell { command -v podman || command -v docker; }) -TIMESTAMP := $(shell date -u +"%Y%m%d%H%M") -COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null) -detected_OS := $(shell uname) # Classify UNIX OS +DOCKER := "$(shell { command -v podman || command -v docker; })" +TIMESTAMP := "$(shell date -u +"%Y%m%d%H%M")" +COMMIT := "$(shell git rev-parse --short HEAD 2>/dev/null)" +detected_OS := "$(shell uname)" # Classify UNIX OS ifeq ($(strip $(detected_OS)),Darwin) #We only care if it's OS X SELINUX1 := SELINUX2 :=