# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # menu "LED Support" config USERLED bool "LED driver" default n ---help--- Enable standard user LED upper half driver. if USERLED config USERLED_LOWER bool "Generic Lower Half LED Driver" default n depends on ARCH_HAVE_LEDS ---help--- If the board supports the standard LED interfaces as defined in include/nuttx/board.h header file, then this standard LED lower half driver might be usable. In order for this generic driver to be usable: 1. The board implementation must provide the LED interfaces as defined in include/nuttx/board.h If your board does not meet these requirements, then the userled_lower.c file can still be copied to your your board src/ directory and modified for your specific board requirements. config USERLED_LOWER_READSTATE bool "LED Driver Read Actual Pin State" default n depends on USERLED_LOWER ---help--- Extends the standard LED interface as defined in the include/nuttx/board.h header file with a function that checks the actual state of the pin controlling the LED, which can be used to find malfunctioning LEDs. config USERLED_EFFECTS bool "LED driver supports LED effects" default n ---help--- Enable support for LED effects (PWM, blinking, breathing). endif # USERLED config LEDS_APA102 bool "APA102 LED Strip" default n select SPI ---help--- Enable support for the APA102 LED Strip driver. config LEDS_MAX7219 bool "MAX7219 Numeric Display" default n select SPI ---help--- Enable support for the MAX7219 to control 7-segment displays. config RGBLED bool "RGB LED Driver Support" default n ---help--- This selection enables building of the "upper-half" RGB LED driver. See include/nuttx/rgbled.h for further PWM driver information. config RGBLED_PWM_FREQ int "PWM Frequency (Hz)" depends on RGBLED default 100 ---help--- This controls the frequency of the PWM channel powering each led. config RGBLED_INVERT bool "Invert RGB LED Output" depends on RGBLED default n ---help--- If the board has a common anode RGB LED (a LOW output turns ON each LED), this selection inverts the outputs so that the colors are displayed correctly. config RGBLED_LIGHTNESS_CORRECTION bool "Apply Lightness Correction" depends on RGBLED default n ---help--- This selection enables an approximate CIE 1931 lightness correction which helps the RGB LED visually fade and blend in a more linear, smooth, and visually appealing fashion. config LP503X bool "LP503X I2C LED Driver" default n select I2C ---help--- Enable support for the TI LP503X LED driver which can be utilized to drive up to 36 (12 RGB) LEDs. if LP503X config LP503X_LOG_MODE bool "Enable logarithmic mode (y) or linear mode (n)" default y ---help--- Determines whether brightness scale is logarithmic or linear config LP503X_POWER_SAVE bool "Enable power save mode" default y ---help--- Enable/disable automatic power saving mode config LP503X_DITHER_MODE bool "Enable PWM dithering" default y ---help--- Enable/disable PWM dithering mode config LP503X_MAX_CURRENT bool "Enable Max current option (25.5mA (n), or 35mA (y))" default n ---help--- Sets maximum output current to 25.5mA (default) or 35mA config LP503X_GLOBAL_SHUTDOWN bool "Enable global LED shutdown" default n ---help--- When enabled (y), all LEDs will be turned off/disabled until re-enabled config DEBUG_LP503X bool "Enable debug support for the LP503X" default n ---help--- Enables debug support for the LP503X endif # LP503X config PCA9635PW bool "PCA9635PW I2C LED Driver" default n select I2C ---help--- Enable support for the NXP PCA9635PW LED driver which can be utilized to drive up to 16 LED's. config NCP5623C bool "NCP5623C I2C LED Driver" default n select I2C ---help--- Enable support for the onsemi NCP5623C LED driver which can be utilized to drive up to 3 LED's. config WS2812 bool "WS2812 LED Driver" default n select SPI ---help--- Enable support for the Worldsemi WS2812 LED driver which commonly found in LED strips. NOTE: Depending on the board selected, this device may require exclusive use of an SPI bus as ws2812 LEDs have no CS or RESET line. # NOTE: Once the older SPI driver is migrated to the new model # we should remove the "select SPI" in the above config. config WS2812_NON_SPI_DRIVER bool "Support the new non-SPI WS2812 driver." default n depends on WS2812 ---help--- The original driver used SPI hardware to clock bits to the pixels. The driver is being re-designed to support other implementations. Selecting this option builds the new model driver. config WS2812_LED_COUNT int "Number of ws2812s connected." default 1 range 1 65535 depends on WS2812 ---help--- The number of ws2812s chained to this port. Although the driver allows up to 65,535 ws2812s the practical limit will depend on processor speed and other resources. config WS2812_HAS_WHITE bool "ws2812s have white LED." default n depends on WS2812 ---help--- Some ws2812 work-alike chips have a white LED in addition to the standard red, green, and blue LEDs. This option enables support for such chips. Note that the driver does not support chains with a mix of RGB and RGBW pixels. config WS2812_FREQUENCY int "WS2812 Bit Frequency (Hz)" default 800000 depends on WS2812 ---help--- Frequency in Hz. On SPI mode (WS2812_NON_SPI_DRIVER not selected), this is the SPI frequency (commonly a few MHz) to generate the required waveforms to represent a 0/1 symbol. On non SPI mode (WS2812_NON_SPI_DRIVER selected), this should be set to the bit frequency of the ws2812s being used. Newer chips use an 800 kHz bit frequency (the default); although, some older chips run at 400 kHz. endmenu # LED Support