A function to write several digital outputs at once (C++ level)

You could start by fixing it. Right now, your LEDS[] array contains values that are all interpreted as a HIGH by digitalWrite. So no "pattern" as you suggest, would be written to the pins. Just a solid HIGH for 1000ms * the number of elements in the array.

So obviously, in several months, you haven't even tested this code. That would be a good first step. :slight_smile: