1 #ifndef _TWR_LED_STRIP_H
2 #define _TWR_LED_STRIP_H
4 #include <twr_scheduler.h>
8 TWR_LED_STRIP_TYPE_RGBW = 4,
9 TWR_LED_STRIP_TYPE_RGB = 3
11 } twr_led_strip_type_t;
15 twr_led_strip_type_t type;
24 void (*set_pixel)(
int position, uint32_t color);
25 void (*set_pixel_rgbw)(
int position, uint8_t r, uint8_t g, uint8_t b, uint8_t w);
27 bool (*is_ready)(void);
33 TWR_LED_STRIP_EVENT_EFFECT_DONE = 0,
35 } twr_led_strip_event_t;
54 void (*_event_handler)(
twr_led_strip_t *, twr_led_strip_event_t,
void *);
61 void twr_led_strip_set_event_handler(
twr_led_strip_t *
self,
void (*event_handler)(
twr_led_strip_t *, twr_led_strip_event_t,
void *),
void *event_param);
65 twr_led_strip_type_t twr_led_strip_get_strip_type(
twr_led_strip_t *
self);
67 void twr_led_strip_set_pixel(
twr_led_strip_t *
self,
int position, uint32_t color);
69 void twr_led_strip_set_pixel_rgbw(
twr_led_strip_t *
self,
int position, uint8_t r, uint8_t g, uint8_t b, uint8_t w);
71 bool twr_led_strip_set_rgbw_framebuffer(
twr_led_strip_t *
self, uint8_t *framebuffer,
size_t length);
79 void twr_led_strip_set_brightness(
twr_led_strip_t *
self, uint8_t brightness);
104 void twr_led_strip_thermometer(
twr_led_strip_t *
self,
float temperature,
float min,
float max, uint8_t white_dots,
float set_point, uint32_t color);
size_t twr_scheduler_task_id_t
Task ID assigned by scheduler.
uint64_t twr_tick_t
Timestamp data type.