Rev 770 | Rev 877 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 770 | Rev 876 | ||
|---|---|---|---|
| Line 96... | Line 96... | ||
| 96 | byte[] data = new byte[8]; |
96 | byte[] data = new byte[8]; |
| 97 | uint byteSent = 0; |
97 | uint byteSent = 0; |
| 98 | ulong currentAddress = 0; |
98 | ulong currentAddress = 0; |
| 99 | bool done = false; |
99 | bool done = false; |
| 100 | bool errorOccured = false; |
100 | bool errorOccured = false; |
| - | 101 | ||
| - | 102 | //int rotstate=0; |
|
| - | 103 | int dldisplaystate=0; |
|
| 101 | 104 | ||
| 102 | try { |
105 | try { |
| 103 | if (isBiosUpdate) { |
106 | if (isBiosUpdate) { |
| 104 | dlOffset = hf.getAddrLower(); |
107 | dlOffset = hf.getAddrLower(); |
| 105 | //Console.WriteLine(dlOffset); |
108 | //Console.WriteLine(dlOffset); |
| Line 134... | Line 137... | ||
| 134 | dc.sendCanPacket(outCm); |
137 | dc.sendCanPacket(outCm); |
| 135 | t = Environment.TickCount; |
138 | t = Environment.TickCount; |
| 136 | t2 = Environment.TickCount; |
139 | t2 = Environment.TickCount; |
| 137 | pgs = dState.WAIT_ACK_PRG; |
140 | pgs = dState.WAIT_ACK_PRG; |
| 138 | timeStart = Environment.TickCount; |
141 | timeStart = Environment.TickCount; |
| - | 142 | Console.WriteLine("Downloading..."); |
|
| 139 | break; |
143 | break; |
| 140 | 144 | ||
| 141 | 145 | ||
| 142 | case dState.WAIT_ACK_PRG: |
146 | case dState.WAIT_ACK_PRG: |
| 143 | // Check for timeout, resend start packet in that case.. |
147 | // Check for timeout, resend start packet in that case.. |
| 144 | if ((Environment.TickCount - t) > TIMEOUT_MS) { |
148 | if ((Environment.TickCount - t) > TIMEOUT_MS) { |
| 145 | Console.WriteLine("Timeout while waiting for start prg ack."); |
149 | Console.WriteLine("Timeout while waiting for start prg ack."); |
| 146 | errorOccured = true; |
150 | errorOccured = true; |
| 147 | pgs = dState.SEND_RESET; |
151 | pgs = dState.SEND_RESET; |
| 148 | } |
152 | } |
| 149 | //Thread.Sleep(1); |
153 | //Thread.Sleep(1); |
| 150 | // If received ack. |
154 | // If received ack. |
| 151 | hasMessage = dc.getData(out cm); |
155 | hasMessage = dc.getData(out cm); |
| Line 169... | Line 173... | ||
| 169 | } |
173 | } |
| 170 | break; |
174 | break; |
| 171 | 175 | ||
| 172 | case dState.SEND_PGM_DATA: |
176 | case dState.SEND_PGM_DATA: |
| 173 | //Console.WriteLine("byteSent = "+byteSent); |
177 | //Console.WriteLine("byteSent = "+byteSent); |
| - | 178 | //disable Console.Write("."); |
|
| - | 179 | //Console.Write("\b"); |
|
| - | 180 | //int curleft = Console.CursorLeft; |
|
| - | 181 | //int curtop = Console.CursorTop; |
|
| - | 182 | //Console.SetCursorPosition(curleft, curtop-1); |
|
| - | 183 | ||
| - | 184 | //if (rotstate==0) { |
|
| 174 |
|
185 | // Console.Write("-"); |
| - | 186 | // rotstate=1; |
|
| - | 187 | //} else if (rotstate==1) { |
|
| - | 188 | // Console.Write("\\"); |
|
| - | 189 | // rotstate=2; |
|
| - | 190 | //} else if (rotstate==2) { |
|
| - | 191 | // Console.Write("|"); |
|
| - | 192 | // rotstate=3; |
|
| - | 193 | //} else if (rotstate==3) { |
|
| - | 194 | // Console.Write("/"); |
|
| - | 195 | // rotstate=0; |
|
| - | 196 | //} |
|
| - | 197 | //Console.Write("\r"); |
|
| - | 198 | //dldisplaystate |
|
| - | 199 | ||
| - | 200 | //FULHACK deulx |
|
| - | 201 | ulong percent = byteSent*100/(hf.getAddrUpper()-currentAddress); |
|
| - | 202 | ||
| - | 203 | if (percent>9 && dldisplaystate==0) { |
|
| - | 204 | Console.Write("\r"); |
|
| - | 205 | Console.Write(percent+"%"); |
|
| - | 206 | dldisplaystate=1; |
|
| - | 207 | } else if (percent>19 && dldisplaystate==1) { |
|
| - | 208 | Console.Write("\r"); |
|
| - | 209 | Console.Write(percent+"%"); |
|
| - | 210 | dldisplaystate=2; |
|
| - | 211 | } else if (percent>29 && dldisplaystate==2) { |
|
| - | 212 | Console.Write("\r"); |
|
| - | 213 | Console.Write(percent+"%"); |
|
| - | 214 | dldisplaystate=3; |
|
| - | 215 | } else if (percent>39 && dldisplaystate==3) { |
|
| - | 216 | Console.Write("\r"); |
|
| - | 217 | Console.Write(percent+"%"); |
|
| - | 218 | dldisplaystate=4; |
|
| - | 219 | } else if (percent>49 && dldisplaystate==4) { |
|
| - | 220 | Console.Write("\r"); |
|
| - | 221 | Console.Write(percent+"%"); |
|
| - | 222 | dldisplaystate=5; |
|
| - | 223 | } else if (percent>59 && dldisplaystate==5) { |
|
| - | 224 | Console.Write("\r"); |
|
| - | 225 | Console.Write(percent+"%"); |
|
| - | 226 | dldisplaystate=6; |
|
| - | 227 | } else if (percent>69 && dldisplaystate==6) { |
|
| - | 228 | Console.Write("\r"); |
|
| - | 229 | Console.Write(percent+"%"); |
|
| - | 230 | dldisplaystate=7; |
|
| - | 231 | } else if (percent>79 && dldisplaystate==7) { |
|
| - | 232 | Console.Write("\r"); |
|
| - | 233 | Console.Write(percent+"%"); |
|
| - | 234 | dldisplaystate=8; |
|
| - | 235 | } else if (percent>89 && dldisplaystate==8) { |
|
| - | 236 | Console.Write("\r"); |
|
| - | 237 | Console.Write(percent+"%"); |
|
| - | 238 | dldisplaystate=9; |
|
| - | 239 | } else if (percent>99 && dldisplaystate==9) { |
|
| - | 240 | Console.Write("\r"); |
|
| - | 241 | Console.Write(percent+"%"); |
|
| - | 242 | dldisplaystate=10; |
|
| - | 243 | } |
|
| - | 244 | ||
| 175 | // Send program data. |
245 | // Send program data. |
| 176 | byte datalength = 2; |
246 | byte datalength = 2; |
| 177 | for (ulong i = 0; i < 6; i++) { |
247 | for (ulong i = 0; i < 6; i++) { |
| 178 | // Populate data. |
248 | // Populate data. |
| 179 | data[i+2] = hf.getByte(currentAddress + i + byteSent); |
249 | data[i+2] = hf.getByte(currentAddress + i + byteSent); |
| Line 203... | Line 273... | ||
| 203 | errorOccured = true; |
273 | errorOccured = true; |
| 204 | pgs = dState.SEND_RESET; |
274 | pgs = dState.SEND_RESET; |
| 205 | } |
275 | } |
| 206 | else if ((Environment.TickCount - t2) > TIMEOUT_SHORT_MS) { |
276 | else if ((Environment.TickCount - t2) > TIMEOUT_SHORT_MS) { |
| 207 | // Woops, error. |
277 | // Woops, error. |
| 208 |
|
278 | //disable Console.Write(":"); |
| 209 | byteSent -= 6; |
279 | byteSent -= 6; |
| 210 | pgs = dState.SEND_PGM_DATA; |
280 | pgs = dState.SEND_PGM_DATA; |
| 211 | break; |
281 | break; |
| 212 | } |
282 | } |
| 213 | //Thread.Sleep(1); |
283 | //Thread.Sleep(1); |
| Line 240... | Line 310... | ||
| 240 | } |
310 | } |
| 241 | } |
311 | } |
| 242 | break; |
312 | break; |
| 243 | 313 | ||
| 244 | case dState.SEND_DONE: |
314 | case dState.SEND_DONE: |
| - | 315 | Console.Write("\r"); |
|
| - | 316 | Console.Write("100%"); |
|
| 245 | // Send done |
317 | // Send done |
| 246 | outCm = cpn.getPgmEndPacket(); |
318 | outCm = cpn.getPgmEndPacket(); |
| 247 | dc.sendCanPacket(outCm); |
319 | dc.sendCanPacket(outCm); |
| 248 | 320 | ||
| 249 | t = Environment.TickCount; |
321 | t = Environment.TickCount; |