Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 263 → Rev 264

/PIC Stuff/Cerebot_32MX7_LED_Cube/ANIMATIONS.c
232,50 → 232,22
}
 
void Animation_Cube_In_Cube(uint16_t delay_ms) {
uint8_t x,i,j,k;
uint8_t x;
for (x = 0; x < 5; x++) {
Cube_Clear();
for (i = 0; i < CUBE_LAYER_COUNT; i++) {
if ((x == 0 || x == 4)&&(i == 0 || i == 7)) {
Cube_Set_Layer(i,RED);
} else if ((x == 1 || x == 4)&&(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,YELLOW);
} 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,GREEN);
} else if ((x == 3 || x == 4)&&(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,BLUE);
}
 
if ((x == 0 || x == 4)&&(i > 0 && i < 8)) {
for (j = 0; j < 8; j++) {
Cube_Set_Pixel(i,j,0,RED);
Cube_Set_Pixel(i,j,7,RED);
Cube_Set_Pixel(i,0,j,RED);
Cube_Set_Pixel(i,7,j,RED);
}
}
if ((x == 1 || x == 4)&&(i > 1 && i < 7)) {
for (j = 1; j < 7; j++) {
Cube_Set_Pixel(i,j,1,YELLOW);
Cube_Set_Pixel(i,j,6,YELLOW);
Cube_Set_Pixel(i,1,j,YELLOW);
Cube_Set_Pixel(i,6,j,YELLOW);
}
}
if ((x == 2 || x == 4)&&(i > 2 && i < 6)) {
for (j = 2; j < 6; j++) {
Cube_Set_Pixel(i,j,2,GREEN);
Cube_Set_Pixel(i,j,5,GREEN);
Cube_Set_Pixel(i,2,j,GREEN);
Cube_Set_Pixel(i,5,j,GREEN);
}
}
if (x == 0)
Cube_Set_Shell(0, RED);
else if (x == 1)
Cube_Set_Shell(1, YELLOW);
else if (x == 2)
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);
}
380,3 → 352,121
}
}
}
 
void Animation_Wave1(uint16_t delay_ms) {
uint8_t i, j;
uint8_t data[8];
for (i = 0; i < 16; i++) {
for (j = 0; j < 8; j++)
data[j] = rand() % 9;
Cube_Shift_Waterfall(data);
Delay_MS(delay_ms);
}
}
 
void Animation_Wave2(uint16_t delay_ms) {
uint8_t i, j;
uint8_t data[8];
for (i = 0; i < 16; i++) {
for (j = 0; j < 8; j++)
data[j] = rand() % 9;
Cube_Shift_Waterfall2(data);
Delay_MS(delay_ms);
}
}
 
void Animation_Sphere(uint16_t delay_ms) {
Cube_Clear();
Cube_Set_Sphere(0, RED);
Delay_MS(delay_ms);
Cube_Clear();
Cube_Set_Sphere(1, ORANGE);
Delay_MS(delay_ms);
Cube_Clear();
Cube_Set_Sphere(2, YELLOW);
Delay_MS(delay_ms);
Cube_Clear();
Cube_Set_Sphere(3, GREEN);
Delay_MS(delay_ms);
Cube_Clear();
Cube_Set_Sphere(4, BLUE);
Delay_MS(delay_ms);
Cube_Clear();
Cube_Set_Sphere(5, PURPLE);
Delay_MS(delay_ms);
Cube_Clear();
Cube_Set_Sphere(6, RED);
Delay_MS(delay_ms);
Cube_Clear();
Cube_Set_Sphere(7, ORANGE);
Delay_MS(delay_ms);
Cube_Clear();
Cube_Set_Sphere(8, YELLOW);
Delay_MS(delay_ms);
 
}
 
void Animation_Sawtooth(uint16_t delay_ms) {
uint8_t i;
uint8_t dir = 1;
uint8_t layer_dir = 1;
uint8_t layer_min = 0;
uint8_t layer_max = CUBE_LAYER_COUNT;
uint8_t layer = layer_min;
 
for (i = 0; i < 48; i++) {
Cube_Set_Row(7, 0x00, 0x00, 0x00);
Cube_Set_Pixel(layer, 7, 0, RED);
Cube_Set_Pixel(layer, 7, 1, ORANGE);
Cube_Set_Pixel(layer, 7, 2, YELLOW);
Cube_Set_Pixel(layer, 7, 3, GREEN);
Cube_Set_Pixel(layer, 7, 4, TEAL);
Cube_Set_Pixel(layer, 7, 5, BLUE);
Cube_Set_Pixel(layer, 7, 6, PURPLE);
Cube_Set_Pixel(layer, 7, 7, WHITE);
if (dir)
layer++;
else
layer--;
 
// Decrease the maximum layer
if (layer == layer_min) {
dir = 1;
if (layer_dir)
layer_max--;
else
layer_max++;
}
 
// Increase the minimum layer
if (layer == layer_max - 1) {
dir = 0;
if (layer_dir)
layer_min++;
else
layer_min--;
}
 
// Change the layer gap to expansion
if (layer_max - layer_min < 3) {
if (layer_dir)
layer_dir = 0;
else
layer_dir = 1;
}
 
// Change the layer gap to reduction
if (layer == 0) {
if (layer_dir)
layer_dir = 0;
else
layer_dir = 1;
}
Delay_MS(delay_ms);
Cube_Shift_Row(0);
}
}