Subversion Repositories Code-Repo

Rev

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

Rev 268 Rev 274
Line 231... Line 231...
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;
235
    uint8_t x;
236
    for (x = 0; x < 5; x++) {
236
    for (x = 0; x < 6; x++) {
237
        Cube_Clear();
237
        Cube_Clear();
238
        if (x == 0)
238
        if (x == 0)
239
            Cube_Set_Shell(0, RED);
239
            Cube_Set_Shell(0, RED);
240
        else if (x == 1)
240
        else if (x == 1 || x == 5)
241
            Cube_Set_Shell(1, YELLOW);
241
            Cube_Set_Shell(1, YELLOW);
242
        else if (x == 2)
242
        else if (x == 2 || x == 4)
243
            Cube_Set_Shell(2, GREEN);
243
            Cube_Set_Shell(2, GREEN);
244
        else if (x == 3)
244
        else if (x == 3)
245
            Cube_Set_Shell(3, BLUE);
245
            Cube_Set_Shell(3, BLUE);
246
        else {
-
 
247
            Cube_Set_Shell(0, RED);
-
 
248
            Cube_Set_Shell(1, YELLOW);
-
 
249
            Cube_Set_Shell(2, GREEN);
-
 
250
            Cube_Set_Shell(3, BLUE);
-
 
251
        }
-
 
252
        Delay_MS(delay_ms);
246
        Delay_MS(delay_ms);
253
    }
247
    }
254
}
248
}
255
 
249
 
