Compare commits

..

3 Commits

Author SHA1 Message Date
Pete Johanson
acfd8e5ea7 docs: Build fix on release branches (#3130)
Small build fix for the navbar label for the version dropdown, when
building in release version branches.
2025-12-07 02:05:16 -07:00
Pete Johanson
691740c233 docs: Add release version to the docs, with links and warning banner (#3122)
Add versions to the sidebar of the documentation, and when viewing the
deployment on zmk.dev, which tracks `main`, add a banner warning about
possibly prefering the docs for a particular stable release.
2025-12-07 01:43:49 -07:00
Peter Johanson
27cf8979a2 chore: Empty commit to trigger deploy of docs from this branch
In order to support documentation for multiple ZMK releases, add
an empty commit here to trigger a new Netlify build against this
branch.
2025-11-24 18:18:36 -07:00
1011 changed files with 7324 additions and 8937 deletions

View File

@@ -1,4 +1,4 @@
FROM docker.io/zmkfirmware/zmk-dev-arm:4.1-branch
FROM docker.io/zmkfirmware/zmk-dev-arm:3.5
COPY .bashrc tmp
RUN mv /tmp/.bashrc ~/.bashrc

View File

@@ -35,7 +35,7 @@ jobs:
test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }}
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-build-arm:4.1
image: docker.io/zmkfirmware/zmk-build-arm:3.5
steps:
- name: Checkout
uses: actions/checkout@v4

View File

@@ -49,12 +49,6 @@ jobs:
fail-fast: false
matrix: ${{ fromJson(needs.matrix.outputs.build_matrix) }}
steps:
- name: Act Workaround # https://github.com/nektos/act/issues/973
if: ${{ env.ACT }}
run: |
apt-get update && apt-get install -y curl unzip
curl -fsSL https://deb.nodesource.com/setup_22.x | bash && apt install -y nodejs
- name: Checkout
uses: actions/checkout@v4
@@ -63,7 +57,7 @@ jobs:
echo "build_dir=$(mktemp -d)" >> $GITHUB_ENV
- name: Prepare variables
shell: bash -x {0}
shell: sh -x {0}
env:
board: ${{ matrix.board }}
shield: ${{ matrix.shield }}
@@ -87,7 +81,7 @@ jobs:
echo "extra_west_args=${extra_west_args}" >> $GITHUB_ENV
echo "extra_cmake_args=${shield:+-DSHIELD=\"$shield\"}${zmk_load_arg}" >> $GITHUB_ENV
echo "display_name=${shield:+$shield - }${board}" >> $GITHUB_ENV
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board//\//_}-zmk}" >> $GITHUB_ENV
echo "artifact_name=${artifact_name:-${shield:+$shield-}${board}-zmk}" >> $GITHUB_ENV
- name: Copy config files to isolated temporary directory
run: |
@@ -122,13 +116,6 @@ jobs:
working-directory: ${{ env.base_dir }}
run: west update --fetch-opt=--filter=tree:0
- name: Check ZMK revision
working-directory: ${{ env.base_dir }}
run: |
zmk_revision=$(west list -f "{revision}" zmk)
echo "zmk_revision=${zmk_revision}" >> $GITHUB_ENV
echo "ZMK revision: ${zmk_revision}"
- name: West Zephyr export
working-directory: ${{ env.base_dir }}
run: west zephyr-export
@@ -138,15 +125,6 @@ jobs:
shell: sh -x {0}
run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" ${{ env.extra_west_args }} -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}
- name: Warn about building from main if build fails
if: failure() && env.zmk_revision == 'main'
run: |
echo "# Consider Pinning ZMK" >> $GITHUB_STEP_SUMMARY
echo "Your recent build failure might be the result of breaking changes made to ZMK's main branch." >> $GITHUB_STEP_SUMMARY
echo "Consider [pinning your ZMK version](https://zmk.dev/blog/2025/06/20/pinned-zmk) to a release for increased stability." >> $GITHUB_STEP_SUMMARY
echo "See also the [list of released versions](https://github.com/zmkfirmware/zmk/releases)." >> $GITHUB_STEP_SUMMARY
echo "If you wish to stay on main, check the most recent pending release PR for breaking changes. [Our blog](https://zmk.dev/blog) may have upgrade information if breaking changes are significant." >> $GITHUB_STEP_SUMMARY
- name: ${{ env.display_name }} Kconfig file
run: |
if [ -f "${{ env.build_dir }}/zephyr/.config" ]

