Address order NeoPixel Accents

Hello everybody,

I could use some help with my NeoPixel accents on my mb-sabers proffie project.
I have set up 6 accents around the OLED display and wired them as 1 blade.

Now I’m trying to get them blinking in a custom sequence but I can’t seem to figure out how to address specific LEDs at a time.

The pattern I’m going for would be
Loop:
1, 4 → ON, rest off → (maybe fade)
2, 5 → ON, rest off → (maybe fade)
3, 6 → ON, rest off → (maybe fade)

Unfortunetely the LEDs are not wired in a way I could just use the “center wipe” or “center wipe in” style. I’ve read through a bunch of posts here but none really fit my problem. Or I did not find the right one. I already fiddled a bit with Sequence<> but this is probably now what I’m looking for.

Any pointers would be appreciated.

Cheers

Why not define two subblades and use an accent style that “crawls”?

As Baldusi said, sub-blades are your answer. There’s no need to rewire anything, and in theory you could define each individual pixel as a blade, then simply write alternating blink/fade styles or whatever you want for each pixel.

Sub blades are explained here:

:slight_smile:

There is a plethora of options for this…

  1. You can use stripes to do this without any subblades. You just have to get the width of the stripes right.
  2. You can use Gradient<C1, C2, C3, C4. C5. C6> to specify exactly one style per pixel, which lets you do pretty much anything.
  3. As others have suggested, you can use two subblades (123 and 456), then assign the same style to them so that they are in sync . You can use ColorCycle to make a style that moves around. This is probably the easiest option.
  4. You could use subbladewithstride to make three subblades (14, 25 and 36) then assign styles to these that light up the pixels in order. This can be done with Blink, Stripes, Sequence or other types of styles.

You could do it on one blade divided up into 6 LinearSections

StylePtr<Layers<Black,TransitionLoopL<TrConcat<TrInstant,
AlphaL<HumpFlicker<White,Black,200>,LinearSectionF<Int<2731>,Int<5461>>>,TrFade<100>,
AlphaL<HumpFlicker<White,Black,200>,LinearSectionF<Int<8193>,Int<5461>>>,TrFade<100>,
AlphaL<HumpFlicker<White,Black,200>,LinearSectionF<Int<13655>,Int<5461>>>,TrFade<100>,
AlphaL<HumpFlicker<White,Black,200>,LinearSectionF<Int<19117>,Int<5461>>>,TrFade<100>,
AlphaL<HumpFlicker<White,Black,200>,LinearSectionF<Int<24579>,Int<5461>>>,TrFade<100>,
AlphaL<HumpFlicker<White,Black,200>,LinearSectionF<Int<30041>,Int<5461>>>,TrFade<100>>>>>()

Thank you so much for the helpfull replys. I went the direction: two sub-blades with ColorCycle. Works perfekt so far, but I will try out the other suggestions as well.

However, form your replys I infer that direct addessing NeoPixels like arrays in c/c++ is not possible.

It is possible, but it’s not how the style code is written.
You can see how the style code works by reading code in the styles directory in ProffieOS. For the most part it’s fairly simple.