256
void Animation_Cube_In_Out(uint16_t delay_ms, uint16_t r, uint16_t g, uint16_t b) {
250
void Animation_Cube_In_Out(uint16_t delay_ms, uint16_t r, uint16_t g, uint16_t b) {
257
    uint8_t x,i,j,k;
251
    uint8_t x,i,j,k;
258
    for (x = 0; x < 7; x++) {
252
    for (x = 0; x < 7; x++) {
259
        Cube_Clear();
253
        Cube_Clear();
260
        for (i = 0; i < CUBE_LAYER_COUNT; i++) {
254
        switch (x % 7) {
261
            if ((x == 0 || x == 6)&&(i == 0 || i == 7)) {
-
 
262
                Cube_Set_Layer(i,r,g,b);
255
            case 0:
263
            } else if ((x == 1 || x == 5)&&(i == 1 || i == 6)) {
-
 
264
                for (j = 1; j < CUBE_ROW_COUNT-1; j++)
-
 
265
                    for (k = 1; k < CUBE_COLUMN_COUNT-1; k++)
-
 
266
                        Cube_Set_Pixel(i,j,k,r,g,b);
-
 
267
            } else if ((x == 2 || x == 4)&&(i == 2 || i == 5)) {
-
 
268
                for (j = 2; j < CUBE_ROW_COUNT-2; j++)
-
 
269
                    for (k = 2; k < CUBE_COLUMN_COUNT-2; k++)
-
 
270
                        Cube_Set_Pixel(i,j,k,r,g,b);
256
                Cube_Set_Shell(3, r, g, b);
271
            } else if ((x == 3)&&(i == 3 || i == 4)) {
-
 
272
                for (j = 3; j < CUBE_ROW_COUNT-3; j++)
-
 
273
                    for (k = 3; k < CUBE_COLUMN_COUNT-3; k++)
-
 
274
                        Cube_Set_Pixel(i,j,k,r,g,b);
257
                break;
275
            }
258
            case 1:
276
 
-
 
277
            if ((x == 0 || x == 6)&&(i > 0 && i < 8)) {
-
 
278
                for (j = 0; j < 8; j++) {
-
 
279
                    Cube_Set_Pixel(i,j,0,r,g,b);
259
                Cube_Set_Shell(2, r, g, b);
280
                    Cube_Set_Pixel(i,j,7,r,g,b);
260
                break;
281
                    Cube_Set_Pixel(i,0,j,r,g,b);
261
            case 2:
282
                    Cube_Set_Pixel(i,7,j,r,g,b);
262
                Cube_Set_Shell(1, r, g, b);
283
                }
263
                break;
284
            }
264
            case 3:
285
            if ((x == 1 || x == 5)&&(i > 1 && i < 7)) {
-
 
286
                for (j = 1; j < 7; j++) {
-
 
287
                    Cube_Set_Pixel(i,j,1,r,g,b);
265
                Cube_Set_Shell(0, r, g, b);
288
                    Cube_Set_Pixel(i,j,6,r,g,b);
266
                break;
289
                    Cube_Set_Pixel(i,1,j,r,g,b);
267
            case 4:
290
                    Cube_Set_Pixel(i,6,j,r,g,b);
268
                Cube_Set_Shell(1, r, g, b);
291
                }
269
                break;
292
            }
270
            case 5:
293
            if ((x == 2 || x == 4)&&(i > 2 && i < 6)) {
-
 
294
                for (j = 2; j < 6; j++) {
-
 
295
                    Cube_Set_Pixel(i,j,2,r,g,b);
271
                Cube_Set_Shell(2, r, g, b);
296
                    Cube_Set_Pixel(i,j,5,r,g,b);
272
                break;
297
                    Cube_Set_Pixel(i,2,j,r,g,b);
273
            case 6:
298
                    Cube_Set_Pixel(i,5,j,r,g,b);
274
                Cube_Set_Shell(3, r, g, b);
299
                }
275
                break;
300
            }
-
 
301
        }
276
        }
-
 
277
 
-
 
278
//        for (i = 0; i < CUBE_LAYER_COUNT; i++) {
-
 
279
//            if ((x == 0 || x == 6)&&(i == 0 || i == 7)) {
-
 
280
//                Cube_Set_Layer(i,r,g,b);
-
 
281
//            } else if ((x == 1 || x == 5)&&(i == 1 || i == 6)) {
-
 
282
//                for (j = 1; j < CUBE_ROW_COUNT-1; j++)
-
 
283
//                    for (k = 1; k < CUBE_COLUMN_COUNT-1; k++)
-
 
284
//                        Cube_Set_Pixel(i,j,k,r,g,b);
-
 
285
//            } else if ((x == 2 || x == 4)&&(i == 2 || i == 5)) {
-
 
286
//                for (j = 2; j < CUBE_ROW_COUNT-2; j++)
-
 
287
//                    for (k = 2; k < CUBE_COLUMN_COUNT-2; k++)
-
 
288
//                        Cube_Set_Pixel(i,j,k,r,g,b);
-
 
289
//            } else if ((x == 3)&&(i == 3 || i == 4)) {
-
 
290
//                for (j = 3; j < CUBE_ROW_COUNT-3; j++)
-
 
291
//                    for (k = 3; k < CUBE_COLUMN_COUNT-3; k++)
-
 
292
//                        Cube_Set_Pixel(i,j,k,r,g,b);
-
 
293
//            }
-
 
294
//
-
 
295
//            if ((x == 0 || x == 6)&&(i > 0 && i < 8)) {
-
 
296
//                for (j = 0; j < 8; j++) {
-
 
297
//                    Cube_Set_Pixel(i,j,0,r,g,b);
-
 
298
//                    Cube_Set_Pixel(i,j,7,r,g,b);
-
 
299
//                    Cube_Set_Pixel(i,0,j,r,g,b);
-
 
300
//                    Cube_Set_Pixel(i,7,j,r,g,b);
-
 
301
//                }
-
 
302
//            }
-
 
303
//            if ((x == 1 || x == 5)&&(i > 1 && i < 7)) {
-
 
304
//                for (j = 1; j < 7; j++) {
-
 
305
//                    Cube_Set_Pixel(i,j,1,r,g,b);
-
 
306
//                    Cube_Set_Pixel(i,j,6,r,g,b);
-
 
307
//                    Cube_Set_Pixel(i,1,j,r,g,b);
-
 
308
//                    Cube_Set_Pixel(i,6,j,r,g,b);
-
 
309
//                }
-
 
310
//            }
-
 
311
//            if ((x == 2 || x == 4)&&(i > 2 && i < 6)) {
-
 
312
//                for (j = 2; j < 6; j++) {
-
 
313
//                    Cube_Set_Pixel(i,j,2,r,g,b);
-
 
314
//                    Cube_Set_Pixel(i,j,5,r,g,b);
-
 
315
//                    Cube_Set_Pixel(i,2,j,r,g,b);
-
 
316
//                    Cube_Set_Pixel(i,5,j,r,g,b);
-
 
317
//                }
-
 
318
//            }
-
 
319
//        }
302
        Delay_MS(delay_ms);
320
        Delay_MS(delay_ms);
303
    }
321
    }
304
}
322
}
305
 
323
 
