Пример #1
0
        void frmProgressReporter_DoWork(object sender, Controls.ProgressWorkerEventArgs e, object passdata = null)
        {
            string dest = Port;

            dest = OnSettings("UDP_port", dest);

            if (System.Windows.Forms.DialogResult.Cancel == InputBox.Show("Listern Port", "Enter Local port (ensure remote end is already sending)", ref dest))
            {
                return;
            }
            Port = dest;

            OnSettings("UDP_port", Port, true);

            client = new UdpClient(int.Parse(Port));

            while (true)
            {
                ((ProgressReporterDialogue)sender).UpdateProgressAndStatus(-1, "Waiting for UDP");
                System.Threading.Thread.Sleep(500);

                if (((ProgressReporterDialogue)sender).doWorkArgs.CancelRequested)
                {
                    ((ProgressReporterDialogue)sender).doWorkArgs.CancelAcknowledged = true;
                    try
                    {
                        client.Close();
                    }
                    catch { }
                    return;
                }

                if (BytesToRead > 0)
                {
                    break;
                }
            }

            if (BytesToRead == 0)
            {
                return;
            }

            try
            {
                client.Receive(ref RemoteIpEndPoint);
                log.InfoFormat("NetSerial connecting to {0} : {1}", RemoteIpEndPoint.Address, RemoteIpEndPoint.Port);
                client.Connect(RemoteIpEndPoint);
            }
            catch (Exception ex)
            {
                if (client != null && client.Client.Connected)
                {
                    client.Close();
                }
                log.Info(ex.ToString());
                CustomMessageBox.Show("Please check your Firewall settings\nPlease try running this command\n1.    Run the following command in an elevated command prompt to disable Windows Firewall temporarily:\n    \nNetsh advfirewall set allprofiles state off\n    \nNote: This is just for test; please turn it back on with the command 'Netsh advfirewall set allprofiles state on'.\n", "Error");
                throw new Exception("The socket/serialproxy is closed " + e);
            }
        }
Пример #2
0
        void pdr_DoWork(object sender, Controls.ProgressWorkerEventArgs e, object passdata = null)
        {
            Utilities.Firmware fw = new Utilities.Firmware();
            fw.Progress -= fw_Progress1;
            fw.Progress += fw_Progress;
            softwares    = fw.getFWList(firmwareurl);

            foreach (var soft in softwares)
            {
                updateDisplayNameInvoke(soft);
            }
        }
Пример #3
0
        void pdr_DoWork(object sender, Controls.ProgressWorkerEventArgs e, object passdata = null)
        {
            // upload fw

            Utilities.Firmware fw = new Utilities.Firmware();
            fw.Progress += fw_Progress;
            string firmwareurl = "";

            if (usebeta)
            {
                firmwareurl = "https://raw.github.com/diydrones/binary/master/dev/firmware2.xml";
            }

            List <Utilities.Firmware.software> swlist = fw.getFWList(firmwareurl);

            if (swlist.Count == 0)
            {
                e.ErrorMessage = "Error getting Firmware list";
                return;
            }

            switch (Wizard.config["fwtype"].ToString())
            {
            case "copter":
                // fwframe is already defined for copter
                break;

            default:
                // mirror fwtype to fwframe
                Wizard.config["fwframe"] = Wizard.config["fwtype"].ToString();
                break;
            }

            string target = Wizard.config["fwframe"].ToString();


            if (e.CancelRequested)
            {
                e.CancelAcknowledged = true;
                return;
            }

            foreach (var sw in swlist)
            {
                foreach (KeyValuePair <string, string> parturl in fwmap)
                {
                    if (target.ToLower() == parturl.Key.ToLower() && sw.url2560.ToLower().Contains(parturl.Value.ToString().ToLower()))
                    {
                        try
                        {
                            fwdone = fw.update(comport, sw, "");
                            //fwdone = true;
                        }
                        catch { }
                        if (fwdone == false)
                        {
                            e.ErrorMessage = "Error uploading Firmware";
                            return;
                        }
                        break;
                    }
                }
                if (fwdone)
                {
                    break;
                }
            }

            if (e.CancelRequested)
            {
                e.CancelAcknowledged = true;
                return;
            }

            if (!fwdone)
            {
                e.ErrorMessage = "Error with Firmware";
                return;
            }

            return;
        }