View File

@@ -23,7 +23,7 @@ jobs:
if: ${{ always() }}
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-build-arm:4.1
image: docker.io/zmkfirmware/zmk-build-arm:3.5
needs: compile-matrix
strategy:
matrix:
@@ -123,7 +123,7 @@ jobs:
}
const cmakeName = shieldArgs['cmake-args'] ? '-' + (shieldArgs.nickname || shieldArgs['cmake-args'].split(' ').join('')) : '';
const artifactName = `${{ matrix.board }}${shieldArgs.shield ? '-' + shieldArgs.shield : ''}${cmakeName}-zmk`.replaceAll('/', '_');
const artifactName = `${{ matrix.board }}${shieldArgs.shield ? '-' + shieldArgs.shield : ''}${cmakeName}-zmk`;
await artifact.uploadArtifact(artifactName, files, rootDirectory, options);
} catch (e) {

View File

@@ -18,7 +18,7 @@ jobs:
validate-metadata:
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-dev-arm:4.1
image: docker.io/zmkfirmware/zmk-dev-arm:3.5
steps:
- uses: actions/checkout@v4
- name: Install dependencies

View File

@@ -69,10 +69,10 @@ jobs:
exit 1
fi
git clone "https://x-access-token:$ZMK_RELEASE_PLEASE_TOKEN@github.com/zmkfirmware/unified-zmk-config-template.git"
cd unified-zmk-config-template
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git clone "https://x-access-token:$ZMK_RELEASE_PLEASE_TOKEN@github.com/zmkfirmware/unified-zmk-config-template.git"
cd unified-zmk-config-template
sed -i 's/^\(\s*\)revision: .*/\1revision: '"$VERSION"'/' config/west.yml
sed -i 's|uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@.*|uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@'"$VERSION"'|' .github/workflows/build.yml
git add .

View File

@@ -22,7 +22,6 @@ jobs:
This PR was closed because it had no activity for over 10 months.
Feel free to give a status update or re-open when it has been
rebased and is ready for review (again).
days-before-issue-stale: 1000 # ~3 years
days-before-issue-close: -1
ascending: true # Process older PRs first
operations-per-run: 30 # Default value, listed here again to make it explicit

View File

@@ -37,7 +37,7 @@ jobs:
test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }}
runs-on: ubuntu-latest
container:
image: docker.io/zmkfirmware/zmk-build-arm:4.1
image: docker.io/zmkfirmware/zmk-build-arm:3.5
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -66,7 +66,7 @@ jobs:
run: west zephyr-export
- name: Test ${{ matrix.test }}
working-directory: app
run: ZMK_TESTS_VERBOSE=1 west test tests/${{ matrix.test }}
run: west test tests/${{ matrix.test }}
- name: Archive artifacts
if: ${{ always() }}
uses: actions/upload-artifact@v4

1
.gitignore vendored
View File

@@ -1,7 +1,6 @@
/.west
/bootloader
/modules
/optional
/tools
/zephyr
/zmk-config

View File

@@ -23,7 +23,6 @@ zephyr_syscall_header(${APPLICATION_SOURCE_DIR}/include/drivers/ext_power.h)
# Add your source file to the "app" target. This must come after
# find_package(Zephyr) which defines the target.
target_include_directories(app PRIVATE include)
add_subdirectory(src/boot)
target_sources(app PRIVATE src/stdlib.c)
target_sources(app PRIVATE src/activity.c)
target_sources(app PRIVATE src/behavior.c)

View File

