@@ -15,21 +15,31 @@ Colour blue = {0, 0, 25};
15
15
Colour green = {0 , 25 , 0 };
16
16
Colour red = {25 , 0 , 0 };
17
17
Colour orange = {25 , 17 , 0 };
18
- #endif
18
+ Colour black = {0 , 0 , 0 };
19
+
20
+ Blinker::Blinker (int pin, rgb_led_color_order_t order)
21
+ : _pin(pin)
22
+ , _ledState(false )
23
+ , _interval(100 )
24
+ , _lastInterval(0 )
25
+ , _order(order)
26
+ , _colour(black) {
27
+ // empty
28
+ }
29
+
30
+ #else
19
31
20
32
Blinker::Blinker (int pin, uint8_t valOff)
21
33
: _pin(pin)
22
- , _valOff(valOff)
23
34
, _ledState(false )
24
35
, _interval(100 )
25
36
, _lastInterval(0 )
26
- #ifdef RGB_BUILTIN
27
- , _colour(blue)
28
- #endif
29
- {
37
+ , _valOff(valOff) {
30
38
// empty
31
39
}
32
40
41
+ #endif
42
+
33
43
#ifdef RGB_BUILTIN
34
44
void Blinker::on (Colour colour, uint32_t interval) {
35
45
#else
@@ -42,7 +52,7 @@ void Blinker::on(uint32_t interval) {
42
52
_lastInterval = millis () - _interval;
43
53
_ledState = true ;
44
54
#ifdef RGB_BUILTIN
45
- rgbLedWrite (_pin, _colour.red , _colour.green , _colour.blue );
55
+ rgbLedWriteOrdered (_pin, _order , _colour.red , _colour.green , _colour.blue );
46
56
#else
47
57
digitalWrite (_pin, ~_valOff);
48
58
#endif
@@ -65,7 +75,7 @@ void Blinker::loop() {
65
75
if (_ledState) {
66
76
rgbLedWrite (_pin, 0 , 0 , 0 );
67
77
} else {
68
- rgbLedWrite (_pin, _colour.red , _colour.green , _colour.blue );
78
+ rgbLedWriteOrdered (_pin, _order , _colour.red , _colour.green , _colour.blue );
69
79
}
70
80
#else
71
81
if (_ledState) {
0 commit comments