ProjectBattleShip_FRA221 / WolfWarp
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers DotRainbow.cpp Source File

DotRainbow.cpp

00001 #include "mbed.h"
00002 //************************ Complete to Interface ***************************
00003 // configure library with this code ****************************************
00004 SPI dot_matrix(D11,NC,D13); //mosi miso sclk
00005 DigitalOut lat(PA_12); //6
00006 DigitalOut sb(PA_11); //7
00007 DigitalOut rst(D10);
00008 BusOut open_line(D2,D3,D4,D5,D6,D7,D8,D9);
00009               //c0 c1 c2 c3 c4 c5 c6 c7 dont foget d7
00010 Serial pc(D1, D0);
00011 Timer t;
00012 
00013 uint8_t wb[3] = {255,255,255};
00014 uint8_t TestDot[7][8][8][3] = {
00015                             {{{60,20,20},    {60,0,20},      {5,5,60},     {0,60,60},    {0,60,0},      {60,120,0},   {60,60,0},   {60,0,0}},
00016                             {{60,0,0},       {60,20,20},     {60,0,20},    {5,5,60},     {0,60,60},     {0,60,0},     {60,120,0},  {60,60,0}},
00017                             {{60,60,0},      {60,0,0},       {60,20,20},   {60,0,20},    {5,5,60},      {0,60,60},    {0,60,0},    {60,120,0}},
00018                             {{60,120,0},     {60,60,0},      {60,0,0},     {60,20,20},   {60,0,20},     {5,5,60},     {0,60,60},   {0,60,0}},
00019                             {{0,60,0},       {60,120,0},     {60,60,0},    {60,0,0},     {60,20,20},    {60,0,20},    {5,5,60},   {0,60,60}},
00020                             {{0,60,60},      {0,60,0},       {60,120,0},   {60,60,0},    {60,0,0},      {60,20,20},   {60,0,20},    {5,5,60}},
00021                             {{5,5,60},       {0,60,60},      {0,60,0},     {60,120,0},   {60,60,0},     {60,0,0},     {60,20,20},  {60,0,20}},
00022                             {{60,0,20},      {5,5,60},       {0,60,60},    {0,60,0},     {60,120,0},    {60,60,0},    {60,0,0},    {60,20,20}}},
00023 
00024 
00025                             {{{60,0,0},       {60,20,20},     {60,0,20},    {5,5,60},     {0,60,60},     {0,60,0},     {60,120,0},  {60,60,0}},
00026                             {{60,60,0},      {60,0,0},       {60,20,20},   {60,0,20},    {5,5,60},      {0,60,60},    {0,60,0},    {60,120,0}},
00027                             {{60,120,0},     {60,60,0},      {60,0,0},     {60,20,20},   {60,0,20},     {5,5,60},     {0,60,60},   {0,60,0}},
00028                             {{0,60,0},       {60,120,0},     {60,60,0},    {60,0,0},     {60,20,20},    {60,0,20},    {5,5,60},   {0,60,60}},
00029                             {{0,60,60},      {0,60,0},       {60,120,0},   {60,60,0},    {60,0,0},      {60,20,20},   {60,0,20},    {5,5,60}},
00030                             {{5,5,60},       {0,60,60},      {0,60,0},     {60,120,0},   {60,60,0},     {60,0,0},     {60,20,20},  {60,0,20}},
00031                             {{60,0,20},      {5,5,60},       {0,60,60},    {0,60,0},     {60,120,0},    {60,60,0},    {60,0,0},    {60,20,20}},
00032                             {{60,20,20},    {60,0,20},      {5,5,60},     {0,60,60},    {0,60,0},      {60,120,0},   {60,60,0},   {60,0,0}}},
00033 
00034                             {{{60,60,0},      {60,0,0},       {60,20,20},   {60,0,20},    {5,5,60},      {0,60,60},    {0,60,0},    {60,120,0}},
00035                             {{60,120,0},     {60,60,0},      {60,0,0},     {60,20,20},   {60,0,20},     {5,5,60},     {0,60,60},   {0,60,0}},
00036                             {{0,60,0},       {60,120,0},     {60,60,0},    {60,0,0},     {60,20,20},    {60,0,20},    {5,5,60},   {0,60,60}},
00037                             {{0,60,60},      {0,60,0},       {60,120,0},   {60,60,0},    {60,0,0},      {60,20,20},   {60,0,20},    {5,5,60}},
00038                             {{5,5,60},       {0,60,60},      {0,60,0},     {60,120,0},   {60,60,0},     {60,0,0},     {60,20,20},  {60,0,20}},
00039                             {{60,0,20},      {5,5,60},       {0,60,60},    {0,60,0},     {60,120,0},    {60,60,0},    {60,0,0},    {60,20,20}},
00040                             {{60,20,20},    {60,0,20},      {5,5,60},     {0,60,60},    {0,60,0},      {60,120,0},   {60,60,0},   {60,0,0}},
00041                             {{60,0,0},       {60,20,20},     {60,0,20},    {5,5,60},     {0,60,60},     {0,60,0},     {60,120,0},  {60,60,0}}},
00042 
00043                             {{{60,120,0},     {60,60,0},      {60,0,0},     {60,20,20},   {60,0,20},     {5,5,60},     {0,60,60},   {0,60,0}},
00044                             {{0,60,0},       {60,120,0},     {60,60,0},    {60,0,0},     {60,20,20},    {60,0,20},    {5,5,60},   {0,60,60}},
00045                             {{0,60,60},      {0,60,0},       {60,120,0},   {60,60,0},    {60,0,0},      {60,20,20},   {60,0,20},    {5,5,60}},
00046                             {{5,5,60},       {0,60,60},      {0,60,0},     {60,120,0},   {60,60,0},     {60,0,0},     {60,20,20},  {60,0,20}},
00047                             {{60,0,20},      {5,5,60},       {0,60,60},    {0,60,0},     {60,120,0},    {60,60,0},    {60,0,0},    {60,20,20}},
00048                             {{60,20,20},    {60,0,20},      {5,5,60},     {0,60,60},    {0,60,0},      {60,120,0},   {60,60,0},   {60,0,0}},
00049                             {{60,0,0},       {60,20,20},     {60,0,20},    {5,5,60},     {0,60,60},     {0,60,0},     {60,120,0},  {60,60,0}},
00050                             {{60,60,0},      {60,0,0},       {60,20,20},   {60,0,20},    {5,5,60},      {0,60,60},    {0,60,0},    {60,120,0}}},
00051 
00052 
00053                             {{{0,60,0},       {60,120,0},     {60,60,0},    {60,0,0},     {60,20,20},    {60,0,20},    {5,5,60},   {0,60,60}},
00054                             {{0,60,60},      {0,60,0},       {60,120,0},   {60,60,0},    {60,0,0},      {60,20,20},   {60,0,20},    {5,5,60}},
00055                             {{5,5,60},       {0,60,60},      {0,60,0},     {60,120,0},   {60,60,0},     {60,0,0},     {60,20,20},  {60,0,20}},
00056                             {{60,0,20},      {5,5,60},       {0,60,60},    {0,60,0},     {60,120,0},    {60,60,0},    {60,0,0},    {60,20,20}},
00057                             {{60,20,20},    {60,0,20},      {5,5,60},     {0,60,60},    {0,60,0},      {60,120,0},   {60,60,0},   {60,0,0}},
00058                             {{60,0,0},       {60,20,20},     {60,0,20},    {5,5,60},     {0,60,60},     {0,60,0},     {60,120,0},  {60,60,0}},
00059                             {{60,60,0},      {60,0,0},       {60,20,20},   {60,0,20},    {5,5,60},      {0,60,60},    {0,60,0},    {60,120,0}},
00060                             {{60,120,0},     {60,60,0},      {60,0,0},     {60,20,20},   {60,0,20},     {5,5,60},     {0,60,60},   {0,60,0}}},
00061 
00062 
00063                             {{{0,60,60},      {0,60,0},       {60,120,0},   {60,60,0},    {60,0,0},      {60,20,20},   {60,0,20},    {5,5,60}},
00064                             {{5,5,60},       {0,60,60},      {0,60,0},     {60,120,0},   {60,60,0},     {60,0,0},     {60,20,20},  {60,0,20}},
00065                             {{60,0,20},      {5,5,60},       {0,60,60},    {0,60,0},     {60,120,0},    {60,60,0},    {60,0,0},    {60,20,20}},
00066                             {{60,20,20},    {60,0,20},      {5,5,60},     {0,60,60},    {0,60,0},      {60,120,0},   {60,60,0},   {60,0,0}},
00067                             {{60,0,0},       {60,20,20},     {60,0,20},    {5,5,60},     {0,60,60},     {0,60,0},     {60,120,0},  {60,60,0}},
00068                             {{60,60,0},      {60,0,0},       {60,20,20},   {60,0,20},    {5,5,60},      {0,60,60},    {0,60,0},    {60,120,0}},
00069                             {{60,120,0},     {60,60,0},      {60,0,0},     {60,20,20},   {60,0,20},     {5,5,60},     {0,60,60},   {0,60,0}},
00070                             {{0,60,0},       {60,120,0},     {60,60,0},    {60,0,0},     {60,20,20},    {60,0,20},    {5,5,60},   {0,60,60}}},
00071 
00072                             {{{5,5,60},       {0,60,60},      {0,60,0},     {60,120,0},   {60,60,0},     {60,0,0},     {60,20,20},  {60,0,20}},
00073                             {{60,0,20},      {5,5,60},       {0,60,60},    {0,60,0},     {60,120,0},    {60,60,0},    {60,0,0},    {60,20,20}},
00074                             {{60,20,20},    {60,0,20},      {5,5,60},     {0,60,60},    {0,60,0},      {60,120,0},   {60,60,0},   {60,0,0}},
00075                             {{60,0,0},       {60,20,20},     {60,0,20},    {5,5,60},     {0,60,60},     {0,60,0},     {60,120,0},  {60,60,0}},
00076                             {{60,60,0},      {60,0,0},       {60,20,20},   {60,0,20},    {5,5,60},      {0,60,60},    {0,60,0},    {60,120,0}},
00077                             {{60,120,0},     {60,60,0},      {60,0,0},     {60,20,20},   {60,0,20},     {5,5,60},     {0,60,60},   {0,60,0}},
00078                             {{0,60,0},       {60,120,0},     {60,60,0},    {60,0,0},     {60,20,20},    {60,0,20},    {5,5,60},   {0,60,60}},
00079                             {{0,60,60},      {0,60,0},       {60,120,0},   {60,60,0},    {60,0,0},      {60,20,20},   {60,0,20},    {5,5,60}}},
00080 
00081                           };
00082 int a;
00083 int b=0;
00084 int c;
00085 int main() {
00086 
00087   /* code */
00088   dot_matrix.frequency(1000000);
00089   int line[8] = {1,2,4,8,16,32,64,128};
00090 
00091   rst = 1;
00092   wait(0.5);
00093   rst = 0;
00094   wait(0.5);
00095   rst = 1;
00096   wait(0.5);
00097 
00098   sb = 0; // 6 bit
00099   for(int i = 0; i<8; i++){
00100     dot_matrix.write(wb[0]);
00101     dot_matrix.write(wb[1]);
00102     dot_matrix.write(wb[2]);
00103   }
00104   open_line = 0;
00105   // dot_matrix.format(8,0);
00106   sb = 1; // 8 bit
00107 
00108   t.start();
00109   while (1) {
00110     /* code */
00111 if( (float(t.read()) < 0.2)){
00112     for(int i=0 ; i<=7 ; i++){
00113       for(int j=0 ; j<=7 ; j++){
00114           dot_matrix.write(TestDot[0][i][j][2]);
00115           dot_matrix.write(TestDot[0][i][j][1]);
00116           dot_matrix.write(TestDot[0][i][j][0]);
00117           a=c;
00118         }
00119         lat = 1;
00120         lat = 0;
00121         open_line = line[i];
00122         wait(0.001);
00123         open_line = 0;
00124         }
00125       }
00126 
00127 else if( (float(t.read())) >= 0.2 && (float(t.read()) <= 0.4) ){
00128   for(int i=0 ; i<=7 ; i++){
00129     for(int j=0 ; j<=7 ; j++){
00130         dot_matrix.write(TestDot[1][i][j][2]);
00131         dot_matrix.write(TestDot[1][i][j][1]);
00132         dot_matrix.write(TestDot[1][i][j][0]);
00133       }
00134       lat = 1;
00135       lat = 0;
00136       open_line = line[i];
00137       wait(0.001);
00138       open_line = 0;
00139       }
00140 }
00141 
00142 else if( (t.read()) >= 0.4 && (t.read() <= 0.6) ){
00143   for(int i=0 ; i<=7 ; i++){
00144     for(int j=0 ; j<=7 ; j++){
00145         dot_matrix.write(TestDot[2][i][j][2]);
00146         dot_matrix.write(TestDot[2][i][j][1]);
00147         dot_matrix.write(TestDot[2][i][j][0]);
00148       }
00149       lat = 1;
00150       lat = 0;
00151       open_line = line[i];
00152       wait(0.001);
00153       open_line = 0;
00154       }
00155 }
00156 
00157 else if( (t.read()) >= 0.6 && (t.read() <= 0.8) ){
00158   for(int i=0 ; i<=7 ; i++){
00159     for(int j=0 ; j<=7 ; j++){
00160         dot_matrix.write(TestDot[3][i][j][2]);
00161         dot_matrix.write(TestDot[3][i][j][1]);
00162         dot_matrix.write(TestDot[3][i][j][0]);
00163       }
00164       lat = 1;
00165       lat = 0;
00166       open_line = line[i];
00167       wait(0.001);
00168       open_line = 0;
00169       }
00170 }
00171 
00172 else if( (t.read()) >= 0.8 && (t.read()) <= 1 ){
00173   for(int i=0 ; i<=7 ; i++){
00174     for(int j=0 ; j<=7 ; j++){
00175         dot_matrix.write(TestDot[4][i][j][2]);
00176         dot_matrix.write(TestDot[4][i][j][1]);
00177         dot_matrix.write(TestDot[4][i][j][0]);
00178       }
00179       lat = 1;
00180       lat = 0;
00181       open_line = line[i];
00182       wait(0.001);
00183       open_line = 0;
00184       }
00185 }
00186 
00187 else if( (t.read()) >= 1 && (t.read() <= 1.2)) {
00188   for(int i=0 ; i<=7 ; i++){
00189     for(int j=0 ; j<=7 ; j++){
00190         dot_matrix.write(TestDot[5][i][j][2]);
00191         dot_matrix.write(TestDot[5][i][j][1]);
00192         dot_matrix.write(TestDot[5][i][j][0]);
00193       }
00194       lat = 1;
00195       lat = 0;
00196       open_line = line[i];
00197       wait(0.001);
00198       open_line = 0;
00199       }
00200 }
00201 
00202 else if( (t.read()) >= 1.2 && (t.read()) <= 1.4 ){
00203   for(int i=0 ; i<=7 ; i++){
00204     for(int j=0 ; j<=7 ; j++){
00205         dot_matrix.write(TestDot[6][i][j][2]);
00206         dot_matrix.write(TestDot[6][i][j][1]);
00207         dot_matrix.write(TestDot[6][i][j][0]);
00208       }
00209       lat = 1;
00210       lat = 0;
00211       open_line = line[i];
00212       wait(0.001);
00213       open_line = 0;
00214       }
00215 }
00216 
00217 else{
00218   t.reset();
00219 }
00220 }
00221 }