@@ -31,10 +31,10 @@ config BT_DIS_PNP_VID
config BT_DIS_PNP_PID
default 0x615E
config BT_DIS_MODEL_NUMBER_STR
config BT_DIS_MODEL
default ZMK_KEYBOARD_NAME
config BT_DIS_MANUF_NAME_STR
config BT_DIS_MANUF
default "ZMK Project"
# Hardware specific overrides
@@ -129,9 +129,7 @@ config ZMK_USB_BOOT
bool "USB Boot Protocol Support"
depends on ZMK_USB
select USB_HID_BOOT_PROTOCOL
config USB_DEVICE_INITIALIZE_AT_BOOT
default n
select USB_DEVICE_SOF
if ZMK_USB
@@ -187,6 +185,10 @@ config BT_SMP_ALLOW_UNAUTH_OVERWRITE
config BT_CTLR_PHY_2M
default n if ZMK_BLE_EXPERIMENTAL_CONN
# BT_TINYCRYPT_ECC is required for BT_SMP_SC_PAIR_ONLY when using HCI
config BT_TINYCRYPT_ECC
default y if BT_HCI && !BT_CTLR
config ZMK_BLE_THREAD_STACK_SIZE
int "BLE notify thread stack size"
default 768
@@ -217,6 +219,9 @@ config BT_GATT_NOTIFY_MULTIPLE
config BT_GATT_AUTO_SEC_REQ
default (ZMK_SPLIT_BLE && !ZMK_SPLIT_ROLE_CENTRAL)
config BT_DEVICE_APPEARANCE
default 961
config BT_PERIPHERAL_PREF_MIN_INT
default 6
@@ -473,15 +478,13 @@ endmenu
menu "Advanced"
rsource "src/boot/Kconfig"
menu "Initialization Priorities"
if USB_DEVICE_STACK
config ZMK_USB_INIT_PRIORITY
int "USB Init Priority"
default 96
default 94
config ZMK_USB_HID_INIT_PRIORITY
int "USB HID Init Priority"
@@ -650,13 +653,6 @@ endmenu # Advanced
endmenu # ZMK
if SOC_FAMILY_NORDIC_NRF
config NRF_SOC_VALIDATE_HEADERS_DISABLED
default y
endif
config KERNEL_BIN_NAME
default "zmk"
@@ -691,6 +687,11 @@ config ZMK_KEYMAP_SENSORS_DEFAULT_TRIGGERS_PER_ROTATION
endif # ZMK_KEYMAP_SENSORS
choice CBPRINTF_IMPLEMENTATION
default CBPRINTF_NANO
endchoice
module = ZMK
module-str = zmk
source "subsys/logging/Kconfig.template.log_config"
@@ -704,6 +705,8 @@ rsource "boards/shields/*/Kconfig.shield"
# Duplicated from Kconfig.zephyr
osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield.defconfig"
source "$(BOARD_DIR)/Kconfig.defconfig"
# This loads board and shield Kconfigs found under zmk-config/config/
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig"
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.shield"

View File

@@ -2,12 +2,8 @@
# SPDX-License-Identifier: MIT
config SYSTEM_WORKQUEUE_STACK_SIZE
default 3072 if ZMK_DISPLAY
default 2048
# Basic
config BT_DEVICE_APPEARANCE
default 961
default 2048 if SOC_RP2040
default 2048 if ZMK_BLE
# HID
if ZMK_HID_REPORT_TYPE_HKRO
@@ -114,5 +110,4 @@ config ZMK_BATTERY_REPORT_INTERVAL
default 60
# Imports
rsource "src/boot/Kconfig.defaults"
rsource "src/split/Kconfig.defaults"
rsource "src/split/Kconfig.defaults"

View File

@@ -2,7 +2,3 @@ CONFIG_CONSOLE=n
CONFIG_SERIAL=n
CONFIG_UART_CONSOLE=n
CONFIG_ZMK_USB=y
CONFIG_RETAINED_MEM=y
CONFIG_RETENTION=y
CONFIG_RETENTION_BOOT_MODE=y

View File

@@ -4,6 +4,4 @@
* SPDX-License-Identifier: MIT
*/
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
&pro_micro_serial { status = "disabled"; };

View File

@@ -2,7 +2,3 @@ CONFIG_CONSOLE=n
CONFIG_SERIAL=n
CONFIG_UART_CONSOLE=n
CONFIG_ZMK_USB=y
CONFIG_RETAINED_MEM=y
CONFIG_RETENTION=y
CONFIG_RETENTION_BOOT_MODE=y

View File

@@ -4,6 +4,4 @@
* SPDX-License-Identifier: MIT
*/
#include <arm/raspberrypi/rp2040-boot-mode-retention.dtsi>
&xiao_serial { status = "disabled"; };

View File

@@ -0,0 +1,7 @@
# SPDX-License-Identifier: MIT
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
depends on BOARD_ADV360PRO_LEFT || BOARD_ADV360PRO_RIGHT

