private void btn_BL_connet_Click(object sender, EventArgs e) { Bl_Handler = BL_Handler.Enumerate(0x15A2, new[] { 0x0073 }).FirstOrDefault(); if (Bl_Handler != null) { Bl_Handler.LogUpdate += UpdateLogFromHandler; Bl_Handler.DataRecieved += PushReceiveData; Bl_Handler.Inserted += DeviceInserted; Bl_Handler.Removed += DeviceRemoved; Bl_Handler.StartListen(); } }
private void btn_onekeyupdate_Click(object sender, EventArgs e) { btn_onekeyupdate.Enabled = false; bool BL_connect = false; Viewer.UpdateProgressBarCallback UpdateProgressBar = Assign_ProgressBar; Viewer.UpadateLogInvoke UpdateLog = LogUpdate; if (Viewer.fingerPrint == null) { Viewer.fingerPrint = new FingerPrint_API.FingerPrint(); Viewer.fingerPrint.AutoConnect_Interval = 5000; } if (!Viewer.fingerPrint.IsConnected) { InitialDvice(true); } bool force_try = false; if (!Viewer._Initial) { DialogResult dr = MessageBox.Show("Can't Find Appropriate Device, Try Recovery?", "Connect Failed", MessageBoxButtons.YesNo); force_try = (dr == DialogResult.Yes) ? true : false; } if (Viewer._Initial || force_try) { int BLtry_count = 0; Invoke(UpdateLog, new Object[] { "Initializing FW Update Menager...", true }); Invoke(UpdateLog, new Object[] { "Please Waiting...", false }); while (Bl_Handler == null && BLtry_count < 5) { Invoke(UpdateLog, new Object[] { "...", false }); System.Threading.Thread.Sleep(1000); Bl_Handler = BL_Handler.Enumerate(0x15A2, new[] { 0x0073 }).FirstOrDefault(); BLtry_count++; } Invoke(UpdateLog, new Object[] { " ", true }); if (Bl_Handler != null) { Bl_Handler.LogUpdate += UpdateLogFromHandler; Bl_Handler.DataRecieved += ReceiveDataFlag; Bl_Handler.StartListen(); BL_connect = true; Invoke(UpdateLog, new Object[] { "Initializing FW Update Menager Success...", true }); } else { Invoke(UpdateLog, new Object[] { "Initializing Failed, Recovery Function Start...", true }); Sdp_Handler = SDP_Handler.Enumerate(0x1FC9, new[] { 0x0130 }).FirstOrDefault(); if (Sdp_Handler != null) { Sdp_Handler.DataRecieved += ReceiveDataFlag; Sdp_Handler.StartListen(); Setup_BootLoader(); } else { Invoke(UpdateLog, new Object[] { "Recovery Failed, Terminated...", true }); } } System.Threading.Thread.Sleep(3000); // Reconnect if (!BL_connect) { Bl_Handler = BL_Handler.Enumerate(0x15A2, new[] { 0x0073 }).FirstOrDefault(); if (Bl_Handler != null) { Bl_Handler.LogUpdate += UpdateLogFromHandler; Bl_Handler.DataRecieved += ReceiveDataFlag; Bl_Handler.StartListen(); BL_connect = true; Invoke(UpdateLog, new Object[] { "Initializing FW Update Menager Success...", true }); } else { Invoke(UpdateLog, new Object[] { "Initializing FW Upgrade Menager Fail... Terminated", true }); } } if (BL_connect) { string ImageFilePath = tb_allinone_path.Text; //Check Recipe// if (!File.Exists("Auto_Recipe.txt")) { Invoke(UpdateLog, new Object[] { "Recipe Loss, Please Contact For Support", true }); } else { Check_Recipe(); byte[] Image_data = Load_Image(ImageFilePath); if (File_Support) { Do_Command(Image_data); } Invoke(UpdateLog, new Object[] { "Process Done", true }); } } if (File_Support) { Viewer._Initial = false; int try_count = 0; Viewer.fingerPrint.Dispose(); Viewer.fingerPrint = new FingerPrint_API.FingerPrint(); rt_log.Text += "Verificating...\n"; while (!Viewer._Initial && try_count < 3) { try_count++; System.Threading.Thread.Sleep(3000); InitialDvice(false); } if (!Viewer._Initial) { Invoke(UpdateLog, new Object[] { "Updated Failed Please Check Your Image File And Restart Upgrade Program", true }); } } } btn_onekeyupdate.Enabled = true; }