3c58f98929
* 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 |
||
---|---|---|
.. | ||
config.h | ||
f411.c | ||
f411.h | ||
halconf.h | ||
mcuconf.h | ||
post_config.h | ||
readme.md | ||
rules.mk |
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
- Keyboard Maintainer: Drashna Jael're
- Hardware Supported: Design files, WeAct BlackPill (F411), PMW3360 Optical Sensor
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
.