View File

@@ -0,0 +1,12 @@
#
# Copyright (c) 2023 The ZMK Contributors
# SPDX-License-Identifier: MIT
#
config BOARD_ADV360PRO_LEFT
bool "adv360pro_left"
depends on SOC_NRF52840_QIAA
config BOARD_ADV360PRO_RIGHT
bool "adv360pro_right"
depends on SOC_NRF52840_QIAA

View File

@@ -7,7 +7,6 @@
/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
#include <dt-bindings/led/led.h>
#include <dt-bindings/zmk/matrix_transform.h>
@@ -72,10 +71,6 @@
};
&reg1 {
regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_default>;

View File

@@ -3,6 +3,10 @@
# SPDX-License-Identifier: MIT
#
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_ADV360PRO_LEFT=y
# Enable MPU
CONFIG_ARM_MPU=y
@@ -28,6 +32,7 @@ CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM=y
#RGB leds config
CONFIG_WS2812_STRIP=y
CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n

View File

@@ -3,6 +3,10 @@
# SPDX-License-Identifier: MIT
#
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_ADV360PRO_RIGHT=y
# Enable MPU
CONFIG_ARM_MPU=y
@@ -28,6 +32,7 @@ CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM=y
#RGB leds config
CONFIG_WS2812_STRIP=y
CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n

View File

@@ -0,0 +1,8 @@
# keeb.io BDN9 board configuration
# Copyright (c) 2020 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD_BDN9
bool "BDN9 rev2"
depends on SOC_STM32F072XB

View File

@@ -11,4 +11,8 @@ config BOARD
config ZMK_KEYBOARD_NAME
default "BDN9 Rev2"
config ZMK_RGB_UNDERGLOW
select SPI
select WS2812_STRIP
endif # BOARD_BDN9

View File

@@ -11,7 +11,7 @@
#include <dt-bindings/zmk/matrix_transform.h>
#include "bdn9-layouts.dtsi"
#include "bdn9_rev2-layouts.dtsi"
&physical_layout0 {
transform = <&matrix_transform0>;

View File

@@ -0,0 +1,11 @@
file_format: "1"
id: bdn9_rev2
name: BDN9 Rev2
type: board
arch: arm
features:
- keys
- encoder
outputs:
- usb
url: https://keeb.io/products/bdn9-rev-2-3x3-9-key-macropad-rotary-encoder-and-rgb

View File

@@ -1,6 +1,6 @@
file_format: "1"
id: bdn9
name: BDN9 (Rev2)
id: bdn9_rev2
name: BDN9 Rev2
type: board
arch: arm
outputs:
@@ -9,6 +9,3 @@ features:
- keys
- encoder
url: https://keeb.io/collections/bdn9-collection/products/bdn9-rev-2-3x3-9-key-macropad-rotary-encoder-and-rgb
revisions:
- "2.0.0"
default_revision: "2.0.0"

View File

@@ -1,5 +1,7 @@
# SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_STM32F0X=y
CONFIG_SOC_STM32F072XB=y
# 72MHz system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=72000000
@@ -12,7 +14,6 @@ CONFIG_PINCTRL=y
# Poll to avoid interrupt overlap issues
CONFIG_ZMK_KSCAN_DIRECT_POLLING=y
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1536
CONFIG_ISR_STACK_SIZE=1024
# clock configuration

View File

@@ -4,5 +4,5 @@ config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
depends on BOARD_BLUEMICRO840
depends on BOARD_BLUEMICRO840_V1

View File

@@ -0,0 +1,8 @@
# BlueMicro840 board configuration
# Copyright (c) 2020 Pete Johanson, Derek Schmell
# SPDX-License-Identifier: MIT
config BOARD_BLUEMICRO840_V1
bool "BlueMicro840_V1"
depends on SOC_NRF52840_QIAA

View File

@@ -3,7 +3,10 @@
# Copyright (c) 2020 Pete Johanson, Derek Schmell
# SPDX-License-Identifier: MIT
if BOARD_BLUEMICRO840
if BOARD_BLUEMICRO840_V1
config BOARD
default "bluemicro840_v1"
if USB_DEVICE_STACK
@@ -15,4 +18,4 @@ endif # USB_DEVICE_STACK
config BT_CTLR
default BT
endif # BOARD_BLUEMICRO840
endif # BOARD_BLUEMICRO840_V1

View File

@@ -6,10 +6,8 @@
/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
#include "arduino_pro_micro_pins.dtsi"
#include "bluemicro840-pinctrl.dtsi"
#include "bluemicro840_v1-pinctrl.dtsi"
/ {
model = "BlueMicro840_V1";

View File

@@ -1,4 +1,4 @@
identifier: bluemicro840
identifier: bluemicro840_v1
name: BlueMicro840_V1
type: mcu
arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1"
id: bluemicro840
id: bluemicro840_v1
name: BlueMicro840 v1
type: board
arch: arm

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BLUEMICRO840_V1=y
# Enable MPU
CONFIG_ARM_MPU=y
@@ -17,8 +21,6 @@ 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_ZMK_USB=y
CONFIG_ZMK_BLE=y

View File

@@ -0,0 +1,7 @@
# SPDX-License-Identifier: MIT
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
depends on (BOARD_BT60_V1_HS || BOARD_BT60_V1)

View File

@@ -0,0 +1,12 @@
# BT60 board configuration
# Copyright (c) 2021 Polarity Works
# SPDX-License-Identifier: MIT
config BOARD_BT60_V1
bool "bt60"
depends on SOC_NRF52840_QIAA
config BOARD_BT60_V1_HS
bool "bt60 hotswap"
depends on SOC_NRF52840_QIAA

View File

@@ -1,10 +1,10 @@
# Copyright (c) 2022 The ZMK Contributors
# Copyright (c) 2021 Polarity Works
# SPDX-License-Identifier: MIT
config ZMK_KEYBOARD_NAME
default "BT75" if BOARD_BT75
if BOARD_BT60_V1_HS || BOARD_BT60_V1
if BOARD_BT75
config BOARD
default "bt60"
if USB
@@ -19,4 +19,7 @@ endif # USB
config BT_CTLR
default BT
endif # BOARD_BT75
config ZMK_KEYBOARD_NAME
default "BT60"
endif # BOARD_BT60

View File

@@ -1,14 +1,17 @@
/*
* Copyright (c) 2022 The ZMK Contributors
* Copyright (c) 2021 Polarity Works
*
* SPDX-License-Identifier: MIT
*/
/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
#include <dt-bindings/zmk/matrix_transform.h>
/ {
model = "BT60";
compatible = "polarityworks,bt60";
chosen {
zephyr,code-partition = &code_partition;
zephyr,sram = &sram0;
@@ -16,9 +19,35 @@
zmk,battery = &vbatt;
};
sensors: sensors {
compatible = "zmk,keymap-sensors";
sensors = <&left_encoder>;
triggers-per-rotation = <20>;
};
left_encoder: encoder_left {
compatible = "alps,ec11";
a-gpios = <&gpio1 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
b-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
steps = <80>;
status = "okay";
};
leds {
compatible = "gpio-leds";
blue_led: led_0 {
gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
};
};
vbatt: vbatt {
compatible = "zmk,battery-voltage-divider";
io-channels = <&adc 2>;
output-ohms = <2000000>;
full-ohms = <(2000000 + 806000)>;
};
};
@@ -42,6 +71,7 @@ zephyr_udc0: &usbd {
status = "okay";
};
&flash0 {
/*
* For more information, see:

View File

@@ -4,7 +4,8 @@
* SPDX-License-Identifier: MIT
*/
#include "bt60_1_0_0.dtsi"
/dts-v1/;
#include "bt60.dtsi"
#include <layouts/common/60percent/all1u.dtsi>
#include <layouts/common/60percent/ansi.dtsi>
#include <layouts/common/60percent/hhkb.dtsi>

View File

@@ -20,7 +20,7 @@
#elif defined(HHKB)
zmk,physical-layout = &layout_60_hhkb;
#else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60.keymap"
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v1.keymap"
#endif
};
@@ -147,7 +147,7 @@
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
};
#else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60.keymap"
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v2.keymap"
#endif
};
};