Пример #4
0
        void pdr_DoWork(object sender, Controls.ProgressWorkerEventArgs e, object passdata = null)
        {
            log.Info("FW load");

            string url              = "";
            string url2560          = "";
            string url2560_2        = "";
            string px4              = "";
            string name             = "";
            string desc             = "";
            int    k_format_version = 0;

            softwares.Clear();

            software temp = new software();

            // this is for mono to a ssl server
            //ServicePointManager.CertificatePolicy = new NoCheckCertificatePolicy();
            ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback((sender1, certificate, chain, policyErrors) => { return(true); });

            try
            {
                log.Info("url: " + firmwareurl);
                using (XmlTextReader xmlreader = new XmlTextReader(firmwareurl))
                {
                    while (xmlreader.Read())
                    {
                        xmlreader.MoveToElement();
                        switch (xmlreader.Name)
                        {
                        case "url":
                            url = xmlreader.ReadString();
                            break;

                        case "url2560":
                            url2560 = xmlreader.ReadString();
                            break;

                        case "url2560-2":
                            url2560_2 = xmlreader.ReadString();
                            break;

                        case "urlpx4":
                            px4 = xmlreader.ReadString();
                            break;

                        case "name":
                            name = xmlreader.ReadString();
                            break;

                        case "format_version":
                            k_format_version = int.Parse(xmlreader.ReadString());
                            break;

                        case "desc":
                            desc = xmlreader.ReadString();
                            break;

                        case "Firmware":
                            if (!url2560.Equals("") && !name.Equals("") && !desc.Equals("Please Update"))
                            {
                                temp.desc             = desc;
                                temp.name             = name;
                                temp.url              = url;
                                temp.url2560          = url2560;
                                temp.url2560_2        = url2560_2;
                                temp.urlpx4           = px4;
                                temp.k_format_version = k_format_version;

                                try
                                {
                                    try
                                    {
                                        if (!url2560.Contains("github"))
                                        {
                                            name = getAPMVersion(temp.url2560);
                                            if (name != "")
                                            {
                                                temp.name = name;
                                            }
                                        }
                                    }
                                    catch { }

                                    updateDisplayNameInvoke(temp);
                                }
                                catch { }     // just in case

                                softwares.Add(temp);
                            }
                            url              = "";
                            url2560          = "";
                            name             = "";
                            desc             = "";
                            k_format_version = 0;
                            temp             = new software();
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
                //CustomMessageBox.Show("Failed to get Firmware List : " + ex.Message);
                throw ex;
            }
            log.Info("FW load done");

            ((ProgressReporterDialogue)sender).UpdateProgressAndStatus(100, "Done");
        }
Пример #5
0
        void pdr_DoWork(object sender, Controls.ProgressWorkerEventArgs e, object passdata = null)
        {
            // upload fw

            /*Utilities.Firmware fw = new Utilities.Firmware();
             * fw.Progress += fw_Progress;
             * string firmwareurl = "";
             * if (usebeta)
             *  firmwareurl = "https://raw.github.com/ardupilot/binary/master/dev/firmware2.xml";
             *
             * List<Utilities.Firmware.software> swlist = fw.getFWList(firmwareurl);
             *
             * if (swlist.Count == 0)
             * {
             *  e.ErrorMessage = "Error getting Firmware list";
             *  return;
             * }
             *
             * switch (Wizard.config["fwtype"].ToString())
             * {
             *  case "copter":
             *      // fwframe is already defined for copter
             *      break;
             *  default:
             *      // mirror fwtype to fwframe
             *      Wizard.config["fwframe"] = Wizard.config["fwtype"].ToString();
             *      break;
             * }
             *
             * string target = Wizard.config["fwframe"].ToString();
             *
             *
             * if (e.CancelRequested)
             * {
             *  e.CancelAcknowledged = true;
             *  return;
             * }
             *
             * foreach (var sw in swlist)
             * {
             *  foreach (KeyValuePair<string, string> parturl in fwmap)
             *  {
             *      if (target.ToLower() == parturl.Key.ToLower() &&
             *          sw.url2560.ToLower().Contains(parturl.Value.ToString().ToLower()))
             *      {
             *          try
             *          {
             *              fwdone = fw.update(comport, sw, "");
             *              //fwdone = true;
             *          }
             *          catch
             *          {
             *          }
             *          if (fwdone == false)
             *          {
             *              e.ErrorMessage = "Error uploading Firmware";
             *              return;
             *          }
             *          break;
             *      }
             *  }
             *  if (fwdone)
             *      break;
             * }
             *
             * if (e.CancelRequested)
             * {
             *  e.CancelAcknowledged = true;
             *  return;
             * }
             *
             * if (!fwdone)
             * {
             *  e.ErrorMessage = "Error with Firmware";
             *  return;
             * }
             */
            return;
        }