So this is what I have which is working though I'm not sure it is the most efficient way. Suggestions for improving it are welcome.
// ledStringGREEN[] contains a pattern which is the same length of the LED strip (72 bytes) (actually a short pattern and then trailing zeros)
// PASS RGB DATA TO LED STRING
for(int ledNo = 0; ledNo < numLEDs; ledNo++) {
ledString[ledNo].setRGB(0, ledStringGREEN[ledNo], 0);
}
// ROTATE PATTERN BY 1
int temp = ledStringGREEN[sequencePosition]; // Store first item in array
for(int i = numLEDs-1; i >= 0; i--) {
ledStringGREEN[i] = ledStringGREEN[i - 1]; // Rotate array
}
ledStringGREEN[numLEDs] = temp; // Put the first item at the end
FastLED.show(); // SENDS TO LEDS
delay(50);
sequencePosition = (sequencePosition + 1) % numLEDs; // increments sequence in loop
I'm thinking a better approach would be one where I could insert short patterns n number of times and move them around the strip independently.