pok3r_re_firmware icon indicating copy to clipboard operation
pok3r_re_firmware copied to clipboard

[Pok3r RGB] RGB matrix in QMK

Open hansemro opened this issue 2 years ago • 11 comments

~Don't have pok3r RGB keyboard, but~ wanted to help out with the RE effort and create a starting point for support in QMK. (Update: got the keyboard).

Pok3r RGB has 2 MBIA043 LED Drivers in a chain. Stock firmware uses GPTM1 to drive GCLK PWM signal and uses BFTM1 for time-multiplexing.

GPTM1 PWM frequency: 14.4 MHz

BFMT1 compare value: 60,000 ticks (where input frequency is 72 MHz)

Pin Mapping (identical to Pro S RGB): MBIA043 GCLK: C0 MBIA043 DCLK: A14 MBIA043 LE: A15 MBIA043 SDI: C2 MBIA043 SDO: B0 MBIA043 Power: C1 (power is enabled when C1 is low)

LED (Column) GPIO Pins (gpio_map_3 in pok3r_rgb/v140 disassembly): C8, C7, B5, B4, B3, B2, C6, C5

MBIA043 Configuration (same as Pro S RGB): 0xc for both drivers

Tasks:

  • [ ] Update disassembly annotations
  • [ ] Upstream QMK work:
    • [ ] Add/update generic HT32 board targets and linker scripts in ChibiOS-Contrib
      • branch: https://github.com/ChibiOS/ChibiOS-Contrib/pull/400
    • [ ] Upstream improved HT32F165X/HT32F523XX MCU support with capability to reboot into ISP bootloader
      • branch: https://github.com/hansemro/qmk_firmware/commits/ht32-mcu-support
      • depends on: https://github.com/ChibiOS/ChibiOS-Contrib/pull/400
    • [ ] Upstream Pok3r RGB support without RGB Matrix support
      • branch: https://github.com/hansemro/qmk_firmware/commits/pok3r_rgb_support
      • depends on: https://github.com/hansemro/qmk_firmware/commits/ht32-mcu-support
      • depends on: https://github.com/ChibiOS/ChibiOS-Contrib/pull/400
    • [ ] Upstream generic mbi driver: https://github.com/hansemro/qmk_firmware/commits/mbi_driver_dev
    • [ ] Support RGB Matrix after upstreaming mbi driver and making any necessary driver changes
      • branch: https://github.com/hansemro/qmk_firmware/commits/pok3r_rgb_mbi_dev
  • [x] Prototype QMK fork with mbia043 driver: https://github.com/hansemro/qmk_firmware/commits/pok3r_rgb_mbia043_dev
    • [x] Validate Key Matrix to LED Index
      • Switch to key-reactive RGB effects to test mapping
    • [x] Validate LED Matrix to LED Index
      • Validate with Pinwheel effect or init test (https://github.com/hansemro/qmk_firmware/blob/1ef7c981ac62a3224c03731deaac4bdf1b59fcb1/keyboards/vortex/pok3r_rgb/mbia043.c#L252-L262)
    • [x] Fix LED Index to Physical Position
    • [x] Caps Lock indicator LED
    • [x] Left+Right Spacebar LEDs

hansemro avatar Dec 15 '22 09:12 hansemro