aboutsummaryrefslogtreecommitdiff
path: root/docs/ws2812_driver.md
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2019-11-07 13:10:29 +0000
committerGitHub <noreply@github.com>2019-11-07 13:10:29 +0000
commit1ea0cac998cab60c8b2aa64ba4bd995acbece4b4 (patch)
treeb0d66dee00794334767db6bec00dbf8c5576b28f /docs/ws2812_driver.md
parentb9610091f520f7f20d20964101ae28f7b5f77de2 (diff)
downloadqmk_firmware-1ea0cac998cab60c8b2aa64ba4bd995acbece4b4.tar.gz
qmk_firmware-1ea0cac998cab60c8b2aa64ba4bd995acbece4b4.zip
ARM - ws2812 bitbang (#7173)
* Initial ARM bitbang ws2812 driver * Unify chibios platform to run rgblight_task * Remove 'avr only' comments from ws2812 docs * Remove 'avr only' comments from ws2812 docs * Unify chibios platform to run rgblight_task - review comments * Remove debug flags from keymap * Add comments from review * Add defines for STM32L0XX * Attempt to get arm ws2812 working on multiple gcc versions
Diffstat (limited to 'docs/ws2812_driver.md')
-rw-r--r--docs/ws2812_driver.md13
1 files changed, 11 insertions, 2 deletions
diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md
index 6fa5d324c..67481c458 100644
--- a/docs/ws2812_driver.md
+++ b/docs/ws2812_driver.md
@@ -1,13 +1,22 @@
1# WS2812 Driver 1# WS2812 Driver
2This driver powers the [RGB Lighting](feature_rgblight.md) and [RGB Matrix](feature_rgb_matrix.md) features. 2This driver powers the [RGB Lighting](feature_rgblight.md) and [RGB Matrix](feature_rgb_matrix.md) features.
3 3
4Currently QMK supports the following addressable LEDs on AVR microcontrollers (however, the white LED in RGBW variants is not supported): 4Currently QMK supports the following addressable LEDs (however, the white LED in RGBW variants is not supported):
5 5
6 WS2811, WS2812, WS2812B, WS2812C, etc. 6 WS2811, WS2812, WS2812B, WS2812C, etc.
7 SK6812, SK6812MINI, SK6805 7 SK6812, SK6812MINI, SK6805
8 8
9These LEDs are called "addressable" because instead of using a wire per color, each LED contains a small microchip that understands a special protocol sent over a single wire. The chip passes on the remaining data to the next LED, allowing them to be chained together. In this way, you can easily control the color of the individual LEDs. 9These LEDs are called "addressable" because instead of using a wire per color, each LED contains a small microchip that understands a special protocol sent over a single wire. The chip passes on the remaining data to the next LED, allowing them to be chained together. In this way, you can easily control the color of the individual LEDs.
10 10
11## Supported Driver Types
12
13| | AVR | ARM |
14|----------|--------------------|--------------------|
15| bit bang | :heavy_check_mark: | :heavy_check_mark: |
16| I2C | :heavy_check_mark: | |
17| SPI | | Soon™ |
18| PWM | | Soon™ |
19
11## Driver configuration 20## Driver configuration
12 21
13### Bitbang 22### Bitbang
@@ -17,7 +26,7 @@ Default driver, the absence of configuration assumes this driver. To configure i
17WS2812_DRIVER = bitbang 26WS2812_DRIVER = bitbang
18``` 27```
19 28
20!> ARM does not yet support WS2182. Progress is being made, but we are not quite there, yet. 29!> This driver is not hardware accelerated and may not be performant on heavily loaded systems.
21 30
22### I2C 31### I2C
23Targeting boards where WS2812 support is offloaded to a 2nd MCU. Currently the driver is limited to AVR given the known consumers are ps2avrGB/BMC. To configure it, add this to your rules.mk: 32Targeting boards where WS2812 support is offloaded to a 2nd MCU. Currently the driver is limited to AVR given the known consumers are ps2avrGB/BMC. To configure it, add this to your rules.mk: