ProjectBattleShip_FRA221 / WolfWarp
Committer:
Xantares
Date:
Mon Dec 05 07:11:54 2016 +0000
Revision:
4:82be81810ee6
yi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Xantares 4:82be81810ee6 1 #include "mbed.h"
Xantares 4:82be81810ee6 2 //************************ Complete to Interface ***************************
Xantares 4:82be81810ee6 3 // configure library with this code ****************************************
Xantares 4:82be81810ee6 4 SPI dot_matrix(D11,NC,D13); //mosi miso sclk
Xantares 4:82be81810ee6 5 DigitalOut lat(PA_12); //6
Xantares 4:82be81810ee6 6 DigitalOut sb(PA_11); //7
Xantares 4:82be81810ee6 7 DigitalOut rst(D10);
Xantares 4:82be81810ee6 8 BusOut open_line(D2,D3,D4,D5,D6,D7,D8,D9);
Xantares 4:82be81810ee6 9 //c0 c1 c2 c3 c4 c5 c6 c7 dont foget d7
Xantares 4:82be81810ee6 10 Serial pc(D1, D0);
Xantares 4:82be81810ee6 11 Timer t;
Xantares 4:82be81810ee6 12
Xantares 4:82be81810ee6 13 int counter;
Xantares 4:82be81810ee6 14 int click = 0;
Xantares 4:82be81810ee6 15 int swap = 0;
Xantares 4:82be81810ee6 16 int downter = 60;
Xantares 4:82be81810ee6 17 uint8_t rgb[3] = {0,0,0};
Xantares 4:82be81810ee6 18
Xantares 4:82be81810ee6 19 int main(){
Xantares 4:82be81810ee6 20
Xantares 4:82be81810ee6 21 dot_matrix.frequency(1000000);
Xantares 4:82be81810ee6 22 // dot_matrix.format(6,0);
Xantares 4:82be81810ee6 23 uint8_t wb[3] = {255,255,255};
Xantares 4:82be81810ee6 24 uint8_t pic[73][8] ={
Xantares 4:82be81810ee6 25 {0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 26 {0xbd,0xa1,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 27 {0xbd,0xa1,0xa1,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 28 {0xbd,0xa1,0xa1,0xbd,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 29 {0xbd,0xa1,0xa1,0xbd,0xa1,0x00,0x00,0x00},
Xantares 4:82be81810ee6 30 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0x00,0x00},
Xantares 4:82be81810ee6 31 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x00},
Xantares 4:82be81810ee6 32 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 33
Xantares 4:82be81810ee6 34 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 35 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 36 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 37 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 38 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 39 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 40 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 41 {0xbd,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 42
Xantares 4:82be81810ee6 43 {0x00,0xa1,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 44 {0x00,0x00,0xa1,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 45 {0x00,0x00,0x00,0xbd,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 46 {0x00,0x00,0x00,0x00,0xa1,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 47 {0x00,0x00,0x00,0x00,0x00,0xa1,0xbd,0x81},
Xantares 4:82be81810ee6 48 {0x00,0x00,0x00,0x00,0x00,0x00,0xbd,0x81},
Xantares 4:82be81810ee6 49 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81},
Xantares 4:82be81810ee6 50 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 51
Xantares 4:82be81810ee6 52
Xantares 4:82be81810ee6 53 {0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 54 {0xbd,0xa1,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 55 {0xbd,0xa1,0xa1,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 56 {0xbd,0xa1,0xa1,0xbd,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 57 {0xbd,0xa1,0xa1,0xbd,0x85,0x00,0x00,0x00},
Xantares 4:82be81810ee6 58 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0x00,0x00},
Xantares 4:82be81810ee6 59 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x00},
Xantares 4:82be81810ee6 60 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 61
Xantares 4:82be81810ee6 62 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 63 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 64 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 65 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 66 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 67 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 68 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 69 {0xbd,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 70
Xantares 4:82be81810ee6 71 {0x00,0xa1,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 72 {0x00,0x00,0xa1,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 73 {0x00,0x00,0x00,0xbd,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 74 {0x00,0x00,0x00,0x00,0x85,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 75 {0x00,0x00,0x00,0x00,0x00,0x85,0xbd,0x81},
Xantares 4:82be81810ee6 76 {0x00,0x00,0x00,0x00,0x00,0x00,0xbd,0x81},
Xantares 4:82be81810ee6 77 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81},
Xantares 4:82be81810ee6 78 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 79
Xantares 4:82be81810ee6 80
Xantares 4:82be81810ee6 81 {0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 82 {0x99,0x9d,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 83 {0x99,0x9d,0x99,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 84 {0x99,0x9d,0x99,0x99,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 85 {0x99,0x9d,0x99,0x99,0x99,0x00,0x00,0x00},
Xantares 4:82be81810ee6 86 {0x99,0x9d,0x99,0x99,0x99,0x99,0x00,0x00},
Xantares 4:82be81810ee6 87 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x00},
Xantares 4:82be81810ee6 88 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 89
Xantares 4:82be81810ee6 90 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 91 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 92 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 93 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 94 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 95 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 96 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 97 {0x99,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 98
Xantares 4:82be81810ee6 99 {0x00,0x9d,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 100 {0x00,0x00,0x99,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 101 {0x00,0x00,0x00,0x99,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 102 {0x00,0x00,0x00,0x00,0x99,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 103 {0x00,0x00,0x00,0x00,0x00,0x99,0xbd,0x81},
Xantares 4:82be81810ee6 104 {0x00,0x00,0x00,0x00,0x00,0x00,0xbd,0x81},
Xantares 4:82be81810ee6 105 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81},
Xantares 4:82be81810ee6 106 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
Xantares 4:82be81810ee6 107
Xantares 4:82be81810ee6 108 {0x00,0xef,0xa1,0xad,0xa9,0xef,0x00,0x00}
Xantares 4:82be81810ee6 109
Xantares 4:82be81810ee6 110
Xantares 4:82be81810ee6 111 };
Xantares 4:82be81810ee6 112 uint8_t temp;
Xantares 4:82be81810ee6 113 int line[8] = {1,2,4,8,16,32,64,128};
Xantares 4:82be81810ee6 114
Xantares 4:82be81810ee6 115 rst = 1;
Xantares 4:82be81810ee6 116 wait(0.5);
Xantares 4:82be81810ee6 117 rst = 0;
Xantares 4:82be81810ee6 118 wait(0.5);
Xantares 4:82be81810ee6 119 rst = 1;
Xantares 4:82be81810ee6 120 wait(0.5);
Xantares 4:82be81810ee6 121
Xantares 4:82be81810ee6 122 //dot_matrix.format(6,0);
Xantares 4:82be81810ee6 123 sb = 0; // 6 bit
Xantares 4:82be81810ee6 124 for(int i = 0; i<8; i++){
Xantares 4:82be81810ee6 125 dot_matrix.write(wb[0]);
Xantares 4:82be81810ee6 126 dot_matrix.write(wb[1]);
Xantares 4:82be81810ee6 127 dot_matrix.write(wb[2]);
Xantares 4:82be81810ee6 128
Xantares 4:82be81810ee6 129 open_line = 0;
Xantares 4:82be81810ee6 130 // dot_matrix.format(8,0);
Xantares 4:82be81810ee6 131 sb = 1; // 8 bit
Xantares 4:82be81810ee6 132 t.start();
Xantares 4:82be81810ee6 133 while (1) {
Xantares 4:82be81810ee6 134 if(swap <= 72){
Xantares 4:82be81810ee6 135 for(int j=0;j<=72;j++){
Xantares 4:82be81810ee6 136 swap = swap + 1;
Xantares 4:82be81810ee6 137 for(int a=0;a<=7;a++){
Xantares 4:82be81810ee6 138 temp = pic[j][a];
Xantares 4:82be81810ee6 139 counter = counter+1;
Xantares 4:82be81810ee6 140 if( counter == 60 ){
Xantares 4:82be81810ee6 141 click = click+1;
Xantares 4:82be81810ee6 142 counter=0;
Xantares 4:82be81810ee6 143 }
Xantares 4:82be81810ee6 144 if(click == 0){
Xantares 4:82be81810ee6 145 rgb[0] = 0;
Xantares 4:82be81810ee6 146 rgb[1] = 0;
Xantares 4:82be81810ee6 147 rgb[2] = counter;
Xantares 4:82be81810ee6 148 }
Xantares 4:82be81810ee6 149 else if(click == 1){
Xantares 4:82be81810ee6 150 rgb[0] = 0;
Xantares 4:82be81810ee6 151 rgb[1] = counter;
Xantares 4:82be81810ee6 152 rgb[2] = 60;
Xantares 4:82be81810ee6 153 }
Xantares 4:82be81810ee6 154 else if(click == 2){
Xantares 4:82be81810ee6 155 rgb[0] = 0;
Xantares 4:82be81810ee6 156 rgb[1] = 60;
Xantares 4:82be81810ee6 157 rgb[2] = 60 - counter;
Xantares 4:82be81810ee6 158 }
Xantares 4:82be81810ee6 159 else if(click == 3){
Xantares 4:82be81810ee6 160 rgb[0] = counter;
Xantares 4:82be81810ee6 161 rgb[1] = 60;
Xantares 4:82be81810ee6 162 rgb[2] = 0;
Xantares 4:82be81810ee6 163 }
Xantares 4:82be81810ee6 164 else if(click == 4){
Xantares 4:82be81810ee6 165 rgb[0] = 60;
Xantares 4:82be81810ee6 166 rgb[1] = 60 - counter;
Xantares 4:82be81810ee6 167 rgb[2] = 0;
Xantares 4:82be81810ee6 168 }
Xantares 4:82be81810ee6 169 else if(click == 5){
Xantares 4:82be81810ee6 170 rgb[0] = 60;
Xantares 4:82be81810ee6 171 rgb[1] = 0;
Xantares 4:82be81810ee6 172 rgb[2] = counter;
Xantares 4:82be81810ee6 173 }
Xantares 4:82be81810ee6 174 else if(click == 6){
Xantares 4:82be81810ee6 175 rgb[0] = 60 - counter;
Xantares 4:82be81810ee6 176 rgb[1] = 0;
Xantares 4:82be81810ee6 177 rgb[2] = 60;
Xantares 4:82be81810ee6 178 }
Xantares 4:82be81810ee6 179 else if(click == 7){
Xantares 4:82be81810ee6 180 rgb[0] = 0;
Xantares 4:82be81810ee6 181 rgb[1] = 0;
Xantares 4:82be81810ee6 182 rgb[2] = 60;
Xantares 4:82be81810ee6 183 click = 1;
Xantares 4:82be81810ee6 184 }
Xantares 4:82be81810ee6 185 for(int i = 0; i<8; i++){
Xantares 4:82be81810ee6 186
Xantares 4:82be81810ee6 187 if(temp & 0x80){
Xantares 4:82be81810ee6 188 dot_matrix.write(rgb[0]);
Xantares 4:82be81810ee6 189 dot_matrix.write(rgb[1]);
Xantares 4:82be81810ee6 190 dot_matrix.write(rgb[2]);
Xantares 4:82be81810ee6 191 }
Xantares 4:82be81810ee6 192 else{
Xantares 4:82be81810ee6 193 dot_matrix.write(0);
Xantares 4:82be81810ee6 194 dot_matrix.write(0);
Xantares 4:82be81810ee6 195 dot_matrix.write(0);
Xantares 4:82be81810ee6 196 }
Xantares 4:82be81810ee6 197 temp = temp << 1;
Xantares 4:82be81810ee6 198 }
Xantares 4:82be81810ee6 199 lat = 1;
Xantares 4:82be81810ee6 200 lat = 0;
Xantares 4:82be81810ee6 201 open_line = line[a];
Xantares 4:82be81810ee6 202 wait(0.0025);
Xantares 4:82be81810ee6 203 }
Xantares 4:82be81810ee6 204
Xantares 4:82be81810ee6 205 //open_line = 0;
Xantares 4:82be81810ee6 206
Xantares 4:82be81810ee6 207 }
Xantares 4:82be81810ee6 208 }
Xantares 4:82be81810ee6 209 else if(swap >=72){
Xantares 4:82be81810ee6 210 t.reset();
Xantares 4:82be81810ee6 211 t.start();
Xantares 4:82be81810ee6 212 if( t.read()>= 0 && t.read()<= 5 ){
Xantares 4:82be81810ee6 213 for(int j=0;j<=72;j++){
Xantares 4:82be81810ee6 214 swap = swap + 1;
Xantares 4:82be81810ee6 215 for(int a=0;a<=7;a++){
Xantares 4:82be81810ee6 216 temp = pic[72][a];
Xantares 4:82be81810ee6 217 counter = counter+1;
Xantares 4:82be81810ee6 218 if( counter == 60 ){
Xantares 4:82be81810ee6 219 click = click+1;
Xantares 4:82be81810ee6 220 counter=0;
Xantares 4:82be81810ee6 221 }
Xantares 4:82be81810ee6 222 if(click == 0){
Xantares 4:82be81810ee6 223 rgb[0] = 0;
Xantares 4:82be81810ee6 224 rgb[1] = 0;
Xantares 4:82be81810ee6 225 rgb[2] = counter;
Xantares 4:82be81810ee6 226 }
Xantares 4:82be81810ee6 227 else if(click == 1){
Xantares 4:82be81810ee6 228 rgb[0] = 0;
Xantares 4:82be81810ee6 229 rgb[1] = counter;
Xantares 4:82be81810ee6 230 rgb[2] = 60;
Xantares 4:82be81810ee6 231 }
Xantares 4:82be81810ee6 232 else if(click == 2){
Xantares 4:82be81810ee6 233 rgb[0] = 0;
Xantares 4:82be81810ee6 234 rgb[1] = 60;
Xantares 4:82be81810ee6 235 rgb[2] = 60 - counter;
Xantares 4:82be81810ee6 236 }
Xantares 4:82be81810ee6 237 else if(click == 3){
Xantares 4:82be81810ee6 238 rgb[0] = counter;
Xantares 4:82be81810ee6 239 rgb[1] = 60;
Xantares 4:82be81810ee6 240 rgb[2] = 0;
Xantares 4:82be81810ee6 241 }
Xantares 4:82be81810ee6 242 else if(click == 4){
Xantares 4:82be81810ee6 243 rgb[0] = 60;
Xantares 4:82be81810ee6 244 rgb[1] = 60 - counter;
Xantares 4:82be81810ee6 245 rgb[2] = 0;
Xantares 4:82be81810ee6 246 }
Xantares 4:82be81810ee6 247 else if(click == 5){
Xantares 4:82be81810ee6 248 rgb[0] = 60;
Xantares 4:82be81810ee6 249 rgb[1] = 0;
Xantares 4:82be81810ee6 250 rgb[2] = counter;
Xantares 4:82be81810ee6 251 }
Xantares 4:82be81810ee6 252 else if(click == 6){
Xantares 4:82be81810ee6 253 rgb[0] = 60 - counter;
Xantares 4:82be81810ee6 254 rgb[1] = 0;
Xantares 4:82be81810ee6 255 rgb[2] = 60;
Xantares 4:82be81810ee6 256 }
Xantares 4:82be81810ee6 257 else if(click == 7){
Xantares 4:82be81810ee6 258 rgb[0] = 0;
Xantares 4:82be81810ee6 259 rgb[1] = 0;
Xantares 4:82be81810ee6 260 rgb[2] = 60;
Xantares 4:82be81810ee6 261 click = 1;
Xantares 4:82be81810ee6 262 }
Xantares 4:82be81810ee6 263 for(int i = 0; i<8; i++){
Xantares 4:82be81810ee6 264
Xantares 4:82be81810ee6 265 if(temp & 0x80){
Xantares 4:82be81810ee6 266 dot_matrix.write(rgb[0]);
Xantares 4:82be81810ee6 267 dot_matrix.write(rgb[1]);
Xantares 4:82be81810ee6 268 dot_matrix.write(rgb[2]);
Xantares 4:82be81810ee6 269 }
Xantares 4:82be81810ee6 270 else{
Xantares 4:82be81810ee6 271 dot_matrix.write(0);
Xantares 4:82be81810ee6 272 dot_matrix.write(0);
Xantares 4:82be81810ee6 273 dot_matrix.write(0);
Xantares 4:82be81810ee6 274 }
Xantares 4:82be81810ee6 275 temp = temp << 1;
Xantares 4:82be81810ee6 276 }
Xantares 4:82be81810ee6 277 lat = 1;
Xantares 4:82be81810ee6 278 lat = 0;
Xantares 4:82be81810ee6 279 open_line = line[a];
Xantares 4:82be81810ee6 280 wait(0.0025);
Xantares 4:82be81810ee6 281
Xantares 4:82be81810ee6 282 }
Xantares 4:82be81810ee6 283 }
Xantares 4:82be81810ee6 284 }
Xantares 4:82be81810ee6 285 else{
Xantares 4:82be81810ee6 286 break;
Xantares 4:82be81810ee6 287 }
Xantares 4:82be81810ee6 288 }
Xantares 4:82be81810ee6 289 }
Xantares 4:82be81810ee6 290 }
Xantares 4:82be81810ee6 291 }