qmk-firmware/keyboards/handwired/tractyl_manuform/5x6_right/f411
Stefan Kerkmann 3c58f98929
[Core] PMW33XX drivers overhaul (#17613)
* PMW33XX drivers overhaul

This combines the PMW3389 and PM3360 drivers as they only differ in the
firmware blobs and CPI get and set functions. The following changes have
been made:

* PMW3389 now gets the same multi-sensor feature that is already available on the
  PMW3360.

* Introduced a shared pmw33xx_report_t struct is now directly readable via SPI
  transactions instead of individual byte-sized reads, saving multiple
  copies and bitshift operations.

* pmw33(89/60)_get_report functions had unreachable branches in their motion
  detection logic these have been simplied as much as possible.

* The fast firmware upload option has been removed as this becomes obsolete by
  the newly introduced polled waiting functions for ChibiOS polled waiting

* PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options
  have been removed as they don't need to be configurable.

* All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix
  to reduce code duplication and make the defines interchangeable

* Adjust keyboards to PMW33XX naming scheme
2022-07-14 11:50:00 +02:00
..
config.h [Core] PMW33XX drivers overhaul (#17613) 2022-07-14 11:50:00 +02:00
f411.c [Keymap] Drashna update for post Q2 merge (#17241) 2022-05-30 22:02:55 -07:00
f411.h
halconf.h [Keyboard] Updates for Tractyl Manuform config (#14641) 2021-09-29 09:30:25 -07:00
mcuconf.h [Keymap] Drashna Mouse keys and oled updates (#16556) 2022-03-06 22:12:17 -08:00
post_config.h [Keymap] Drashna's OLED rewrite (#15981) 2022-01-21 19:36:52 -08:00
readme.md [Keymap] Unicode and Pointing Device and Autocorect for drashna keymaps (#15415) 2021-12-14 20:53:36 -08:00
rules.mk Specify blackpill board files where relevant (#17521) 2022-07-01 15:38:57 +01:00

Drashna's Blackpill Tractyl Manuform (5x6) with a right side trackball

  • System Timer on TIM5
  • VBUS mod, using PB10 -- does work, but not on my tractyl... bad soldering probably
  • Split Hand Pin, using PC14
  • Full Duplex Serial/USART using PA2 and PA3 on USART2
  • PWM Audio using PB1 and TIM3 and GPT on TIM4
  • PWM WS2812 RGB using PA1 TIM2
  • 8KB SPI EEPROM chip sharing PA5-PA7 on SPI1 with PA4 as CS pin
  • pmw3360 sensor sharing PA5-PA7 on SPI1, with B0 as CS pin
  • Encoder using PA13 and PA14
  • SSD1306 OLED display (128x64) using PB8-PB9 on I2C1
  • Pull-up resistor (22k) on PA10 to fix reset issue.
  • Pull-up resistor (5.1k) on PA1 for WS2812 LED support, and wire it's VCC to the 5V pin.
  • Pins PA9 is meant for VBUS sense, and has an internal pulldown resistor. A 5.1k pullup resistor can work (but should be avoided)
  • Pins PA11 and A12 are not useable because they're used for USB connection, and can't be shared.
  • Pin PB2 is used by BOOT1, and is unusable

Keyboard Info

Make example for this keyboard (after setting up your build environment):

make handwired/tractyl_manuform/5x6_right/f411:default

Flashing example for this keyboard:

make handwired/tractyl_manuform/5x6_right/f411:default:flash

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.

Bootloader

  • Bootmagic reset: Hold down the top right key on the right side, or the top left key on the left side while plugging in.
  • Physical reset button: Briefly press the "USER" button on the BlackPill
  • Keycode in layout: Press the key mapped to RESET.