# Copyright (c) 2017 Linaro Limited # Copyright (c) 2019 Nordic Semiconductor ASA # # SPDX-License-Identifier: Apache-2.0 # The following blog post is an excellent resource about pulse timing: # # https://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/ menuconfig WS2812_STRIP bool "WS2812 (and compatible) LED strip driver" select LED_STRIP_RGB_SCRATCH help Enable LED strip driver for daisy chains of WS2812-ish (or WS2812B, WS2813, SK6812, Everlight B1414, or compatible) devices. choice WS2812_STRIP_DRIVER prompt "Driver backend" default WS2812_STRIP_SPI depends on WS2812_STRIP config WS2812_STRIP_SPI bool "SPI driver" depends on SPI help The SPI driver is portable, but requires significantly more memory (1 byte of overhead per bit of pixel data). config WS2812_STRIP_I2S bool "I2S driver" depends on I2S help Uses the I2S peripheral, memory usage is 4 bytes per color, times the number of pixels. A few more for the start and end delay. The reset delay has a coarse resolution of ~20us. config WS2812_STRIP_GPIO bool "GPIO driver" # Only an Cortex-M0 inline assembly implementation for the nRF51 # is supported currently. depends on SOC_SERIES_NRF51X help The GPIO driver does bit-banging with inline assembly, and is not available on all SoCs. Note that this driver is not compatible with the Everlight B1414 controller. endchoice