I've run into a wonky (but semi-explicable) behavior on RGBSets and I'm wondering if there's any way to avoid manual iteration.

Given a LED array 0-11, an array of pointers subset[0] and subset[1] to RGBSets are made of LED(5,0) and LED(6,11).

The 5,0 successfully makes it so that subset[0][0] is LED 5, while [0][1] is 4, [0][2] is 3, and so on.

When I try to access subset 0 via the iterator though, either as subset[0]->operator()(0,5) or (*subset[0])(0,5) it ends up addressing LEDs against the main array in positive sequential order instead of the order of the set. So, for example, (2,3) will address 7 and 8, rather than 3 and 2. Then things like fill_rainbow address the set, but in LED incremental order rather than set incremental order.

Is there any way I can correct pointers or references or such to get the built-in iterators to address it in the reverse order that it's stored in, or am I stuck losing the that benefit of RGBSets and having to make my own iterators anyway?
Shared publiclyView activity