# Translating WS2812-LED-Strip-IDs when cutting up a strip to multiple parallel ones

Lets say i have 1 meter of WS2812 Strip at 60 LEDs per meter. Now i cut the strip up in to 6 single strips but keep the wiring the same and lay them out in parallel. So it would look something like this

1 | 11 | 21 ...

2 | 12 | 22 ...

3 | 13 | 23 ...

...

10 | 20 | 30 ...

Is there any library that would allow me to easily translate this? If i for example want to work with rows, turn a certain row in a certain color, treat certain sub-strips as if they were an individual one, etc etc... I'm sure i can't be the first one who had this problem?

No, there is no library.

It's just simple maths.

If all your strips are the same, then you just multiply the strip number by the number of LEDs per strip, and add the number of the LED you want in that strip.

So, assuming 10 LEDs per strip:

``````lednumber = 10 * strip + led;
``````

You can make a little macro to do it for you if you like:

``````#define STRIP2LED(S, L) (((S) * 10) + (L))
``````

Then you can use such things as:

``````// Set all LEDs on strip 3 to red
for (uint8_t i = 0; i< 10; i++) {
leds[STRIP2LED(3, i)] = CRGB::Red;
}
``````