Zephyr Project API 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
led_strip.h File Reference

Public API for controlling linear strips of LEDs. More...

#include <errno.h>
#include <zephyr/types.h>
#include <zephyr/device.h>

Go to the source code of this file.

Data Structures

struct  led_rgb
 Color value for a single RGB LED. More...
 
struct  led_strip_driver_api
 LED strip driver API. More...
 

Typedefs

typedef int(* led_api_update_rgb) (const struct device *dev, struct led_rgb *pixels, size_t num_pixels)
 Callback API for updating an RGB LED strip.
 
typedef int(* led_api_update_channels) (const struct device *dev, uint8_t *channels, size_t num_channels)
 Callback API for updating channels without an RGB interpretation.
 
typedef size_t(* led_api_length) (const struct device *dev)
 Callback API for getting length of an LED strip.
 

Functions

static int led_strip_update_rgb (const struct device *dev, struct led_rgb *pixels, size_t num_pixels)
 Mandatory function to update an LED strip with the given RGB array.
 
static int led_strip_update_channels (const struct device *dev, uint8_t *channels, size_t num_channels)
 Optional function to update an LED strip with the given channel array (each channel byte corresponding to an individually addressable color channel or LED.
 
static size_t led_strip_length (const struct device *dev)
 Mandatory function to get chain length (in pixels) of an LED strip device.
 

Detailed Description

Public API for controlling linear strips of LEDs.

This library abstracts the chipset drivers for individually addressable strips of LEDs.