Example #1
0
        private void controllerSearcher_DeviceSearchCompleted(object sender, DeviceSearchCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Utils.ErrorMessage(e.Error.Message);
            }
            else if (!e.Cancelled)
            {
                //Получение строки из массива байт
                string response = Encoding.Default.GetString(e.DeviceResponse).ToLower();


                if (response.Contains("relkon 6"))
                {
                    this.DebuggerEngine.Parameters.ProcessorType = ProcessorType.STM32F107;
                    this.nudControllerAddress.Value = e.DeviceResponse[0];

                    this.ddlPortName.SelectedItem = e.Port.PortName;
                    this.ddlBaudRate.SelectedItem = e.Port.BaudRate.ToString();
                    this.ddlProtocol.SelectedItem = e.Port.RelkonProtocolType;
                }
                else
                {
                    Utils.WarningMessage("Контроллер находится в режиме загрузчика.\n Работка отладчика не возможна.");
                }
            }
            this.progressForm.Close();
        }
Example #2
0
        private void deviceSearcher_DeviceSearchCompleted(object sender, DeviceSearchCompletedEventArgs e)
        {
            if (e.Cancelled || e.Error != null)
            {
                this.RaiseUploadingCompletedEvent(new AsyncCompletedEventArgs(e.Error, e.Cancelled, null));
            }
            else
            {
                if (Encoding.ASCII.GetString(e.DeviceResponse).ToLower().Contains(this.deviceSearcher.Pattern.ToLower()))
                {
                    bootLoaderMode = false;
                }

                AbstractChannel port = new SerialportChannel(e.Port);
                port.ControllerAddress = e.DeviceResponse[0];

                this.devicePort = this.solution.LastWorkedPort = port;

                AsyncOperation asyncOp = AsyncOperationManager.CreateOperation(Guid.NewGuid());
                this.userStateToLifeTime.Add(asyncOp);
                WorkerEventHandler workerDelegate = new WorkerEventHandler(this.Upload);
                workerDelegate.BeginInvoke(port, null, null);
            }
        }