diff options
author | Joel Challis <git@zvecr.com> | 2019-11-07 13:10:29 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-07 13:10:29 +0000 |
commit | 1ea0cac998cab60c8b2aa64ba4bd995acbece4b4 (patch) | |
tree | b0d66dee00794334767db6bec00dbf8c5576b28f /docs | |
parent | b9610091f520f7f20d20964101ae28f7b5f77de2 (diff) |
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')
-rw-r--r-- | docs/feature_rgb_matrix.md | 2 | ||||
-rw-r--r-- | docs/feature_rgblight.md | 2 | ||||
-rw-r--r-- | docs/hardware_drivers.md | 2 | ||||
-rw-r--r-- | docs/ws2812_driver.md | 13 |
4 files changed, 14 insertions, 5 deletions
diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index b2850c3cff..3e69361fbd 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -107,7 +107,7 @@ Where `X_Y` is the location of the LED in the matrix defined by [the datasheet]( --- -### WS2812 (AVR only) +### WS2812 There is basic support for addressable RGB matrix lighting with a WS2811/WS2812{a,b,c} addressable LED strand. To enable it, add this to your `rules.mk`: diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index be4ddfa729..397dde587d 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -6,7 +6,7 @@ QMK has the ability to control RGB LEDs attached to your keyboard. This is commo Some keyboards come with RGB LEDs preinstalled. Others must have them installed after the fact. See the [Hardware Modification](#hardware-modification) section for information on adding RGB lighting to your keyboard. -Currently QMK supports the following addressable LEDs on AVR microcontrollers (however, the white LED in RGBW variants is not supported): +Currently QMK supports the following addressable LEDs (however, the white LED in RGBW variants is not supported): * WS2811, WS2812, WS2812B, WS2812C, etc. * SK6812, SK6812MINI, SK6805 diff --git a/docs/hardware_drivers.md b/docs/hardware_drivers.md index 321ba2a4bc..1651877957 100644 --- a/docs/hardware_drivers.md +++ b/docs/hardware_drivers.md @@ -22,7 +22,7 @@ Support for SSD1306 based OLED displays. For more information see the [OLED Driv You can make use of uGFX within QMK to drive character and graphic LCDs, LED arrays, OLED, TFT, and other display technologies. This needs to be better documented, if you are trying to do this and reading the code doesn't help please [open an issue](https://github.com/qmk/qmk_firmware/issues/new) and we can help you through the process. -## WS2812 (AVR Only) +## WS2812 Support for WS2811/WS2812{a,b,c} LED's. For more information see the [RGB Light](feature_rgblight.md) page. diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index 6fa5d324cf..67481c458d 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md @@ -1,13 +1,22 @@ # WS2812 Driver This driver powers the [RGB Lighting](feature_rgblight.md) and [RGB Matrix](feature_rgb_matrix.md) features. -Currently QMK supports the following addressable LEDs on AVR microcontrollers (however, the white LED in RGBW variants is not supported): +Currently QMK supports the following addressable LEDs (however, the white LED in RGBW variants is not supported): WS2811, WS2812, WS2812B, WS2812C, etc. SK6812, SK6812MINI, SK6805 These 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. +## Supported Driver Types + +| | AVR | ARM | +|----------|--------------------|--------------------| +| bit bang | :heavy_check_mark: | :heavy_check_mark: | +| I2C | :heavy_check_mark: | | +| SPI | | Soon™ | +| PWM | | Soon™ | + ## Driver configuration ### Bitbang @@ -17,7 +26,7 @@ Default driver, the absence of configuration assumes this driver. To configure i WS2812_DRIVER = bitbang ``` -!> ARM does not yet support WS2182. Progress is being made, but we are not quite there, yet. +!> This driver is not hardware accelerated and may not be performant on heavily loaded systems. ### I2C Targeting 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: |