Subversion Repositories HomeAutomation

Rev

Rev 878 | Rev 882 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 878 Rev 879
Line 188... Line 188...
188
                           Console.Write("=");
188
                           Console.Write("=");
189
                           nrOfTicks++;
189
                           nrOfTicks++;
190
                           lastpercent = lastpercent+2.5;
190
                           lastpercent = lastpercent+2.5;
191
                        }
191
                        }
192
                        if (percent > lasttenpercent+10) {
192
                        if (percent > lasttenpercent+10) {
-
 
193
                           for (int i=nrOfTicks; i<40; i++) {
-
 
194
                              Console.Write(" ");
-
 
195
                           }
-
 
196
                           Console.Write("]");
193
                           Console.Write("\r");
197
                           Console.Write("\r");
194
                           Console.Write(" "+Math.Round(percent,0)+"% [");
198
                           Console.Write(" "+Math.Round(percent,0)+"% [");
195
                           
199
                           
196
                           lasttenpercent = percent;
200
                           lasttenpercent = percent;
197
                           for (int i=0; i<nrOfTicks; i++) {
201
                           for (int i=0; i<nrOfTicks; i++) {
198
                              Console.Write("=");
202
                              Console.Write("=");
199
                           }
203
                           }
200
                        }
204
                        }
201
 
205
 
202
 
206
 
203
                        // Send program data.
207
                        // Send program data.
204
                        byte datalength = 2;
208
                        byte datalength = 2;
205
                        for (ulong i = 0; i < 6; i++) {
209
                        for (ulong i = 0; i < 6; i++) {
206
                            // Populate data.
210
                            // Populate data.
207
                            data[i+2] = hf.getByte(currentAddress + i + byteSent);
211
                            data[i+2] = hf.getByte(currentAddress + i + byteSent);
208
                            if (currentAddress + i + byteSent > hf.getAddrUpper()) {
212
                            if (currentAddress + i + byteSent > hf.getAddrUpper()) {
209
                                break;  //then done
213
                                break;  //then done
210
                            }
214
                            }
211
                            datalength++;
215
                            datalength++;
212
                        }
216
                        }
213
                        data[0] = (byte)(byteSent & 0x00FF);
217
                        data[0] = (byte)(byteSent & 0x00FF);
214
                        data[1] = (byte)((byteSent & 0xFF00) >> 8);
218
                        data[1] = (byte)((byteSent & 0xFF00) >> 8);
215
 
219
 
216
                        outCm = cpn.getPgmDataPacket(data, datalength);
220
                        outCm = cpn.getPgmDataPacket(data, datalength);
217
                        dc.sendCanPacket(outCm);
221
                        dc.sendCanPacket(outCm);
Line 226... Line 230...
226
                    case dState.WAIT_ACK_DATA:
230
                    case dState.WAIT_ACK_DATA:
227
                        // Wait for pgm ack.
231
                        // Wait for pgm ack.
228
                        if ((Environment.TickCount - t) > TIMEOUT_MS) {
232
                        if ((Environment.TickCount - t) > TIMEOUT_MS) {
229
                            // Woops, error. 
233
                            // Woops, error. 
230
                            Console.WriteLine("Timeout while waiting for data ack.");
234
                            Console.WriteLine("Timeout while waiting for data ack.");
231
                            errorOccured = true;
235
                            errorOccured = true;
232
                            pgs = dState.SEND_RESET;
236
                            pgs = dState.SEND_RESET;
233
                        }
237
                        }
234
                        else if ((Environment.TickCount - t2) > TIMEOUT_SHORT_MS) {
238
                        else if ((Environment.TickCount - t2) > TIMEOUT_SHORT_MS) {
235
                            // Woops, error. 
239
                            // Woops, error. 
236
//disable                           Console.Write(":");
240
//disable                           Console.Write(":");
237
                            byteSent -= 6;
241
                            byteSent -= 6;
Line 268... Line 272...
268
                            }
272
                            }
269
                        }
273
                        }
270
                        break;
274
                        break;
271
                       
275
                       
272
                    case dState.SEND_DONE:
276
                    case dState.SEND_DONE:
-
 
277
                       for (int i=nrOfTicks; i<40; i++) {
-
 
278
                          Console.Write(" ");
-
 
279
                       }
-
 
280
                       Console.Write("]");
273
                       Console.Write("\r");
281
                       Console.Write("\r");
274
                       Console.Write("100% [========================================]  ");
282
                       Console.Write("100% [========================================]");
275
                        // Send done
283
                        // Send done
276
                        outCm = cpn.getPgmEndPacket();
284
                        outCm = cpn.getPgmEndPacket();
277
                        dc.sendCanPacket(outCm);
285
                        dc.sendCanPacket(outCm);