|
@@ -61,7 +61,7 @@
|
61
|
61
|
class Marlin_NeoPixel {
|
62
|
62
|
private:
|
63
|
63
|
static Adafruit_NeoPixel adaneo1
|
64
|
|
- #if MULTIPLE_NEOPIXEL_TYPES
|
|
64
|
+ #if EITHER(MULTIPLE_NEOPIXEL_TYPES, NEOPIXEL2_INSERIES)
|
65
|
65
|
, adaneo2
|
66
|
66
|
#endif
|
67
|
67
|
;
|
|
@@ -82,23 +82,36 @@ public:
|
82
|
82
|
|
83
|
83
|
static inline void begin() {
|
84
|
84
|
adaneo1.begin();
|
85
|
|
- TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.begin());
|
|
85
|
+ #if ENABLED(NEOPIXEL2_INSERIES)
|
|
86
|
+ adaneo2.begin();
|
|
87
|
+ #else
|
|
88
|
+ TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.begin());
|
|
89
|
+ #endif
|
86
|
90
|
}
|
87
|
91
|
|
88
|
92
|
static inline void set_pixel_color(const uint16_t n, const uint32_t c) {
|
89
|
|
- adaneo1.setPixelColor(n, c);
|
90
|
|
- TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.setPixelColor(n, c));
|
|
93
|
+ #if ENABLED(NEOPIXEL2_INSERIES)
|
|
94
|
+ if (n >= NEOPIXEL_PIXELS) adaneo2.setPixelColor(n - (NEOPIXEL_PIXELS), c);
|
|
95
|
+ else adaneo1.setPixelColor(n, c);
|
|
96
|
+ #else
|
|
97
|
+ adaneo1.setPixelColor(n, c);
|
|
98
|
+ TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.setPixelColor(n, c));
|
|
99
|
+ #endif
|
91
|
100
|
}
|
92
|
101
|
|
93
|
102
|
static inline void set_brightness(const uint8_t b) {
|
94
|
103
|
adaneo1.setBrightness(b);
|
95
|
|
- TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.setBrightness(b));
|
|
104
|
+ #if ENABLED(NEOPIXEL2_INSERIES)
|
|
105
|
+ adaneo2.setBrightness(b);
|
|
106
|
+ #else
|
|
107
|
+ TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.setBrightness(b));
|
|
108
|
+ #endif
|
96
|
109
|
}
|
97
|
110
|
|
98
|
111
|
static inline void show() {
|
99
|
112
|
adaneo1.show();
|
100
|
113
|
#if PIN_EXISTS(NEOPIXEL2)
|
101
|
|
- #if MULTIPLE_NEOPIXEL_TYPES
|
|
114
|
+ #if EITHER(MULTIPLE_NEOPIXEL_TYPES, NEOPIXEL2_INSERIES)
|
102
|
115
|
adaneo2.show();
|
103
|
116
|
#else
|
104
|
117
|
adaneo1.setPin(NEOPIXEL2_PIN);
|
|
@@ -113,7 +126,7 @@ public:
|
113
|
126
|
#endif
|
114
|
127
|
|
115
|
128
|
// Accessors
|
116
|
|
- static inline uint16_t pixels() { return adaneo1.numPixels(); }
|
|
129
|
+ static inline uint16_t pixels() { TERN(NEOPIXEL2_INSERIES, return adaneo1.numPixels() * 2, return adaneo1.numPixels()); }
|
117
|
130
|
static inline uint8_t brightness() { return adaneo1.getBrightness(); }
|
118
|
131
|
static inline uint32_t Color(uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
|
119
|
132
|
return adaneo1.Color(r, g, b, w);
|