306
void Animation_Double_Rotation(uint16_t delay_ms) {
324
void Animation_Double_Rotation(uint16_t delay_ms) {
307
    Cube_Clear();
325
    Cube_Clear();
308
    uint8_t x,y,z;
326
    uint8_t x,y,z;
309
    for (z = 0; z < 3; z++) {
-
 
310
        switch (z % 3) {
-
 
311
            case 0:
-
 
312
                for (y = 0; y < CUBE_LAYER_COUNT; y++) {
-
 
313
                    Cube_Set_Pixel(y,0,0,RED);
-
 
314
                    Cube_Set_Pixel(y,1,1,RED);
-
 
315
                    Cube_Set_Pixel(y,2,2,RED);
-
 
316
                    Cube_Set_Pixel(y,3,3,RED);
-
 
317
                    Cube_Set_Pixel(y,4,4,RED);
-
 
318
                    Cube_Set_Pixel(y,5,5,RED);
-
 
319
                    Cube_Set_Pixel(y,6,6,RED);
-
 
320
                    Cube_Set_Pixel(y,7,7,RED);
-
 
321
                }
-
 
322
                break;
-
 
323
            case 1:
-
 
324
                for (y = 0; y < CUBE_LAYER_COUNT; y++) {
-
 
325
                    Cube_Set_Pixel(y,0,0,GREEN);
-
 
326
                    Cube_Set_Pixel(y,1,1,GREEN);
-
 
327
                    Cube_Set_Pixel(y,2,2,GREEN);
-
 
328
                    Cube_Set_Pixel(y,3,3,GREEN);
-
 
329
                    Cube_Set_Pixel(y,4,4,GREEN);
-
 
330
                    Cube_Set_Pixel(y,5,5,GREEN);
-
 
331
                    Cube_Set_Pixel(y,6,6,GREEN);
-
 
332
                    Cube_Set_Pixel(y,7,7,GREEN);
-
 
333
                }
-
 
334
                break;
-
 
335
            case 2:
-
 
336
                for (y = 0; y < CUBE_LAYER_COUNT; y++) {
-
 
337
                    Cube_Set_Pixel(y,0,0,BLUE);
-
 
338
                    Cube_Set_Pixel(y,1,1,BLUE);
-
 
339
                    Cube_Set_Pixel(y,2,2,BLUE);
-
 
340
                    Cube_Set_Pixel(y,3,3,BLUE);
-
 
341
                    Cube_Set_Pixel(y,4,4,BLUE);
-
 
342
                    Cube_Set_Pixel(y,5,5,BLUE);
-
 
343
                    Cube_Set_Pixel(y,6,6,BLUE);
-
 
344
                    Cube_Set_Pixel(y,7,7,BLUE);
-
 
345
                }
-
 
346
                break;
-
 
347
        }
-
 
348
 
327
 
-
 
328
    for (y = 0; y < CUBE_LAYER_COUNT; y++) {
-
 
329
        Cube_Set_Pixel(y,0,0,RED);
-
 
330
        Cube_Set_Pixel(y,1,1,ORANGE);
-
 
331
        Cube_Set_Pixel(y,2,2,YELLOW);
-
 
332
        Cube_Set_Pixel(y,3,3,GREEN);
-
 
333
        Cube_Set_Pixel(y,4,4,TEAL);
-
 
334
        Cube_Set_Pixel(y,5,5,BLUE);
-
 
335
        Cube_Set_Pixel(y,6,6,PURPLE);
-
 
336
        Cube_Set_Pixel(y,7,7,WHITE);
-
 
337
    }
-
 
338
            
349
        for (x = 0; x < 28; x++) {
339
    for (x = 0; x < 28; x++) {
350
            Delay_MS(delay_ms);
340
        Delay_MS(delay_ms);
351
            Cube_Rotate(0);
341
        Cube_Rotate(0);
352
        }
-
 
353
    }
342
    }
354
}
343
}
355
 
344
 
-
 
345
//    for (z = 0; z < 3; z++) {
-
 
346
//        switch (z % 3) {
-
 
347
//            case 0:
-
 
348
//                for (y = 0; y < CUBE_LAYER_COUNT; y++) {
-
 
349
//                    Cube_Set_Pixel(y,0,0,RED);
-
 
350
//                    Cube_Set_Pixel(y,1,1,RED);
-
 
351
//                    Cube_Set_Pixel(y,2,2,RED);
-
 
352
//                    Cube_Set_Pixel(y,3,3,RED);
-
 
353
//                    Cube_Set_Pixel(y,4,4,RED);
-
 
354
//                    Cube_Set_Pixel(y,5,5,RED);
-
 
355
//                    Cube_Set_Pixel(y,6,6,RED);
-
 
356
//                    Cube_Set_Pixel(y,7,7,RED);
-
 
357
//                }
-
 
358
//                break;
-
 
359
//            case 1:
-
 
360
//                for (y = 0; y < CUBE_LAYER_COUNT; y++) {
-
 
