Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 273 → Rev 274

/PIC Stuff/Cerebot_32MX7_LED_Cube/ANIMATIONS.c
233,22 → 233,16
 
void Animation_Cube_In_Cube(uint16_t delay_ms) {
uint8_t x;
for (x = 0; x < 5; x++) {
for (x = 0; x < 6; x++) {
Cube_Clear();
if (x == 0)
Cube_Set_Shell(0, RED);
else if (x == 1)
else if (x == 1 || x == 5)
Cube_Set_Shell(1, YELLOW);
else if (x == 2)
else if (x == 2 || x == 4)
Cube_Set_Shell(2, GREEN);
else if (x == 3)
Cube_Set_Shell(3, BLUE);
else {
Cube_Set_Shell(0, RED);
Cube_Set_Shell(1, YELLOW);
Cube_Set_Shell(2, GREEN);
Cube_Set_Shell(3, BLUE);
}
Delay_MS(delay_ms);
}
}
257,48 → 251,72
uint8_t x,i,j,k;
for (x = 0; x < 7; x++) {
Cube_Clear();
for (i = 0; i < CUBE_LAYER_COUNT; i++) {
if ((x == 0 || x == 6)&&(i == 0 || i == 7)) {
Cube_Set_Layer(i,r,g,b);
} else if ((x == 1 || x == 5)&&(i == 1 || i == 6)) {
for (j = 1; j < CUBE_ROW_COUNT-1; j++)
for (k = 1; k < CUBE_COLUMN_COUNT-1; k++)
Cube_Set_Pixel(i,j,k,r,g,b);
} else if ((x == 2 || x == 4)&&(i == 2 || i == 5)) {
for (j = 2; j < CUBE_ROW_COUNT-2; j++)
for (k = 2; k < CUBE_COLUMN_COUNT-2; k++)
Cube_Set_Pixel(i,j,k,r,g,b);
} else if ((x == 3)&&(i == 3 || i == 4)) {
for (j = 3; j < CUBE_ROW_COUNT-3; j++)
for (k = 3; k < CUBE_COLUMN_COUNT-3; k++)
Cube_Set_Pixel(i,j,k,r,g,b);
}
switch (x % 7) {
case 0:
Cube_Set_Shell(3, r, g, b);
break;
case 1:
Cube_Set_Shell(2, r, g, b);
break;
case 2:
Cube_Set_Shell(1, r, g, b);
break;
case 3:
Cube_Set_Shell(0, r, g, b);
break;
case 4:
Cube_Set_Shell(1, r, g, b);
break;
case 5:
Cube_Set_Shell(2, r, g, b);
break;
case 6:
Cube_Set_Shell(3, r, g, b);
break;
}
 
if ((x == 0 || x == 6)&&(i > 0 && i < 8)) {
for (j = 0; j < 8; j++) {
Cube_Set_Pixel(i,j,0,r,g,b);
Cube_Set_Pixel(i,j,7,r,g,b);
Cube_Set_Pixel(i,0,j,r,g,b);
Cube_Set_Pixel(i,7,j,r,g,b);
}
}
if ((x == 1 || x == 5)&&(i > 1 && i < 7)) {
for (j = 1; j < 7; j++) {
Cube_Set_Pixel(i,j,1,r,g,b);
Cube_Set_Pixel(i,j,6,r,g,b);
Cube_Set_Pixel(i,1,j,r,g,b);
Cube_Set_Pixel(i,6,j,r,g,b);
}
}
if ((x == 2 || x == 4)&&(i > 2 && i < 6)) {
for (j = 2; j < 6; j++) {
Cube_Set_Pixel(i,j,2,r,g,b);
Cube_Set_Pixel(i,j,5,r,g,b);
Cube_Set_Pixel(i,2,j,r,g,b);
Cube_Set_Pixel(i,5,j,r,g,b);
}
}
}
// for (i = 0; i < CUBE_LAYER_COUNT; i++) {
// if ((x == 0 || x == 6)&&(i == 0 || i == 7)) {
// Cube_Set_Layer(i,r,g,b);
// } else if ((x == 1 || x == 5)&&(i == 1 || i == 6)) {
// for (j = 1; j < CUBE_ROW_COUNT-1; j++)
// for (k = 1; k < CUBE_COLUMN_COUNT-1; k++)
// Cube_Set_Pixel(i,j,k,r,g,b);
// } else if ((x == 2 || x == 4)&&(i == 2 || i == 5)) {
// for (j = 2; j < CUBE_ROW_COUNT-2; j++)
// for (k = 2; k < CUBE_COLUMN_COUNT-2; k++)
// Cube_Set_Pixel(i,j,k,r,g,b);
// } else if ((x == 3)&&(i == 3 || i == 4)) {
// for (j = 3; j < CUBE_ROW_COUNT-3; j++)
// for (k = 3; k < CUBE_COLUMN_COUNT-3; k++)
// Cube_Set_Pixel(i,j,k,r,g,b);
// }
//
// if ((x == 0 || x == 6)&&(i > 0 && i < 8)) {
// for (j = 0; j < 8; j++) {
// Cube_Set_Pixel(i,j,0,r,g,b);
// Cube_Set_Pixel(i,j,7,r,g,b);
// Cube_Set_Pixel(i,0,j,r,g,b);
// Cube_Set_Pixel(i,7,j,r,g,b);
// }
// }
// if ((x == 1 || x == 5)&&(i > 1 && i < 7)) {
// for (j = 1; j < 7; j++) {
// Cube_Set_Pixel(i,j,1,r,g,b);
// Cube_Set_Pixel(i,j,6,r,g,b);
// Cube_Set_Pixel(i,1,j,r,g,b);
// Cube_Set_Pixel(i,6,j,r,g,b);
// }
// }
// if ((x == 2 || x == 4)&&(i > 2 && i < 6)) {
// for (j = 2; j < 6; j++) {
// Cube_Set_Pixel(i,j,2,r,g,b);
// Cube_Set_Pixel(i,j,5,r,g,b);
// Cube_Set_Pixel(i,2,j,r,g,b);
// Cube_Set_Pixel(i,5,j,r,g,b);
// }
// }
// }
Delay_MS(delay_ms);
}
}
306,60 → 324,90
void Animation_Double_Rotation(uint16_t delay_ms) {
Cube_Clear();
uint8_t x,y,z;
for (z = 0; z < 3; z++) {
switch (z % 3) {
case 0:
for (y = 0; y < CUBE_LAYER_COUNT; y++) {
Cube_Set_Pixel(y,0,0,RED);
Cube_Set_Pixel(y,1,1,RED);
Cube_Set_Pixel(y,2,2,RED);
Cube_Set_Pixel(y,3,3,RED);
Cube_Set_Pixel(y,4,4,RED);
Cube_Set_Pixel(y,5,5,RED);
Cube_Set_Pixel(y,6,6,RED);
Cube_Set_Pixel(y,7,7,RED);
}
break;
case 1:
for (y = 0; y < CUBE_LAYER_COUNT; y++) {
Cube_Set_Pixel(y,0,0,GREEN);
Cube_Set_Pixel(y,1,1,GREEN);
Cube_Set_Pixel(y,2,2,GREEN);
Cube_Set_Pixel(y,3,3,GREEN);
Cube_Set_Pixel(y,4,4,GREEN);
Cube_Set_Pixel(y,5,5,GREEN);
Cube_Set_Pixel(y,6,6,GREEN);
Cube_Set_Pixel(y,7,7,GREEN);
}
break;
case 2:
for (y = 0; y < CUBE_LAYER_COUNT; y++) {
Cube_Set_Pixel(y,0,0,BLUE);
Cube_Set_Pixel(y,1,1,BLUE);
Cube_Set_Pixel(y,2,2,BLUE);
Cube_Set_Pixel(y,3,3,BLUE);
Cube_Set_Pixel(y,4,4,BLUE);
Cube_Set_Pixel(y,5,5,BLUE);
Cube_Set_Pixel(y,6,6,BLUE);
Cube_Set_Pixel(y,7,7,BLUE);
}
break;
}
 
for (x = 0; x < 28; x++) {
Delay_MS(delay_ms);
Cube_Rotate(0);
}
for (y = 0; y < CUBE_LAYER_COUNT; y++) {
Cube_Set_Pixel(y,0,0,RED);
Cube_Set_Pixel(y,1,1,ORANGE);
Cube_Set_Pixel(y,2,2,YELLOW);
Cube_Set_Pixel(y,3,3,GREEN);
Cube_Set_Pixel(y,4,4,TEAL);
Cube_Set_Pixel(y,5,5,BLUE);
Cube_Set_Pixel(y,6,6,PURPLE);
Cube_Set_Pixel(y,7,7,WHITE);
}
for (x = 0; x < 28; x++) {
Delay_MS(delay_ms);
Cube_Rotate(0);
}
}
 
// for (z = 0; z < 3; z++) {
// switch (z % 3) {
// case 0:
// for (y = 0; y < CUBE_LAYER_COUNT; y++) {
// Cube_Set_Pixel(y,0,0,RED);
// Cube_Set_Pixel(y,1,1,RED);
// Cube_Set_Pixel(y,2,2,RED);
// Cube_Set_Pixel(y,3,3,RED);
// Cube_Set_Pixel(y,4,4,RED);
// Cube_Set_Pixel(y,5,5,RED);
// Cube_Set_Pixel(y,6,6,RED);
// Cube_Set_Pixel(y,7,7,RED);
// }
// break;
// case 1:
// for (y = 0; y < CUBE_LAYER_COUNT; y++) {
// Cube_Set_Pixel(y,0,0,GREEN);
// Cube_Set_Pixel(y,1,1,GREEN);
// Cube_Set_Pixel(y,2,2,GREEN);
// Cube_Set_Pixel(y,3,3,GREEN);
// Cube_Set_Pixel(y,4,4,GREEN);
// Cube_Set_Pixel(y,5,5,GREEN);
// Cube_Set_Pixel(y,6,6,GREEN);
// Cube_Set_Pixel(y,7,7,GREEN);
// }
// break;
// case 2:
// for (y = 0; y < CUBE_LAYER_COUNT; y++) {
// Cube_Set_Pixel(y,0,0,BLUE);
// Cube_Set_Pixel(y,1,1,BLUE);
// Cube_Set_Pixel(y,2,2,BLUE);
// Cube_Set_Pixel(y,3,3,BLUE);
// Cube_Set_Pixel(y,4,4,BLUE);
// Cube_Set_Pixel(y,5,5,BLUE);
// Cube_Set_Pixel(y,6,6,BLUE);
// Cube_Set_Pixel(y,7,7,BLUE);
// }
// break;
// }
//
// for (x = 0; x < 28; x++) {
// Delay_MS(delay_ms);
// Cube_Rotate(0);
// }
// }
//}
 
void Animation_Wave1(uint16_t delay_ms) {
uint8_t i, j;
uint8_t data[8];
static uint8_t data[8];
uint32_t r;
for (i = 0; i < 16; i++) {
for (j = 0; j < 8; j++)
data[j] = rand() % 9;
for (j = 0; j < 8; j++) {
r = rand();
if (r % 3 == 0) {
// Increase
data[j] = (data[j] == CUBE_LAYER_COUNT - 1) ? data[j] : data[j] + 1;
} else if (r % 3 == 1) {
// Decrease
data[j] = (data[j] == 0) ? data[j] : data[j] - 1;
} else {
// No change
data[j] = data[j];
}
}
Cube_Shift_Waterfall(data);
Delay_MS(delay_ms);
}
367,11 → 415,23
 
void Animation_Wave2(uint16_t delay_ms) {
uint8_t i, j;
uint8_t data[8];
static uint8_t data[8];
uint32_t r;
 
for (i = 0; i < 16; i++) {
for (j = 0; j < 8; j++)
data[j] = rand() % 9;
for (j = 0; j < 8; j++) {
r = rand();
if (r % 3 == 0) {
// Increase
data[j] = (data[j] == CUBE_LAYER_COUNT - 1) ? data[j] : data[j] + 1;
} else if (r % 3 == 1) {
// Decrease
data[j] = (data[j] == 0) ? data[j] : data[j] - 1;
} else {
// No change
data[j] = data[j];
}
}
Cube_Shift_Waterfall2(data);
Delay_MS(delay_ms);
}