Subversion Repositories Code-Repo

Rev

Rev 242 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 242 Rev 264
Line 230... Line 230...
230
    }
230
    }
231
    Delay_MS(delay_ms);
231
    Delay_MS(delay_ms);
232
}
232
}
233
 
233
 
234
void Animation_Cube_In_Cube(uint16_t delay_ms) {
234
void Animation_Cube_In_Cube(uint16_t delay_ms) {
235
    uint8_t x,i,j,k;
235
    uint8_t x;
236
    for (x = 0; x < 5; x++) {
236
    for (x = 0; x < 5; x++) {
237
        Cube_Clear();
237
        Cube_Clear();
238
        for (i = 0; i < CUBE_LAYER_COUNT; i++) {
-
 
239
            if ((x == 0 || x == 4)&&(i == 0 || i == 7)) {
238
        if (x == 0)
240
                Cube_Set_Layer(i,RED);
239
            Cube_Set_Shell(0, RED);
241
            } else if ((x == 1 || x == 4)&&(i == 1 || i == 6)) {
240
        else if (x == 1)
242
                for (j = 1; j < CUBE_ROW_COUNT-1; j++)
-
 
243
                    for (k = 1; k < CUBE_COLUMN_COUNT-1; k++)
-
 
244
                        Cube_Set_Pixel(i,j,k,YELLOW);
241
            Cube_Set_Shell(1, YELLOW);
245
            } else if ((x == 2 || x == 4)&&(i == 2 || i == 5)) {
-
 
246
                for (j = 2; j < CUBE_ROW_COUNT-2; j++)
-
 
247
                    for (k = 2; k < CUBE_COLUMN_COUNT-2; k++)
-
 
248
                        Cube_Set_Pixel(i,j,k,GREEN);
-
 
249
            } else if ((x == 3 || x == 4)&&(i == 3 || i == 4)) {
-
 
250
                for (j = 3; j < CUBE_ROW_COUNT-3; j++)
-
 
251
                    for (k = 3; k < CUBE_COLUMN_COUNT-3; k++)
-
 
252
                        Cube_Set_Pixel(i,j,k,BLUE);
-
 
253
            }
242
        else if (x == 2)
254
 
-
 
255
            if ((x == 0 || x == 4)&&(i > 0 && i < 8)) {
-
 
256
                for (j = 0; j < 8; j++) {
-
 
257
                    Cube_Set_Pixel(i,j,0,RED);
-
 
258
                    Cube_Set_Pixel(i,j,7,RED);
-
 
259
                    Cube_Set_Pixel(i,0,j,RED);
-
 
260
                    Cube_Set_Pixel(i,7,j,RED);
243
            Cube_Set_Shell(2, GREEN);
261
                }
244
        else if (x == 3)
262
            }
-
 
263
            if ((x == 1 || x == 4)&&(i > 1 && i < 7)) {
-
 
264
                for (j = 1; j < 7; j++) {
-
 
265
                    Cube_Set_Pixel(i,j,1,YELLOW);
-
 
266
                    Cube_Set_Pixel(i,j,6,YELLOW);
-
 
267
                    Cube_Set_Pixel(i,1,j,YELLOW);
-
 
268
                    Cube_Set_Pixel(i,6,j,YELLOW);
245
            Cube_Set_Shell(3, BLUE);
269
                }
-
 
270
            }
246
        else {
271
            if ((x == 2 || x == 4)&&(i > 2 && i < 6)) {
-
 
272
                for (j = 2; j < 6; j++) {
-
 
273
                    Cube_Set_Pixel(i,j,2,GREEN);
247
            Cube_Set_Shell(0, RED);
274
                    Cube_Set_Pixel(i,j,5,GREEN);
248
            Cube_Set_Shell(1, YELLOW);
275
                    Cube_Set_Pixel(i,2,j,GREEN);
249
            Cube_Set_Shell(2, GREEN);
276
                    Cube_Set_Pixel(i,5,j,GREEN);
250
            Cube_Set_Shell(3, BLUE);
277
                }
-
 
278
            }
-
 
279
        }
251
        }
280
        Delay_MS(delay_ms);
252
        Delay_MS(delay_ms);
281
    }
253
    }
282
}
254
}
283
 
255
 
Line 378... Line 350...
378
            Delay_MS(delay_ms);
350
            Delay_MS(delay_ms);
379
            Cube_Rotate(0);
351
            Cube_Rotate(0);
380
        }
352
        }
381
    }
353
    }
382
}
354
}
-
 
355
 
-
 
356
void Animation_Wave1(uint16_t delay_ms) {
-
 
357
    uint8_t i, j;
-
 
358
    uint8_t data[8];
-
 
359
    
-
 
360
    for (i = 0; i < 16; i++) {
-
 
361
        for (j = 0; j < 8; j++)
-
 
362
            data[j] = rand() % 9;
-
 
363
        Cube_Shift_Waterfall(data);
-
 
364
        Delay_MS(delay_ms);
-
 
365
    }
-
 
366
}
-
 
