diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/feature_rgb_matrix.md | 2 | ||||
| -rw-r--r-- | docs/keycodes.md | 3 | ||||
| -rw-r--r-- | docs/one_shot_keys.md | 3 | ||||
| -rw-r--r-- | docs/ws2812_driver.md | 22 | 
4 files changed, 30 insertions, 0 deletions
| diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 6917de5ab4..a83e1d2a21 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -441,6 +441,8 @@ These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blo  #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set  #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set  #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) +#define RGB_MATRIX_SPLIT { X, Y } 	// (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. +                              		// If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR  ```  ## EEPROM storage :id=eeprom-storage diff --git a/docs/keycodes.md b/docs/keycodes.md index 9acf8b6839..f3c519b130 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -516,6 +516,9 @@ See also: [One Shot Keys](one_shot_keys.md)  |------------|----------------------------------|  |`OSM(mod)`  |Hold `mod` for one keypress       |  |`OSL(layer)`|Switch to `layer` for one keypress| +|`OS_ON`     |Turns One Shot keys on            | +|`OS_OFF`    |Turns One Shot keys off           | +|`OS_TOGG`   |Toggles One Shot keys status      |  ## Space Cadet :id=space-cadet diff --git a/docs/one_shot_keys.md b/docs/one_shot_keys.md index 9a082d7d6d..9fc5486299 100644 --- a/docs/one_shot_keys.md +++ b/docs/one_shot_keys.md @@ -17,6 +17,9 @@ You can control the behavior of one shot keys by defining these in `config.h`:  * `OSM(mod)` - Momentarily hold down *mod*. You must use the `MOD_*` keycodes as shown in [Mod Tap](mod_tap.md), not the `KC_*` codes.  * `OSL(layer)` - momentary switch to *layer*. +* `OS_ON` - Turns on One Shot keys. +* `OS_OFF` - Turns off One Shot keys. OSM act as regular mod keys, OSL act like `MO`. +* `ON_TOGG` - Toggles the one shot key status.  Sometimes, you want to activate a one-shot key as part of a macro or tap dance routine.   diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index cca6827ec8..e69400364c 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md @@ -77,6 +77,25 @@ Configure the hardware via your config.h:  You must also turn on the SPI feature in your halconf.h and mcuconf.h +#### Circular Buffer Mode +Some boards may flicker while in the normal buffer mode. To fix this issue, circular buffer mode may be used to rectify the issue.  + +By default, the circular buffer mode is disabled. + +To enable this alternative buffer mode, place this into your `config.h` file: +```c +#define WS2812_SPI_USE_CIRCULAR_BUFFER +``` + +#### Setting baudrate with divisor +To adjust the baudrate at which the SPI peripheral is configured, users will need to derive the target baudrate from the clock tree provided by STM32CubeMX. + +Only divisors of 2, 4, 8, 16, 32, 64, 128 and 256 are supported by hardware. + +|Define              |Default|Description                          | +|--------------------|-------|-------------------------------------| +|`WS2812_SPI_DIVISOR`|`16`   |SPI source clock peripheral divisor  | +  #### Testing Notes  While not an exhaustive list, the following table provides the scenarios that have been partially validated: @@ -102,11 +121,14 @@ Configure the hardware via your config.h:  #define WS2812_PWM_DRIVER PWMD2  // default: PWMD2  #define WS2812_PWM_CHANNEL 2  // default: 2  #define WS2812_PWM_PAL_MODE 2  // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 +//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy).  #define WS2812_DMA_STREAM STM32_DMA1_STREAM2  // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.  #define WS2812_DMA_CHANNEL 2  // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.  #define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU.  ``` +Note that using a complementary timer output (TIMx_CHyN) is possible only for advanced-control timers (TIM1, TIM8, TIM20 on STM32), and the `STM32_PWM_USE_ADVANCED` option in mcuconf.h must be set to `TRUE`.  Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. +  You must also turn on the PWM feature in your halconf.h and mcuconf.h  #### Testing Notes | 
