feat: switch to CX40 dongle board and ZMK main (v0.4) - #32
Open
perrwa wants to merge 22 commits into
Open
Conversation
Swap board from raytac_mdbt50q_rx to raytac_mdbt50q_cx_40 and point zmk-component-raytac-dongle to perrwa fork with CX40 support. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- build.yaml: raytac_mdbt50q_rx → raytac_mdbt50q_cx_40 - config/west.yml: zmk v0.3 → main, raytac dongle rschenk/v0.3 → perrwa/main - workflows: reusable workflow @v0.3 → @main Agent-Logs-Url: https://github.com/perrwa/zmk-config/sessions/74bb02a0-3a79-4f40-9a3a-15d2aa6edbfc Co-authored-by: perrwa <7255333+perrwa@users.noreply.github.com>
- nice_nano_v2 → nice_nano//zmk (revision-based naming + ZMK variant) - raytac_mdbt50q_cx_40 → mdbt50q_cx_40 (vendor prefix is now directory, not board name) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Zephyr 4.1's BLE controller + USB stack exceeds 256 KB RAM on this board without tuning. Disable logging, shrink BLE buffers, and reduce stack/heap sizes to fit within nRF52840 SRAM. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This reverts commit 5030f7a.
Add mdbt50q_rx + corne_dongle and mdbt50q_rx + settings_reset to build matrix to determine if Zephyr 4.1 RAM overflow affects all standalone nRF52840 boards or only CX-40. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
RX test complete — both boards need the extend variant fix. RX fails with Missing ZMK Compat (not RAM overflow). Results documented in perrwa/zmk-component-raytac-dongle#5. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update build.yaml board name: mdbt50q_cx_40 → raytac_mdbt50q_cx_40_dongle//zmk Point west.yml to perrwa/fix-ram-overflow branch for testing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Upstream Zephyr board raytac_mdbt50q_cx_40_dongle doesn't exist in ZMK's Zephyr fork (v4.1.0+zmk-fixes). Reverting to standalone board with ZMK_BOARD_COMPAT + RAM tuning in the dongle component. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Dongle: MDBT50Q-RX → MDBT50Q-CX-40, rschenk → perrwa fork - Board names: raytac_mdbt50q_rx → mdbt50q_cx_40, nice_nano_v2 → nice_nano//zmk - Release trigger: tag push v* → push to main - West manifest: ZMK v0.3 → ZMK main (v0.4) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
unified board (nRF52840). Keep CX40 dongle as BLE central with corne_dongle shield unchanged. Changes: - Add boardsource/wireless-corne_zmk_config as west module - Update raytac dongle pin to latest main - Add blecorne.keymap wrapper (#include corne.keymap) - Add blecorne.conf symlink to corne.conf - Update build.yaml: blecorne_left/right with central=n override Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Symbol was removed in ZMK 0.4. RGB underglow=n is sufficient to disable LED driver. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The dongle overlay included 5column.dtsi before 6column.dtsi, while the blecorne board definition includes them in the opposite order. ZMK's physical layout system enumerates layouts by DTS definition order, so when the central sends its selected layout INDEX to peripherals, the peripheral resolves a different layout. Dongle (was): layouts[0]=5col, layouts[1]=6col → selects 6col → sends idx 1 Blecorne: layouts[0]=6col, layouts[1]=5col → receives idx 1 → selects 5col! This caused the peripheral to use the 5-column transform (stride 10) instead of the 6-column transform (stride 12), scrambling every key position sent to the central. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces #10 (couldn't reopen with new head branch).
Test branch combining CX-40 dongle support with ZMK main (upcoming v0.4). Rebased on
perrwa/cx40and points all ZMK references atmainbranch.build.yaml: Board names updated for ZMK v0.4 HWMv2 (nice_nano_v2→nice_nano//zmk,raytac_mdbt50q_rx→mdbt50q_cx_40)config/west.yml: ZMKv0.3→main, raytac dongleperrwa/add-cx40→perrwa/fix-ram-overflow@v0.3→@mainin bothbuild.ymlandrelease.ymlRelease workflow trigger
release.ymlnow triggers on push tomain(auto-builds firmware on merge) plus manualworkflow_dispatchwith an optional tag input for versioned releases. This replaces the previous tag-push (v*) trigger.main— intentional for testing. Pin tov0.4tags once ZMK cuts a release.