View File

@@ -1,5 +1,5 @@
identifier: puchi_ble
name: puchi_ble
identifier: bt60_v1
name: BT60 V1 Soldered
type: mcu
arch: arm
toolchain:

View File

@@ -0,0 +1,13 @@
file_format: "1"
id: bt60_v1
name: BT60 V1 Soldered
type: board
arch: arm
features:
- keys
- encoder
- studio
outputs:
- usb
- ble
url: https://polarityworks.com

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BT60_V1=y
# Enable MPU
CONFIG_ARM_MPU=y
@@ -21,4 +25,4 @@ CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_ZMK_USB=y
CONFIG_ZMK_BLE=y
CONFIG_ZMK_BLE=y

View File

@@ -4,8 +4,8 @@
* SPDX-License-Identifier: MIT
*/
#include "bt60.dts"
#include "bt60_1_0_0.dtsi"
/dts-v1/;
#include "bt60.dtsi"
#include <layouts/common/60percent/ansi.dtsi>
/ {

View File

@@ -0,0 +1,15 @@
identifier: bt60_v1_hs
name: BT60 V1 Hotswap
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
supported:
- adc
- usb_device
- ble
- ieee802154
- pwm
- watchdog

View File

@@ -1,5 +1,5 @@
file_format: "1"
id: bt60_hs
id: bt60_v1_hs
name: BT60 V1 Hotswap
type: board
arch: arm

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BT60_V1_HS=y
# Enable MPU
CONFIG_ARM_MPU=y
@@ -21,4 +25,4 @@ CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_ZMK_USB=y
CONFIG_ZMK_BLE=y
CONFIG_ZMK_BLE=y

View File

@@ -0,0 +1,8 @@
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD_ENABLE_DCDC
bool "Enable DCDC mode"
select SOC_DCDC_NRF52X
default y
depends on BOARD_BT60_V2 || BOARD_BT65_V1 || BOARD_BT75_V1

View File

@@ -0,0 +1,16 @@
# CKP boards configuration
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD_BT60_V2
bool "bt60_v2"
depends on SOC_NRF52840_QIAA
config BOARD_BT65_V1
bool "bt65_v1"
depends on SOC_NRF52840_QIAA
config BOARD_BT75_V1
bool "bt75_v1"
depends on SOC_NRF52840_QIAA

View File

@@ -0,0 +1,28 @@
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
config BOARD
default "bt60_v2" if BOARD_BT60_V2
default "bt65_v1" if BOARD_BT65_V1
default "bt75_v1" if BOARD_BT75_V1
config ZMK_KEYBOARD_NAME
default "BT60 V2" if BOARD_BT60_V2
default "BT65" if BOARD_BT65_V1
default "BT75" if BOARD_BT75_V1
if BOARD_BT60_V2 || BOARD_BT65_V1 || BOARD_BT75_V1
if USB
config USB_NRFX
default y
config USB_DEVICE_STACK
default y
endif # USB
config BT_CTLR
default BT
endif # BOARD_BT60_V2 || BOARD_BT65_V1 || BOARD_BT75_V1

View File

@@ -4,7 +4,8 @@
* SPDX-License-Identifier: MIT
*/
#include "../common/ckp.dtsi"
/dts-v1/;
#include "ckp.dtsi"
#include <layouts/common/60percent/all1u.dtsi>
#include <layouts/common/60percent/ansi.dtsi>
#include <layouts/common/60percent/hhkb.dtsi>
@@ -13,7 +14,7 @@
/ {
model = "BT60_V2";
compatible = "polarityworks,bt60";
compatible = "polarityworks,bt60_v2";
chosen {
zmk,physical-layout = &layout_60_ansi;

View File

@@ -20,7 +20,7 @@
#elif defined(HHKB)
zmk,physical-layout = &layout_60_hhkb;
#else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60.keymap"
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v2.keymap"
#endif
};
@@ -170,7 +170,7 @@
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
};
#else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60.keymap"
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt60_v2.keymap"
#endif
};

