1.. zephyr:code-sample:: is31fl3216a
2   :name: IS31FL3216A LED
3   :relevant-api: led_interface
4
5   Control up to 16 PWM LEDs connected to an IS31FL3216A driver chip.
6
7Overview
8********
9
10This sample controls up to 16 LEDs connected to a is31fl3216a driver.
11
12Each LED is gradually pulsed until it reach 100% of luminosity and gradually
13turned off again.
14
15Once each LED was pulsed, multiple LEDs are pulse simultaneously using the
16:c:func:`led_write_channels` API.
17
18Test pattern
19============
20
21For each LED:
22
23- Increase the luminosity until 100% is reached
24- Decrease the luminosity until completely turned off
25
26- Increase the luminosity of LEDs 2 to 4 until 100% is reached
27- Decrease the luminosity of LEDs 2 to 4 until completely turned off
28
29Building and Running
30********************
31
32This sample can be built and executed when the devicetree has an I2C device node
33with compatible :dtcompatible:`issi,is31fl3216a` enabled, along with the relevant
34bus controller node also being enabled.
35
36As an example this sample provides a DTS overlay for the :zephyr:board:`lpcxpresso55s28`
37board (:file:`boards/lpcxpresso55s28.overlay`). It assumes that a I2C
38_is31fl3216a LED driver (with 16 LEDs wired) is connected to the I2C bus at
39address 0x74.
40
41References
42**********
43
44- is31fl3216a: https://lumissil.com/assets/pdf/core/IS31FL3216A_DS.pdf
45