The latest development version of this page may be more current than this released 4.0.0 version.

LP50XX RGB LED

Browse source code on GitHub

Overview

This sample controls up to 12 LEDs connected to a LP50xx driver.

First, for each LED information is retrieved using the led_get_info syscall and printed in the log messages. Next, from an infinite loop, a test pattern (described below) is applied to all the LEDs simultaneously (using the led_write_channels() syscall) and then to each LED one by one (using the led_set_brightness() and led_set_color() syscalls).

Test pattern

For all the LEDs first (using channel API) and then for each LED one by one:

For each color in red green blue white yellow purple cyan orange:

  • set the color

  • turn on

  • turn off

  • set the brightness gradually to the maximum level

  • turn off

Building and Running

This sample can be built and executed on boards with an I2C LP5009, LP5012, LP5018, LP5024, LP5030 or LP5036 LED driver connected. A node matching the the device type binding should be defined in the board DTS files.

As an example this sample provides a DTS overlay for the LPCXpresso11U68 board (boards/lpcxpresso11u68.overlay). It assumes that a I2C LP5030 LED driver (with 10 LEDs wired) is connected to the I2C0 bus at address 0x30.

References

See also

LED Interface