incubator-nuttx/drivers/leds/Kconfig

223 lines
5.8 KiB
Plaintext

#
# 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