Fix led selection to be side independant
would only rotate the first side of the cube before!
This commit is contained in:
parent
7bc6cdea78
commit
19cee6a0d6
@ -357,15 +357,16 @@ void translate(LEDSelect src, LEDSelect dst, CRGB* leds){
|
|||||||
|
|
||||||
void rotate(byte side, bool direction, byte n, CRGB* leds)
|
void rotate(byte side, bool direction, byte n, CRGB* leds)
|
||||||
{
|
{
|
||||||
|
firstLED = decodeLED({side, 0, 0});
|
||||||
byte cyclus[8]; = {0, 3, 6, 7, 8, 5, 2, 1};
|
byte cyclus[8]; = {0, 3, 6, 7, 8, 5, 2, 1};
|
||||||
for (byte i = 0; i < n; i++)
|
for (byte i = 0; i < n; i++)
|
||||||
{
|
{
|
||||||
CRGB Saved = leds[cyclus[7 * direction]];
|
CRGB Saved = leds[cyclus[7 * direction] + firstLED];
|
||||||
for(byte j = 8; j > 0; j--) {
|
for(byte j = 8; j > 0; j--) {
|
||||||
leds[cyclus[j - (8 * !direction)]] =
|
leds[cyclus[j - (8 * !direction)] + firstLED] =
|
||||||
leds[cyclus[j - (8 * !direction) + (1 * -direction)]];
|
leds[cyclus[j - (8 * !direction) + (1 * -direction)] + firstLED];
|
||||||
}
|
}
|
||||||
leds[cyclus[7 - (4 * direction)]] = Saved;
|
leds[cyclus[7 - (4 * direction)] + firstLED] = Saved;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user