View File

@@ -1,4 +1,4 @@
identifier: bt60
identifier: bt60_v2
name: BT60 V2
type: mcu
arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1"
id: bt60
id: bt60_v2
name: BT60 V2
type: board
arch: arm
@@ -12,7 +12,4 @@ features:
outputs:
- usb
- ble
revisions:
- 2.0.0
- 1.0.0
url: https://polarityworks.com/btckp

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BT60_V2=y
# Enable MPU
CONFIG_ARM_MPU=y
@@ -28,6 +32,8 @@ CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y
CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=262
CONFIG_WS2812_STRIP=y
CONFIG_SPI=y
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

View File

@@ -5,11 +5,7 @@
*/
/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
#include "../common/ckp-base.dtsi"
#include "../common/ckp.dtsi"
#include "ckp.dtsi"
#include <layouts/common/65percent/all1u.dtsi>
#include <layouts/common/65percent/ansi.dtsi>
#include <layouts/common/65percent/iso.dtsi>
@@ -18,7 +14,7 @@
/ {
model = "BT65_V1";
compatible = "polarityworks,bt65";
compatible = "polarityworks,bt65_v1";
chosen {
zmk,physical-layout = &layout_65_ansi;

View File

@@ -20,7 +20,7 @@
#elif defined(HHKB)
zmk,physical-layout = &layout_65_hhkb;
#else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt65.keymap"
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt65_v1.keymap"
#endif
};
@@ -170,7 +170,7 @@
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
};
#else
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt65.keymap"
#error "Layout not defined, please define a layout by uncommenting the appropriate line in bt65_v1.keymap"
#endif
};