367
 
-
 
368
void Animation_Wave2(uint16_t delay_ms) {
-
 
369
    uint8_t i, j;
-
 
370
    uint8_t data[8];
-
 
371
    
-
 
372
    for (i = 0; i < 16; i++) {
-
 
373
        for (j = 0; j < 8; j++)
-
 
374
            data[j] = rand() % 9;
-
 
375
        Cube_Shift_Waterfall2(data);
-
 
376
        Delay_MS(delay_ms);
-
 
377
    }
-
 
378
}
-
 
379
 
-
 
380
void Animation_Sphere(uint16_t delay_ms) {
-
 
381
    Cube_Clear();
-
 
382
    Cube_Set_Sphere(0, RED);
-
 
383
    Delay_MS(delay_ms);
-
 
384
    Cube_Clear();
-
 
385
    Cube_Set_Sphere(1, ORANGE);
-
 
386
    Delay_MS(delay_ms);
-
 
387
    Cube_Clear();
-
 
388
    Cube_Set_Sphere(2, YELLOW);
-
 
389
    Delay_MS(delay_ms);
-
 
390
    Cube_Clear();
-
 
391
    Cube_Set_Sphere(3, GREEN);
-
 
392
    Delay_MS(delay_ms);
-
 
393
    Cube_Clear();
-
 
394
    Cube_Set_Sphere(4, BLUE);
-
 
395
    Delay_MS(delay_ms);
-
 
396
    Cube_Clear();
-
 
397
    Cube_Set_Sphere(5, PURPLE);
-
 
398
    Delay_MS(delay_ms);
-
 
399
    Cube_Clear();
-
 
400
    Cube_Set_Sphere(6, RED);
-
 
401
    Delay_MS(delay_ms);
-
 
402
    Cube_Clear();
-
 
403
    Cube_Set_Sphere(7, ORANGE);
-
 
404
    Delay_MS(delay_ms);
-
 
405
    Cube_Clear();
-
 
406
    Cube_Set_Sphere(8, YELLOW);
-
 
407
    Delay_MS(delay_ms);
-
 
408
 
-
 
409
}
-
 
410
 
-
 
411
void Animation_Sawtooth(uint16_t delay_ms) {
-
 
412
    uint8_t i;
-
 
413
    uint8_t dir = 1;
-
 
414
    uint8_t layer_dir = 1;
-
 
415
    uint8_t layer_min = 0;
-
 
416
    uint8_t layer_max = CUBE_LAYER_COUNT;
-
 
417
    uint8_t layer = layer_min;
-
 
418
 
-
 
419
    for (i = 0; i < 48; i++) {
-
 
420
        Cube_Set_Row(7, 0x00, 0x00, 0x00);
-
 
421
        Cube_Set_Pixel(layer, 7, 0, RED);
-
 
422
        Cube_Set_Pixel(layer, 7, 1, ORANGE);
-
 
423
        Cube_Set_Pixel(layer, 7, 2, YELLOW);
-
 
424
        Cube_Set_Pixel(layer, 7, 3, GREEN);
-
 
425
        Cube_Set_Pixel(layer, 7, 4, TEAL);
-
 
426
        Cube_Set_Pixel(layer, 7, 5, BLUE);
-
 
427
        Cube_Set_Pixel(layer, 7, 6, PURPLE);
-
 
428
        Cube_Set_Pixel(layer, 7, 7, WHITE);
-
 
429
        
-
 
430
        if (dir)
-
 
431
            layer++;
-
 
432
        else
-
 
433
            layer--;
-
 
434
 
-
 
435
        // Decrease the maximum layer
-
 
436
        if (layer == layer_min) {
-
 
437
            dir = 1;
-
 
438
            if (layer_dir)
-
 
439
                layer_max--;
-
 
440
            else
-
 
441
                layer_max++;
-
 
442
        }
-
 
443
 
-
 
444
        // Increase the minimum layer
-
 
445
        if (layer == layer_max - 1) {
-
 
446
            dir = 0;
-
 
447
            if (layer_dir)
-
 
448
                layer_min++;
-
 
449
            else
-
 
450
                layer_min--;
-
 
451
        }
-
 
452
 
-
 
453
        // Change the layer gap to expansion
-
 
454
        if (layer_max - layer_min < 3) {
-
 
455
            if (layer_dir)
-
 
456
                layer_dir = 0;
-
 
457
            else
-
 
458
                layer_dir = 1;
-
 
459
        }
-
 
460
 
-
 
461
        // Change the layer gap to reduction
-
 
462
        if (layer == 0) {
-
 
463
            if (layer_dir)
-
 
464
                layer_dir = 0;
-
 
465
            else
-
 
466
                layer_dir = 1;
-
 
467
        }
-
 
468
        
-
 
469
        Delay_MS(delay_ms);
-
 
470
        Cube_Shift_Row(0);
-
 
471
    }
-
 
472
}