🧑‍💻 Option allowing > 127 Neopixels (#23322)

x301
GHGiampy 3 years ago committed by Scott Lahteine
parent 97798d1e47
commit 22cf9b444e

@ -35,7 +35,7 @@
#endif #endif
Marlin_NeoPixel neo; Marlin_NeoPixel neo;
int8_t Marlin_NeoPixel::neoindex; pixel_index_t Marlin_NeoPixel::neoindex;
Adafruit_NeoPixel Marlin_NeoPixel::adaneo1(NEOPIXEL_PIXELS, NEOPIXEL_PIN, NEOPIXEL_TYPE + NEO_KHZ800); Adafruit_NeoPixel Marlin_NeoPixel::adaneo1(NEOPIXEL_PIXELS, NEOPIXEL_PIN, NEOPIXEL_TYPE + NEO_KHZ800);
#if CONJOINED_NEOPIXEL #if CONJOINED_NEOPIXEL
@ -116,7 +116,7 @@ void Marlin_NeoPixel::init() {
Marlin_NeoPixel2 neo2; Marlin_NeoPixel2 neo2;
int8_t Marlin_NeoPixel2::neoindex; pixel_index_t Marlin_NeoPixel2::neoindex;
Adafruit_NeoPixel Marlin_NeoPixel2::adaneo(NEOPIXEL2_PIXELS, NEOPIXEL2_PIN, NEOPIXEL2_TYPE); Adafruit_NeoPixel Marlin_NeoPixel2::adaneo(NEOPIXEL2_PIXELS, NEOPIXEL2_PIN, NEOPIXEL2_TYPE);
void Marlin_NeoPixel2::set_color(const uint32_t color) { void Marlin_NeoPixel2::set_color(const uint32_t color) {

@ -25,6 +25,8 @@
* NeoPixel support * NeoPixel support
*/ */
#define MAX_NEOPIXELS 127
#ifndef _NEOPIXEL_INCLUDE_ #ifndef _NEOPIXEL_INCLUDE_
#error "Always include 'leds.h' and not 'neopixel.h' directly." #error "Always include 'leds.h' and not 'neopixel.h' directly."
#endif #endif
@ -63,7 +65,13 @@
#endif #endif
// ------------------------ // ------------------------
// Function prototypes // Types
// ------------------------
typedef IF<(MAX_NEOPIXELS > 127), int16_t, int8_t>::type pixel_index_t;
// ------------------------
// Classes
// ------------------------ // ------------------------
class Marlin_NeoPixel { class Marlin_NeoPixel {
@ -74,7 +82,7 @@ private:
#endif #endif
public: public:
static int8_t neoindex; static pixel_index_t neoindex;
static void init(); static void init();
static void set_color_startup(const uint32_t c); static void set_color_startup(const uint32_t c);
@ -150,7 +158,7 @@ extern Marlin_NeoPixel neo;
static Adafruit_NeoPixel adaneo; static Adafruit_NeoPixel adaneo;
public: public:
static int8_t neoindex; static pixel_index_t neoindex;
static void init(); static void init();
static void set_color_startup(const uint32_t c); static void set_color_startup(const uint32_t c);

@ -54,7 +54,7 @@
*/ */
void GcodeSuite::M150() { void GcodeSuite::M150() {
#if ENABLED(NEOPIXEL_LED) #if ENABLED(NEOPIXEL_LED)
const int8_t index = parser.intval('I', -1); const pixel_index_t index = parser.intval('I', -1);
#if ENABLED(NEOPIXEL2_SEPARATE) #if ENABLED(NEOPIXEL2_SEPARATE)
int8_t brightness = neo.brightness(), unit = parser.intval('S', -1); int8_t brightness = neo.brightness(), unit = parser.intval('S', -1);
switch (unit) { switch (unit) {

Loading…
Cancel
Save