Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of Project_PokPakGame by
main.cpp@3:054a677aca64, 2015-12-05 (annotated)
- Committer:
- lolopo008
- Date:
- Sat Dec 05 13:48:10 2015 +0000
- Revision:
- 3:054a677aca64
- Parent:
- 2:8b6312dbfd2f
- Child:
- 4:3605c624b64f
.;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Pumipachpro | 0:e282add6146d | 1 | #include "mbed.h" |
Pumipachpro | 2:8b6312dbfd2f | 2 | |
Pumipachpro | 0:e282add6146d | 3 | SPI DataPack(SPI_MOSI, SPI_MISO, SPI_SCK); |
Pumipachpro | 0:e282add6146d | 4 | DigitalOut Latch(D10); |
Pumipachpro | 2:8b6312dbfd2f | 5 | AnalogIn VR0(A0); |
Pumipachpro | 2:8b6312dbfd2f | 6 | AnalogIn VR1(A1); |
Pumipachpro | 0:e282add6146d | 7 | |
Pumipachpro | 2:8b6312dbfd2f | 8 | float VR_value0,VR_value1; |
Pumipachpro | 2:8b6312dbfd2f | 9 | int Base[6][3][3]= { |
Pumipachpro | 2:8b6312dbfd2f | 10 | //[6]=[0]_base1,[1]_base2,[2]_base3,[3]_base4,[4]_base5,[5]_base6 |
Pumipachpro | 2:8b6312dbfd2f | 11 | //[3]=[0]_red,[1]_yello,[2]_green |
Pumipachpro | 2:8b6312dbfd2f | 12 | {{0x1F,0xFF,0xFF},{0x1F,0x1F,0xFF},{0xFF,0x1F,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 13 | {{0x8F,0xFF,0xFF},{0x8F,0x8F,0xFF},{0xFF,0x8F,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 14 | {{0xC7,0xFF,0xFF},{0xC7,0xC7,0xFF},{0xFF,0xC7,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 15 | {{0xE3,0xFF,0xFF},{0xE3,0xE3,0xFF},{0xFF,0xE3,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 16 | {{0xF1,0xFF,0xFF},{0xF1,0xF1,0xFF},{0xFF,0xF1,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 17 | {{0xF8,0xFF,0xFF},{0xF8,0xF8,0xFF},{0xFF,0xF8,0xFF}} |
Pumipachpro | 2:8b6312dbfd2f | 18 | }; |
lolopo008 | 3:054a677aca64 | 19 | int Row[8]= {1,2,4,8,16,32,64,128}; |
lolopo008 | 3:054a677aca64 | 20 | int Col[8]= {127,191,223,239,247,251,253,254}; |
lolopo008 | 3:054a677aca64 | 21 | int x,y,up,down,t,way,c; |
lolopo008 | 3:054a677aca64 | 22 | |
lolopo008 | 3:054a677aca64 | 23 | void Count() |
lolopo008 | 3:054a677aca64 | 24 | { |
lolopo008 | 3:054a677aca64 | 25 | //3 |
lolopo008 | 3:054a677aca64 | 26 | for(c=0; c<3000; c++) { |
lolopo008 | 3:054a677aca64 | 27 | Latch=0; |
lolopo008 | 3:054a677aca64 | 28 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 29 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 30 | DataPack.write(0x1F); |
lolopo008 | 3:054a677aca64 | 31 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 32 | DataPack.write(0x1F); |
lolopo008 | 3:054a677aca64 | 33 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 34 | DataPack.write(0x40); |
lolopo008 | 3:054a677aca64 | 35 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 36 | Latch=1; |
lolopo008 | 3:054a677aca64 | 37 | |
lolopo008 | 3:054a677aca64 | 38 | Latch=0; |
lolopo008 | 3:054a677aca64 | 39 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 40 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 41 | DataPack.write(0x78); |
lolopo008 | 3:054a677aca64 | 42 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 43 | DataPack.write(0x78); |
lolopo008 | 3:054a677aca64 | 44 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 45 | DataPack.write(0x28); |
lolopo008 | 3:054a677aca64 | 46 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 47 | Latch=1; |
lolopo008 | 3:054a677aca64 | 48 | |
lolopo008 | 3:054a677aca64 | 49 | Latch=0; |
lolopo008 | 3:054a677aca64 | 50 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 51 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 52 | DataPack.write(0x1E); |
lolopo008 | 3:054a677aca64 | 53 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 54 | DataPack.write(0x1E); |
lolopo008 | 3:054a677aca64 | 55 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 56 | DataPack.write(0x14); |
lolopo008 | 3:054a677aca64 | 57 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 58 | Latch=1; |
lolopo008 | 3:054a677aca64 | 59 | |
lolopo008 | 3:054a677aca64 | 60 | Latch=0; |
lolopo008 | 3:054a677aca64 | 61 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 62 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 63 | DataPack.write(0xF8); |
lolopo008 | 3:054a677aca64 | 64 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 65 | DataPack.write(0xF8); |
lolopo008 | 3:054a677aca64 | 66 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 67 | DataPack.write(0x02); |
lolopo008 | 3:054a677aca64 | 68 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 69 | Latch=1; |
lolopo008 | 3:054a677aca64 | 70 | } |
lolopo008 | 3:054a677aca64 | 71 | |
lolopo008 | 3:054a677aca64 | 72 | //2 |
lolopo008 | 3:054a677aca64 | 73 | for(c=0; c<2200; c++) { |
lolopo008 | 3:054a677aca64 | 74 | Latch=0; |
lolopo008 | 3:054a677aca64 | 75 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 76 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 77 | DataPack.write(0x1F); |
lolopo008 | 3:054a677aca64 | 78 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 79 | DataPack.write(0x1F); |
lolopo008 | 3:054a677aca64 | 80 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 81 | DataPack.write(0x40); |
lolopo008 | 3:054a677aca64 | 82 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 83 | Latch=1; |
lolopo008 | 3:054a677aca64 | 84 | |
lolopo008 | 3:054a677aca64 | 85 | Latch=0; |
lolopo008 | 3:054a677aca64 | 86 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 87 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 88 | DataPack.write(0xD8); |
lolopo008 | 3:054a677aca64 | 89 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 90 | DataPack.write(0xD8); |
lolopo008 | 3:054a677aca64 | 91 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 92 | DataPack.write(0x20); |
lolopo008 | 3:054a677aca64 | 93 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 94 | Latch=1; |
lolopo008 | 3:054a677aca64 | 95 | |
lolopo008 | 3:054a677aca64 | 96 | Latch=0; |
lolopo008 | 3:054a677aca64 | 97 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 98 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 99 | DataPack.write(0x1E); |
lolopo008 | 3:054a677aca64 | 100 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 101 | DataPack.write(0x1E); |
lolopo008 | 3:054a677aca64 | 102 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 103 | DataPack.write(0x10); |
lolopo008 | 3:054a677aca64 | 104 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 105 | Latch=1; |
lolopo008 | 3:054a677aca64 | 106 | |
lolopo008 | 3:054a677aca64 | 107 | Latch=0; |
lolopo008 | 3:054a677aca64 | 108 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 109 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 110 | DataPack.write(0x78); |
lolopo008 | 3:054a677aca64 | 111 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 112 | DataPack.write(0x78); |
lolopo008 | 3:054a677aca64 | 113 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 114 | DataPack.write(0x08); |
lolopo008 | 3:054a677aca64 | 115 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 116 | Latch=1; |
lolopo008 | 3:054a677aca64 | 117 | |
lolopo008 | 3:054a677aca64 | 118 | Latch=0; |
lolopo008 | 3:054a677aca64 | 119 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 120 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 121 | DataPack.write(0x1B); |
lolopo008 | 3:054a677aca64 | 122 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 123 | DataPack.write(0x1B); |
lolopo008 | 3:054a677aca64 | 124 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 125 | DataPack.write(0x04); |
lolopo008 | 3:054a677aca64 | 126 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 127 | Latch=1; |
lolopo008 | 3:054a677aca64 | 128 | |
lolopo008 | 3:054a677aca64 | 129 | Latch=0; |
lolopo008 | 3:054a677aca64 | 130 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 131 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 132 | DataPack.write(0xF8); |
lolopo008 | 3:054a677aca64 | 133 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 134 | DataPack.write(0xF8); |
lolopo008 | 3:054a677aca64 | 135 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 136 | DataPack.write(0x02); |
lolopo008 | 3:054a677aca64 | 137 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 138 | Latch=1; |
lolopo008 | 3:054a677aca64 | 139 | } |
lolopo008 | 3:054a677aca64 | 140 | |
lolopo008 | 3:054a677aca64 | 141 | //1 |
lolopo008 | 3:054a677aca64 | 142 | for(c=0; c<4000; c++) { |
lolopo008 | 3:054a677aca64 | 143 | Latch=0; |
lolopo008 | 3:054a677aca64 | 144 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 145 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 146 | DataPack.write(0xBF); |
lolopo008 | 3:054a677aca64 | 147 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 148 | DataPack.write(0xBF); |
lolopo008 | 3:054a677aca64 | 149 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 150 | DataPack.write(0x40); |
lolopo008 | 3:054a677aca64 | 151 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 152 | Latch=1; |
lolopo008 | 3:054a677aca64 | 153 | |
lolopo008 | 3:054a677aca64 | 154 | Latch=0; |
lolopo008 | 3:054a677aca64 | 155 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 156 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 157 | DataPack.write(0xBD); |
lolopo008 | 3:054a677aca64 | 158 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 159 | DataPack.write(0xBD); |
lolopo008 | 3:054a677aca64 | 160 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 161 | DataPack.write(0x3C); |
lolopo008 | 3:054a677aca64 | 162 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 163 | Latch=1; |
lolopo008 | 3:054a677aca64 | 164 | |
lolopo008 | 3:054a677aca64 | 165 | Latch=0; |
lolopo008 | 3:054a677aca64 | 166 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 167 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 168 | DataPack.write(0xFD); |
lolopo008 | 3:054a677aca64 | 169 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 170 | DataPack.write(0xFD); |
lolopo008 | 3:054a677aca64 | 171 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 172 | DataPack.write(0x02); |
lolopo008 | 3:054a677aca64 | 173 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 174 | Latch=1; |
lolopo008 | 3:054a677aca64 | 175 | } |
lolopo008 | 3:054a677aca64 | 176 | } |
Pumipachpro | 2:8b6312dbfd2f | 177 | |
Pumipachpro | 2:8b6312dbfd2f | 178 | void BaseColorUnder(int a,int b) |
Pumipachpro | 2:8b6312dbfd2f | 179 | { |
Pumipachpro | 2:8b6312dbfd2f | 180 | Latch=0; |
Pumipachpro | 2:8b6312dbfd2f | 181 | DataPack.write(Base[a][b][0]); |
Pumipachpro | 2:8b6312dbfd2f | 182 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 183 | DataPack.write(Base[a][b][1]); |
Pumipachpro | 2:8b6312dbfd2f | 184 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 185 | DataPack.write(Base[a][b][2]); |
Pumipachpro | 2:8b6312dbfd2f | 186 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 187 | DataPack.write(0x01); |
Pumipachpro | 2:8b6312dbfd2f | 188 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 189 | Latch=1; |
Pumipachpro | 2:8b6312dbfd2f | 190 | } |
Pumipachpro | 2:8b6312dbfd2f | 191 | |
Pumipachpro | 2:8b6312dbfd2f | 192 | void BaseColorUpper(int a,int b) |
Pumipachpro | 2:8b6312dbfd2f | 193 | { |
Pumipachpro | 2:8b6312dbfd2f | 194 | Latch=0; |
Pumipachpro | 2:8b6312dbfd2f | 195 | DataPack.write(Base[a][b][0]); |
Pumipachpro | 2:8b6312dbfd2f | 196 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 197 | DataPack.write(Base[a][b][1]); |
Pumipachpro | 2:8b6312dbfd2f | 198 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 199 | DataPack.write(Base[a][b][2]); |
Pumipachpro | 2:8b6312dbfd2f | 200 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 201 | DataPack.write(0x80); |
Pumipachpro | 2:8b6312dbfd2f | 202 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 203 | Latch=1; |
Pumipachpro | 2:8b6312dbfd2f | 204 | } |
Pumipachpro | 2:8b6312dbfd2f | 205 | |
Pumipachpro | 2:8b6312dbfd2f | 206 | //color >> red=0 , yello=1 , green=2 |
Pumipachpro | 2:8b6312dbfd2f | 207 | int BaseUnder(int color) |
Pumipachpro | 2:8b6312dbfd2f | 208 | { |
Pumipachpro | 2:8b6312dbfd2f | 209 | VR_value0 = VR0.read(); |
Pumipachpro | 2:8b6312dbfd2f | 210 | VR_value0 = VR_value0*6; |
Pumipachpro | 0:e282add6146d | 211 | |
Pumipachpro | 2:8b6312dbfd2f | 212 | if(VR_value0<=1) { |
Pumipachpro | 2:8b6312dbfd2f | 213 | //base1 |
Pumipachpro | 2:8b6312dbfd2f | 214 | BaseColorUnder(0,color); |
Pumipachpro | 2:8b6312dbfd2f | 215 | return 1; |
Pumipachpro | 2:8b6312dbfd2f | 216 | } else if(VR_value0>1&&VR_value0<=2) { |
Pumipachpro | 2:8b6312dbfd2f | 217 | //base2 |
Pumipachpro | 2:8b6312dbfd2f | 218 | BaseColorUnder(1,color); |
Pumipachpro | 2:8b6312dbfd2f | 219 | return 2; |
Pumipachpro | 2:8b6312dbfd2f | 220 | } else if(VR_value0>2&&VR_value0<=3) { |
Pumipachpro | 2:8b6312dbfd2f | 221 | //base3 |
Pumipachpro | 2:8b6312dbfd2f | 222 | BaseColorUnder(2,color); |
Pumipachpro | 2:8b6312dbfd2f | 223 | return 3; |
Pumipachpro | 2:8b6312dbfd2f | 224 | } else if(VR_value0>3&&VR_value0<=4) { |
Pumipachpro | 2:8b6312dbfd2f | 225 | //base4 |
Pumipachpro | 2:8b6312dbfd2f | 226 | BaseColorUnder(3,color); |
Pumipachpro | 2:8b6312dbfd2f | 227 | return 4; |
Pumipachpro | 2:8b6312dbfd2f | 228 | } else if(VR_value0>4&&VR_value0<=5) { |
Pumipachpro | 2:8b6312dbfd2f | 229 | //base5 |
Pumipachpro | 2:8b6312dbfd2f | 230 | BaseColorUnder(4,color); |
Pumipachpro | 2:8b6312dbfd2f | 231 | return 5; |
Pumipachpro | 2:8b6312dbfd2f | 232 | } else if(VR_value0>5&&VR_value0<=6) { |
Pumipachpro | 2:8b6312dbfd2f | 233 | //base4 |
Pumipachpro | 2:8b6312dbfd2f | 234 | BaseColorUnder(5,color); |
Pumipachpro | 2:8b6312dbfd2f | 235 | return 6; |
Pumipachpro | 2:8b6312dbfd2f | 236 | } |
Pumipachpro | 2:8b6312dbfd2f | 237 | } |
Pumipachpro | 2:8b6312dbfd2f | 238 | |
Pumipachpro | 2:8b6312dbfd2f | 239 | //color >> red=0 , yello=1 , green=2 |
Pumipachpro | 2:8b6312dbfd2f | 240 | int BaseUpper(int color) |
Pumipachpro | 2:8b6312dbfd2f | 241 | { |
Pumipachpro | 2:8b6312dbfd2f | 242 | VR_value1 = VR1.read(); |
Pumipachpro | 2:8b6312dbfd2f | 243 | VR_value1 = VR_value1*6; |
Pumipachpro | 2:8b6312dbfd2f | 244 | |
Pumipachpro | 2:8b6312dbfd2f | 245 | if(VR_value1<=1) { |
Pumipachpro | 2:8b6312dbfd2f | 246 | //base1 |
Pumipachpro | 2:8b6312dbfd2f | 247 | BaseColorUpper(0,color); |
Pumipachpro | 2:8b6312dbfd2f | 248 | return 1; |
Pumipachpro | 2:8b6312dbfd2f | 249 | } else if(VR_value1>1&&VR_value1<=2) { |
Pumipachpro | 2:8b6312dbfd2f | 250 | //base2 |
Pumipachpro | 2:8b6312dbfd2f | 251 | BaseColorUpper(1,color); |
Pumipachpro | 2:8b6312dbfd2f | 252 | return 2; |
Pumipachpro | 2:8b6312dbfd2f | 253 | } else if(VR_value1>2&&VR_value1<=3) { |
Pumipachpro | 2:8b6312dbfd2f | 254 | //base3 |
Pumipachpro | 2:8b6312dbfd2f | 255 | BaseColorUpper(2,color); |
Pumipachpro | 2:8b6312dbfd2f | 256 | return 3; |
Pumipachpro | 2:8b6312dbfd2f | 257 | } else if(VR_value1>3&&VR_value1<=4) { |
Pumipachpro | 2:8b6312dbfd2f | 258 | //base4 |
Pumipachpro | 2:8b6312dbfd2f | 259 | BaseColorUpper(3,color); |
Pumipachpro | 2:8b6312dbfd2f | 260 | return 4; |
Pumipachpro | 2:8b6312dbfd2f | 261 | } else if(VR_value1>4&&VR_value1<=5) { |
Pumipachpro | 2:8b6312dbfd2f | 262 | //base5 |
Pumipachpro | 2:8b6312dbfd2f | 263 | BaseColorUpper(4,color); |
Pumipachpro | 2:8b6312dbfd2f | 264 | return 5; |
Pumipachpro | 2:8b6312dbfd2f | 265 | } else if(VR_value1>5&&VR_value1<=6) { |
Pumipachpro | 2:8b6312dbfd2f | 266 | //base4 |
Pumipachpro | 2:8b6312dbfd2f | 267 | BaseColorUpper(5,color); |
Pumipachpro | 2:8b6312dbfd2f | 268 | return 6; |
Pumipachpro | 2:8b6312dbfd2f | 269 | } |
Pumipachpro | 2:8b6312dbfd2f | 270 | } |
Pumipachpro | 2:8b6312dbfd2f | 271 | |
Pumipachpro | 2:8b6312dbfd2f | 272 | int main() |
Pumipachpro | 2:8b6312dbfd2f | 273 | { |
lolopo008 | 3:054a677aca64 | 274 | |
Pumipachpro | 0:e282add6146d | 275 | DataPack.frequency(100000); |
Pumipachpro | 0:e282add6146d | 276 | DataPack.format(8,0); |
lolopo008 | 3:054a677aca64 | 277 | x=2; |
lolopo008 | 3:054a677aca64 | 278 | way=0; |
Pumipachpro | 0:e282add6146d | 279 | |
lolopo008 | 3:054a677aca64 | 280 | Count(); |
lolopo008 | 3:054a677aca64 | 281 | |
Pumipachpro | 2:8b6312dbfd2f | 282 | while(1) { |
lolopo008 | 3:054a677aca64 | 283 | for(y=2; y<7; y++) { |
lolopo008 | 3:054a677aca64 | 284 | |
lolopo008 | 3:054a677aca64 | 285 | if(x>6||x<1) { |
lolopo008 | 3:054a677aca64 | 286 | way=way*-1; |
lolopo008 | 3:054a677aca64 | 287 | } |
lolopo008 | 3:054a677aca64 | 288 | |
lolopo008 | 3:054a677aca64 | 289 | x=x+way; |
lolopo008 | 3:054a677aca64 | 290 | for(t=0; t<800; t++) { |
lolopo008 | 3:054a677aca64 | 291 | BaseUnder(2); |
lolopo008 | 3:054a677aca64 | 292 | up=BaseUpper(2); |
lolopo008 | 3:054a677aca64 | 293 | |
lolopo008 | 3:054a677aca64 | 294 | Latch=0; |
lolopo008 | 3:054a677aca64 | 295 | DataPack.write(Col[x]); |
lolopo008 | 3:054a677aca64 | 296 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 297 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 298 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 299 | DataPack.write(Col[x]); |
lolopo008 | 3:054a677aca64 | 300 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 301 | DataPack.write(Row[y]); |
lolopo008 | 3:054a677aca64 | 302 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 303 | Latch=1; |
lolopo008 | 3:054a677aca64 | 304 | } |
lolopo008 | 3:054a677aca64 | 305 | } |
lolopo008 | 3:054a677aca64 | 306 | |
lolopo008 | 3:054a677aca64 | 307 | if(x==0) { |
lolopo008 | 3:054a677aca64 | 308 | if(up>1) { |
lolopo008 | 3:054a677aca64 | 309 | break; |
lolopo008 | 3:054a677aca64 | 310 | } |
lolopo008 | 3:054a677aca64 | 311 | way=1; |
lolopo008 | 3:054a677aca64 | 312 | } |
lolopo008 | 3:054a677aca64 | 313 | if(x==1) { |
lolopo008 | 3:054a677aca64 | 314 | if(up>2) { |
lolopo008 | 3:054a677aca64 | 315 | break; |
lolopo008 | 3:054a677aca64 | 316 | } else if(up==1) { |
lolopo008 | 3:054a677aca64 | 317 | way=0; |
lolopo008 | 3:054a677aca64 | 318 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 319 | } |
lolopo008 | 3:054a677aca64 | 320 | if(x==2) { |
lolopo008 | 3:054a677aca64 | 321 | if(up>3) { |
lolopo008 | 3:054a677aca64 | 322 | break; |
lolopo008 | 3:054a677aca64 | 323 | } else if(up==1) { |
lolopo008 | 3:054a677aca64 | 324 | way=1; |
lolopo008 | 3:054a677aca64 | 325 | } else if(up==2) { |
lolopo008 | 3:054a677aca64 | 326 | way=0; |
lolopo008 | 3:054a677aca64 | 327 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 328 | } |
lolopo008 | 3:054a677aca64 | 329 | if(x==3) { |
lolopo008 | 3:054a677aca64 | 330 | if(up<2||up>4) { |
lolopo008 | 3:054a677aca64 | 331 | break; |
lolopo008 | 3:054a677aca64 | 332 | } else if(up==2) { |
lolopo008 | 3:054a677aca64 | 333 | way=1; |
lolopo008 | 3:054a677aca64 | 334 | } else if(up==3) { |
lolopo008 | 3:054a677aca64 | 335 | way=0; |
lolopo008 | 3:054a677aca64 | 336 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 337 | } |
lolopo008 | 3:054a677aca64 | 338 | if(x==4) { |
lolopo008 | 3:054a677aca64 | 339 | if(up<3||up>5) { |
lolopo008 | 3:054a677aca64 | 340 | break; |
lolopo008 | 3:054a677aca64 | 341 | } else if(up==3) { |
lolopo008 | 3:054a677aca64 | 342 | way=1; |
lolopo008 | 3:054a677aca64 | 343 | } else if(up==4) { |
lolopo008 | 3:054a677aca64 | 344 | way=0; |
lolopo008 | 3:054a677aca64 | 345 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 346 | } |
lolopo008 | 3:054a677aca64 | 347 | if(x==5) { |
lolopo008 | 3:054a677aca64 | 348 | if(up<4) { |
lolopo008 | 3:054a677aca64 | 349 | break; |
lolopo008 | 3:054a677aca64 | 350 | } else if(up==4) { |
lolopo008 | 3:054a677aca64 | 351 | way=1; |
lolopo008 | 3:054a677aca64 | 352 | } else if(up==5) { |
lolopo008 | 3:054a677aca64 | 353 | way=0; |
lolopo008 | 3:054a677aca64 | 354 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 355 | } |
lolopo008 | 3:054a677aca64 | 356 | if(x==6) { |
lolopo008 | 3:054a677aca64 | 357 | if(up<5) { |
lolopo008 | 3:054a677aca64 | 358 | break; |
lolopo008 | 3:054a677aca64 | 359 | } else if(up==5) { |
lolopo008 | 3:054a677aca64 | 360 | way=1; |
lolopo008 | 3:054a677aca64 | 361 | } else way=0; |
lolopo008 | 3:054a677aca64 | 362 | } |
lolopo008 | 3:054a677aca64 | 363 | if(x==7) { |
lolopo008 | 3:054a677aca64 | 364 | if(up<6) { |
lolopo008 | 3:054a677aca64 | 365 | break; |
lolopo008 | 3:054a677aca64 | 366 | } |
lolopo008 | 3:054a677aca64 | 367 | way=1; |
lolopo008 | 3:054a677aca64 | 368 | } |
lolopo008 | 3:054a677aca64 | 369 | |
lolopo008 | 3:054a677aca64 | 370 | for(y=5; y>0; y--) { |
lolopo008 | 3:054a677aca64 | 371 | |
lolopo008 | 3:054a677aca64 | 372 | if(x>6||x<1) { |
lolopo008 | 3:054a677aca64 | 373 | way=way*-1; |
lolopo008 | 3:054a677aca64 | 374 | } |
lolopo008 | 3:054a677aca64 | 375 | |
lolopo008 | 3:054a677aca64 | 376 | x=x+way; |
lolopo008 | 3:054a677aca64 | 377 | for(t=0; t<800; t++) { |
lolopo008 | 3:054a677aca64 | 378 | down=BaseUnder(2); |
lolopo008 | 3:054a677aca64 | 379 | BaseUpper(2); |
lolopo008 | 3:054a677aca64 | 380 | |
lolopo008 | 3:054a677aca64 | 381 | Latch=0; |
lolopo008 | 3:054a677aca64 | 382 | DataPack.write(Col[x]); |
lolopo008 | 3:054a677aca64 | 383 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 384 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 385 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 386 | DataPack.write(Col[x]); |
lolopo008 | 3:054a677aca64 | 387 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 388 | DataPack.write(Row[y]); |
lolopo008 | 3:054a677aca64 | 389 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 390 | Latch=1; |
lolopo008 | 3:054a677aca64 | 391 | } |
lolopo008 | 3:054a677aca64 | 392 | } |
lolopo008 | 3:054a677aca64 | 393 | |
lolopo008 | 3:054a677aca64 | 394 | if(x==0) { |
lolopo008 | 3:054a677aca64 | 395 | if(down>1) { |
lolopo008 | 3:054a677aca64 | 396 | break; |
lolopo008 | 3:054a677aca64 | 397 | } |
lolopo008 | 3:054a677aca64 | 398 | way=1; |
lolopo008 | 3:054a677aca64 | 399 | } |
lolopo008 | 3:054a677aca64 | 400 | if(x==1) { |
lolopo008 | 3:054a677aca64 | 401 | if(down>2) { |
lolopo008 | 3:054a677aca64 | 402 | break; |
lolopo008 | 3:054a677aca64 | 403 | } else if(down==1) { |
lolopo008 | 3:054a677aca64 | 404 | way=0; |
lolopo008 | 3:054a677aca64 | 405 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 406 | } |
lolopo008 | 3:054a677aca64 | 407 | if(x==2) { |
lolopo008 | 3:054a677aca64 | 408 | if(down>3) { |
lolopo008 | 3:054a677aca64 | 409 | break; |
lolopo008 | 3:054a677aca64 | 410 | } else if(down==1) { |
lolopo008 | 3:054a677aca64 | 411 | way=1; |
lolopo008 | 3:054a677aca64 | 412 | } else if(down==2) { |
lolopo008 | 3:054a677aca64 | 413 | way=0; |
lolopo008 | 3:054a677aca64 | 414 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 415 | } |
lolopo008 | 3:054a677aca64 | 416 | if(x==3) { |
lolopo008 | 3:054a677aca64 | 417 | if(down<2||down>4) { |
lolopo008 | 3:054a677aca64 | 418 | break; |
lolopo008 | 3:054a677aca64 | 419 | } else if(down==2) { |
lolopo008 | 3:054a677aca64 | 420 | way=1; |
lolopo008 | 3:054a677aca64 | 421 | } else if(down==3) { |
lolopo008 | 3:054a677aca64 | 422 | way=0; |
lolopo008 | 3:054a677aca64 | 423 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 424 | } |
lolopo008 | 3:054a677aca64 | 425 | if(x==4) { |
lolopo008 | 3:054a677aca64 | 426 | if(down<3||down>5) { |
lolopo008 | 3:054a677aca64 | 427 | break; |
lolopo008 | 3:054a677aca64 | 428 | } else if(down==3) { |
lolopo008 | 3:054a677aca64 | 429 | way=1; |
lolopo008 | 3:054a677aca64 | 430 | } else if(down==4) { |
lolopo008 | 3:054a677aca64 | 431 | way=0; |
lolopo008 | 3:054a677aca64 | 432 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 433 | } |
lolopo008 | 3:054a677aca64 | 434 | if(x==5) { |
lolopo008 | 3:054a677aca64 | 435 | if(down<4) { |
lolopo008 | 3:054a677aca64 | 436 | break; |
lolopo008 | 3:054a677aca64 | 437 | } else if(down==4) { |
lolopo008 | 3:054a677aca64 | 438 | way=1; |
lolopo008 | 3:054a677aca64 | 439 | } else if(down==5) { |
lolopo008 | 3:054a677aca64 | 440 | way=0; |
lolopo008 | 3:054a677aca64 | 441 | } else way=-1; |
lolopo008 | 3:054a677aca64 | 442 | } |
lolopo008 | 3:054a677aca64 | 443 | if(x==6) { |
lolopo008 | 3:054a677aca64 | 444 | if(down<5) { |
lolopo008 | 3:054a677aca64 | 445 | break; |
lolopo008 | 3:054a677aca64 | 446 | } else if(down==5) { |
lolopo008 | 3:054a677aca64 | 447 | way=1; |
lolopo008 | 3:054a677aca64 | 448 | } else way=0; |
lolopo008 | 3:054a677aca64 | 449 | } |
lolopo008 | 3:054a677aca64 | 450 | if(x==7) { |
lolopo008 | 3:054a677aca64 | 451 | if(down<6) { |
lolopo008 | 3:054a677aca64 | 452 | break; |
lolopo008 | 3:054a677aca64 | 453 | } |
lolopo008 | 3:054a677aca64 | 454 | way=1; |
lolopo008 | 3:054a677aca64 | 455 | } |
lolopo008 | 3:054a677aca64 | 456 | |
Pumipachpro | 2:8b6312dbfd2f | 457 | } |
Pumipachpro | 0:e282add6146d | 458 | } |