Beispiel #1
0
 public void ClearArchives(string deviceDriveLetter, Action <OnCompleteEventArgs> onComplete)
 {
     _backWorker.AddWork(
         () => {
         try {
             var cmdWriter = new RpdCommandWriter(deviceDriveLetter);
             var cmd       = new CmdClearArchives();
             cmdWriter.WriteCommandSync(cmd, 5);
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Ok, "Очистка архивов завершена.")));
             }
         }
         catch (Exception ex) {
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Error, "Не удалось очистить архивы. Ошибка: " + ex)));
             }
         }
     });
 }
Beispiel #2
0
 public void TestLinkWithMeters(string deviceDriveLetter, Action <OnCompleteEventArgs> onComplete)
 {
     _backWorker.AddWork(
         () => {
         try {
             var cmdWriter = new RpdCommandWriter(deviceDriveLetter);
             var cmd       = new CmdTestLinkWithMeters();
             cmdWriter.WriteCommandSync(cmd, 5);
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Ok, "Связь с измерителями проверена.")));
             }
         }
         catch (Exception ex) {
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Error, "Не удалось проверить связь с измерителями. Ошибка: " + ex)));
             }
         }
     });
 }
Beispiel #3
0
 public void SetTime(string deviceDriveLetter, Action <OnCompleteEventArgs> onComplete, DateTime time)
 {
     _backWorker.AddWork(
         () => {
         try {
             var cmdWriter = new RpdCommandWriter(deviceDriveLetter);
             var cmd       = new CmdSetTime(time);
             cmdWriter.WriteCommandSync(cmd, 5);
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Ok, "Время РПД задано успешно.")));
             }
         }
         catch (Exception ex) {
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Error, "Не удалось задать время. Ошибка: " + ex)));
             }
         }
     });
 }
Beispiel #4
0
 public void FormatRpd(string deviceDriveLetter, Action <OnCompleteEventArgs> onComplete)
 {
     _backWorker.AddWork(
         () =>
     {
         try
         {
             var cmdWriter = new RpdCommandWriter(deviceDriveLetter);
             var cmd       = new CmdFormatRpd();
             cmdWriter.WriteCommandSync(cmd, 15);
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Ok, "Переформатирование РПД завершено.")));
             }
         }
         catch (Exception ex)
         {
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Error, "Не удалось очистить архивы. Ошибка: " + ex)));
             }
         }
     });
 }
Beispiel #5
0
 public void WriteFirmware(string firmwireHexFilename, string deviceDriveLetter, Action <OnCompleteEventArgs> onComplete)
 {
     _backWorker.AddWork(
         () => {
         try {
             var cmdWriter = new RpdCommandWriter(deviceDriveLetter);
             var cmd       = new CmdWriteFirmware();
             cmdWriter.WriteCommandSync(cmd, 3);                             // wait 3 seconds after writing
             {
                 var p = new Process {
                     StartInfo =
                     {
                         CreateNoWindow  = false,
                         UseShellExecute = false,
                         FileName        = "batchisp",
                         Arguments       = "-device at32uc3b0256 -hardware usb -operation erase f memory flash blankcheck loadbuffer "
                                           + "\"" + firmwireHexFilename + "\""
                                           + " program verify"
                     }
                 };
                 p.Start();
                 p.WaitForExit();
                 //processOutput = p.StandardOutput.ReadToEnd();
                 //if (!processOutput.Contains("Summary:  Total 10   Passed 10   Failed 0"))
                 //processResultOk = false;
             }
             //if (processResultOk)
             {
                 var p = new Process {
                     StartInfo = { CreateNoWindow = false, UseShellExecute = false, FileName = "batchisp", Arguments = "-device at32uc3b0256 -hardware usb -operation memory configuration 0xFFFFEFF8" }
                 };
                 //p.StartInfo.CreateNoWindow = true;
                 //p.StartInfo.RedirectStandardOutput = true;
                 p.Start();
                 p.WaitForExit();
                 //processOutput = p.StandardOutput.ReadToEnd();
                 //if (!processOutput.Contains("ISP done."))
                 //processResultOk = false;
             }
             //if (processResultOk)
             {
                 var p = new Process {
                     StartInfo = { CreateNoWindow = false, UseShellExecute = false, FileName = "batchisp", Arguments = "-device at32uc3b0256 -hardware usb -operation start reset 0" }
                 };
                 //p.StartInfo.CreateNoWindow = true;
                 //p.StartInfo.RedirectStandardOutput = true;
                 p.Start();
                 p.WaitForExit();
                 //processOutput = p.StandardOutput.ReadToEnd();
                 //if (!processOutput.Contains("Summary:  Total 5   Passed 5   Failed 0"))
                 //processResultOk = false;
             }
             Thread.Sleep(1000);
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Ok, "Прошивка ПО завершена.")));
             }
         }
         catch (Exception ex) {
             if (onComplete != null)
             {
                 _uiNotifier.Notify(() => onComplete(new OnCompleteEventArgs(OnCompleteEventArgs.CompleteResult.Error, "Не удалось прошить ПО. Ошибка: " + ex)));
             }
         }
     });
 }