361
//                    Cube_Set_Pixel(y,0,0,GREEN);
-
 
362
//                    Cube_Set_Pixel(y,1,1,GREEN);
-
 
363
//                    Cube_Set_Pixel(y,2,2,GREEN);
-
 
364
//                    Cube_Set_Pixel(y,3,3,GREEN);
-
 
365
//                    Cube_Set_Pixel(y,4,4,GREEN);
-
 
366
//                    Cube_Set_Pixel(y,5,5,GREEN);
-
 
367
//                    Cube_Set_Pixel(y,6,6,GREEN);
-
 
368
//                    Cube_Set_Pixel(y,7,7,GREEN);
-
 
369
//                }
-
 
370
//                break;
-
 
371
//            case 2:
-
 
372
//                for (y = 0; y < CUBE_LAYER_COUNT; y++) {
-
 
373
//                    Cube_Set_Pixel(y,0,0,BLUE);
-
 
374
//                    Cube_Set_Pixel(y,1,1,BLUE);
-
 
375
//                    Cube_Set_Pixel(y,2,2,BLUE);
-
 
376
//                    Cube_Set_Pixel(y,3,3,BLUE);
-
 
377
//                    Cube_Set_Pixel(y,4,4,BLUE);
-
 
378
//                    Cube_Set_Pixel(y,5,5,BLUE);
-
 
379
//                    Cube_Set_Pixel(y,6,6,BLUE);
-
 
380
//                    Cube_Set_Pixel(y,7,7,BLUE);
-
 
381
//                }
-
 
382
//                break;
-
 
383
//        }
-
 
384
//
-
 
385
//        for (x = 0; x < 28; x++) {
-
 
386
//            Delay_MS(delay_ms);
-
 
387
//            Cube_Rotate(0);
-
 
388
//        }
-
 
389
//    }
-
 
390
//}
-
 
391
 
356
void Animation_Wave1(uint16_t delay_ms) {
392
void Animation_Wave1(uint16_t delay_ms) {
357
    uint8_t i, j;
393
    uint8_t i, j;
358
    uint8_t data[8];
394
    static uint8_t data[8];
-
 
395
    uint32_t r;
359
    
396
    
360
    for (i = 0; i < 16; i++) {
397
    for (i = 0; i < 16; i++) {
361
        for (j = 0; j < 8; j++)
398
        for (j = 0; j < 8; j++) {
-
 
399
            r = rand();
-
 
400
            if (r % 3 == 0) {
-
 
401
                // Increase
-
 
402
                data[j] = (data[j] == CUBE_LAYER_COUNT - 1) ? data[j] : data[j] + 1;
-
 
403
            } else if (r % 3 == 1) {
-
 
404
                // Decrease
-
 
405
                data[j] = (data[j] == 0) ? data[j] : data[j] - 1;
-
 
406
            } else {
-
 
407
                // No change
362
            data[j] = rand() % 9;
408
                data[j] = data[j];
-
 
409
            }
-
 
410
        }
363
        Cube_Shift_Waterfall(data);
411
        Cube_Shift_Waterfall(data);
364
        Delay_MS(delay_ms);
412
        Delay_MS(delay_ms);
365
    }
413
    }
366
}
414
}
367
 
415
 
368
void Animation_Wave2(uint16_t delay_ms) {
416
void Animation_Wave2(uint16_t delay_ms) {
369
    uint8_t i, j;
417
    uint8_t i, j;
370
    uint8_t data[8];
418
    static uint8_t data[8];
371
    
419
    uint32_t r;
-
 
420
 
372
    for (i = 0; i < 16; i++) {
421
    for (i = 0; i < 16; i++) {
373
        for (j = 0; j < 8; j++)
422
        for (j = 0; j < 8; j++) {
-
 
423
            r = rand();
-
 
424
            if (r % 3 == 0) {
-
 
425
                // Increase
-
 
426
                data[j] = (data[j] == CUBE_LAYER_COUNT - 1) ? data[j] : data[j] + 1;
-
 
427
            } else if (r % 3 == 1) {
-
 
428
                // Decrease
-
 
429
                data[j] = (data[j] == 0) ? data[j] : data[j] - 1;
-
 
430
            } else {
-
 
431
                // No change
374
            data[j] = rand() % 9;
432
                data[j] = data[j];
-
 
433
            }
-
 
434
        }
375
        Cube_Shift_Waterfall2(data);
435
        Cube_Shift_Waterfall2(data);
376
        Delay_MS(delay_ms);
436
        Delay_MS(delay_ms);
377
    }
437
    }
378
}
438
}
379
 
439