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

This commit is contained in:
GHGiampy 2021-12-20 09:44:43 +01:00 committed by Scott Lahteine
parent 97798d1e47
commit 22cf9b444e
3 changed files with 14 additions and 6 deletions

View file

@ -35,7 +35,7 @@
#endif
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);
#if CONJOINED_NEOPIXEL
@ -116,7 +116,7 @@ void Marlin_NeoPixel::init() {
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);
void Marlin_NeoPixel2::set_color(const uint32_t color) {

View file

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

View file

@ -54,7 +54,7 @@
*/
void GcodeSuite::M150() {
#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)
int8_t brightness = neo.brightness(), unit = parser.intval('S', -1);
switch (unit) {