Esempio n. 1
0
        private async void btnUploadHex_Click(object sender, EventArgs e)
        {
            LoadingButton(btnUploadHex);
            try
            {
                byte[]       buffer       = this.intelHex.ToBinary();
                FirmwareInfo firmwareInfo = new FirmwareInfo();
                firmwareInfo.Set("Version", intelHex.Headers.Version);
                firmwareInfo.Set("Description", intelHex.Headers.Description);
                firmwareInfo.Set("FirmwareGUID", intelHex.Headers.FirmwareGUID);
                Task <dynamic> task = Task.Factory.StartNew(() => device.SendFirmwareInfo(firmwareInfo));
                dynamic        responseFirmwareInfo = await task;

                ResponseFirmware response = device.ParseFirmwareInfoResponse(responseFirmwareInfo);
                if (response.IsSuccess)
                {
                    panelUploadProgress.Visible = true;
                    Task <dynamic> taskSend = Task.Factory.StartNew(() => device.SendHexFile(buffer));
                    dynamic        responseFirmwareUpload = await taskSend;
                    ResetButton(btnUploadHex);
                    panelUploadProgress.Visible = false;
                    response = device.ParseFirmwareUploadResponse(responseFirmwareUpload);
                    if (response.IsSuccess)
                    {
                        ShowInfoMessage(ECRDictionary.GetTranslation("Hex file was uploaded successfully"));
                    }
                    else
                    {
                        if (response.Error.Length > 0)
                        {
                            ShowErrorMessage(response.Error);
                        }
                    }
                }
                else
                {
                    ResetButton(btnUploadHex);
                    if (response.Error.Length > 0)
                    {
                        ShowErrorMessage(response.Error);
                    }
                }
            }
            catch (IntelHexParserException)
            {
                panelUploadProgress.Visible = false;
                ResetButton(btnUploadHex);
                ShowErrorMessage(ECRDictionary.GetTranslation("Invalid HEX format"));
            }
        }
Esempio n. 2
0
        private async void btnFlash_Click(object sender, EventArgs e)
        {
            LoadingButton(btnFlash);
            Task <dynamic>   task = Task.Factory.StartNew(() => device.Flash());
            dynamic          responseFirmwareInfo = await task;
            ResponseFirmware response             = device.ParseFirmwareResponseBurn(responseFirmwareInfo);

            ResetButton(btnFlash);
            if (response.IsSuccess)
            {
                ShowInfoMessage(ECRDictionary.GetTranslation("Flash is starting..."));
                Clear();
                ChangePanelsState(false);
            }
            else
            {
                ResetButton(btnFlash);
                if (response.Error.Length > 0)
                {
                    ShowErrorMessage(response.Error);
                }
            }
        }