Othello

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers led_func.h Source File

led_func.h

00001 #include "necleo_pin.h"
00002 #include "color.h"
00003 
00004 #define L 0
00005 #define H 1
00006 
00007 #define R 0
00008 #define G 1
00009 #define B 2
00010 
00011 class Dot{
00012     public:
00013         char red;
00014         char green;
00015         char blue;
00016         void SetColor(char r,char g,char b){
00017             red=r;
00018             green=g;
00019             blue=b;
00020         }
00021 };
00022 
00023 Dot led_board[16][16];
00024 
00025 void ResetLEDBoard(){
00026     for(char i=0;i<16;i++){
00027         for(char j=0;j<16;j++){
00028             led_board[i][j].SetColor(CCLEAR);
00029         }
00030     }
00031 }
00032 
00033 void PrintLEDBoard(){
00034     static const char list[4]={0,2,1,3};
00035     static char count=0;
00036     CLK=L;
00037     LAT=L;
00038     for(char i=0;i<4;i++){
00039         OE=H;
00040         Address=list[i];
00041         for(char j=0;j<32;j++){
00042             if(j<8){
00043                 Red1=led_board[i][7-j].red>count;
00044                 Green1=led_board[i][7-j].green>count;
00045                 Blue1=led_board[i][7-j].blue>count;
00046                 Red2=led_board[i+8][7-j].red>count;
00047                 Green2=led_board[i+8][7-j].green>count;
00048                 Blue2=led_board[i+8][7-j].blue>count;
00049             }else if(j<16){
00050                 Red1=led_board[i+4][j-8].red>count;
00051                 Green1=led_board[i+4][j-8].green>count;
00052                 Blue1=led_board[i+4][j-8].blue>count;
00053                 Red2=led_board[i+12][j-8].red>count;
00054                 Green2=led_board[i+12][j-8].green>count;
00055                 Blue2=led_board[i+12][j-8].blue>count;
00056             }else if(j<24){
00057                 Red1=led_board[i][31-j].red>count;
00058                 Green1=led_board[i][31-j].green>count;
00059                 Blue1=led_board[i][31-j].blue>count;
00060                 Red2=led_board[i+8][31-j].red>count;
00061                 Green2=led_board[i+8][31-j].green>count;
00062                 Blue2=led_board[i+8][31-j].blue>count;
00063             }else{
00064                 Red1=led_board[i+4][j-16].red>count;
00065                 Green1=led_board[i+4][j-16].green>count;
00066                 Blue1=led_board[i+4][j-16].blue>count;
00067                 Red2=led_board[i+12][j-16].red>count;
00068                 Green2=led_board[i+12][j-16].green>count;
00069                 Blue2=led_board[i+12][j-16].blue>count;
00070             }
00071             CLK=H;
00072             CLK=L;
00073         }
00074         LAT=H;
00075         LAT=L;
00076         OE=L;
00077         wait_us(1);
00078     }
00079     OE=H;
00080     count++;
00081     if(count>100)count=0;
00082 }