Skip to content

[Keyboard] Add Anne Pro 2D C2D support - #26367

Draft
hitsmaxft wants to merge 1 commit into
qmk:developfrom
hitsmaxft:codex/annepro2-c2d
Draft

[Keyboard] Add Anne Pro 2D C2D support#26367
hitsmaxft wants to merge 1 commit into
qmk:developfrom
hitsmaxft:codex/annepro2-c2d

Conversation

@hitsmaxft

Copy link
Copy Markdown

Description

Adds QMK support for the Anne Pro 2D C2D revision:

  • adds the HT32F52352 C2D board, linker, matrix GPIO, UART, SPI flash, and IAP configuration
  • implements the AP2D BLE 2.13 UART protocol, bounded RX parser, connection state machine, slot selection, HID handshake, Caps Lock sync, and consumer reports
  • moves BLE initialization, UART processing, and BLE key handling out of annepro2.c into dedicated BLE transport files
  • makes the C18 BLE 2.05/2.13 compatibility choice compile-time only; C2D always selects AP2D BLE 2.13
  • keeps C15/C18 external-controller RGB support unchanged

C2D direct-drive RGB is intentionally not included in this PR and will be handled separately.

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

None.

Validation

  • qmk compile -kb annepro2/c18 -km default -j20
  • C18 BLE 2.13 compile-time compatibility build
  • qmk compile -kb annepro2/c15 -km default -j20
  • qmk compile -kb annepro2/c2d -km default -j20
  • host tests for both compile-time BLE report formats, BLE state transitions, AP2D slot protocol, and bounded UART parsing
  • git diff --check

All builds and host-side tests pass. I do not currently have C2D hardware, so USB, matrix, BLE radio behavior, and IAP behavior have not been validated on a physical device.

qmk lint -kb annepro2/c2d still reports the existing Anne Pro 2 missing-license headers and legacy hyphenated keymap names; this PR does not modify those inherited files.

Checklist

  • My code follows the code style of this project
  • I have read the PR Checklist document and made the appropriate changes
  • My change requires a documentation update
  • I have updated the documentation accordingly
  • I have read the CONTRIBUTING document
  • I have added tests to cover my changes
  • I have tested the changes and verified that they work as well as I can manage

@hitsmaxft
hitsmaxft changed the base branch from master to develop July 28, 2026 01:52
@zvecr
zvecr marked this pull request as draft July 28, 2026 02:06
@zvecr zvecr added the on hold label Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants