OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
NeoPixel.h
1/********************************************************************
2* Open Source Cartridge Reader *
3********************************************************************/
4#pragma once
5#if !defined(OSCR_NEOPIXEL_H_)
6# define OSCR_NEOPIXEL_H_
7
8# include "syslibinc.h"
9# include "config.h"
10
11# if defined(ENABLE_NEOPIXEL)
12
13# include <Adafruit_NeoPixel.h>
14# include "common/Types.h"
15
16namespace OSCR
17{
18 namespace UI
19 {
26 namespace NeoPixel
27 {
28 enum class NeoPixelState : uint8_t
29 {
30 Off,
31 Dim,
32 Normal,
33 Notification,
34 Error,
35 Custom,
36 Mixed,
37 };
38
40
41 extern void config();
42
49 extern void setup();
50
54 extern void off();
55
59 extern void dim();
60
64 extern void on();
65
69 extern void setBackgroundColor(rgb_t rgb);
70
77 extern void resetBackgroundColor();
78
85 extern void setButtonColor(rgb_t rgb);
86
93 extern void setColors(rgb_t background, rgb_t button);
94
101 extern void resetButtonColor();
102
109 extern void useNotificationColor();
110
117 extern void useErrorColor(bool fatal = false);
118
125 extern void useNormalColor();
126
133 extern void resetColors();
134
141 extern void updateColors();
142
146 extern bool isOff();
147
151 extern bool isDim();
152
156 extern bool isNormal();
157
161 extern bool isNotification();
162
166 extern bool isError();
167
171 extern bool isCustom();
172
176 extern NeoPixelState getState();
177 }
178 }
179}
180
181# endif /* ENABLE_NEOPIXEL */
182
183#endif /* OSCR_NEOPIXEL_H_ */
NeoPixel-specific methods and variables.
Definition NeoPixel.h:27
void resetColors()
Definition NeoPixel.cpp:287
void updateColors()
Definition NeoPixel.cpp:318
bool isNotification()
Definition NeoPixel.cpp:369
bool isOff()
Definition NeoPixel.cpp:354
bool isDim()
Definition NeoPixel.cpp:359
void setButtonColor(rgb_t rgb)
Definition NeoPixel.cpp:261
NeoPixelState getState()
Definition NeoPixel.cpp:384
bool isError()
Definition NeoPixel.cpp:374
void dim()
Definition NeoPixel.cpp:183
bool isNormal()
Definition NeoPixel.cpp:364
void useNotificationColor()
Definition NeoPixel.cpp:294
void on()
Definition NeoPixel.cpp:218
void setColors(rgb_t background, rgb_t button)
Definition NeoPixel.cpp:280
Adafruit_NeoPixel pixels
void useNormalColor()
Definition NeoPixel.cpp:310
void resetBackgroundColor()
Definition NeoPixel.cpp:255
bool isCustom()
Definition NeoPixel.cpp:379
rgb_t off
Definition NeoPixel.cpp:21
void setBackgroundColor(rgb_t rgb)
Definition NeoPixel.cpp:249
void useErrorColor(bool fatal=false)
Definition NeoPixel.cpp:302
void setup()
Definition NeoPixel.cpp:134
void resetButtonColor()
Definition NeoPixel.cpp:267
User interface methods.
Definition Types.h:118
Main program.
Definition Storage.h:13
A structured RGB value.
Definition Types.h:158