 //***************************************************************
-// Example of using memmove8 to transfer pixel data around.
+// Example of using memmove8 to copy/repeat pixel data down strip.
 //
-// A pattern we want to repeat is assigned to the first four pixels.
-// That color data is then repeated down the rest of the strip by
-// using memmove8 to copy it to the other pixels.
+// Random pattern lengths are picks and then then the first n pixels
+// are filled with color data.  The pattern is then copied/repeated
+// down the length of the strip using memmove8.  If the pattern
+// length doesn't divide into NUM_LEDS as a whole number then the
+// last few pixels are copied separately.
 //
 // The snytax for memmove8 is:
 // memmove8( &destination[start position], &source[start position], size of pixel data )

#define NUM_LEDS 32

CRGB leds[NUM_LEDS];


//---------------------------------------------------------------

// In code we can write that as:  pixels * sizeof(CRGB).
//
// *NOTE*:
//   When coping the pixel data you need to be careful about not
//   going past the end of the strip, otherwise bad things can
//   happen in memory.  If pixel data is copied to pixels that
//   don't exist (ie greater then leds[NUM_LEDS-1]) then the
//   controller can have weird memory issues/lockups/reboots.
//
// Marc Miller, April 2020
//***************************************************************
