I’m having a complete brain fart.
This year i built some large “snowflakes” for the front of the house.
I used strings of 12mm LEDs, and +Mark Kriegsman twinkle fox (2015) and they have looked great.
But i started thinking about animating the snowflakes by illuminating specific LEDs in sequence.
I’ve attached a diagram to make it a bit easier to illustrate.
If i illuminate each of the segments 1-5 in order, blacking out the previous segment, the effect for the viewer will be one of rotational movement.
I know which LEDs are in a segment, so i began by putting the LEDs into arrays.
uint8_t gSegment1[] = {1,2,3,4,5,6,7,8,9};
etc
then, i thought about putting each of those segments into a large array, then i can loop over that (and loop over the inner array that contains the LEDs to be lit):
uinut8_t gSements = [] { &gSegment1, &gSegment2, &gSegment3, &gSegment4, &gSegment5 etc etc
Herein lies the rub.
I get a GCC errors:
error: cannot convert ‘uint8_t ()[8] {aka unsigned char ()[8]}’ to ‘uint8_t {aka unsigned char*}’ in initialization
So i’m scratching my head, given its been 20+ years since i did anything useful with C on a daily basis, and my google foo hasn’t turned up anything, but i know i’m doing something stupid here (with regards pointers and references), but not sure what.
All help and or criticism gratefully accepted.

