| .. zephyr:code-sample:: is31fl3216a |
| :name: IS31FL3216A LED |
| :relevant-api: led_interface |
| |
| Control up to 16 PWM LEDs connected to an IS31FL3216A driver chip. |
| |
| Overview |
| ******** |
| |
| This sample controls up to 16 LEDs connected to a is31fl3216a driver. |
| |
| Each LED is gradually pulsed until it reach 100% of luminosity and gradually |
| turned off again. |
| |
| Once each LED was pulsed, multiple LEDs are pulse simultaneously using the |
| :c:func:`led_write_channels` API. |
| |
| Test pattern |
| ============ |
| |
| For each LED: |
| |
| - Increase the luminosity until 100% is reached |
| - Decrease the luminosity until completely turned off |
| |
| - Increase the luminosity of LEDs 2 to 4 until 100% is reached |
| - Decrease the luminosity of LEDs 2 to 4 until completely turned off |
| |
| Building and Running |
| ******************** |
| |
| This sample can be built and executed when the devicetree has an I2C device node |
| with compatible :dtcompatible:`issi,is31fl3216a` enabled, along with the relevant |
| bus controller node also being enabled. |
| |
| As an example this sample provides a DTS overlay for the :ref:`lpcxpresso55s28` |
| board (:file:`boards/lpcxpresso55s28.overlay`). It assumes that a I2C |
| _is31fl3216a LED driver (with 16 LEDs wired) is connected to the I2C bus at |
| address 0x74. |
| |
| References |
| ********** |
| |
| - is31fl3216a: https://lumissil.com/assets/pdf/core/IS31FL3216A_DS.pdf |