Esempio n. 1
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine(
                    "Usage: ParameterMetaDataGenerator.exe \"ArduCopter\\Parameters.cpp;ArduPlane\\Parameters.cpp;APMrover2\\Parameters.cpp\" output.xml");
                return;
            }


            log4net.Repository.Hierarchy.Hierarchy hierarchy =
                (Hierarchy)log4net.LogManager.GetRepository(Assembly.GetAssembly(typeof(Program)));

            PatternLayout patternLayout = new PatternLayout();

            patternLayout.ConversionPattern = "%date [%thread] %-5level %logger - %message%newline";
            patternLayout.ActivateOptions();

            var cca = new ConsoleAppender();

            cca.Layout = patternLayout;
            cca.ActivateOptions();
            hierarchy.Root.AddAppender(cca);

            hierarchy.Root.Level = Level.Debug;
            hierarchy.Configured = true;

            ParameterMetaDataParser.GetParameterInformation(args[0], args[1]);
        }
Esempio n. 2
0
        private void myButton1_Click_2(object sender, EventArgs e)
        {
            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduCopter-2.8.1/ArduCopter/Parameters.pde"
                , "ArduCopter2.8.1.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduCopter-2.9.1/ArduCopter/Parameters.pde"
                , "ArduCopter2.9.1.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduCopter-3.0/ArduCopter/Parameters.pde"
                , "ArduCopter3.0.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduCopter-3.1.5/ArduCopter/Parameters.pde"
                , "ArduCopter3.1.5.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduCopter-3.2.1/ArduCopter/Parameters.pde"
                , "ArduCopter3.2.1.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/Copter-3.3.2/ArduCopter/Parameters.cpp"
                , "ArduCopter3.3.2.xml");


// plane

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduPlane-3.5.2/ArduPlane/Parameters.cpp"
                , "ArduPlane3.5.2.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduPlane-3.3.0/ArduPlane/Parameters.pde"
                , "ArduPlane3.3.0.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduPlane-3.2.2/ArduPlane/Parameters.pde"
                , "ArduPlane3.2.2.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduPlane-3.1.0/ArduPlane/Parameters.pde"
                , "ArduPlane3.1.0.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduPlane-3.0.3/ArduPlane/Parameters.pde"
                , "ArduPlane3.0.3.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduPlane-2.78b/ArduPlane/Parameters.pde"
                , "ArduPlane2.78b.xml");

            ParameterMetaDataParser.GetParameterInformation(
                "https://raw.githubusercontent.com/ArduPilot/ardupilot/ArduPlane-2.75/ArduPlane/Parameters.pde"
                , "ArduPlane2.75.xml");
        }
Esempio n. 3
0
        private void BUT_paramgen_Click(object sender, EventArgs e)
        {
            if(MissionPlanner.Utilities.Update.dobeta)
                ParameterMetaDataParser.GetParameterInformation(ConfigurationManager.AppSettings["ParameterLocationsBleeding"]);
            else
                ParameterMetaDataParser.GetParameterInformation(ConfigurationManager.AppSettings["ParameterLocations"]);

            ParameterMetaDataRepositoryAPM.Reload();
        }
Esempio n. 4
0
        private void BUT_paramgen_Click(object sender, EventArgs e)
        {
            /*
             * if(MissionPlanner.Utilities.Update.dobeta)
             *  ParameterMetaDataParser.GetParameterInformation(ConfigurationManager.AppSettings["ParameterLocationsBleeding"]);
             * else
             *  ParameterMetaDataParser.GetParameterInformation(ConfigurationManager.AppSettings["ParameterLocations"]);
             */
            // scan latest, and append older
            ParameterMetaDataParser.GetParameterInformation(ConfigurationManager.AppSettings["ParameterLocationsBleeding"] + ";" + ConfigurationManager.AppSettings["ParameterLocations"]);

            ParameterMetaDataRepositoryAPM.Reload();
        }
Esempio n. 5
0
        private void BUT_paramgen_Click(object sender, EventArgs e)
        {
            if (MissionPlanner.Utilities.Update.dobeta)
            {
                ParameterMetaDataParser.GetParameterInformation(
                    "https://raw.githubusercontent.com/BogdanPal1/ardupilot/pmucan/ArduPlane/Parameters.cpp");
            }
            else
            {
                ParameterMetaDataParser.GetParameterInformation(
                    "https://raw.githubusercontent.com/BogdanPal1/ardupilot/pmucan/ArduPlane/Parameters.cpp");
            }

            ParameterMetaDataRepositoryAPM.Reload();
        }
Esempio n. 6
0
        private void BUT_paramgen_Click(object sender, System.EventArgs e)
        {
            ProgressReporterDialogue prd = new ProgressReporterDialogue();

            prd.DoWork += dialogue =>
            {
                ParameterMetaDataParser.GetParameterInformation(
                    ConfigurationManager.AppSettings["ParameterLocationsBleeding"] + ";" +
                    ConfigurationManager.AppSettings["ParameterLocations"]);

                ParameterMetaDataRepositoryAPM.Reload();
            };

            prd.doWorkArgs.ForceExit = true;

            prd.RunBackgroundOperationAsync();
        }
