Well I’ve looks in many places for info about my issue but found nothing like what I’m wanting to do. I’ve looked through documents and all the FastLED examples, including the “Multiple” ones and there’s some that are close, but not really.
I’m using Win7/64 + Arduino 1.6.5 + FastLED 3.1.0
I have multiple strings of APA102’s but lets just say 2, THIS string of 42 and THAT string of 77 LEDs. I have each on a separate set of pins. I’m starting on an Arduino Mega2560 but I’m also using a Teensy 3.2. On the Teensy I’m using THIS string on SPI1 @ pins 11&13 and THAT string on SPI2 @ pins 7&14. I’m using an external level shifter (74HCTxx part) to make 5v outputs to the APA102’s. It all works fine if I have a single long strip on a single SPI. I’ve driven a 300 LED (5m) strip with this setup & power with no problems. A behavior of the APA102’s is that they are static; they retain their last programmed state (color and intensity) if they are held dormant (no SCK). So in a compute intensive application why waste the time to update everything if that’s not needed. I just want to update selected strings.
I have code running (in single long strip mode) but I’d like to be able to “show” each strip whenever I like. If I do the “.addLeds” with separate pairs of pins, that’s fine but “.show” will rerun|output both strips at every call and I only want to update each when I choose. For example:
If( thisFlag ) { FastLED.show(THIS); }
If( thatFlag ) { FastLED.show(THAT); }
Where “THIS” or “THAT” could be the led arrays (address), like:
thisLEDarray[42] = {CRGB::Red, CRGB::Aqua… until 42 entries }
thatLEDarray[77] = {CRGB::Blue, CRGB::Teal… until 77entries }
Or, “THIS” or “THAT” could be the the data pins from the “.addLeds” statement, or anything to identify each string. Or there could be more parameters, like:
If( thisFlag ) { FastLED.show(thisLEDarray,11,13,42); }
providing the array address, pins and length.
So it seems that as of now (in 3.1.0) the “.addLeds” is telling the library about ALL of the LEDs and the “.show” subroutine (with no parameters) updates ALL of the LEDs on ALL pins or strips, whether you want them updated or not. I simply am looking for a way to do multiple strings independently on separate pins.
Any advice or ways to do this ? Thanks !