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 6917de5ab..a83e1d2a2 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 | |||
441 | #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set | 441 | #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set |
442 | #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set | 442 | #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set |
443 | #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) | 443 | #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) |
444 | #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. | ||
445 | // If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR | ||
444 | ``` | 446 | ``` |
445 | 447 | ||
446 | ## EEPROM storage :id=eeprom-storage | 448 | ## EEPROM storage :id=eeprom-storage |
diff --git a/docs/keycodes.md b/docs/keycodes.md index 9acf8b683..f3c519b13 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md | |||
@@ -516,6 +516,9 @@ See also: [One Shot Keys](one_shot_keys.md) | |||
516 | |------------|----------------------------------| | 516 | |------------|----------------------------------| |
517 | |`OSM(mod)` |Hold `mod` for one keypress | | 517 | |`OSM(mod)` |Hold `mod` for one keypress | |
518 | |`OSL(layer)`|Switch to `layer` for one keypress| | 518 | |`OSL(layer)`|Switch to `layer` for one keypress| |
519 | |`OS_ON` |Turns One Shot keys on | | ||
520 | |`OS_OFF` |Turns One Shot keys off | | ||
521 | |`OS_TOGG` |Toggles One Shot keys status | | ||
519 | 522 | ||
520 | ## Space Cadet :id=space-cadet | 523 | ## Space Cadet :id=space-cadet |
521 | 524 | ||
diff --git a/docs/one_shot_keys.md b/docs/one_shot_keys.md index 9a082d7d6..9fc548629 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`: | |||
17 | 17 | ||
18 | * `OSM(mod)` - Momentarily hold down *mod*. You must use the `MOD_*` keycodes as shown in [Mod Tap](mod_tap.md), not the `KC_*` codes. | 18 | * `OSM(mod)` - Momentarily hold down *mod*. You must use the `MOD_*` keycodes as shown in [Mod Tap](mod_tap.md), not the `KC_*` codes. |
19 | * `OSL(layer)` - momentary switch to *layer*. | 19 | * `OSL(layer)` - momentary switch to *layer*. |
20 | * `OS_ON` - Turns on One Shot keys. | ||
21 | * `OS_OFF` - Turns off One Shot keys. OSM act as regular mod keys, OSL act like `MO`. | ||
22 | * `ON_TOGG` - Toggles the one shot key status. | ||
20 | 23 | ||
21 | Sometimes, you want to activate a one-shot key as part of a macro or tap dance routine. | 24 | Sometimes, you want to activate a one-shot key as part of a macro or tap dance routine. |
22 | 25 | ||
diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index cca6827ec..e69400364 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md | |||
@@ -77,6 +77,25 @@ Configure the hardware via your config.h: | |||
77 | 77 | ||
78 | You must also turn on the SPI feature in your halconf.h and mcuconf.h | 78 | You must also turn on the SPI feature in your halconf.h and mcuconf.h |
79 | 79 | ||
80 | #### Circular Buffer Mode | ||
81 | Some boards may flicker while in the normal buffer mode. To fix this issue, circular buffer mode may be used to rectify the issue. | ||
82 | |||
83 | By default, the circular buffer mode is disabled. | ||
84 | |||
85 | To enable this alternative buffer mode, place this into your `config.h` file: | ||
86 | ```c | ||
87 | #define WS2812_SPI_USE_CIRCULAR_BUFFER | ||
88 | ``` | ||
89 | |||
90 | #### Setting baudrate with divisor | ||
91 | 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. | ||
92 | |||
93 | Only divisors of 2, 4, 8, 16, 32, 64, 128 and 256 are supported by hardware. | ||
94 | |||
95 | |Define |Default|Description | | ||
96 | |--------------------|-------|-------------------------------------| | ||
97 | |`WS2812_SPI_DIVISOR`|`16` |SPI source clock peripheral divisor | | ||
98 | |||
80 | #### Testing Notes | 99 | #### Testing Notes |
81 | 100 | ||
82 | While not an exhaustive list, the following table provides the scenarios that have been partially validated: | 101 | 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: | |||
102 | #define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 | 121 | #define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 |
103 | #define WS2812_PWM_CHANNEL 2 // default: 2 | 122 | #define WS2812_PWM_CHANNEL 2 // default: 2 |
104 | #define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 | 123 | #define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 |
124 | //#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). | ||
105 | #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. | 125 | #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. |
106 | #define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. | 126 | #define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. |
107 | #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. | 127 | #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. |
108 | ``` | 128 | ``` |
109 | 129 | ||
130 | 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. | ||
131 | |||
110 | You must also turn on the PWM feature in your halconf.h and mcuconf.h | 132 | You must also turn on the PWM feature in your halconf.h and mcuconf.h |
111 | 133 | ||
112 | #### Testing Notes | 134 | #### Testing Notes |