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@5:7041c827932b, 2015-12-06 (annotated)
- Committer:
- lolopo008
- Date:
- Sun Dec 06 17:06:18 2015 +0000
- Revision:
- 5:7041c827932b
- Parent:
- 4:3605c624b64f
- Child:
- 6:ba32ff34ce87
good
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); |
lolopo008 | 4:3605c624b64f | 7 | AnalogIn ran(A2); |
lolopo008 | 4:3605c624b64f | 8 | DigitalIn UnderButton(D7); |
lolopo008 | 4:3605c624b64f | 9 | DigitalIn UpperButton(D6); |
Pumipachpro | 0:e282add6146d | 10 | |
Pumipachpro | 2:8b6312dbfd2f | 11 | float VR_value0,VR_value1; |
lolopo008 | 5:7041c827932b | 12 | int Base[10][3][3]= { |
lolopo008 | 5:7041c827932b | 13 | //[6]=[0]_base1,[1]_base2,[2]_base3,[3]_base4,[4]_base5,[5]_base6 ,[6]_baseSS1 ,[7]_baseSS2,[8]_baseSS3 ,[9]_baseSS4 |
Pumipachpro | 2:8b6312dbfd2f | 14 | //[3]=[0]_red,[1]_yello,[2]_green |
Pumipachpro | 2:8b6312dbfd2f | 15 | {{0x1F,0xFF,0xFF},{0x1F,0x1F,0xFF},{0xFF,0x1F,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 16 | {{0x8F,0xFF,0xFF},{0x8F,0x8F,0xFF},{0xFF,0x8F,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 17 | {{0xC7,0xFF,0xFF},{0xC7,0xC7,0xFF},{0xFF,0xC7,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 18 | {{0xE3,0xFF,0xFF},{0xE3,0xE3,0xFF},{0xFF,0xE3,0xFF}} , |
Pumipachpro | 2:8b6312dbfd2f | 19 | {{0xF1,0xFF,0xFF},{0xF1,0xF1,0xFF},{0xFF,0xF1,0xFF}} , |
lolopo008 | 5:7041c827932b | 20 | {{0xF8,0xFF,0xFF},{0xF8,0xF8,0xFF},{0xFF,0xF8,0xFF}} , |
lolopo008 | 5:7041c827932b | 21 | {{0x07,0xFF,0xFF},{0x07,0x07,0xFF},{0xFF,0x07,0xFF}} , |
lolopo008 | 5:7041c827932b | 22 | {{0x83,0xFF,0xFF},{0x83,0x83,0xFF},{0xFF,0x83,0xFF}} , |
lolopo008 | 5:7041c827932b | 23 | {{0xC1,0xFF,0xFF},{0xC1,0xC1,0xFF},{0xFF,0xC1,0xFF}} , |
lolopo008 | 5:7041c827932b | 24 | {{0xE0,0xFF,0xFF},{0xE0,0xE0,0xFF},{0xFF,0xE0,0xFF}} |
Pumipachpro | 2:8b6312dbfd2f | 25 | }; |
lolopo008 | 3:054a677aca64 | 26 | int Row[8]= {1,2,4,8,16,32,64,128}; |
lolopo008 | 3:054a677aca64 | 27 | int Col[8]= {127,191,223,239,247,251,253,254}; |
lolopo008 | 5:7041c827932b | 28 | int x,y,up,down,t,way,c,citem,ritem,us,ds,chkss,gitem,sstime,n,i,m; |
lolopo008 | 3:054a677aca64 | 29 | |
lolopo008 | 3:054a677aca64 | 30 | void Count() |
lolopo008 | 3:054a677aca64 | 31 | { |
lolopo008 | 3:054a677aca64 | 32 | //3 |
lolopo008 | 3:054a677aca64 | 33 | for(c=0; c<3000; c++) { |
lolopo008 | 3:054a677aca64 | 34 | Latch=0; |
lolopo008 | 3:054a677aca64 | 35 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 36 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 37 | DataPack.write(0x1F); |
lolopo008 | 3:054a677aca64 | 38 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 39 | DataPack.write(0x1F); |
lolopo008 | 3:054a677aca64 | 40 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 41 | DataPack.write(0x40); |
lolopo008 | 3:054a677aca64 | 42 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 43 | Latch=1; |
lolopo008 | 3:054a677aca64 | 44 | |
lolopo008 | 3:054a677aca64 | 45 | Latch=0; |
lolopo008 | 3:054a677aca64 | 46 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 47 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 48 | DataPack.write(0x78); |
lolopo008 | 3:054a677aca64 | 49 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 50 | DataPack.write(0x78); |
lolopo008 | 3:054a677aca64 | 51 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 52 | DataPack.write(0x28); |
lolopo008 | 3:054a677aca64 | 53 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 54 | Latch=1; |
lolopo008 | 3:054a677aca64 | 55 | |
lolopo008 | 3:054a677aca64 | 56 | Latch=0; |
lolopo008 | 3:054a677aca64 | 57 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 58 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 59 | DataPack.write(0x1E); |
lolopo008 | 3:054a677aca64 | 60 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 61 | DataPack.write(0x1E); |
lolopo008 | 3:054a677aca64 | 62 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 63 | DataPack.write(0x14); |
lolopo008 | 3:054a677aca64 | 64 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 65 | Latch=1; |
lolopo008 | 3:054a677aca64 | 66 | |
lolopo008 | 3:054a677aca64 | 67 | Latch=0; |
lolopo008 | 3:054a677aca64 | 68 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 69 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 70 | DataPack.write(0xF8); |
lolopo008 | 3:054a677aca64 | 71 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 72 | DataPack.write(0xF8); |
lolopo008 | 3:054a677aca64 | 73 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 74 | DataPack.write(0x02); |
lolopo008 | 3:054a677aca64 | 75 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 76 | Latch=1; |
lolopo008 | 3:054a677aca64 | 77 | } |
lolopo008 | 3:054a677aca64 | 78 | |
lolopo008 | 3:054a677aca64 | 79 | //2 |
lolopo008 | 3:054a677aca64 | 80 | for(c=0; c<2200; c++) { |
lolopo008 | 3:054a677aca64 | 81 | Latch=0; |
lolopo008 | 3:054a677aca64 | 82 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 83 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 84 | DataPack.write(0x1F); |
lolopo008 | 3:054a677aca64 | 85 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 86 | DataPack.write(0x1F); |
lolopo008 | 3:054a677aca64 | 87 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 88 | DataPack.write(0x40); |
lolopo008 | 3:054a677aca64 | 89 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 90 | Latch=1; |
lolopo008 | 3:054a677aca64 | 91 | |
lolopo008 | 3:054a677aca64 | 92 | Latch=0; |
lolopo008 | 3:054a677aca64 | 93 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 94 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 95 | DataPack.write(0xD8); |
lolopo008 | 3:054a677aca64 | 96 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 97 | DataPack.write(0xD8); |
lolopo008 | 3:054a677aca64 | 98 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 99 | DataPack.write(0x20); |
lolopo008 | 3:054a677aca64 | 100 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 101 | Latch=1; |
lolopo008 | 3:054a677aca64 | 102 | |
lolopo008 | 3:054a677aca64 | 103 | Latch=0; |
lolopo008 | 3:054a677aca64 | 104 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 105 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 106 | DataPack.write(0x1E); |
lolopo008 | 3:054a677aca64 | 107 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 108 | DataPack.write(0x1E); |
lolopo008 | 3:054a677aca64 | 109 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 110 | DataPack.write(0x10); |
lolopo008 | 3:054a677aca64 | 111 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 112 | Latch=1; |
lolopo008 | 3:054a677aca64 | 113 | |
lolopo008 | 3:054a677aca64 | 114 | Latch=0; |
lolopo008 | 3:054a677aca64 | 115 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 116 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 117 | DataPack.write(0x78); |
lolopo008 | 3:054a677aca64 | 118 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 119 | DataPack.write(0x78); |
lolopo008 | 3:054a677aca64 | 120 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 121 | DataPack.write(0x08); |
lolopo008 | 3:054a677aca64 | 122 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 123 | Latch=1; |
lolopo008 | 3:054a677aca64 | 124 | |
lolopo008 | 3:054a677aca64 | 125 | Latch=0; |
lolopo008 | 3:054a677aca64 | 126 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 127 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 128 | DataPack.write(0x1B); |
lolopo008 | 3:054a677aca64 | 129 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 130 | DataPack.write(0x1B); |
lolopo008 | 3:054a677aca64 | 131 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 132 | DataPack.write(0x04); |
lolopo008 | 3:054a677aca64 | 133 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 134 | Latch=1; |
lolopo008 | 3:054a677aca64 | 135 | |
lolopo008 | 3:054a677aca64 | 136 | Latch=0; |
lolopo008 | 3:054a677aca64 | 137 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 138 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 139 | DataPack.write(0xF8); |
lolopo008 | 3:054a677aca64 | 140 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 141 | DataPack.write(0xF8); |
lolopo008 | 3:054a677aca64 | 142 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 143 | DataPack.write(0x02); |
lolopo008 | 3:054a677aca64 | 144 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 145 | Latch=1; |
lolopo008 | 3:054a677aca64 | 146 | } |
lolopo008 | 3:054a677aca64 | 147 | |
lolopo008 | 3:054a677aca64 | 148 | //1 |
lolopo008 | 3:054a677aca64 | 149 | for(c=0; c<4000; c++) { |
lolopo008 | 3:054a677aca64 | 150 | Latch=0; |
lolopo008 | 3:054a677aca64 | 151 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 152 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 153 | DataPack.write(0xBF); |
lolopo008 | 3:054a677aca64 | 154 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 155 | DataPack.write(0xBF); |
lolopo008 | 3:054a677aca64 | 156 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 157 | DataPack.write(0x40); |
lolopo008 | 3:054a677aca64 | 158 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 159 | Latch=1; |
lolopo008 | 3:054a677aca64 | 160 | |
lolopo008 | 3:054a677aca64 | 161 | Latch=0; |
lolopo008 | 3:054a677aca64 | 162 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 163 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 164 | DataPack.write(0xBD); |
lolopo008 | 3:054a677aca64 | 165 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 166 | DataPack.write(0xBD); |
lolopo008 | 3:054a677aca64 | 167 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 168 | DataPack.write(0x3C); |
lolopo008 | 3:054a677aca64 | 169 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 170 | Latch=1; |
lolopo008 | 3:054a677aca64 | 171 | |
lolopo008 | 3:054a677aca64 | 172 | Latch=0; |
lolopo008 | 3:054a677aca64 | 173 | DataPack.write(0xFF); |
lolopo008 | 3:054a677aca64 | 174 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 175 | DataPack.write(0xFD); |
lolopo008 | 3:054a677aca64 | 176 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 177 | DataPack.write(0xFD); |
lolopo008 | 3:054a677aca64 | 178 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 179 | DataPack.write(0x02); |
lolopo008 | 3:054a677aca64 | 180 | wait_us(1); |
lolopo008 | 3:054a677aca64 | 181 | Latch=1; |
lolopo008 | 3:054a677aca64 | 182 | } |
lolopo008 | 3:054a677aca64 | 183 | } |
Pumipachpro | 2:8b6312dbfd2f | 184 | |
Pumipachpro | 2:8b6312dbfd2f | 185 | void BaseColorUnder(int a,int b) |
Pumipachpro | 2:8b6312dbfd2f | 186 | { |
Pumipachpro | 2:8b6312dbfd2f | 187 | Latch=0; |
Pumipachpro | 2:8b6312dbfd2f | 188 | DataPack.write(Base[a][b][0]); |
Pumipachpro | 2:8b6312dbfd2f | 189 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 190 | DataPack.write(Base[a][b][1]); |
Pumipachpro | 2:8b6312dbfd2f | 191 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 192 | DataPack.write(Base[a][b][2]); |
Pumipachpro | 2:8b6312dbfd2f | 193 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 194 | DataPack.write(0x01); |
Pumipachpro | 2:8b6312dbfd2f | 195 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 196 | Latch=1; |
Pumipachpro | 2:8b6312dbfd2f | 197 | } |
Pumipachpro | 2:8b6312dbfd2f | 198 | |
Pumipachpro | 2:8b6312dbfd2f | 199 | void BaseColorUpper(int a,int b) |
Pumipachpro | 2:8b6312dbfd2f | 200 | { |
Pumipachpro | 2:8b6312dbfd2f | 201 | Latch=0; |
Pumipachpro | 2:8b6312dbfd2f | 202 | DataPack.write(Base[a][b][0]); |
Pumipachpro | 2:8b6312dbfd2f | 203 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 204 | DataPack.write(Base[a][b][1]); |
Pumipachpro | 2:8b6312dbfd2f | 205 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 206 | DataPack.write(Base[a][b][2]); |
Pumipachpro | 2:8b6312dbfd2f | 207 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 208 | DataPack.write(0x80); |
Pumipachpro | 2:8b6312dbfd2f | 209 | wait_us(1); |
Pumipachpro | 2:8b6312dbfd2f | 210 | Latch=1; |
Pumipachpro | 2:8b6312dbfd2f | 211 | } |
Pumipachpro | 2:8b6312dbfd2f | 212 | |
Pumipachpro | 2:8b6312dbfd2f | 213 | //color >> red=0 , yello=1 , green=2 |
Pumipachpro | 2:8b6312dbfd2f | 214 | int BaseUnder(int color) |
Pumipachpro | 2:8b6312dbfd2f | 215 | { |
Pumipachpro | 2:8b6312dbfd2f | 216 | VR_value0 = VR0.read(); |
Pumipachpro | 2:8b6312dbfd2f | 217 | VR_value0 = VR_value0*6; |
Pumipachpro | 0:e282add6146d | 218 | |
Pumipachpro | 2:8b6312dbfd2f | 219 | if(VR_value0<=1) { |
Pumipachpro | 2:8b6312dbfd2f | 220 | //base1 |
Pumipachpro | 2:8b6312dbfd2f | 221 | BaseColorUnder(0,color); |
Pumipachpro | 2:8b6312dbfd2f | 222 | return 1; |
Pumipachpro | 2:8b6312dbfd2f | 223 | } else if(VR_value0>1&&VR_value0<=2) { |
Pumipachpro | 2:8b6312dbfd2f | 224 | //base2 |
Pumipachpro | 2:8b6312dbfd2f | 225 | BaseColorUnder(1,color); |
Pumipachpro | 2:8b6312dbfd2f | 226 | return 2; |
Pumipachpro | 2:8b6312dbfd2f | 227 | } else if(VR_value0>2&&VR_value0<=3) { |
Pumipachpro | 2:8b6312dbfd2f | 228 | //base3 |
Pumipachpro | 2:8b6312dbfd2f | 229 | BaseColorUnder(2,color); |
Pumipachpro | 2:8b6312dbfd2f | 230 | return 3; |
Pumipachpro | 2:8b6312dbfd2f | 231 | } else if(VR_value0>3&&VR_value0<=4) { |
Pumipachpro | 2:8b6312dbfd2f | 232 | //base4 |
Pumipachpro | 2:8b6312dbfd2f | 233 | BaseColorUnder(3,color); |
Pumipachpro | 2:8b6312dbfd2f | 234 | return 4; |
Pumipachpro | 2:8b6312dbfd2f | 235 | } else if(VR_value0>4&&VR_value0<=5) { |
Pumipachpro | 2:8b6312dbfd2f | 236 | //base5 |
Pumipachpro | 2:8b6312dbfd2f | 237 | BaseColorUnder(4,color); |
Pumipachpro | 2:8b6312dbfd2f | 238 | return 5; |
Pumipachpro | 2:8b6312dbfd2f | 239 | } else if(VR_value0>5&&VR_value0<=6) { |
Pumipachpro | 2:8b6312dbfd2f | 240 | //base4 |
Pumipachpro | 2:8b6312dbfd2f | 241 | BaseColorUnder(5,color); |
Pumipachpro | 2:8b6312dbfd2f | 242 | return 6; |
Pumipachpro | 2:8b6312dbfd2f | 243 | } |
Pumipachpro | 2:8b6312dbfd2f | 244 | } |
Pumipachpro | 2:8b6312dbfd2f | 245 | |
Pumipachpro | 2:8b6312dbfd2f | 246 | //color >> red=0 , yello=1 , green=2 |
Pumipachpro | 2:8b6312dbfd2f | 247 | int BaseUpper(int color) |
Pumipachpro | 2:8b6312dbfd2f | 248 | { |
Pumipachpro | 2:8b6312dbfd2f | 249 | VR_value1 = VR1.read(); |
Pumipachpro | 2:8b6312dbfd2f | 250 | VR_value1 = VR_value1*6; |
Pumipachpro | 2:8b6312dbfd2f | 251 | |
Pumipachpro | 2:8b6312dbfd2f | 252 | if(VR_value1<=1) { |
Pumipachpro | 2:8b6312dbfd2f | 253 | //base1 |
Pumipachpro | 2:8b6312dbfd2f | 254 | BaseColorUpper(0,color); |
Pumipachpro | 2:8b6312dbfd2f | 255 | return 1; |
Pumipachpro | 2:8b6312dbfd2f | 256 | } else if(VR_value1>1&&VR_value1<=2) { |
Pumipachpro | 2:8b6312dbfd2f | 257 | //base2 |
Pumipachpro | 2:8b6312dbfd2f | 258 | BaseColorUpper(1,color); |
Pumipachpro | 2:8b6312dbfd2f | 259 | return 2; |
Pumipachpro | 2:8b6312dbfd2f | 260 | } else if(VR_value1>2&&VR_value1<=3) { |
Pumipachpro | 2:8b6312dbfd2f | 261 | //base3 |
Pumipachpro | 2:8b6312dbfd2f | 262 | BaseColorUpper(2,color); |
Pumipachpro | 2:8b6312dbfd2f | 263 | return 3; |
Pumipachpro | 2:8b6312dbfd2f | 264 | } else if(VR_value1>3&&VR_value1<=4) { |
Pumipachpro | 2:8b6312dbfd2f | 265 | //base4 |
Pumipachpro | 2:8b6312dbfd2f | 266 | BaseColorUpper(3,color); |
Pumipachpro | 2:8b6312dbfd2f | 267 | return 4; |
Pumipachpro | 2:8b6312dbfd2f | 268 | } else if(VR_value1>4&&VR_value1<=5) { |
Pumipachpro | 2:8b6312dbfd2f | 269 | //base5 |
Pumipachpro | 2:8b6312dbfd2f | 270 | BaseColorUpper(4,color); |
Pumipachpro | 2:8b6312dbfd2f | 271 | return 5; |
Pumipachpro | 2:8b6312dbfd2f | 272 | } else if(VR_value1>5&&VR_value1<=6) { |
Pumipachpro | 2:8b6312dbfd2f | 273 | //base4 |
Pumipachpro | 2:8b6312dbfd2f | 274 | BaseColorUpper(5,color); |
Pumipachpro | 2:8b6312dbfd2f | 275 | return 6; |
Pumipachpro | 2:8b6312dbfd2f | 276 | } |
Pumipachpro | 2:8b6312dbfd2f | 277 | } |
Pumipachpro | 2:8b6312dbfd2f | 278 | |
lolopo008 | 4:3605c624b64f | 279 | int UnderStart(int color) |
lolopo008 | 4:3605c624b64f | 280 | { |
lolopo008 | 4:3605c624b64f | 281 | down=BaseUnder(color); |
lolopo008 | 4:3605c624b64f | 282 | Latch=0; |
lolopo008 | 4:3605c624b64f | 283 | DataPack.write(Col[down]); |
lolopo008 | 4:3605c624b64f | 284 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 285 | DataPack.write(0xFF); |
lolopo008 | 4:3605c624b64f | 286 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 287 | DataPack.write(Col[down]); |
lolopo008 | 4:3605c624b64f | 288 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 289 | DataPack.write(Row[1]); |
lolopo008 | 4:3605c624b64f | 290 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 291 | Latch=1; |
lolopo008 | 4:3605c624b64f | 292 | if(UnderButton==1) { |
lolopo008 | 4:3605c624b64f | 293 | x=down; |
lolopo008 | 4:3605c624b64f | 294 | return 1; |
lolopo008 | 4:3605c624b64f | 295 | } else return 0; |
lolopo008 | 4:3605c624b64f | 296 | } |
lolopo008 | 4:3605c624b64f | 297 | |
lolopo008 | 4:3605c624b64f | 298 | int UpperStart(int color) |
lolopo008 | 4:3605c624b64f | 299 | { |
lolopo008 | 4:3605c624b64f | 300 | up=BaseUpper(color); |
lolopo008 | 4:3605c624b64f | 301 | Latch=0; |
lolopo008 | 4:3605c624b64f | 302 | DataPack.write(Col[up]); |
lolopo008 | 4:3605c624b64f | 303 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 304 | DataPack.write(0xFF); |
lolopo008 | 4:3605c624b64f | 305 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 306 | DataPack.write(Col[up]); |
lolopo008 | 4:3605c624b64f | 307 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 308 | DataPack.write(Row[6]); |
lolopo008 | 4:3605c624b64f | 309 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 310 | Latch=1; |
lolopo008 | 4:3605c624b64f | 311 | if(UpperButton==1) { |
lolopo008 | 4:3605c624b64f | 312 | x=up; |
lolopo008 | 4:3605c624b64f | 313 | return 1; |
lolopo008 | 4:3605c624b64f | 314 | } else return 0; |
lolopo008 | 4:3605c624b64f | 315 | } |
lolopo008 | 4:3605c624b64f | 316 | |
lolopo008 | 4:3605c624b64f | 317 | void uplose(int x) |
lolopo008 | 4:3605c624b64f | 318 | { |
lolopo008 | 4:3605c624b64f | 319 | Latch=0; |
lolopo008 | 4:3605c624b64f | 320 | DataPack.write(0xFF); |
lolopo008 | 4:3605c624b64f | 321 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 322 | DataPack.write(0xFF); |
lolopo008 | 4:3605c624b64f | 323 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 324 | DataPack.write(Col[x]); |
lolopo008 | 4:3605c624b64f | 325 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 326 | DataPack.write(0x80); |
lolopo008 | 4:3605c624b64f | 327 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 328 | Latch=1; |
lolopo008 | 5:7041c827932b | 329 | wait_ms(300); |
lolopo008 | 4:3605c624b64f | 330 | |
lolopo008 | 4:3605c624b64f | 331 | } |
lolopo008 | 4:3605c624b64f | 332 | |
lolopo008 | 4:3605c624b64f | 333 | void downlose(int x) |
lolopo008 | 4:3605c624b64f | 334 | { |
lolopo008 | 4:3605c624b64f | 335 | Latch=0; |
lolopo008 | 4:3605c624b64f | 336 | DataPack.write(0xFF); |
lolopo008 | 4:3605c624b64f | 337 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 338 | DataPack.write(0xFF); |
lolopo008 | 4:3605c624b64f | 339 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 340 | DataPack.write(Col[x]); |
lolopo008 | 4:3605c624b64f | 341 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 342 | DataPack.write(0x01); |
lolopo008 | 4:3605c624b64f | 343 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 344 | Latch=1; |
lolopo008 | 5:7041c827932b | 345 | wait_ms(300); |
lolopo008 | 5:7041c827932b | 346 | } |
lolopo008 | 5:7041c827932b | 347 | |
lolopo008 | 5:7041c827932b | 348 | int ranitem_x() |
lolopo008 | 5:7041c827932b | 349 | { |
lolopo008 | 5:7041c827932b | 350 | int xrand; |
lolopo008 | 5:7041c827932b | 351 | |
lolopo008 | 5:7041c827932b | 352 | xrand=ran.read()*1000; |
lolopo008 | 5:7041c827932b | 353 | xrand=xrand%8; |
lolopo008 | 5:7041c827932b | 354 | |
lolopo008 | 5:7041c827932b | 355 | return xrand; |
lolopo008 | 5:7041c827932b | 356 | |
lolopo008 | 5:7041c827932b | 357 | } |
lolopo008 | 5:7041c827932b | 358 | |
lolopo008 | 5:7041c827932b | 359 | int ranitem_y() |
lolopo008 | 5:7041c827932b | 360 | { |
lolopo008 | 5:7041c827932b | 361 | int yrand; |
lolopo008 | 5:7041c827932b | 362 | |
lolopo008 | 5:7041c827932b | 363 | yrand=ran.read()*1000; |
lolopo008 | 5:7041c827932b | 364 | yrand=yrand%2; |
lolopo008 | 5:7041c827932b | 365 | |
lolopo008 | 5:7041c827932b | 366 | if(yrand==0) { |
lolopo008 | 5:7041c827932b | 367 | yrand=3; |
lolopo008 | 5:7041c827932b | 368 | } else { |
lolopo008 | 5:7041c827932b | 369 | yrand=4; |
lolopo008 | 5:7041c827932b | 370 | } |
lolopo008 | 5:7041c827932b | 371 | |
lolopo008 | 5:7041c827932b | 372 | return yrand; |
lolopo008 | 5:7041c827932b | 373 | |
lolopo008 | 5:7041c827932b | 374 | } |
lolopo008 | 5:7041c827932b | 375 | |
lolopo008 | 5:7041c827932b | 376 | void ranitem(int xrand,int yrand) |
lolopo008 | 5:7041c827932b | 377 | { |
lolopo008 | 5:7041c827932b | 378 | Latch=0; |
lolopo008 | 5:7041c827932b | 379 | DataPack.write(Col[xrand]); |
lolopo008 | 5:7041c827932b | 380 | wait_us(1); |
lolopo008 | 5:7041c827932b | 381 | DataPack.write(Col[xrand]); |
lolopo008 | 5:7041c827932b | 382 | wait_us(1); |
lolopo008 | 5:7041c827932b | 383 | DataPack.write(Col[xrand]); |
lolopo008 | 5:7041c827932b | 384 | wait_us(1); |
lolopo008 | 5:7041c827932b | 385 | DataPack.write(Row[yrand]); |
lolopo008 | 5:7041c827932b | 386 | wait_us(1); |
lolopo008 | 5:7041c827932b | 387 | Latch=1; |
lolopo008 | 5:7041c827932b | 388 | } |
lolopo008 | 5:7041c827932b | 389 | |
lolopo008 | 5:7041c827932b | 390 | //color >> red=0 , yello=1 , green=2 |
lolopo008 | 5:7041c827932b | 391 | int BaseUnderSS(int color) |
lolopo008 | 5:7041c827932b | 392 | { |
lolopo008 | 5:7041c827932b | 393 | VR_value0 = VR0.read(); |
lolopo008 | 5:7041c827932b | 394 | VR_value0 = VR_value0*4; |
lolopo008 | 5:7041c827932b | 395 | |
lolopo008 | 5:7041c827932b | 396 | if(VR_value0<=1) { |
lolopo008 | 5:7041c827932b | 397 | //base1 |
lolopo008 | 5:7041c827932b | 398 | BaseColorUnder(6,color); |
lolopo008 | 5:7041c827932b | 399 | return 1; |
lolopo008 | 5:7041c827932b | 400 | } else if(VR_value0>1&&VR_value0<=2) { |
lolopo008 | 5:7041c827932b | 401 | //base2 |
lolopo008 | 5:7041c827932b | 402 | BaseColorUnder(7,color); |
lolopo008 | 5:7041c827932b | 403 | return 2; |
lolopo008 | 5:7041c827932b | 404 | } else if(VR_value0>2&&VR_value0<=3) { |
lolopo008 | 5:7041c827932b | 405 | //base3 |
lolopo008 | 5:7041c827932b | 406 | BaseColorUnder(8,color); |
lolopo008 | 5:7041c827932b | 407 | return 3; |
lolopo008 | 5:7041c827932b | 408 | } else if(VR_value0>3&&VR_value0<=4) { |
lolopo008 | 5:7041c827932b | 409 | //base4 |
lolopo008 | 5:7041c827932b | 410 | BaseColorUnder(9,color); |
lolopo008 | 5:7041c827932b | 411 | return 4; |
lolopo008 | 5:7041c827932b | 412 | } |
lolopo008 | 5:7041c827932b | 413 | } |
lolopo008 | 5:7041c827932b | 414 | |
lolopo008 | 5:7041c827932b | 415 | //color >> red=0 , yello=1 , green=2 |
lolopo008 | 5:7041c827932b | 416 | int BaseUpperSS(int color) |
lolopo008 | 5:7041c827932b | 417 | { |
lolopo008 | 5:7041c827932b | 418 | VR_value1 = VR1.read(); |
lolopo008 | 5:7041c827932b | 419 | VR_value1 = VR_value1*4; |
lolopo008 | 5:7041c827932b | 420 | |
lolopo008 | 5:7041c827932b | 421 | if(VR_value1<=1) { |
lolopo008 | 5:7041c827932b | 422 | //base1 |
lolopo008 | 5:7041c827932b | 423 | BaseColorUpper(6,color); |
lolopo008 | 5:7041c827932b | 424 | return 1; |
lolopo008 | 5:7041c827932b | 425 | } else if(VR_value1>1&&VR_value1<=2) { |
lolopo008 | 5:7041c827932b | 426 | //base2 |
lolopo008 | 5:7041c827932b | 427 | BaseColorUpper(7,color); |
lolopo008 | 5:7041c827932b | 428 | return 2; |
lolopo008 | 5:7041c827932b | 429 | } else if(VR_value1>2&&VR_value1<=3) { |
lolopo008 | 5:7041c827932b | 430 | //base3 |
lolopo008 | 5:7041c827932b | 431 | BaseColorUpper(8,color); |
lolopo008 | 5:7041c827932b | 432 | return 3; |
lolopo008 | 5:7041c827932b | 433 | } else if(VR_value1>3&&VR_value1<=4) { |
lolopo008 | 5:7041c827932b | 434 | //base4 |
lolopo008 | 5:7041c827932b | 435 | BaseColorUpper(9,color); |
lolopo008 | 5:7041c827932b | 436 | return 4; |
lolopo008 | 5:7041c827932b | 437 | } |
lolopo008 | 4:3605c624b64f | 438 | } |
lolopo008 | 4:3605c624b64f | 439 | |
Pumipachpro | 2:8b6312dbfd2f | 440 | int main() |
Pumipachpro | 2:8b6312dbfd2f | 441 | { |
lolopo008 | 3:054a677aca64 | 442 | |
Pumipachpro | 0:e282add6146d | 443 | DataPack.frequency(100000); |
Pumipachpro | 0:e282add6146d | 444 | DataPack.format(8,0); |
lolopo008 | 5:7041c827932b | 445 | |
lolopo008 | 4:3605c624b64f | 446 | int chk,lifeup=2,lifeun=2; |
lolopo008 | 5:7041c827932b | 447 | int xrand,yrand; |
lolopo008 | 3:054a677aca64 | 448 | |
lolopo008 | 4:3605c624b64f | 449 | chk=ran.read()*1000; |
lolopo008 | 4:3605c624b64f | 450 | chk=chk%2; |
lolopo008 | 3:054a677aca64 | 451 | |
lolopo008 | 5:7041c827932b | 452 | Count(); |
lolopo008 | 5:7041c827932b | 453 | |
lolopo008 | 4:3605c624b64f | 454 | while(1) { |
lolopo008 | 5:7041c827932b | 455 | us=0; |
lolopo008 | 5:7041c827932b | 456 | ds=0; |
lolopo008 | 5:7041c827932b | 457 | chkss=0; |
lolopo008 | 5:7041c827932b | 458 | gitem=0; |
lolopo008 | 5:7041c827932b | 459 | way=0; |
lolopo008 | 4:3605c624b64f | 460 | while(1) { |
lolopo008 | 4:3605c624b64f | 461 | if(chk==0) { |
lolopo008 | 4:3605c624b64f | 462 | if(UnderStart(lifeun)==1) { |
lolopo008 | 4:3605c624b64f | 463 | break; |
lolopo008 | 4:3605c624b64f | 464 | } |
lolopo008 | 4:3605c624b64f | 465 | BaseUpper(lifeup); |
lolopo008 | 4:3605c624b64f | 466 | } |
lolopo008 | 4:3605c624b64f | 467 | if(chk==1) { |
lolopo008 | 4:3605c624b64f | 468 | if(UpperStart(lifeup)==1) { |
lolopo008 | 4:3605c624b64f | 469 | break; |
lolopo008 | 4:3605c624b64f | 470 | } |
lolopo008 | 4:3605c624b64f | 471 | BaseUnder(lifeun); |
lolopo008 | 3:054a677aca64 | 472 | } |
lolopo008 | 3:054a677aca64 | 473 | } |
lolopo008 | 5:7041c827932b | 474 | |
lolopo008 | 5:7041c827932b | 475 | citem=0; |
lolopo008 | 5:7041c827932b | 476 | ritem=ran.read()*1000; |
lolopo008 | 5:7041c827932b | 477 | ritem=(ritem%5)+1; |
lolopo008 | 5:7041c827932b | 478 | xrand=ranitem_x(); |
lolopo008 | 5:7041c827932b | 479 | yrand=ranitem_y(); |
lolopo008 | 5:7041c827932b | 480 | |
lolopo008 | 4:3605c624b64f | 481 | while(1) { |
lolopo008 | 4:3605c624b64f | 482 | if(chk==0) { |
lolopo008 | 4:3605c624b64f | 483 | for(y=2; y<7; y++) { |
lolopo008 | 4:3605c624b64f | 484 | if(x>6||x<1) { |
lolopo008 | 4:3605c624b64f | 485 | way=way*-1; |
lolopo008 | 4:3605c624b64f | 486 | } |
lolopo008 | 3:054a677aca64 | 487 | |
lolopo008 | 4:3605c624b64f | 488 | x=x+way; |
lolopo008 | 5:7041c827932b | 489 | for(t=0; t<600; t++) { |
lolopo008 | 5:7041c827932b | 490 | if(citem>ritem&&gitem!=1) { |
lolopo008 | 5:7041c827932b | 491 | ranitem(xrand,yrand); |
lolopo008 | 5:7041c827932b | 492 | chkss=1; |
lolopo008 | 5:7041c827932b | 493 | } |
lolopo008 | 5:7041c827932b | 494 | |
lolopo008 | 5:7041c827932b | 495 | Latch=0; |
lolopo008 | 5:7041c827932b | 496 | DataPack.write(Col[x]); |
lolopo008 | 5:7041c827932b | 497 | wait_us(1); |
lolopo008 | 5:7041c827932b | 498 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 499 | wait_us(1); |
lolopo008 | 5:7041c827932b | 500 | DataPack.write(Col[x]); |
lolopo008 | 5:7041c827932b | 501 | wait_us(1); |
lolopo008 | 5:7041c827932b | 502 | DataPack.write(Row[y]); |
lolopo008 | 5:7041c827932b | 503 | wait_us(1); |
lolopo008 | 5:7041c827932b | 504 | Latch=1; |
lolopo008 | 5:7041c827932b | 505 | |
lolopo008 | 5:7041c827932b | 506 | if(x==xrand&&y==yrand&&chkss==1&&gitem!=1) { |
lolopo008 | 5:7041c827932b | 507 | ds=1; |
lolopo008 | 5:7041c827932b | 508 | gitem=1; |
lolopo008 | 5:7041c827932b | 509 | sstime=0; |
lolopo008 | 5:7041c827932b | 510 | } |
lolopo008 | 5:7041c827932b | 511 | |
lolopo008 | 5:7041c827932b | 512 | if(ds==1) { |
lolopo008 | 5:7041c827932b | 513 | BaseUnderSS(lifeun); |
lolopo008 | 5:7041c827932b | 514 | up=BaseUpper(lifeup); |
lolopo008 | 5:7041c827932b | 515 | } else if(us==1) { |
lolopo008 | 5:7041c827932b | 516 | BaseUnder(lifeun); |
lolopo008 | 5:7041c827932b | 517 | up=BaseUpperSS(lifeup); |
lolopo008 | 5:7041c827932b | 518 | } else { |
lolopo008 | 5:7041c827932b | 519 | BaseUnder(lifeun); |
lolopo008 | 5:7041c827932b | 520 | up=BaseUpper(lifeup); |
lolopo008 | 5:7041c827932b | 521 | } |
lolopo008 | 5:7041c827932b | 522 | } |
lolopo008 | 5:7041c827932b | 523 | } |
lolopo008 | 5:7041c827932b | 524 | chk=1; |
lolopo008 | 5:7041c827932b | 525 | } |
lolopo008 | 5:7041c827932b | 526 | if(us==1) { |
lolopo008 | 5:7041c827932b | 527 | if(x==0) { |
lolopo008 | 5:7041c827932b | 528 | if(up>1) { |
lolopo008 | 5:7041c827932b | 529 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 530 | uplose(x); |
lolopo008 | 5:7041c827932b | 531 | break; |
lolopo008 | 5:7041c827932b | 532 | } |
lolopo008 | 5:7041c827932b | 533 | way=-1; |
lolopo008 | 5:7041c827932b | 534 | } |
lolopo008 | 5:7041c827932b | 535 | if(x==1) { |
lolopo008 | 5:7041c827932b | 536 | if(up>2) { |
lolopo008 | 5:7041c827932b | 537 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 538 | uplose(x); |
lolopo008 | 5:7041c827932b | 539 | break; |
lolopo008 | 5:7041c827932b | 540 | } else if(up==1) { |
lolopo008 | 5:7041c827932b | 541 | way=-1; |
lolopo008 | 5:7041c827932b | 542 | } else way=-1; |
lolopo008 | 5:7041c827932b | 543 | } |
lolopo008 | 5:7041c827932b | 544 | if(x==2) { |
lolopo008 | 5:7041c827932b | 545 | if(up>3) { |
lolopo008 | 5:7041c827932b | 546 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 547 | uplose(x); |
lolopo008 | 5:7041c827932b | 548 | break; |
lolopo008 | 5:7041c827932b | 549 | } else if(up==1) { |
lolopo008 | 5:7041c827932b | 550 | way=0; |
lolopo008 | 5:7041c827932b | 551 | } else if(up==2) { |
lolopo008 | 5:7041c827932b | 552 | way=-1; |
lolopo008 | 5:7041c827932b | 553 | } else way=-1; |
lolopo008 | 5:7041c827932b | 554 | } |
lolopo008 | 5:7041c827932b | 555 | if(x==3) { |
lolopo008 | 5:7041c827932b | 556 | if(up==1) { |
lolopo008 | 5:7041c827932b | 557 | way=1; |
lolopo008 | 5:7041c827932b | 558 | } else if(up==2) { |
lolopo008 | 5:7041c827932b | 559 | way=0; |
lolopo008 | 5:7041c827932b | 560 | } else if(up==3) { |
lolopo008 | 5:7041c827932b | 561 | way=-1; |
lolopo008 | 5:7041c827932b | 562 | } else way=-1; |
lolopo008 | 5:7041c827932b | 563 | } |
lolopo008 | 5:7041c827932b | 564 | if(x==4) { |
lolopo008 | 5:7041c827932b | 565 | if(up==1) { |
lolopo008 | 5:7041c827932b | 566 | way=1; |
lolopo008 | 5:7041c827932b | 567 | } else if(up==2) { |
lolopo008 | 5:7041c827932b | 568 | way=1; |
lolopo008 | 5:7041c827932b | 569 | } else if(up==3) { |
lolopo008 | 5:7041c827932b | 570 | way=0; |
lolopo008 | 5:7041c827932b | 571 | } else way=-1; |
lolopo008 | 5:7041c827932b | 572 | } |
lolopo008 | 5:7041c827932b | 573 | if(x==5) { |
lolopo008 | 5:7041c827932b | 574 | if(up<2) { |
lolopo008 | 5:7041c827932b | 575 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 576 | uplose(x); |
lolopo008 | 5:7041c827932b | 577 | break; |
lolopo008 | 5:7041c827932b | 578 | } else if(up==2) { |
lolopo008 | 5:7041c827932b | 579 | way=1; |
lolopo008 | 5:7041c827932b | 580 | } else if(up==3) { |
lolopo008 | 5:7041c827932b | 581 | way=1; |
lolopo008 | 5:7041c827932b | 582 | } else way=0; |
lolopo008 | 5:7041c827932b | 583 | } |
lolopo008 | 5:7041c827932b | 584 | if(x==6) { |
lolopo008 | 5:7041c827932b | 585 | if(up<3) { |
lolopo008 | 5:7041c827932b | 586 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 587 | uplose(x); |
lolopo008 | 5:7041c827932b | 588 | break; |
lolopo008 | 5:7041c827932b | 589 | } else if(up==3) { |
lolopo008 | 5:7041c827932b | 590 | way=1; |
lolopo008 | 5:7041c827932b | 591 | } else way=1; |
lolopo008 | 5:7041c827932b | 592 | } |
lolopo008 | 5:7041c827932b | 593 | if(x==7) { |
lolopo008 | 5:7041c827932b | 594 | if(up<4) { |
lolopo008 | 5:7041c827932b | 595 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 596 | uplose(x); |
lolopo008 | 5:7041c827932b | 597 | break; |
lolopo008 | 5:7041c827932b | 598 | } |
lolopo008 | 5:7041c827932b | 599 | way=1; |
lolopo008 | 5:7041c827932b | 600 | } |
lolopo008 | 5:7041c827932b | 601 | } else { |
lolopo008 | 5:7041c827932b | 602 | if(x==0) { |
lolopo008 | 5:7041c827932b | 603 | if(up>1) { |
lolopo008 | 5:7041c827932b | 604 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 605 | uplose(x); |
lolopo008 | 5:7041c827932b | 606 | break; |
lolopo008 | 5:7041c827932b | 607 | } |
lolopo008 | 5:7041c827932b | 608 | way=-1; |
lolopo008 | 5:7041c827932b | 609 | } |
lolopo008 | 5:7041c827932b | 610 | if(x==1) { |
lolopo008 | 5:7041c827932b | 611 | if(up>2) { |
lolopo008 | 5:7041c827932b | 612 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 613 | uplose(x); |
lolopo008 | 5:7041c827932b | 614 | break; |
lolopo008 | 5:7041c827932b | 615 | } else if(up==1) { |
lolopo008 | 5:7041c827932b | 616 | way=0; |
lolopo008 | 5:7041c827932b | 617 | } else way=-1; |
lolopo008 | 5:7041c827932b | 618 | } |
lolopo008 | 5:7041c827932b | 619 | if(x==2) { |
lolopo008 | 5:7041c827932b | 620 | if(up>3) { |
lolopo008 | 5:7041c827932b | 621 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 622 | uplose(x); |
lolopo008 | 5:7041c827932b | 623 | break; |
lolopo008 | 5:7041c827932b | 624 | } else if(up==1) { |
lolopo008 | 5:7041c827932b | 625 | way=1; |
lolopo008 | 5:7041c827932b | 626 | } else if(up==2) { |
lolopo008 | 5:7041c827932b | 627 | way=0; |
lolopo008 | 5:7041c827932b | 628 | } else way=-1; |
lolopo008 | 5:7041c827932b | 629 | } |
lolopo008 | 5:7041c827932b | 630 | if(x==3) { |
lolopo008 | 5:7041c827932b | 631 | if(up<2||up>4) { |
lolopo008 | 5:7041c827932b | 632 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 633 | uplose(x); |
lolopo008 | 5:7041c827932b | 634 | break; |
lolopo008 | 5:7041c827932b | 635 | } else if(up==2) { |
lolopo008 | 5:7041c827932b | 636 | way=1; |
lolopo008 | 5:7041c827932b | 637 | } else if(up==3) { |
lolopo008 | 5:7041c827932b | 638 | way=0; |
lolopo008 | 5:7041c827932b | 639 | } else way=-1; |
lolopo008 | 5:7041c827932b | 640 | } |
lolopo008 | 5:7041c827932b | 641 | if(x==4) { |
lolopo008 | 5:7041c827932b | 642 | if(up<3||up>5) { |
lolopo008 | 5:7041c827932b | 643 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 644 | uplose(x); |
lolopo008 | 5:7041c827932b | 645 | break; |
lolopo008 | 5:7041c827932b | 646 | } else if(up==3) { |
lolopo008 | 5:7041c827932b | 647 | way=1; |
lolopo008 | 5:7041c827932b | 648 | } else if(up==4) { |
lolopo008 | 5:7041c827932b | 649 | way=0; |
lolopo008 | 5:7041c827932b | 650 | } else way=-1; |
lolopo008 | 5:7041c827932b | 651 | } |
lolopo008 | 5:7041c827932b | 652 | if(x==5) { |
lolopo008 | 5:7041c827932b | 653 | if(up<4) { |
lolopo008 | 5:7041c827932b | 654 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 655 | uplose(x); |
lolopo008 | 5:7041c827932b | 656 | break; |
lolopo008 | 5:7041c827932b | 657 | } else if(up==4) { |
lolopo008 | 5:7041c827932b | 658 | way=1; |
lolopo008 | 5:7041c827932b | 659 | } else if(up==5) { |
lolopo008 | 5:7041c827932b | 660 | way=0; |
lolopo008 | 5:7041c827932b | 661 | } else way=-1; |
lolopo008 | 5:7041c827932b | 662 | } |
lolopo008 | 5:7041c827932b | 663 | if(x==6) { |
lolopo008 | 5:7041c827932b | 664 | if(up<5) { |
lolopo008 | 5:7041c827932b | 665 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 666 | uplose(x); |
lolopo008 | 5:7041c827932b | 667 | break; |
lolopo008 | 5:7041c827932b | 668 | } else if(up==5) { |
lolopo008 | 5:7041c827932b | 669 | way=1; |
lolopo008 | 5:7041c827932b | 670 | } else way=0; |
lolopo008 | 5:7041c827932b | 671 | } |
lolopo008 | 5:7041c827932b | 672 | if(x==7) { |
lolopo008 | 5:7041c827932b | 673 | if(up<6) { |
lolopo008 | 5:7041c827932b | 674 | lifeup=lifeup-1; |
lolopo008 | 5:7041c827932b | 675 | uplose(x); |
lolopo008 | 5:7041c827932b | 676 | break; |
lolopo008 | 5:7041c827932b | 677 | } |
lolopo008 | 5:7041c827932b | 678 | way=1; |
lolopo008 | 5:7041c827932b | 679 | } |
lolopo008 | 5:7041c827932b | 680 | } |
lolopo008 | 5:7041c827932b | 681 | citem++; |
lolopo008 | 5:7041c827932b | 682 | sstime++; |
lolopo008 | 5:7041c827932b | 683 | if(sstime==5) { |
lolopo008 | 5:7041c827932b | 684 | us=0; |
lolopo008 | 5:7041c827932b | 685 | ds=0; |
lolopo008 | 5:7041c827932b | 686 | chkss=0; |
lolopo008 | 5:7041c827932b | 687 | gitem=0; |
lolopo008 | 5:7041c827932b | 688 | citem=0; |
lolopo008 | 5:7041c827932b | 689 | ritem=ran.read()*1000; |
lolopo008 | 5:7041c827932b | 690 | ritem=(ritem%5)+1; |
lolopo008 | 5:7041c827932b | 691 | xrand=ranitem_x(); |
lolopo008 | 5:7041c827932b | 692 | yrand=ranitem_y(); |
lolopo008 | 5:7041c827932b | 693 | } |
lolopo008 | 5:7041c827932b | 694 | |
lolopo008 | 5:7041c827932b | 695 | |
lolopo008 | 5:7041c827932b | 696 | if(chk==1) { |
lolopo008 | 5:7041c827932b | 697 | for(y=5; y>0; y--) { |
lolopo008 | 5:7041c827932b | 698 | |
lolopo008 | 5:7041c827932b | 699 | if(x>6||x<1) { |
lolopo008 | 5:7041c827932b | 700 | way=way*-1; |
lolopo008 | 5:7041c827932b | 701 | } |
lolopo008 | 5:7041c827932b | 702 | |
lolopo008 | 5:7041c827932b | 703 | x=x+way; |
lolopo008 | 5:7041c827932b | 704 | for(t=0; t<600; t++) { |
lolopo008 | 5:7041c827932b | 705 | if(citem>ritem&&gitem!=1) { |
lolopo008 | 5:7041c827932b | 706 | ranitem(xrand,yrand); |
lolopo008 | 5:7041c827932b | 707 | chkss=1; |
lolopo008 | 5:7041c827932b | 708 | } |
lolopo008 | 4:3605c624b64f | 709 | |
lolopo008 | 4:3605c624b64f | 710 | Latch=0; |
lolopo008 | 4:3605c624b64f | 711 | DataPack.write(Col[x]); |
lolopo008 | 4:3605c624b64f | 712 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 713 | DataPack.write(0xFF); |
lolopo008 | 4:3605c624b64f | 714 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 715 | DataPack.write(Col[x]); |
lolopo008 | 4:3605c624b64f | 716 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 717 | DataPack.write(Row[y]); |
lolopo008 | 4:3605c624b64f | 718 | wait_us(1); |
lolopo008 | 4:3605c624b64f | 719 | Latch=1; |
lolopo008 | 5:7041c827932b | 720 | |
lolopo008 | 5:7041c827932b | 721 | if(x==xrand&&y==yrand&&chkss==1&&gitem!=1) { |
lolopo008 | 5:7041c827932b | 722 | us=1; |
lolopo008 | 5:7041c827932b | 723 | gitem=1; |
lolopo008 | 5:7041c827932b | 724 | sstime=0; |
lolopo008 | 5:7041c827932b | 725 | } |
lolopo008 | 4:3605c624b64f | 726 | |
lolopo008 | 5:7041c827932b | 727 | if(ds==1) { |
lolopo008 | 5:7041c827932b | 728 | down=BaseUnderSS(lifeun); |
lolopo008 | 5:7041c827932b | 729 | BaseUpper(lifeup); |
lolopo008 | 5:7041c827932b | 730 | } else if(us==1) { |
lolopo008 | 5:7041c827932b | 731 | down=BaseUnder(lifeun); |
lolopo008 | 5:7041c827932b | 732 | BaseUpperSS(lifeup); |
lolopo008 | 5:7041c827932b | 733 | } else { |
lolopo008 | 5:7041c827932b | 734 | down=BaseUnder(lifeun); |
lolopo008 | 5:7041c827932b | 735 | BaseUpper(lifeup); |
lolopo008 | 5:7041c827932b | 736 | } |
lolopo008 | 4:3605c624b64f | 737 | } |
lolopo008 | 4:3605c624b64f | 738 | } |
lolopo008 | 4:3605c624b64f | 739 | chk=0; |
lolopo008 | 3:054a677aca64 | 740 | } |
lolopo008 | 5:7041c827932b | 741 | if(ds==1) { |
lolopo008 | 5:7041c827932b | 742 | if(x==0) { |
lolopo008 | 5:7041c827932b | 743 | if(down>1) { |
lolopo008 | 5:7041c827932b | 744 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 745 | downlose(x); |
lolopo008 | 5:7041c827932b | 746 | break; |
lolopo008 | 5:7041c827932b | 747 | } |
lolopo008 | 5:7041c827932b | 748 | way=-1; |
lolopo008 | 5:7041c827932b | 749 | } |
lolopo008 | 5:7041c827932b | 750 | if(x==1) { |
lolopo008 | 5:7041c827932b | 751 | if(down>2) { |
lolopo008 | 5:7041c827932b | 752 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 753 | downlose(x); |
lolopo008 | 5:7041c827932b | 754 | break; |
lolopo008 | 5:7041c827932b | 755 | } else if(down==1) { |
lolopo008 | 5:7041c827932b | 756 | way=-1; |
lolopo008 | 5:7041c827932b | 757 | } else way=-1; |
lolopo008 | 5:7041c827932b | 758 | } |
lolopo008 | 5:7041c827932b | 759 | if(x==2) { |
lolopo008 | 5:7041c827932b | 760 | if(down>3) { |
lolopo008 | 5:7041c827932b | 761 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 762 | downlose(x); |
lolopo008 | 5:7041c827932b | 763 | break; |
lolopo008 | 5:7041c827932b | 764 | } else if(down==1) { |
lolopo008 | 5:7041c827932b | 765 | way=0; |
lolopo008 | 5:7041c827932b | 766 | } else if(down==2) { |
lolopo008 | 5:7041c827932b | 767 | way=-1; |
lolopo008 | 5:7041c827932b | 768 | } else way=-1; |
lolopo008 | 4:3605c624b64f | 769 | } |
lolopo008 | 5:7041c827932b | 770 | if(x==3) { |
lolopo008 | 5:7041c827932b | 771 | if(down==1) { |
lolopo008 | 5:7041c827932b | 772 | way=1; |
lolopo008 | 5:7041c827932b | 773 | } else if(down==2) { |
lolopo008 | 5:7041c827932b | 774 | way=0; |
lolopo008 | 5:7041c827932b | 775 | } else if(down==3) { |
lolopo008 | 5:7041c827932b | 776 | way=-1; |
lolopo008 | 5:7041c827932b | 777 | } else way=-1; |
lolopo008 | 5:7041c827932b | 778 | } |
lolopo008 | 5:7041c827932b | 779 | if(x==4) { |
lolopo008 | 5:7041c827932b | 780 | if(down==1) { |
lolopo008 | 5:7041c827932b | 781 | way=1; |
lolopo008 | 5:7041c827932b | 782 | } else if(down==2) { |
lolopo008 | 5:7041c827932b | 783 | way=1; |
lolopo008 | 5:7041c827932b | 784 | } else if(down==3) { |
lolopo008 | 5:7041c827932b | 785 | way=0; |
lolopo008 | 5:7041c827932b | 786 | } else way=-1; |
lolopo008 | 5:7041c827932b | 787 | } |
lolopo008 | 5:7041c827932b | 788 | if(x==5) { |
lolopo008 | 5:7041c827932b | 789 | if(down<2) { |
lolopo008 | 5:7041c827932b | 790 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 791 | downlose(x); |
lolopo008 | 5:7041c827932b | 792 | break; |
lolopo008 | 5:7041c827932b | 793 | } else if(down==2) { |
lolopo008 | 5:7041c827932b | 794 | way=1; |
lolopo008 | 5:7041c827932b | 795 | } else if(down==3) { |
lolopo008 | 5:7041c827932b | 796 | way=1; |
lolopo008 | 5:7041c827932b | 797 | } else way=0; |
lolopo008 | 5:7041c827932b | 798 | } |
lolopo008 | 5:7041c827932b | 799 | if(x==6) { |
lolopo008 | 5:7041c827932b | 800 | if(down<3) { |
lolopo008 | 5:7041c827932b | 801 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 802 | downlose(x); |
lolopo008 | 5:7041c827932b | 803 | break; |
lolopo008 | 5:7041c827932b | 804 | } else if(down==3) { |
lolopo008 | 5:7041c827932b | 805 | way=1; |
lolopo008 | 5:7041c827932b | 806 | } else way=1; |
lolopo008 | 5:7041c827932b | 807 | } |
lolopo008 | 5:7041c827932b | 808 | if(x==7) { |
lolopo008 | 5:7041c827932b | 809 | if(down<4) { |
lolopo008 | 5:7041c827932b | 810 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 811 | downlose(x); |
lolopo008 | 5:7041c827932b | 812 | break; |
lolopo008 | 5:7041c827932b | 813 | } |
lolopo008 | 4:3605c624b64f | 814 | way=1; |
lolopo008 | 5:7041c827932b | 815 | } |
lolopo008 | 5:7041c827932b | 816 | } else { |
lolopo008 | 5:7041c827932b | 817 | if(x==0) { |
lolopo008 | 5:7041c827932b | 818 | if(down>1) { |
lolopo008 | 5:7041c827932b | 819 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 820 | downlose(x); |
lolopo008 | 5:7041c827932b | 821 | break; |
lolopo008 | 5:7041c827932b | 822 | } |
lolopo008 | 5:7041c827932b | 823 | way=-1; |
lolopo008 | 5:7041c827932b | 824 | } |
lolopo008 | 5:7041c827932b | 825 | if(x==1) { |
lolopo008 | 5:7041c827932b | 826 | if(down>2) { |
lolopo008 | 5:7041c827932b | 827 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 828 | downlose(x); |
lolopo008 | 5:7041c827932b | 829 | break; |
lolopo008 | 5:7041c827932b | 830 | } else if(down==1) { |
lolopo008 | 5:7041c827932b | 831 | way=0; |
lolopo008 | 5:7041c827932b | 832 | } else way=-1; |
lolopo008 | 5:7041c827932b | 833 | } |
lolopo008 | 5:7041c827932b | 834 | if(x==2) { |
lolopo008 | 5:7041c827932b | 835 | if(down>3) { |
lolopo008 | 5:7041c827932b | 836 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 837 | downlose(x); |
lolopo008 | 5:7041c827932b | 838 | break; |
lolopo008 | 5:7041c827932b | 839 | } else if(down==1) { |
lolopo008 | 5:7041c827932b | 840 | way=1; |
lolopo008 | 5:7041c827932b | 841 | } else if(down==2) { |
lolopo008 | 5:7041c827932b | 842 | way=0; |
lolopo008 | 5:7041c827932b | 843 | } else way=-1; |
lolopo008 | 5:7041c827932b | 844 | } |
lolopo008 | 5:7041c827932b | 845 | if(x==3) { |
lolopo008 | 5:7041c827932b | 846 | if(down<2||down>4) { |
lolopo008 | 5:7041c827932b | 847 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 848 | downlose(x); |
lolopo008 | 5:7041c827932b | 849 | break; |
lolopo008 | 5:7041c827932b | 850 | } else if(down==2) { |
lolopo008 | 5:7041c827932b | 851 | way=1; |
lolopo008 | 5:7041c827932b | 852 | } else if(down==3) { |
lolopo008 | 5:7041c827932b | 853 | way=0; |
lolopo008 | 5:7041c827932b | 854 | } else way=-1; |
lolopo008 | 5:7041c827932b | 855 | } |
lolopo008 | 5:7041c827932b | 856 | if(x==4) { |
lolopo008 | 5:7041c827932b | 857 | if(down<3||down>5) { |
lolopo008 | 5:7041c827932b | 858 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 859 | downlose(x); |
lolopo008 | 5:7041c827932b | 860 | break; |
lolopo008 | 5:7041c827932b | 861 | } else if(down==3) { |
lolopo008 | 5:7041c827932b | 862 | way=1; |
lolopo008 | 5:7041c827932b | 863 | } else if(down==4) { |
lolopo008 | 5:7041c827932b | 864 | way=0; |
lolopo008 | 5:7041c827932b | 865 | } else way=-1; |
lolopo008 | 5:7041c827932b | 866 | } |
lolopo008 | 5:7041c827932b | 867 | if(x==5) { |
lolopo008 | 5:7041c827932b | 868 | if(down<4) { |
lolopo008 | 5:7041c827932b | 869 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 870 | downlose(x); |
lolopo008 | 5:7041c827932b | 871 | break; |
lolopo008 | 5:7041c827932b | 872 | } else if(down==4) { |
lolopo008 | 5:7041c827932b | 873 | way=1; |
lolopo008 | 5:7041c827932b | 874 | } else if(down==5) { |
lolopo008 | 5:7041c827932b | 875 | way=0; |
lolopo008 | 5:7041c827932b | 876 | } else way=-1; |
lolopo008 | 5:7041c827932b | 877 | } |
lolopo008 | 5:7041c827932b | 878 | if(x==6) { |
lolopo008 | 5:7041c827932b | 879 | if(down<5) { |
lolopo008 | 5:7041c827932b | 880 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 881 | downlose(x); |
lolopo008 | 5:7041c827932b | 882 | break; |
lolopo008 | 5:7041c827932b | 883 | } else if(down==5) { |
lolopo008 | 5:7041c827932b | 884 | way=1; |
lolopo008 | 5:7041c827932b | 885 | } else way=0; |
lolopo008 | 5:7041c827932b | 886 | } |
lolopo008 | 5:7041c827932b | 887 | if(x==7) { |
lolopo008 | 5:7041c827932b | 888 | if(down<6) { |
lolopo008 | 5:7041c827932b | 889 | lifeun=lifeun-1; |
lolopo008 | 5:7041c827932b | 890 | downlose(x); |
lolopo008 | 5:7041c827932b | 891 | break; |
lolopo008 | 5:7041c827932b | 892 | } |
lolopo008 | 4:3605c624b64f | 893 | way=1; |
lolopo008 | 5:7041c827932b | 894 | } |
lolopo008 | 4:3605c624b64f | 895 | } |
lolopo008 | 5:7041c827932b | 896 | |
lolopo008 | 5:7041c827932b | 897 | citem++; |
lolopo008 | 5:7041c827932b | 898 | sstime++; |
lolopo008 | 5:7041c827932b | 899 | if(sstime==5) { |
lolopo008 | 5:7041c827932b | 900 | us=0; |
lolopo008 | 5:7041c827932b | 901 | ds=0; |
lolopo008 | 5:7041c827932b | 902 | chkss=0; |
lolopo008 | 5:7041c827932b | 903 | gitem=0; |
lolopo008 | 5:7041c827932b | 904 | citem=0; |
lolopo008 | 5:7041c827932b | 905 | ritem=ran.read()*1000; |
lolopo008 | 5:7041c827932b | 906 | ritem=(ritem%5)+1; |
lolopo008 | 5:7041c827932b | 907 | xrand=ranitem_x(); |
lolopo008 | 5:7041c827932b | 908 | yrand=ranitem_y(); |
lolopo008 | 4:3605c624b64f | 909 | } |
lolopo008 | 4:3605c624b64f | 910 | |
lolopo008 | 3:054a677aca64 | 911 | } |
lolopo008 | 4:3605c624b64f | 912 | if(lifeup<0) { |
lolopo008 | 4:3605c624b64f | 913 | while(UnderButton==0&&UpperButton==0) { |
lolopo008 | 5:7041c827932b | 914 | Latch=0; |
lolopo008 | 5:7041c827932b | 915 | DataPack.write(0xE7); |
lolopo008 | 5:7041c827932b | 916 | wait_us(1); |
lolopo008 | 5:7041c827932b | 917 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 918 | wait_us(1); |
lolopo008 | 5:7041c827932b | 919 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 920 | wait_us(1); |
lolopo008 | 5:7041c827932b | 921 | DataPack.write(0x18); |
lolopo008 | 5:7041c827932b | 922 | Latch=1; |
lolopo008 | 5:7041c827932b | 923 | wait_ms(100); |
lolopo008 | 4:3605c624b64f | 924 | |
lolopo008 | 5:7041c827932b | 925 | Latch=0; |
lolopo008 | 5:7041c827932b | 926 | DataPack.write(0xC3); |
lolopo008 | 5:7041c827932b | 927 | wait_us(1); |
lolopo008 | 5:7041c827932b | 928 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 929 | wait_us(1); |
lolopo008 | 5:7041c827932b | 930 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 931 | wait_us(1); |
lolopo008 | 5:7041c827932b | 932 | DataPack.write(0x3C); |
lolopo008 | 5:7041c827932b | 933 | Latch=1; |
lolopo008 | 5:7041c827932b | 934 | wait_ms(100); |
lolopo008 | 5:7041c827932b | 935 | |
lolopo008 | 5:7041c827932b | 936 | Latch=0; |
lolopo008 | 5:7041c827932b | 937 | DataPack.write(0x81); |
lolopo008 | 5:7041c827932b | 938 | wait_us(1); |
lolopo008 | 5:7041c827932b | 939 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 940 | wait_us(1); |
lolopo008 | 5:7041c827932b | 941 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 942 | wait_us(1); |
lolopo008 | 5:7041c827932b | 943 | DataPack.write(0x7E); |
lolopo008 | 5:7041c827932b | 944 | Latch=1; |
lolopo008 | 5:7041c827932b | 945 | wait_ms(100); |
lolopo008 | 5:7041c827932b | 946 | |
lolopo008 | 5:7041c827932b | 947 | Latch=0; |
lolopo008 | 5:7041c827932b | 948 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 949 | wait_us(1); |
lolopo008 | 5:7041c827932b | 950 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 951 | wait_us(1); |
lolopo008 | 5:7041c827932b | 952 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 953 | wait_us(1); |
lolopo008 | 5:7041c827932b | 954 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 955 | Latch=1; |
lolopo008 | 5:7041c827932b | 956 | wait_ms(100); |
lolopo008 | 5:7041c827932b | 957 | |
lolopo008 | 5:7041c827932b | 958 | for(i=0; i<500; i++) { |
lolopo008 | 5:7041c827932b | 959 | Latch=0; |
lolopo008 | 5:7041c827932b | 960 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 961 | wait_us(1); |
lolopo008 | 5:7041c827932b | 962 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 963 | wait_us(1); |
lolopo008 | 5:7041c827932b | 964 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 965 | wait_us(1); |
lolopo008 | 5:7041c827932b | 966 | DataPack.write(0xE7); |
lolopo008 | 5:7041c827932b | 967 | wait_us(1); |
lolopo008 | 5:7041c827932b | 968 | Latch=1; |
lolopo008 | 5:7041c827932b | 969 | Latch=0; |
lolopo008 | 5:7041c827932b | 970 | DataPack.write(0x18); |
lolopo008 | 5:7041c827932b | 971 | wait_us(1); |
lolopo008 | 5:7041c827932b | 972 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 973 | wait_us(1); |
lolopo008 | 5:7041c827932b | 974 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 975 | wait_us(1); |
lolopo008 | 5:7041c827932b | 976 | DataPack.write(0x18); |
lolopo008 | 5:7041c827932b | 977 | wait_us(1); |
lolopo008 | 5:7041c827932b | 978 | Latch=1; |
lolopo008 | 5:7041c827932b | 979 | } |
lolopo008 | 5:7041c827932b | 980 | |
lolopo008 | 5:7041c827932b | 981 | for(m=0; m<500; m++) { |
lolopo008 | 5:7041c827932b | 982 | Latch=0; |
lolopo008 | 5:7041c827932b | 983 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 984 | wait_us(1); |
lolopo008 | 5:7041c827932b | 985 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 986 | wait_us(1); |
lolopo008 | 5:7041c827932b | 987 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 988 | wait_us(1); |
lolopo008 | 5:7041c827932b | 989 | DataPack.write(0xC3); |
lolopo008 | 5:7041c827932b | 990 | wait_us(1); |
lolopo008 | 5:7041c827932b | 991 | Latch=1; |
lolopo008 | 5:7041c827932b | 992 | Latch=0; |
lolopo008 | 5:7041c827932b | 993 | DataPack.write(0x3C); |
lolopo008 | 5:7041c827932b | 994 | wait_us(1); |
lolopo008 | 5:7041c827932b | 995 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 996 | wait_us(1); |
lolopo008 | 5:7041c827932b | 997 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 998 | wait_us(1); |
lolopo008 | 5:7041c827932b | 999 | DataPack.write(0x3C); |
lolopo008 | 5:7041c827932b | 1000 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1001 | Latch=1; |
lolopo008 | 5:7041c827932b | 1002 | } |
lolopo008 | 5:7041c827932b | 1003 | |
lolopo008 | 5:7041c827932b | 1004 | for(n=0; n<500; n++) { |
lolopo008 | 5:7041c827932b | 1005 | Latch=0; |
lolopo008 | 5:7041c827932b | 1006 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 1007 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1008 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1009 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1010 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1011 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1012 | DataPack.write(0x81); |
lolopo008 | 5:7041c827932b | 1013 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1014 | Latch=1; |
lolopo008 | 5:7041c827932b | 1015 | Latch=0; |
lolopo008 | 5:7041c827932b | 1016 | DataPack.write(0x7E); |
lolopo008 | 5:7041c827932b | 1017 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1018 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1019 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1020 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1021 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1022 | DataPack.write(0x7E); |
lolopo008 | 5:7041c827932b | 1023 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1024 | Latch=1; |
lolopo008 | 5:7041c827932b | 1025 | } |
lolopo008 | 5:7041c827932b | 1026 | |
lolopo008 | 5:7041c827932b | 1027 | Latch=0; |
lolopo008 | 5:7041c827932b | 1028 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1029 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1030 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1031 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1032 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1033 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1034 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 1035 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1036 | Latch=1; |
lolopo008 | 5:7041c827932b | 1037 | wait_ms(100); |
lolopo008 | 4:3605c624b64f | 1038 | } |
lolopo008 | 4:3605c624b64f | 1039 | lifeup=2; |
lolopo008 | 4:3605c624b64f | 1040 | lifeun=2; |
lolopo008 | 5:7041c827932b | 1041 | wait_ms(500); |
lolopo008 | 5:7041c827932b | 1042 | Count(); |
lolopo008 | 3:054a677aca64 | 1043 | } |
lolopo008 | 4:3605c624b64f | 1044 | if(lifeun<0) { |
lolopo008 | 4:3605c624b64f | 1045 | while(UnderButton==0&&UpperButton==0) { |
lolopo008 | 5:7041c827932b | 1046 | Latch=0; |
lolopo008 | 5:7041c827932b | 1047 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1048 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1049 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1050 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1051 | DataPack.write(0xE7); |
lolopo008 | 5:7041c827932b | 1052 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1053 | DataPack.write(0x18); |
lolopo008 | 5:7041c827932b | 1054 | Latch=1; |
lolopo008 | 5:7041c827932b | 1055 | wait_ms(100); |
lolopo008 | 4:3605c624b64f | 1056 | |
lolopo008 | 5:7041c827932b | 1057 | Latch=0; |
lolopo008 | 5:7041c827932b | 1058 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1059 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1060 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1061 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1062 | DataPack.write(0xC3); |
lolopo008 | 5:7041c827932b | 1063 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1064 | DataPack.write(0x3C); |
lolopo008 | 5:7041c827932b | 1065 | Latch=1; |
lolopo008 | 5:7041c827932b | 1066 | wait_ms(100); |
lolopo008 | 5:7041c827932b | 1067 | |
lolopo008 | 5:7041c827932b | 1068 | Latch=0; |
lolopo008 | 5:7041c827932b | 1069 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1070 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1071 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1072 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1073 | DataPack.write(0x81); |
lolopo008 | 5:7041c827932b | 1074 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1075 | DataPack.write(0x7E); |
lolopo008 | 5:7041c827932b | 1076 | Latch=1; |
lolopo008 | 5:7041c827932b | 1077 | wait_ms(100); |
lolopo008 | 5:7041c827932b | 1078 | |
lolopo008 | 5:7041c827932b | 1079 | Latch=0; |
lolopo008 | 5:7041c827932b | 1080 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1081 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1082 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1083 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1084 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 1085 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1086 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1087 | Latch=1; |
lolopo008 | 5:7041c827932b | 1088 | wait_ms(100); |
lolopo008 | 5:7041c827932b | 1089 | |
lolopo008 | 5:7041c827932b | 1090 | for(i=0; i<500; i++) { |
lolopo008 | 5:7041c827932b | 1091 | Latch=0; |
lolopo008 | 5:7041c827932b | 1092 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1093 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1094 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1095 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1096 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 1097 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1098 | DataPack.write(0xE7); |
lolopo008 | 5:7041c827932b | 1099 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1100 | Latch=1; |
lolopo008 | 5:7041c827932b | 1101 | Latch=0; |
lolopo008 | 5:7041c827932b | 1102 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1103 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1104 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1105 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1106 | DataPack.write(0x18); |
lolopo008 | 5:7041c827932b | 1107 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1108 | DataPack.write(0x18); |
lolopo008 | 5:7041c827932b | 1109 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1110 | Latch=1; |
lolopo008 | 5:7041c827932b | 1111 | } |
lolopo008 | 5:7041c827932b | 1112 | |
lolopo008 | 5:7041c827932b | 1113 | for(m=0; m<500; m++) { |
lolopo008 | 5:7041c827932b | 1114 | Latch=0; |
lolopo008 | 5:7041c827932b | 1115 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1116 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1117 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1118 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1119 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 1120 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1121 | DataPack.write(0xC3); |
lolopo008 | 5:7041c827932b | 1122 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1123 | Latch=1; |
lolopo008 | 5:7041c827932b | 1124 | Latch=0; |
lolopo008 | 5:7041c827932b | 1125 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1126 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1127 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1128 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1129 | DataPack.write(0x3C); |
lolopo008 | 5:7041c827932b | 1130 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1131 | DataPack.write(0x3C); |
lolopo008 | 5:7041c827932b | 1132 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1133 | Latch=1; |
lolopo008 | 5:7041c827932b | 1134 | } |
lolopo008 | 5:7041c827932b | 1135 | |
lolopo008 | 5:7041c827932b | 1136 | for(n=0; n<500; n++) { |
lolopo008 | 5:7041c827932b | 1137 | Latch=0; |
lolopo008 | 5:7041c827932b | 1138 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1139 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1140 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1141 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1142 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 1143 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1144 | DataPack.write(0x81); |
lolopo008 | 5:7041c827932b | 1145 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1146 | Latch=1; |
lolopo008 | 5:7041c827932b | 1147 | Latch=0; |
lolopo008 | 5:7041c827932b | 1148 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1149 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1150 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1151 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1152 | DataPack.write(0x7E); |
lolopo008 | 5:7041c827932b | 1153 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1154 | DataPack.write(0x7E); |
lolopo008 | 5:7041c827932b | 1155 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1156 | Latch=1; |
lolopo008 | 5:7041c827932b | 1157 | } |
lolopo008 | 5:7041c827932b | 1158 | |
lolopo008 | 5:7041c827932b | 1159 | Latch=0; |
lolopo008 | 5:7041c827932b | 1160 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1161 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1162 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1163 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1164 | DataPack.write(0xFF); |
lolopo008 | 5:7041c827932b | 1165 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1166 | DataPack.write(0x00); |
lolopo008 | 5:7041c827932b | 1167 | wait_us(1); |
lolopo008 | 5:7041c827932b | 1168 | Latch=1; |
lolopo008 | 5:7041c827932b | 1169 | wait_ms(100); |
lolopo008 | 4:3605c624b64f | 1170 | } |
lolopo008 | 4:3605c624b64f | 1171 | lifeup=2; |
lolopo008 | 4:3605c624b64f | 1172 | lifeun=2; |
lolopo008 | 5:7041c827932b | 1173 | wait_ms(500); |
lolopo008 | 5:7041c827932b | 1174 | Count(); |
lolopo008 | 3:054a677aca64 | 1175 | } |
Pumipachpro | 2:8b6312dbfd2f | 1176 | } |
lolopo008 | 5:7041c827932b | 1177 | } |