# Mega to Giga Communications

**URL:** <https://forum.arduino.cc/t/mega-to-giga-communications/1192791>\
**Category:** GIGA R1 WiFi\
**Created:** [November 23, 2023, 8:24pm UTC](https://forum.arduino.cc/t/mega-to-giga-communications/1192791 "2023-11-23T20:24:10Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![J-M-L](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/j-m-l/32/766245_2.png) [@J-M-L](https://forum.arduino.cc/u/J-M-L)\
**Post date:** [November 25, 2023, 6:41pm UTC](https://forum.arduino.cc/t/mega-to-giga-communications/1192791/14 "2023-11-25T18:41:30Z")

</div>

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

- [Using millis() for timing. A beginners guide](https://forum.arduino.cc/index.php?topic=503368.0)
- [Several things at the same time](https://forum.arduino.cc/index.php?topic=223286.0)
- [Flashing multiple LEDs at the same time](https://forum.arduino.cc/t/flashing-multiple-leds-at-the-same-time/1065564)

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](https://github.com/FastLED/FastLED/wiki/SPI-Hardware-or-Bit-banging)

---

_[View the full topic](https://forum.arduino.cc/t/mega-to-giga-communications/1192791)._