Esempio n. 7
0
        private void BUT_paramgen_Click(object sender, System.EventArgs e)
        {
            ProgressReporterDialogue prd = new ProgressReporterDialogue();

            prd.DoWork += dialogue =>
            {
                prd.UpdateProgressAndStatus(-1, "Downloading updated data");
                ParameterMetaDataParser.GetParameterInformation(
                    ConfigurationManager.AppSettings["ParameterLocationsBleeding"] + ";" +
                    ConfigurationManager.AppSettings["ParameterLocations"] + ";"
                    + "https://raw.githubusercontent.com/BeagleSystems/ardupilot/master/ArduPlane/Parameters.cpp;");

                ParameterMetaDataRepositoryAPM.Reload();
            };

            prd.doWorkArgs.CancelRequestChanged += (sender2, args) => { prd.doWorkArgs.CancelAcknowledged = true; };

            prd.doWorkArgs.ForceExit = true;

            prd.RunBackgroundOperationAsync();
        }
Esempio n. 8
0
        private void BUT_paramgen_Click(object sender, System.EventArgs e)
        {
            ProgressReporterDialogue prd = new ProgressReporterDialogue();

            prd.DoWork += dialogue =>
            {
                prd.UpdateProgressAndStatus(-1, "Downloading updated data");
                ParameterMetaDataParser.GetParameterInformation(
                    ConfigurationManager.AppSettings["ParameterLocationsBleeding"] + ";" +
                    ConfigurationManager.AppSettings["ParameterLocations"] + ";"
                    + "https://raw.githubusercontent.com/ArduPilot/ardupilot/Copter-3.6/ArduCopter/Parameters.cpp;" +
                    "https://raw.githubusercontent.com/ArduPilot/ardupilot/Copter-3.5/ArduCopter/Parameters.cpp;" +
                    "https://raw.githubusercontent.com/ArduPilot/ardupilot/plane3.9/ArduCopter/Parameters.cpp;" +
                    "https://raw.githubusercontent.com/ArduPilot/ardupilot/plane3.8/ArduCopter/Parameters.cpp;");

                ParameterMetaDataRepositoryAPM.Reload();
            };

            prd.doWorkArgs.ForceExit = true;

            prd.RunBackgroundOperationAsync();
        }
