Pico Led Controller 1.0.3
A project to control LEDs using Raspberry Pi Pico W
ws2812b.h
Go to the documentation of this file.
1 #ifndef _WS2812B_H
2 #define _WS2812B_H
3 
4 #include <stdio.h>
5 #include <stdbool.h>
6 #include <stdint.h>
7 
13 static inline void put_pixel(uint32_t pixel_grb);
14 
21 void set_all_leds(uint32_t color, uint32_t len);
22 
28 void turn_off_all(uint32_t len);
29 
36 uint32_t get_red(uint8_t brightness);
37 
44 uint32_t get_green(uint8_t brightness);
45 
52 uint32_t get_blue(uint8_t brightness);
53 
60 uint32_t get_white(uint8_t brightness);
61 
68 uint32_t get_purple(uint8_t brightness);
69 
76 uint32_t get_yellow(uint8_t brightness);
77 
84 uint32_t get_cyan(uint8_t brightness);
85 
92 uint32_t get_orange(uint8_t brightness);
93 
100 uint32_t get_pink(uint8_t brightness);
101 
108 uint32_t get_turquoise(uint8_t brightness);
109 
116 uint32_t get_magenta(uint8_t brightness);
117 
124 void set_all_red(uint32_t len, uint8_t brightness);
125 
132 void set_all_green(uint32_t len, uint8_t brightness);
133 
140 void set_all_blue(uint32_t len, uint8_t brightness);
141 
148 void set_all_white(uint32_t len, uint8_t brightness);
149 
155 void set_rainbow_spectrum(uint32_t len);
156 
163 void set_all_purple(uint32_t len, uint8_t brightness);
164 
171 void set_all_yellow(uint32_t len, uint8_t brightness);
172 
179 void set_all_cyan(uint32_t len, uint8_t brightness);
180 
187 void set_all_orange(uint32_t len, uint8_t brightness);
188 
195 void set_all_pink(uint32_t len, uint8_t brightness);
196 
203 void set_all_turquoise(uint32_t len, uint8_t brightness);
204 
211 void set_all_magenta(uint32_t len, uint8_t brightness);
212 
222 void apply_rainbow_wheel_effect(uint32_t len, uint16_t* base_hue, uint8_t* speed_factor, uint8_t* density_factor, volatile uint8_t* brightness);
223 
232 void apply_rainbow_cycle_effect(uint32_t len, uint16_t* hue, uint8_t* speed_factor, volatile uint8_t* brightness);
233 
244 void apply_breathing_effect(uint32_t len, uint8_t* speed_factor, uint32_t* color, volatile uint8_t* base_brightness, uint8_t* brightness, bool* breathing_up);
245 
253 void apply_flashing_effect(uint32_t len, uint32_t* color);
254 
255 #endif
void apply_flashing_effect(uint32_t len, uint32_t *color)
Apply flashing effect.
Definition: ws2812b.c:214
uint32_t get_purple(uint8_t brightness)
Get purple color.
Definition: ws2812b.c:50
uint32_t get_yellow(uint8_t brightness)
Get yellow color.
Definition: ws2812b.c:55
void set_all_cyan(uint32_t len, uint8_t brightness)
Set all leds cyan.
Definition: ws2812b.c:121
void apply_breathing_effect(uint32_t len, uint8_t *speed_factor, uint32_t *color, volatile uint8_t *base_brightness, uint8_t *brightness, bool *breathing_up)
Apply breathing effect.
Definition: ws2812b.c:184
uint32_t get_red(uint8_t brightness)
Get red color.
Definition: ws2812b.c:30
void set_all_orange(uint32_t len, uint8_t brightness)
Set all leds orange.
Definition: ws2812b.c:127
void set_all_pink(uint32_t len, uint8_t brightness)
Set all leds pink.
Definition: ws2812b.c:133
void turn_off_all(uint32_t len)
Turn off all leds.
Definition: ws2812b.c:23
uint32_t get_white(uint8_t brightness)
Get white color.
Definition: ws2812b.c:45
void set_all_blue(uint32_t len, uint8_t brightness)
Set all leds to blue.
Definition: ws2812b.c:97
void set_all_turquoise(uint32_t len, uint8_t brightness)
Set all leds turquoise.
Definition: ws2812b.c:139
uint32_t get_green(uint8_t brightness)
Get green color.
Definition: ws2812b.c:35
void set_all_magenta(uint32_t len, uint8_t brightness)
Set all leds magenta.
Definition: ws2812b.c:145
void set_all_white(uint32_t len, uint8_t brightness)
Set all leds to white.
Definition: ws2812b.c:103
void set_all_yellow(uint32_t len, uint8_t brightness)
Set all leds yellow.
Definition: ws2812b.c:115
void apply_rainbow_wheel_effect(uint32_t len, uint16_t *base_hue, uint8_t *speed_factor, uint8_t *density_factor, volatile uint8_t *brightness)
Apply rainbow wheel effect.
Definition: ws2812b.c:160
uint32_t get_pink(uint8_t brightness)
Get pink color.
Definition: ws2812b.c:70
uint32_t get_blue(uint8_t brightness)
Get blue color.
Definition: ws2812b.c:40
uint32_t get_cyan(uint8_t brightness)
Get cyan color.
Definition: ws2812b.c:60
void set_all_green(uint32_t len, uint8_t brightness)
Set all leds to green.
Definition: ws2812b.c:91
uint32_t get_orange(uint8_t brightness)
Get orange color.
Definition: ws2812b.c:65
void set_all_red(uint32_t len, uint8_t brightness)
Set all leds to red.
Definition: ws2812b.c:85
uint32_t get_magenta(uint8_t brightness)
Get magenta color.
Definition: ws2812b.c:80
void set_rainbow_spectrum(uint32_t len)
Set all leds to rainbow spectrum.
Definition: ws2812b.c:151
uint32_t get_turquoise(uint8_t brightness)
Get turquoise color.
Definition: ws2812b.c:75
void set_all_leds(uint32_t color, uint32_t len)
Set all leds to the same color.
Definition: ws2812b.c:15
void apply_rainbow_cycle_effect(uint32_t len, uint16_t *hue, uint8_t *speed_factor, volatile uint8_t *brightness)
Apply rainbow cycle effect.
Definition: ws2812b.c:174
void set_all_purple(uint32_t len, uint8_t brightness)
Set all leds purple.
Definition: ws2812b.c:109
static void put_pixel(uint32_t pixel_grb)
Put pixel to the LED strip.