Mega to Giga Communications

One of your challenges is that cyclonR() is blocking whilst executing so you don’t check the buttons often for update,

You would need to rewrite the animation using non blocking code.

Each time you call the function, you look if it’s time to change some LEDs and you perform that step and go back to the loop

For extra information and examples look at

If you don’t do that you’ll have a tough time dealing with multiple strips at the same time.

It seems you have APA102 types of LEDs. If you don’t use the giga, use the fastled libray. It will use hardware SPI if it can. See SPI Hardware or Bit banging · FastLED/FastLED Wiki · GitHub