View File

@@ -1,4 +1,4 @@
identifier: bt65
identifier: bt65_v1
name: BT65_V1
type: mcu
arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1"
id: bt65
id: bt65_v1
name: BT65
type: board
arch: arm

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BT65_V1=y
# Enable MPU
CONFIG_ARM_MPU=y
@@ -28,8 +32,10 @@ CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y
CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=262
CONFIG_WS2812_STRIP=y
CONFIG_SPI=y
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
CONFIG_ZMK_USB=y
CONFIG_ZMK_BLE=y
CONFIG_ZMK_BLE=y

View File

@@ -5,11 +5,7 @@
*/
/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <common/nordic/nrf52840_uf2_boot_mode.dtsi>
#include "../common/ckp-base.dtsi"
#include "../common/ckp.dtsi"
#include "ckp.dtsi"
#include <layouts/common/75percent/all1u.dtsi>
#include <layouts/common/75percent/ansi.dtsi>
#include <layouts/common/75percent/iso.dtsi>
@@ -17,7 +13,7 @@
/ {
model = "BT75_V1";
compatible = "polarityworks,bt75";
compatible = "polarityworks,bt75_v1";
chosen {
zmk,physical-layout = &layout_75_ansi;

View File

@@ -17,7 +17,7 @@
#elif defined(ALL_1U)
zmk,physical-layout = &layout_75_all1u;
#else
#error "Layout not defined, please define a layout using by uncommenting the appropriate line in bt75.keymap"
#error "Layout not defined, please define a layout using by uncommenting the appropriate line in bt75_v1.keymap"
#endif
};

View File

@@ -1,4 +1,4 @@
identifier: bt75
identifier: bt75_v1
name: BT75_V1
type: mcu
arch: arm

View File

@@ -1,5 +1,5 @@
file_format: "1"
id: bt75
id: bt75_v1
name: BT75 V1
type: board
arch: arm

View File

@@ -1,5 +1,9 @@
# SPDX-License-Identifier: MIT
CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52840_QIAA=y
CONFIG_BOARD_BT75_V1=y
# Enable MPU
CONFIG_ARM_MPU=y
@@ -28,8 +32,10 @@ CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y
CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=262
CONFIG_WS2812_STRIP=y
CONFIG_SPI=y
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
CONFIG_ZMK_USB=y
CONFIG_ZMK_BLE=y
CONFIG_ZMK_BLE=y

View File

@@ -4,6 +4,9 @@
* SPDX-License-Identifier: MIT
*/
/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <dt-bindings/led/led.h>
#include <dt-bindings/zmk/matrix_transform.h>
@@ -116,9 +119,8 @@
};
};
&vbatt {
output-ohms = <100000>;
full-ohms = <(100000 + 100000)>;
&adc {
status = "okay";
};
&pwm0 {
@@ -128,6 +130,59 @@
pinctrl-names = "default", "sleep";
};
&gpiote {
status = "okay";
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
zephyr_udc0: &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 {
reg = <0x00000000 0x00026000>;
};
code_partition: partition@26000 {
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 {
reg = <0x000ec000 0x00008000>;
};
boot_partition: partition@f4000 {
reg = <0x000f4000 0x0000c000>;
};
};
};
&spi3 {
compatible = "nordic,nrf-spim";
status = "okay";

Some files were not shown because too many files have changed in this diff Show More