Pico Led Controller 1.0.3
A project to control LEDs using Raspberry Pi Pico W
Loading...
Searching...
No Matches
light_state.c
Go to the documentation of this file.
1#include "light_state.h"
2
3#include <stdint.h>
4
5#include "urgb.h"
6#include "ws2812b.h"
7
8volatile struct light_state_t light_state = {true, 128, 128, MODE_RAINBOW_WHEEL, COLOR_BLUE};
9
18
24
30
32{
35 return;
36 switch (mode)
37 {
39 printf("Setting rainbow wheel mode\n");
40 break;
42 printf("Setting rainbow cycle mode\n");
43 break;
44 case MODE_STATIC:
45 printf("Setting static mode\n");
47 break;
48 case MODE_BREATHING:
49 printf("Setting breathing mode\n");
50 break;
51 case MODE_FLASHING:
52 printf("Setting flashing mode\n");
53 break;
54 case MODE_LOADING:
55 printf("Setting loading mode\n");
56 break;
57 case MODE_WAVE:
58 printf("Setting wave mode\n");
59 break;
60 case MODE_FADE:
61 printf("Setting fade mode\n");
62 break;
63 default:
64 break;
65 }
66}
67
115
117{
118 switch (light_state.color)
119 {
120 case COLOR_RED:
122 case COLOR_GREEN:
124 case COLOR_BLUE:
126 case COLOR_WHITE:
128 case COLOR_PURPLE:
130 case COLOR_YELLOW:
132 case COLOR_CYAN:
134 case COLOR_ORANGE:
136 case COLOR_PINK:
138 case COLOR_TURQUOISE:
140 case COLOR_MAGENTA:
142 default:
143 return 0;
144 }
145}
uint32_t get_current_color()
Get current color.
void toggle_light_state()
Toggle light state.
Definition light_state.c:10
void set_light_mode(enum light_modes mode)
Set light mode.
Definition light_state.c:31
void toggle_light_mode()
Toggle light mode.
Definition light_state.c:19
void set_light_color(enum light_colors color)
Set light color.
Definition light_state.c:68
void toggle_light_color()
Toggle light color.
Definition light_state.c:25
volatile struct light_state_t light_state
Light state.
Definition light_state.c:8
#define NUM_PIXELS
Definition light_state.h:4
#define NUM_LIGHT_COLORS
Definition light_state.h:6
#define NUM_LIGHT_MODES
Definition light_state.h:5
light_modes
Light modes enum.
Definition light_state.h:18
@ MODE_RAINBOW_CYCLE
Definition light_state.h:20
@ MODE_FLASHING
Definition light_state.h:23
@ MODE_LOADING
Definition light_state.h:24
@ MODE_WAVE
Definition light_state.h:25
@ MODE_BREATHING
Definition light_state.h:22
@ MODE_STATIC
Definition light_state.h:21
@ MODE_RAINBOW_WHEEL
Definition light_state.h:19
@ MODE_FADE
Definition light_state.h:26
light_colors
Light colors enum.
Definition light_state.h:33
@ COLOR_ORANGE
Definition light_state.h:41
@ COLOR_BLUE
Definition light_state.h:36
@ COLOR_PINK
Definition light_state.h:43
@ COLOR_PURPLE
Definition light_state.h:40
@ COLOR_TURQUOISE
Definition light_state.h:42
@ COLOR_MAGENTA
Definition light_state.h:39
@ COLOR_RED
Definition light_state.h:34
@ COLOR_CYAN
Definition light_state.h:37
@ COLOR_YELLOW
Definition light_state.h:38
@ COLOR_GREEN
Definition light_state.h:35
@ COLOR_WHITE
Definition light_state.h:44
Light state struct.
Definition light_state.h:57
uint8_t brightness
Definition light_state.h:59
enum light_modes light_mode
Definition light_state.h:61
enum light_colors color
Definition light_state.h:62
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
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
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
uint32_t get_turquoise(uint8_t brightness)
Get turquoise color.
Definition ws2812b.c:75
void set_all_purple(uint32_t len, uint8_t brightness)
Set all leds purple.
Definition ws2812b.c:109