Esempio n. 9
0
        private void BUT_paramgen_Click(object sender, EventArgs e)
        {
            ParameterMetaDataParser.GetParameterInformation();

            ParameterMetaDataRepository.Reload();
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            log4net.Repository.Hierarchy.Hierarchy hierarchy =
                (Hierarchy)log4net.LogManager.GetRepository(Assembly.GetAssembly(typeof(Program)));

            PatternLayout patternLayout = new PatternLayout();

            patternLayout.ConversionPattern = "%date [%thread] %-5level %logger - %message%newline";
            patternLayout.ActivateOptions();

            var cca = new ConsoleAppender();

            cca.Layout = patternLayout;
            cca.ActivateOptions();
            hierarchy.Root.AddAppender(cca);

            hierarchy.Root.Level = Level.Debug;
            hierarchy.Configured = true;

            if (false)
            {
                var resp = "https://api.github.com/repos/ardupilot/ardupilot/git/refs/tags"
                           .WithHeader("User-Agent",
                                       "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36")
                           .AllowAnyHttpStatus()
                           .GetAsync().Result;

                var tags = resp.GetJsonListAsync().Result;

                foreach (var tag in tags)
                {
                    var tagdict = (IDictionary <String, Object>)tag;

                    var refpath = tagdict["ref"].ToString();

                    if (refpath.Contains("ArduPlane") || refpath.Contains("Copter") ||
                        refpath.Contains("Rover") || refpath.Contains("APMrover2") ||
                        refpath.Contains("ArduSub") || refpath.Contains("AntennaTracker"))
                    {
                        var taginfo = (IDictionary <String, Object>)((string)tagdict["url"])
                                      .WithHeader("User-Agent",
                                                  "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36")
                                      .GetJsonAsync().Result;
                        var sha       = ((IDictionary <String, Object>)taginfo["object"])["sha"].ToString();
                        var refname   = ((string)taginfo["ref"]).Replace("refs/tags/", "");
                        var paramfile = "";
                        if (refname.Contains("Copter"))
                        {
                            paramfile = "ArduCopter/Parameters.pde;ArduCopter/Parameters.cpp";
                        }
                        if (refname.Contains("ArduPlane"))
                        {
                            paramfile = "ArduPlane/Parameters.pde;ArduPlane/Parameters.cpp";
                        }
                        if (refname.Contains("ArduSub"))
                        {
                            paramfile = "ArduSub/Parameters.pde;ArduSub/Parameters.cpp";
                        }
                        if (refname.Contains("Rover"))
                        {
                            paramfile = "Rover/Parameters.pde;Rover/Parameters.cpp";
                        }
                        if (refname.Contains("APMrover2"))
                        {
                            paramfile = "APMrover2/Parameters.pde;APMrover2/Parameters.cpp";
                        }
                        if (refname.Contains("AntennaTracker"))
                        {
                            paramfile = "AntennaTracker/Parameters.pde;AntennaTracker/Parameters.cpp";
                        }

                        if (paramfile == "")
                        {
                            continue;
                        }

                        var XMLFileName = String.Format("{0}{1}", Settings.GetUserDataDirectory(), refname + ".xml");

                        if (File.Exists(XMLFileName))
                        {
                            continue;
                        }

                        ParameterMetaDataParser.GetParameterInformation(
                            paramfile.Split(';')
                            .Select(a =>
                        {
                            a = a.Trim();
                            return("https://raw.github.com/ardupilot/ardupilot/" + sha + "/" + a + ";");
                        }).Aggregate("", (a, b) => a + b)
                            , refname + ".xml");
                    }
                }
            }

            if (args.Length == 1)
            {
                Console.WriteLine("needs ot be started inside the git repo");

                var proc = new System.Diagnostics.Process {
                    StartInfo = new System.Diagnostics.ProcessStartInfo
                    {
                        FileName               = "git",
                        Arguments              = "tag",
                        UseShellExecute        = false,
                        RedirectStandardOutput = true,
                        CreateNoWindow         = true
                    }
                };

                proc.Start();
                var resp = proc.StandardOutput.ReadToEnd();

                var tags = resp.Split('\n');

                foreach (var tag in tags)
                {
                    var refpath = tag;

                    if (refpath.Contains("ArduPlane") || refpath.Contains("Copter") ||
                        refpath.Contains("Rover") || refpath.Contains("APMrover2") ||
                        refpath.Contains("ArduSub") || refpath.Contains("AntennaTracker"))
                    {
                        if (!Regex.IsMatch(refpath, @"\.[0-9]+$"))
                        {
                            continue;
                        }

                        var refname   = tag;
                        var paramfile = "";
                        if (refname.Contains("Copter"))
                        {
                            paramfile = "ArduCopter/Parameters.pde;ArduCopter/Parameters.cpp";
                        }
                        if (refname.Contains("ArduPlane"))
                        {
                            paramfile = "ArduPlane/Parameters.pde;ArduPlane/Parameters.cpp";
                        }
                        if (refname.Contains("ArduSub"))
                        {
                            paramfile = "ArduSub/Parameters.pde;ArduSub/Parameters.cpp";
                        }
                        if (refname.Contains("Rover") || refname.Contains("APMrover2"))
                        {
                            paramfile = "Rover/Parameters.pde;Rover/Parameters.cpp;APMrover2/Parameters.pde;APMrover2/Parameters.cpp";
                        }
                        if (refname.Contains("AntennaTracker"))
                        {
                            paramfile = "AntennaTracker/Parameters.pde;AntennaTracker/Parameters.cpp";
                        }

                        if (paramfile == "")
                        {
                            continue;
                        }

                        var XMLFileName = String.Format("{0}{1}", Settings.GetUserDataDirectory(),
                                                        refname + ".xml");

                        if (File.Exists(XMLFileName))
                        {
                            continue;
                        }

                        var proc2 = new System.Diagnostics.Process()
                        {
                            StartInfo = new System.Diagnostics.ProcessStartInfo("git", "reset --hard " + tag)
                            {
                                CreateNoWindow = true, UseShellExecute = false
                            }
                        };

                        proc2.Start();

                        proc2.WaitForExit();

                        ParameterMetaDataParser.GetParameterInformation(
                            paramfile.Split(';')
                            .Select(a =>
                        {
                            a = a.Trim();
                            return(Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + a + ";");
                        }).Aggregate("", (a, b) => a + b)
                            , refname + ".xml");
                    }
                }
                return;
            }


            if (args.Length == 0)
            {
                Console.WriteLine(
                    "Usage: ParameterMetaDataGenerator.exe \"ArduCopter\\Parameters.cpp;ArduPlane\\Parameters.cpp;APMrover2\\Parameters.cpp\" output.xml");
                return;
            }


            ParameterMetaDataParser.GetParameterInformation(args[0], args[1]);
        }
        private void BUT_paramgen_Click(object sender, System.EventArgs e)
        {
            ParameterMetaDataParser.GetParameterInformation(ConfigurationManager.AppSettings["ParameterLocationsBleeding"] + ";" + ConfigurationManager.AppSettings["ParameterLocations"]);

            ParameterMetaDataRepositoryAPM.Reload();
        }