diff --git a/Tools/ArdupilotMegaPlanner/ArduCopterConfig.xml b/Tools/ArdupilotMegaPlanner/ArduCopterConfig.xml new file mode 100644 index 0000000000000000000000000000000000000000..e90fae40cfe29cd13e042a768ec38068277fe659 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/ArduCopterConfig.xml @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="utf-8" ?> +<AC> + <Item> + <HEAD>Stabilization:</HEAD> + <SUBHEAD>Angular Rate Control:</SUBHEAD> + <DESC>How much throttle is applied to rotate the copter at the desired speed. + +Adjust P by motor size +Small: P = 0.145 +Med: P = 0.110 +Large: P = 0.090</DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>RATE_RLL_P</PARAMNAME> + <PARAMNAME>RATE_PIT_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>I</NAME> + <PARAMNAME>RATE_RLL_I</PARAMNAME> + <PARAMNAME>RATE_PIT_I</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>D</NAME> + <PARAMNAME>RATE_RLL_D</PARAMNAME> + <PARAMNAME>RATE_PIT_D</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>IMAX</NAME> + <PARAMNAME>RATE_RLL_IMAX</PARAMNAME> + <PARAMNAME>RATE_PIT_IMAX</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>40</RANGEMAX> + <STEP>0.1</STEP> + </FIELD> + </FIELDS> + <SUBHEAD>Dampening:</SUBHEAD> + <DESC>Resistance to angular acceleration + +A dynamic gain is applied so that the dampening only occurs at 100% when the control sticks are centered. + +When the sticks are fully deflected: +1.0 = 0% +0.5 = 50% +0.0 = 100%</DESC> + <FIELDS> + <FIELD> + <NAME>Dampen</NAME> + <PARAMNAME>STAB_D</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>Dynamic</NAME> + <PARAMNAME>STAB_D_S</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>1</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + </FIELDS> + + <SUBHEAD>Stabilize Control:</SUBHEAD> + <DESC> +How fast the copter reacts to user or autopilot input. +Higher = more aggressive control. +Too high = slow wobbles + </DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>STB_RLL_P</PARAMNAME> + <PARAMNAME>STB_PIT_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>I</NAME> + <PARAMNAME>STB_RLL_I</PARAMNAME> + <PARAMNAME>STB_PIT_I</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>IMAX</NAME> + <PARAMNAME>STB_RLL_IMAX</PARAMNAME> + <PARAMNAME>STB_PIT_IMAX</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>50</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + </FIELDS> + </Item> + <!-- Loiter --> + <Item> + <HEAD>Loiter:</HEAD> + <SUBHEAD>Angular Rate Control:</SUBHEAD> + <DESC> +How much angle is applied to make the copter accelerate to the desired speed. + </DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>LOITER_LAT_P</PARAMNAME> + <PARAMNAME>LOITER_LON_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>I</NAME> + <PARAMNAME>LOITER_LAT_I</PARAMNAME> + <PARAMNAME>LOITER_LON_I</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>D</NAME> + <PARAMNAME>LOITER_LAT_D</PARAMNAME> + <PARAMNAME>LOITER_LON_D</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>IMAX</NAME> + <PARAMNAME>LOITER_LAT_IMAX</PARAMNAME> + <PARAMNAME>LOITER_LON_IMAX</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>50</RANGEMAX> + <STEP>0.1</STEP> + </FIELD> + </FIELDS> + <SUBHEAD>Loiter Speed:</SUBHEAD> + <DESC> +How fast the copter should move towards the target. A larger value means a faster return to center, but can cause the copter to oscillate around the target. + +A distance error of 100cm * P of .25 = 25 cm/s + </DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>HLD_LAT_P</PARAMNAME> + <PARAMNAME>HLD_LON_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + </FIELDS> + </Item> + <!-- WP Nav --> + <Item> + <HEAD>WP Navigation:</HEAD> + <SUBHEAD>Nav Rate Control:</SUBHEAD> + <DESC> + How much angle is applied to make the copter accelerate to the desired speed. + </DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>NAV_LAT_P</PARAMNAME> + <PARAMNAME>NAV_LON_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>I</NAME> + <PARAMNAME>NAV_LAT_I</PARAMNAME> + <PARAMNAME>NAV_LON_I</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>D</NAME> + <PARAMNAME>NAV_LAT_D</PARAMNAME> + <PARAMNAME>NAV_LON_D</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>IMAX</NAME> + <PARAMNAME>NAV_LAT_IMAX</PARAMNAME> + <PARAMNAME>NAV_LON_IMAX</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>50</RANGEMAX> + <STEP>0.1</STEP> + </FIELD> + </FIELDS> + </Item> +</AC> diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj index a465ce36630a92cc1264db25aa277ea2b26e94af..2be3e91e80d7eb96fc0390046ff551e284238162 100644 --- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj +++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj @@ -238,7 +238,16 @@ <Compile Include="Controls\BackstageView\BackStageViewMenuPanel.cs"> <SubType>Component</SubType> </Compile> + <Compile Include="Controls\ConfigPanel.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Controls\ConfigPanel.Designer.cs"> + <DependentUpon>ConfigPanel.cs</DependentUpon> + </Compile> <Compile Include="Controls\CustomMessageBox.cs" /> + <Compile Include="Controls\LineSeparator.cs"> + <SubType>UserControl</SubType> + </Compile> <Compile Include="Controls\ProgressReporterDialogue.cs"> <SubType>Form</SubType> </Compile> @@ -537,6 +546,9 @@ <EmbeddedResource Include="Controls\BackstageView\BackstageView.resx"> <DependentUpon>BackstageView.cs</DependentUpon> </EmbeddedResource> + <EmbeddedResource Include="Controls\ConfigPanel.resx"> + <DependentUpon>ConfigPanel.cs</DependentUpon> + </EmbeddedResource> <EmbeddedResource Include="Controls\ProgressReporterDialogue.resx"> <DependentUpon>ProgressReporterDialogue.cs</DependentUpon> </EmbeddedResource> @@ -1047,6 +1059,9 @@ </ItemGroup> <ItemGroup> <Content Include="apm2.ico" /> + <Content Include="ArduCopterConfig.xml"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </Content> <Content Include="Driver\Arduino MEGA 2560.inf"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> diff --git a/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.Designer.cs b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..201222a2c957ff9b275f433a8653e03025700c86 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.Designer.cs @@ -0,0 +1,47 @@ +namespace ArdupilotMega.Controls +{ + partial class ConfigPanel + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.SuspendLayout(); + // + // ConfigPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.ClientSize = new System.Drawing.Size(642, 454); + this.Name = "ConfigPanel"; + this.Load += new System.EventHandler(this.ConfigPanel_Load); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.cs b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.cs new file mode 100644 index 0000000000000000000000000000000000000000..6e33d77c35c8ab15b3660b3c57785808e82f40ab --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.cs @@ -0,0 +1,319 @@ +using System; +using System.Collections.Generic; +using System.Collections; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Xml; + +namespace ArdupilotMega.Controls +{ + public partial class ConfigPanel : Form + { + /// <summary> + /// store tempory pending changes + /// </summary> + Hashtable _changed = new Hashtable(); + // store linked param options + Hashtable _linkedParams = new Hashtable(); + + public ConfigPanel() + { + InitializeComponent(); + } + + /// <summary> + /// fill numeric up down boxs with there value + /// </summary> + public void PopulateData() + { + // process hashdefines and update display + foreach (string value in MainV2.comPort.param.Keys) + { + Control[] text = this.Controls.Find(value, true); + foreach (Control ctl in text) + { + try + { + NumericUpDown thisctl = ((NumericUpDown)ctl); + thisctl.Value = (decimal)(float)MainV2.comPort.param[value]; + thisctl.Enabled = true; + thisctl.Validated += new EventHandler(thisctl_Validated); + } + catch (Exception ex) { Console.WriteLine(ex.ToString()); } + } + } + } + + void thisctl_Validated(object sender, EventArgs e) + { + string param = ((NumericUpDown)sender).Name; + + ((Control)sender).BackColor = Color.Green; + + foreach (string item in (List<string>)_linkedParams[param]) + { + _changed[item] = (float)((NumericUpDown)sender).Value; + } + } + + /// <summary> + /// disables all NumericUpDown box's + /// </summary> + /// <param name="inctl"></param> + void disableNumericUpDownControls(Control inctl) + { + foreach (Control ctl in inctl.Controls) + { + if (ctl.Controls.Count > 0) + { + disableNumericUpDownControls(ctl); + } + if (ctl.GetType() == typeof(NumericUpDown)) + { + ctl.Enabled = false; + } + } + } + + /// <summary> + /// The template xml for the screen + /// </summary> + /// <param name="FileName"></param> + public void LoadXML(string FileName) + { + int x = 20; + int y = 0; + + int optionx = 300; + int optiony = 0; + + string name = ""; + List<string> paramname = new List<string>(); + double rangemin = 0; + double rangemax = 10; + double step = 0.001; + + using (XmlReader reader = XmlReader.Create(FileName)) + { + while (reader.Read()) + { + switch (reader.Name.ToUpper()) + { + case "ITEM": + + break; + case "HEAD": + y += 30; + string heading = reader.ReadString(); + + Label lbl = new Label(); + lbl.AutoSize = true; + lbl.Text = heading; + lbl.Location = new Point(x,y); + lbl.Font = new Font(FontFamily.GenericSansSerif, 15,FontStyle.Bold); + + this.Controls.Add(lbl); + + MyButton but = new MyButton(); + + but.Text = "Save"; + but.Location = new Point(optionx + 100, y); + but.Click += new EventHandler(but_Click); + this.Controls.Add(but); + + y = lbl.Location.Y + lbl.Height + 10; + + LineSeparator ls = new LineSeparator(); + + ls.Width = this.Width - 40; + ls.Location = new Point(x,y); + + ls.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + + this.Controls.Add(ls); + + y = ls.Location.Y + ls.Height; + + break; + case "SUBHEAD": + y += 15; + + optiony = y; + optionx = 300; + string subhead = reader.ReadString(); + + Label lbl2 = new Label(); + lbl2.AutoSize = true; + lbl2.Text = subhead; + lbl2.Location = new Point(x,y); + lbl2.Font = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Bold); + + this.Controls.Add(lbl2); + + y = lbl2.Location.Y + lbl2.Height; + + break; + case "DESC": + y += 2; + string desc = reader.ReadString(); + + Label lbl3 = new Label(); + lbl3.AutoSize = true; + lbl3.Text = AddNewLinesToText(desc); + lbl3.Location = new Point(x,y); + lbl3.Font = new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold); + + this.Controls.Add(lbl3); + + y = lbl3.Location.Y + lbl3.Height; + + break; + case "FIELDS": + if (reader.NodeType == XmlNodeType.EndElement) + { + if (optiony > y) + y = optiony; + } + break; + case "FIELD": + if (reader.NodeType == XmlNodeType.EndElement) + { + if (name == "" || paramname.Count == 0) + break; + + Label lbl5 = new Label(); + //lbl5.AutoSize = true; + lbl5.Text = name; + lbl5.Location = new Point(optionx, optiony); + lbl5.Size = new System.Drawing.Size(90,20); + lbl5.Font = new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold); + lbl5.TextAlign = ContentAlignment.MiddleRight; + + this.Controls.Add(lbl5); + + NumericUpDown nud = new NumericUpDown(); + nud.Location = new Point(optionx + 100, optiony); + nud.Size = new System.Drawing.Size(78,20); + nud.Maximum = (decimal)rangemax; + nud.Minimum = (decimal)rangemin; + nud.Increment = (decimal)step; + nud.DecimalPlaces = (int)(step.ToString().Length - step.ToString(new System.Globalization.CultureInfo("en-US")).IndexOf('.') - 1); + nud.Name = paramname[0]; + + this.Controls.Add(nud); + + optiony += nud.Height; + + _linkedParams[paramname[0]] = paramname; + + } + else + { + name = ""; + paramname = new List<string>(); + rangemax = 10; + rangemin = 0; + step = 0.001; + } + break; + case "NAME": + name = reader.ReadString(); + break; + case "PARAMNAME": + paramname.Add(reader.ReadString()); + break; + case "RANGEMIN": + rangemin = double.Parse(reader.ReadString(), new System.Globalization.CultureInfo("en-US")); + break; + case "RANGEMAX": + rangemax = double.Parse(reader.ReadString(), new System.Globalization.CultureInfo("en-US")); + break; + case "STEP": + step = double.Parse(reader.ReadString(), new System.Globalization.CultureInfo("en-US")); + break; + + } + } + } + + ThemeManager.ApplyThemeTo(this); + + disableNumericUpDownControls(this); + } + + void but_Click(object sender, EventArgs e) + { + + Hashtable temp = (Hashtable)_changed.Clone(); + + foreach (string value in temp.Keys) + { + try + { + MainV2.comPort.setParam(value, (float)_changed[value]); + _changed.Remove(value); + + try + { + // un green control as well + Control[] text = this.Controls.Find(value, true); + if (text.Length > 0) + { + ((Control)text[0]).BackColor = Color.FromArgb(0x43, 0x44, 0x45); + } + } + catch { } + } + catch { CustomMessageBox.Show("Set " + value + " Failed"); } + } + } + + // from http://stackoverflow.com/questions/2512781/winforms-big-paragraph-tooltip/2512895#2512895 + private static int maximumSingleLineTooltipLength = 40; + + private static string AddNewLinesToText(string text) + { + if (text.Length < maximumSingleLineTooltipLength) + return text; + int lineLength = maximumSingleLineTooltipLength; + StringBuilder sb = new StringBuilder(); + int currentLinePosition = 0; + for (int textIndex = 0; textIndex < text.Length; textIndex++) + { + // If we have reached the target line length and the next + // character is whitespace then begin a new line. + if (currentLinePosition >= lineLength && + char.IsWhiteSpace(text[textIndex])) + { + sb.Append(Environment.NewLine); + currentLinePosition = 0; + } + // reset line lnegth counter on existing new line + if (text[textIndex] == Environment.NewLine[Environment.NewLine.Length - 1]) + { + currentLinePosition = 1; + // skip space at line start + if (textIndex == 0) + currentLinePosition = 0; + } + // If we have just started a new line, skip all the whitespace. + if (currentLinePosition == 0) + while (textIndex < text.Length && char.IsWhiteSpace(text[textIndex])) + textIndex++; + // Append the next character. + if (textIndex < text.Length) sb.Append(text[textIndex]); + currentLinePosition++; + } + return sb.ToString(); + } + + private void ConfigPanel_Load(object sender, EventArgs e) + { + PopulateData(); + } + } +} \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.resx b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.resx new file mode 100644 index 0000000000000000000000000000000000000000..7080a7d118e8cd7ec668e9bb0d8e90767e0c7a3c --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Controls/CustomMessageBox.cs b/Tools/ArdupilotMegaPlanner/Controls/CustomMessageBox.cs index 4a8b4c0f1bb25eb5e3a10194e8339216ebd8b4bd..47efdabef849db598793c19d59a7b8c0ac0746d9 100644 --- a/Tools/ArdupilotMegaPlanner/Controls/CustomMessageBox.cs +++ b/Tools/ArdupilotMegaPlanner/Controls/CustomMessageBox.cs @@ -144,7 +144,7 @@ namespace System.Windows.Forms // reset line lnegth counter on existing new line if (text[textIndex] == Environment.NewLine[Environment.NewLine.Length -1]) { - currentLinePosition = 0; + currentLinePosition = 1; } // If we have just started a new line, skip all the whitespace. if (currentLinePosition == 0) diff --git a/Tools/ArdupilotMegaPlanner/Controls/LineSeparator.cs b/Tools/ArdupilotMegaPlanner/Controls/LineSeparator.cs new file mode 100644 index 0000000000000000000000000000000000000000..9e9002a87557157c36075af36c3707c7924b9ca4 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/LineSeparator.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; + + +public partial class LineSeparator : UserControl +{ + + + + + public LineSeparator() + { + this.Height = 2; + + this.Paint += new PaintEventHandler(LineSeparator_Paint); + + + this.MaximumSize = new Size(2000, 2); + + + this.MinimumSize = new Size(0, 2); + + //this.Width = 350; + + } + + + private void LineSeparator_Paint(object sender, PaintEventArgs e) + { + + + + + Graphics g = e.Graphics; + + g.DrawLine( + + Pens.DarkGray, new Point(0, 0), new Point(this.Width, 0)); + + g.DrawLine( + + Pens.White, new Point(0, 1), new Point(this.Width, 1)); + + } + +} diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigArducopter.Designer.cs b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigArducopter.Designer.cs index 767aeb4a6f5906d525366944ad75cfe73e9cb280..f34863ea5491cb090b249f1597d9d80b9f2abe51 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigArducopter.Designer.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigArducopter.Designer.cs @@ -1071,6 +1071,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; this.Controls.Add(this.myLabel3); this.Controls.Add(this.TUNE_LOW); this.Controls.Add(this.TUNE_HIGH); @@ -1091,7 +1092,7 @@ this.Controls.Add(this.groupBox24); this.Controls.Add(this.groupBox25); this.Name = "ConfigArducopter"; - this.Size = new System.Drawing.Size(728, 393); + this.Size = new System.Drawing.Size(728, 529); this.Load += new System.EventHandler(this.ConfigArducopter_Load); ((System.ComponentModel.ISupportInitialize)(this.TUNE_LOW)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.TUNE_HIGH)).EndInit(); diff --git a/Tools/ArdupilotMegaPlanner/MainV2.cs b/Tools/ArdupilotMegaPlanner/MainV2.cs index 5ec4ebab68e9c0e9558198bc34af2f251a24ab24..4a68586990c2a13182207e5f2d4fa415c6103492 100644 --- a/Tools/ArdupilotMegaPlanner/MainV2.cs +++ b/Tools/ArdupilotMegaPlanner/MainV2.cs @@ -1912,9 +1912,13 @@ namespace ArdupilotMega } if (keyData == (Keys.Control | Keys.W)) // test { - Form frm = new GCSViews.ConfigurationView.Configuration(); - ThemeManager.ApplyThemeTo(frm); - frm.Show(); + + Controls.ConfigPanel cfg = new Controls.ConfigPanel(); + + cfg.LoadXML("ArduCopterConfig.xml"); + + cfg.ShowDialog(); + return true; } if (keyData == (Keys.Control | Keys.T)) // for override connect diff --git a/Tools/ArdupilotMegaPlanner/Msi/installer.wxs b/Tools/ArdupilotMegaPlanner/Msi/installer.wxs index 57a77bc3413053ecd81ab3052b966ccec8c7dac7..a03d29139f4d7ada6972ba7c308aa05333127fbb 100644 --- a/Tools/ArdupilotMegaPlanner/Msi/installer.wxs +++ b/Tools/ArdupilotMegaPlanner/Msi/installer.wxs @@ -2,14 +2,14 @@ <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:difx="http://schemas.microsoft.com/wix/DifxAppExtension"> - <Product Id="*" Name="APM Planner" Language="1033" Version="1.1.63" Manufacturer="Michael Oborne" UpgradeCode="{625389D7-EB3C-4d77-A5F6-A285CF99437D}"> + <Product Id="*" Name="APM Planner" Language="1033" Version="1.1.64" Manufacturer="Michael Oborne" UpgradeCode="{625389D7-EB3C-4d77-A5F6-A285CF99437D}"> <Package Description="APM Planner Installer" Comments="Apm Planner Installer" Manufacturer="Michael Oborne" InstallerVersion="200" Compressed="yes" /> <Upgrade Id="{625389D7-EB3C-4d77-A5F6-A285CF99437D}"> - <UpgradeVersion OnlyDetect="yes" Minimum="1.1.63" Property="NEWERVERSIONDETECTED" IncludeMinimum="no" /> - <UpgradeVersion OnlyDetect="no" Maximum="1.1.63" Property="OLDERVERSIONBEINGUPGRADED" IncludeMaximum="no" /> + <UpgradeVersion OnlyDetect="yes" Minimum="1.1.64" Property="NEWERVERSIONDETECTED" IncludeMinimum="no" /> + <UpgradeVersion OnlyDetect="no" Maximum="1.1.64" Property="OLDERVERSIONBEINGUPGRADED" IncludeMaximum="no" /> </Upgrade> <InstallExecuteSequence> @@ -31,221 +31,224 @@ <Permission User="Everyone" GenericAll="yes" /> </CreateFolder> </Component> -<Component Id="_comp1" Guid="a070a228-42fe-4bbc-a8f4-ca37bedc8aff"> +<Component Id="_comp1" Guid="dba8d621-643a-42b5-a947-bf317799d98f"> <File Id="_2" Source="..\bin\release\AeroSimRCAPMHil.zip" /> <File Id="_3" Source="..\bin\release\alglibnet2.dll" /> <File Id="_4" Source="..\bin\release\ArduCopter-sitl.exe" /> <File Id="_5" Source="..\bin\release\arducopter-xplane.zip" /> <File Id="_6" Source="..\bin\release\ArduCopter.exe" /> -<File Id="_7" Source="..\bin\release\ArdupilotMegaPlanner.exe" /> -<File Id="_8" Source="..\bin\release\ArdupilotMegaPlanner.exe.config" /> -<File Id="_9" Source="..\bin\release\ArdupilotMegaPlanner.pdb" /> -<File Id="_10" Source="..\bin\release\ArduPlane-sitl.exe" /> -<File Id="_11" Source="..\bin\release\ArduPlane.exe" /> -<File Id="_12" Source="..\bin\release\block_plane_0.dae" /> -<File Id="_13" Source="..\bin\release\BSE.Windows.Forms.dll" /> -<File Id="_14" Source="..\bin\release\Core.dll" /> -<File Id="_15" Source="..\bin\release\cygwin1.dll" /> -<File Id="_16" Source="..\bin\release\dataflashlog.xml" /> -<File Id="_17" Source="..\bin\release\DirectShowLib-2005.dll" /> -<File Id="_18" Source="..\bin\release\eeprom.bin" /> -<File Id="_19" Source="..\bin\release\GMap.NET.Core.dll" /> -<File Id="_20" Source="..\bin\release\GMap.NET.WindowsForms.dll" /> -<File Id="_21" Source="..\bin\release\hud.html" /> -<File Id="_22" Source="..\bin\release\ICSharpCode.SharpZipLib.dll" /> -<File Id="_23" Source="..\bin\release\Ionic.Zip.Reduced.dll" /> -<File Id="_24" Source="..\bin\release\IronPython.dll" /> -<File Id="_25" Source="..\bin\release\IronPython.Modules.dll" /> -<File Id="_26" Source="..\bin\release\JSBSim.exe" /> -<File Id="_27" Source="..\bin\release\KMLib.dll" /> -<File Id="_28" Source="..\bin\release\log4net.dll" /> -<File Id="_29" Source="..\bin\release\mavcmd.xml" /> -<File Id="_30" Source="..\bin\release\MAVLink.xml" /> -<File Id="_31" Source="..\bin\release\MetaDataExtractor.dll" /> -<File Id="_32" Source="..\bin\release\Microsoft.DirectX.DirectInput.dll" /> -<File Id="_33" Source="..\bin\release\Microsoft.DirectX.dll" /> -<File Id="_34" Source="..\bin\release\Microsoft.Dynamic.dll" /> -<File Id="_35" Source="..\bin\release\Microsoft.Scripting.Core.dll" /> -<File Id="_36" Source="..\bin\release\Microsoft.Scripting.Debugging.dll" /> -<File Id="_37" Source="..\bin\release\Microsoft.Scripting.dll" /> -<File Id="_38" Source="..\bin\release\Microsoft.Scripting.ExtensionAttribute.dll" /> -<File Id="_39" Source="..\bin\release\netDxf.dll" /> -<File Id="_40" Source="..\bin\release\OpenTK.dll" /> -<File Id="_41" Source="..\bin\release\OpenTK.GLControl.dll" /> -<File Id="_42" Source="..\bin\release\quadhil.xml" /> -<File Id="_43" Source="..\bin\release\serialsent.raw" /> -<File Id="_44" Source="..\bin\release\SharpKml.dll" /> -<File Id="_45" Source="..\bin\release\System.Data.SQLite.dll" /> -<File Id="_46" Source="..\bin\release\System.Speech.dll" /> -<File Id="_47" Source="..\bin\release\Updater.exe" /> -<File Id="_48" Source="..\bin\release\Updater.exe.config" /> -<File Id="_49" Source="..\bin\release\Updater.pdb" /> -<File Id="_50" Source="..\bin\release\version.exe" /> -<File Id="_51" Source="..\bin\release\version.txt" /> -<File Id="_52" Source="..\bin\release\ZedGraph.dll" /> +<File Id="_7" Source="..\bin\release\ArduinoCPP.exe" /> +<File Id="_8" Source="..\bin\release\ArduinoCPP.exe.config" /> +<File Id="_9" Source="..\bin\release\ArduinoCPP.pdb" /> +<File Id="_10" Source="..\bin\release\ArdupilotMegaPlanner.exe" /> +<File Id="_11" Source="..\bin\release\ArdupilotMegaPlanner.exe.config" /> +<File Id="_12" Source="..\bin\release\ArdupilotMegaPlanner.pdb" /> +<File Id="_13" Source="..\bin\release\ArduPlane-sitl.exe" /> +<File Id="_14" Source="..\bin\release\ArduPlane.exe" /> +<File Id="_15" Source="..\bin\release\block_plane_0.dae" /> +<File Id="_16" Source="..\bin\release\BSE.Windows.Forms.dll" /> +<File Id="_17" Source="..\bin\release\Core.dll" /> +<File Id="_18" Source="..\bin\release\cygwin1.dll" /> +<File Id="_19" Source="..\bin\release\dataflashlog.xml" /> +<File Id="_20" Source="..\bin\release\DirectShowLib-2005.dll" /> +<File Id="_21" Source="..\bin\release\eeprom.bin" /> +<File Id="_22" Source="..\bin\release\GMap.NET.Core.dll" /> +<File Id="_23" Source="..\bin\release\GMap.NET.WindowsForms.dll" /> +<File Id="_24" Source="..\bin\release\hud.html" /> +<File Id="_25" Source="..\bin\release\ICSharpCode.SharpZipLib.dll" /> +<File Id="_26" Source="..\bin\release\Ionic.Zip.Reduced.dll" /> +<File Id="_27" Source="..\bin\release\IronPython.dll" /> +<File Id="_28" Source="..\bin\release\IronPython.Modules.dll" /> +<File Id="_29" Source="..\bin\release\JSBSim.exe" /> +<File Id="_30" Source="..\bin\release\KMLib.dll" /> +<File Id="_31" Source="..\bin\release\log4net.dll" /> +<File Id="_32" Source="..\bin\release\mavcmd.xml" /> +<File Id="_33" Source="..\bin\release\MAVLink.xml" /> +<File Id="_34" Source="..\bin\release\MetaDataExtractor.dll" /> +<File Id="_35" Source="..\bin\release\Microsoft.DirectX.DirectInput.dll" /> +<File Id="_36" Source="..\bin\release\Microsoft.DirectX.dll" /> +<File Id="_37" Source="..\bin\release\Microsoft.Dynamic.dll" /> +<File Id="_38" Source="..\bin\release\Microsoft.Scripting.Core.dll" /> +<File Id="_39" Source="..\bin\release\Microsoft.Scripting.Debugging.dll" /> +<File Id="_40" Source="..\bin\release\Microsoft.Scripting.dll" /> +<File Id="_41" Source="..\bin\release\Microsoft.Scripting.ExtensionAttribute.dll" /> +<File Id="_42" Source="..\bin\release\netDxf.dll" /> +<File Id="_43" Source="..\bin\release\OpenTK.dll" /> +<File Id="_44" Source="..\bin\release\OpenTK.GLControl.dll" /> +<File Id="_45" Source="..\bin\release\quadhil.xml" /> +<File Id="_46" Source="..\bin\release\serialsent.raw" /> +<File Id="_47" Source="..\bin\release\SharpKml.dll" /> +<File Id="_48" Source="..\bin\release\System.Data.SQLite.dll" /> +<File Id="_49" Source="..\bin\release\System.Speech.dll" /> +<File Id="_50" Source="..\bin\release\Updater.exe" /> +<File Id="_51" Source="..\bin\release\Updater.exe.config" /> +<File Id="_52" Source="..\bin\release\Updater.pdb" /> +<File Id="_53" Source="..\bin\release\version.exe" /> +<File Id="_54" Source="..\bin\release\version.txt" /> +<File Id="_55" Source="..\bin\release\ZedGraph.dll" /> </Component> -<Directory Id="aircraft52" Name="aircraft"> -<Component Id="_comp53" Guid="31143d1e-1968-4907-9471-4e01422f9e78"> -<File Id="_54" Source="..\bin\release\aircraft\placeholder.txt" /> +<Directory Id="aircraft55" Name="aircraft"> +<Component Id="_comp56" Guid="45b138a8-2f48-4508-9edc-e6688532247a"> +<File Id="_57" Source="..\bin\release\aircraft\placeholder.txt" /> </Component> -<Directory Id="arducopter54" Name="arducopter"> -<Component Id="_comp55" Guid="fbb61931-3ae2-4df5-86ef-3468717fccbc"> -<File Id="_56" Source="..\bin\release\aircraft\arducopter\arducopter-set.xml" /> -<File Id="_57" Source="..\bin\release\aircraft\arducopter\arducopter.jpg" /> -<File Id="_58" Source="..\bin\release\aircraft\arducopter\arducopter.xml" /> -<File Id="_59" Source="..\bin\release\aircraft\arducopter\initfile.xml" /> -<File Id="_60" Source="..\bin\release\aircraft\arducopter\plus_quad2-set.xml" /> -<File Id="_61" Source="..\bin\release\aircraft\arducopter\plus_quad2.xml" /> -<File Id="_62" Source="..\bin\release\aircraft\arducopter\quad.nas" /> -<File Id="_63" Source="..\bin\release\aircraft\arducopter\README" /> +<Directory Id="arducopter57" Name="arducopter"> +<Component Id="_comp58" Guid="f084a180-18c9-41f6-8070-ae26bf831d1e"> +<File Id="_59" Source="..\bin\release\aircraft\arducopter\arducopter-set.xml" /> +<File Id="_60" Source="..\bin\release\aircraft\arducopter\arducopter.jpg" /> +<File Id="_61" Source="..\bin\release\aircraft\arducopter\arducopter.xml" /> +<File Id="_62" Source="..\bin\release\aircraft\arducopter\initfile.xml" /> +<File Id="_63" Source="..\bin\release\aircraft\arducopter\plus_quad2-set.xml" /> +<File Id="_64" Source="..\bin\release\aircraft\arducopter\plus_quad2.xml" /> +<File Id="_65" Source="..\bin\release\aircraft\arducopter\quad.nas" /> +<File Id="_66" Source="..\bin\release\aircraft\arducopter\README" /> </Component> -<Directory Id="data63" Name="data"> -<Component Id="_comp64" Guid="183432fe-1b80-4bdc-bdba-e938d240dc25"> -<File Id="_65" Source="..\bin\release\aircraft\arducopter\data\arducopter_half_step.txt" /> -<File Id="_66" Source="..\bin\release\aircraft\arducopter\data\arducopter_step.txt" /> -<File Id="_67" Source="..\bin\release\aircraft\arducopter\data\rw_generic_pylon.ac" /> +<Directory Id="data66" Name="data"> +<Component Id="_comp67" Guid="5dee70d9-d900-4409-bf27-2430cc6220d4"> +<File Id="_68" Source="..\bin\release\aircraft\arducopter\data\arducopter_half_step.txt" /> +<File Id="_69" Source="..\bin\release\aircraft\arducopter\data\arducopter_step.txt" /> +<File Id="_70" Source="..\bin\release\aircraft\arducopter\data\rw_generic_pylon.ac" /> </Component> </Directory> -<Directory Id="Engines67" Name="Engines"> -<Component Id="_comp68" Guid="792df9a4-582f-47d9-b2b6-4115108c7a30"> -<File Id="_69" Source="..\bin\release\aircraft\arducopter\Engines\a2830-12.xml" /> -<File Id="_70" Source="..\bin\release\aircraft\arducopter\Engines\prop10x4.5.xml" /> +<Directory Id="Engines70" Name="Engines"> +<Component Id="_comp71" Guid="bac95eb2-9cf0-452b-8c29-a4ab162de973"> +<File Id="_72" Source="..\bin\release\aircraft\arducopter\Engines\a2830-12.xml" /> +<File Id="_73" Source="..\bin\release\aircraft\arducopter\Engines\prop10x4.5.xml" /> </Component> </Directory> -<Directory Id="Models70" Name="Models"> -<Component Id="_comp71" Guid="dc93e1a8-4de1-42c4-b1fd-0a672efa9915"> -<File Id="_72" Source="..\bin\release\aircraft\arducopter\Models\arducopter.ac" /> -<File Id="_73" Source="..\bin\release\aircraft\arducopter\Models\arducopter.xml" /> -<File Id="_74" Source="..\bin\release\aircraft\arducopter\Models\plus_quad.ac" /> -<File Id="_75" Source="..\bin\release\aircraft\arducopter\Models\plus_quad2.ac" /> -<File Id="_76" Source="..\bin\release\aircraft\arducopter\Models\plus_quad2.xml" /> -<File Id="_77" Source="..\bin\release\aircraft\arducopter\Models\quad.3ds" /> -<File Id="_78" Source="..\bin\release\aircraft\arducopter\Models\shareware_output.3ds" /> -<File Id="_79" Source="..\bin\release\aircraft\arducopter\Models\Untitled.ac" /> -<File Id="_80" Source="..\bin\release\aircraft\arducopter\Models\Y6_test.ac" /> +<Directory Id="Models73" Name="Models"> +<Component Id="_comp74" Guid="14cf59a2-751c-4329-83f2-094a85d80f21"> +<File Id="_75" Source="..\bin\release\aircraft\arducopter\Models\arducopter.ac" /> +<File Id="_76" Source="..\bin\release\aircraft\arducopter\Models\arducopter.xml" /> +<File Id="_77" Source="..\bin\release\aircraft\arducopter\Models\plus_quad.ac" /> +<File Id="_78" Source="..\bin\release\aircraft\arducopter\Models\plus_quad2.ac" /> +<File Id="_79" Source="..\bin\release\aircraft\arducopter\Models\plus_quad2.xml" /> +<File Id="_80" Source="..\bin\release\aircraft\arducopter\Models\quad.3ds" /> +<File Id="_81" Source="..\bin\release\aircraft\arducopter\Models\shareware_output.3ds" /> +<File Id="_82" Source="..\bin\release\aircraft\arducopter\Models\Untitled.ac" /> +<File Id="_83" Source="..\bin\release\aircraft\arducopter\Models\Y6_test.ac" /> </Component> </Directory> </Directory> -<Directory Id="Rascal80" Name="Rascal"> -<Component Id="_comp81" Guid="0c6a286d-d878-41cd-9868-3e45a61f32d8"> -<File Id="_82" Source="..\bin\release\aircraft\Rascal\Rascal-keyboard.xml" /> -<File Id="_83" Source="..\bin\release\aircraft\Rascal\Rascal-submodels.xml" /> -<File Id="_84" Source="..\bin\release\aircraft\Rascal\Rascal.xml" /> -<File Id="_85" Source="..\bin\release\aircraft\Rascal\Rascal110-JSBSim-set.xml" /> -<File Id="_86" Source="..\bin\release\aircraft\Rascal\Rascal110-JSBSim.xml" /> -<File Id="_87" Source="..\bin\release\aircraft\Rascal\Rascal110-splash.rgb" /> -<File Id="_88" Source="..\bin\release\aircraft\Rascal\README.Rascal" /> -<File Id="_89" Source="..\bin\release\aircraft\Rascal\reset_CMAC.xml" /> -<File Id="_90" Source="..\bin\release\aircraft\Rascal\thumbnail.jpg" /> +<Directory Id="Rascal83" Name="Rascal"> +<Component Id="_comp84" Guid="957d112f-a39e-4619-a8a1-e66281fe43b9"> +<File Id="_85" Source="..\bin\release\aircraft\Rascal\Rascal-keyboard.xml" /> +<File Id="_86" Source="..\bin\release\aircraft\Rascal\Rascal-submodels.xml" /> +<File Id="_87" Source="..\bin\release\aircraft\Rascal\Rascal.xml" /> +<File Id="_88" Source="..\bin\release\aircraft\Rascal\Rascal110-JSBSim-set.xml" /> +<File Id="_89" Source="..\bin\release\aircraft\Rascal\Rascal110-JSBSim.xml" /> +<File Id="_90" Source="..\bin\release\aircraft\Rascal\Rascal110-splash.rgb" /> +<File Id="_91" Source="..\bin\release\aircraft\Rascal\README.Rascal" /> +<File Id="_92" Source="..\bin\release\aircraft\Rascal\reset_CMAC.xml" /> +<File Id="_93" Source="..\bin\release\aircraft\Rascal\thumbnail.jpg" /> </Component> -<Directory Id="Dialogs90" Name="Dialogs"> -<Component Id="_comp91" Guid="e89bdaf0-fd13-447f-93a4-29ccdc33bf20"> -<File Id="_92" Source="..\bin\release\aircraft\Rascal\Dialogs\config.xml" /> -<File Id="_93" Source="..\bin\release\aircraft\Rascal\Dialogs\config.xml.new" /> +<Directory Id="Dialogs93" Name="Dialogs"> +<Component Id="_comp94" Guid="96a657ee-49de-494b-85d6-277b72a81d51"> +<File Id="_95" Source="..\bin\release\aircraft\Rascal\Dialogs\config.xml" /> +<File Id="_96" Source="..\bin\release\aircraft\Rascal\Dialogs\config.xml.new" /> </Component> </Directory> -<Directory Id="Engines93" Name="Engines"> -<Component Id="_comp94" Guid="97d5a6cb-c5ce-4821-b35e-4eed7f3ae541"> -<File Id="_95" Source="..\bin\release\aircraft\Rascal\Engines\18x8.xml" /> -<File Id="_96" Source="..\bin\release\aircraft\Rascal\Engines\18x8.xml.new" /> -<File Id="_97" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml" /> -<File Id="_98" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml.new" /> +<Directory Id="Engines96" Name="Engines"> +<Component Id="_comp97" Guid="f1772147-fde4-4591-a0a7-bd5fa600c67e"> +<File Id="_98" Source="..\bin\release\aircraft\Rascal\Engines\18x8.xml" /> +<File Id="_99" Source="..\bin\release\aircraft\Rascal\Engines\18x8.xml.new" /> +<File Id="_100" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml" /> +<File Id="_101" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml.new" /> </Component> </Directory> -<Directory Id="Models98" Name="Models"> -<Component Id="_comp99" Guid="28612f51-e4ed-44df-90be-6e0ae10c432d"> -<File Id="_100" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb" /> -<File Id="_101" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb.new" /> -<File Id="_102" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac" /> -<File Id="_103" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac.new" /> -<File Id="_104" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml" /> -<File Id="_105" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml.new" /> -<File Id="_106" Source="..\bin\release\aircraft\Rascal\Models\smoke.png" /> -<File Id="_107" Source="..\bin\release\aircraft\Rascal\Models\smoke.png.new" /> -<File Id="_108" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml" /> -<File Id="_109" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml.new" /> -<File Id="_110" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac" /> -<File Id="_111" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac.new" /> -<File Id="_112" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml" /> -<File Id="_113" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml.new" /> +<Directory Id="Models101" Name="Models"> +<Component Id="_comp102" Guid="b4f42a2c-ef80-4505-a614-1b6a2923feac"> +<File Id="_103" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb" /> +<File Id="_104" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb.new" /> +<File Id="_105" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac" /> +<File Id="_106" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac.new" /> +<File Id="_107" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml" /> +<File Id="_108" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml.new" /> +<File Id="_109" Source="..\bin\release\aircraft\Rascal\Models\smoke.png" /> +<File Id="_110" Source="..\bin\release\aircraft\Rascal\Models\smoke.png.new" /> +<File Id="_111" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml" /> +<File Id="_112" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml.new" /> +<File Id="_113" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac" /> +<File Id="_114" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac.new" /> +<File Id="_115" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml" /> +<File Id="_116" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml.new" /> </Component> </Directory> -<Directory Id="Systems113" Name="Systems"> -<Component Id="_comp114" Guid="492779e1-ac02-4e65-9ff4-5b70ec5f27f5"> -<File Id="_115" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml" /> -<File Id="_116" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml.new" /> -<File Id="_117" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas" /> -<File Id="_118" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas.new" /> -<File Id="_119" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml" /> -<File Id="_120" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml.new" /> -<File Id="_121" Source="..\bin\release\aircraft\Rascal\Systems\main.nas" /> -<File Id="_122" Source="..\bin\release\aircraft\Rascal\Systems\main.nas.new" /> -<File Id="_123" Source="..\bin\release\aircraft\Rascal\Systems\ugear.nas" /> +<Directory Id="Systems116" Name="Systems"> +<Component Id="_comp117" Guid="59ed6ff3-352f-4846-b737-f5a37ae497ed"> +<File Id="_118" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml" /> +<File Id="_119" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml.new" /> +<File Id="_120" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas" /> +<File Id="_121" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas.new" /> +<File Id="_122" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml" /> +<File Id="_123" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml.new" /> +<File Id="_124" Source="..\bin\release\aircraft\Rascal\Systems\main.nas" /> +<File Id="_125" Source="..\bin\release\aircraft\Rascal\Systems\main.nas.new" /> +<File Id="_126" Source="..\bin\release\aircraft\Rascal\Systems\ugear.nas" /> </Component> </Directory> </Directory> </Directory> -<Directory Id="Driver123" Name="Driver"> -<Component Id="_comp124" Guid="877cf72e-a33f-4606-a058-4d245ecb4dda"> -<File Id="_125" Source="..\bin\release\Driver\Arduino MEGA 2560.inf" /> -<File Id="_126" Source="..\bin\release\Driver\Arduino MEGA 2560.inf.new" /> +<Directory Id="Driver126" Name="Driver"> +<Component Id="_comp127" Guid="d9776466-be68-424f-b076-ef3fb4766362"> +<File Id="_128" Source="..\bin\release\Driver\Arduino MEGA 2560.inf" /> +<File Id="_129" Source="..\bin\release\Driver\Arduino MEGA 2560.inf.new" /> </Component> </Directory> -<Directory Id="es_ES126" Name="es-ES"> -<Component Id="_comp127" Guid="c2c961f8-e355-4c45-a3c0-374478237e52"> -<File Id="_128" Source="..\bin\release\es-ES\ArdupilotMegaPlanner.resources.dll" /> +<Directory Id="es_ES129" Name="es-ES"> +<Component Id="_comp130" Guid="1fb42ff8-9e61-49b3-a3c3-b3ecbfaf2d5f"> +<File Id="_131" Source="..\bin\release\es-ES\ArdupilotMegaPlanner.resources.dll" /> </Component> </Directory> -<Directory Id="fr128" Name="fr"> -<Component Id="_comp129" Guid="965158a9-2fa2-4347-a19f-3f0a3559f9ac"> -<File Id="_130" Source="..\bin\release\fr\ArdupilotMegaPlanner.resources.dll" /> +<Directory Id="fr131" Name="fr"> +<Component Id="_comp132" Guid="aa277d0f-e449-4838-95a4-b8caba929e73"> +<File Id="_133" Source="..\bin\release\fr\ArdupilotMegaPlanner.resources.dll" /> </Component> </Directory> -<Directory Id="it_IT130" Name="it-IT"> -<Component Id="_comp131" Guid="789eabcd-e833-4015-a7ea-ebc684256168"> -<File Id="_132" Source="..\bin\release\it-IT\ArdupilotMegaPlanner.resources.dll" /> +<Directory Id="it_IT133" Name="it-IT"> +<Component Id="_comp134" Guid="32fba21d-c610-4d07-8740-60a5956ed784"> +<File Id="_135" Source="..\bin\release\it-IT\ArdupilotMegaPlanner.resources.dll" /> </Component> </Directory> -<Directory Id="jsbsim132" Name="jsbsim"> -<Component Id="_comp133" Guid="de7781b7-50cf-456e-964b-bbc104b784f8"> -<File Id="_134" Source="..\bin\release\jsbsim\fgout.xml" /> -<File Id="_135" Source="..\bin\release\jsbsim\rascal_test.xml" /> +<Directory Id="jsbsim135" Name="jsbsim"> +<Component Id="_comp136" Guid="d6eb33b4-51c0-4e8e-bcbd-b719ebade3f4"> +<File Id="_137" Source="..\bin\release\jsbsim\fgout.xml" /> +<File Id="_138" Source="..\bin\release\jsbsim\rascal_test.xml" /> </Component> </Directory> -<Directory Id="m3u135" Name="m3u"> -<Component Id="_comp136" Guid="fb23d848-2079-458e-bc11-b7f9c9ac8227"> -<File Id="_137" Source="..\bin\release\m3u\both.m3u" /> -<File Id="_138" Source="..\bin\release\m3u\hud.m3u" /> -<File Id="_139" Source="..\bin\release\m3u\map.m3u" /> -<File Id="_140" Source="..\bin\release\m3u\networklink.kml" /> +<Directory Id="m3u138" Name="m3u"> +<Component Id="_comp139" Guid="629b2aa0-faf6-4bba-81bc-a624c7b9b27b"> +<File Id="_140" Source="..\bin\release\m3u\both.m3u" /> +<File Id="_141" Source="..\bin\release\m3u\hud.m3u" /> +<File Id="_142" Source="..\bin\release\m3u\map.m3u" /> +<File Id="_143" Source="..\bin\release\m3u\networklink.kml" /> </Component> </Directory> -<Directory Id="pl140" Name="pl"> -<Component Id="_comp141" Guid="ed518a01-a47c-4632-afc1-bbf9e134228d"> -<File Id="_142" Source="..\bin\release\pl\ArdupilotMegaPlanner.resources.dll" /> +<Directory Id="pl143" Name="pl"> +<Component Id="_comp144" Guid="552d60e0-5755-49b4-bca3-73ff0a8f345a"> +<File Id="_145" Source="..\bin\release\pl\ArdupilotMegaPlanner.resources.dll" /> </Component> </Directory> -<Directory Id="Resources142" Name="Resources"> -<Component Id="_comp143" Guid="d21a5a27-ddd7-4825-ae98-5792cc08710b"> -<File Id="_144" Source="..\bin\release\Resources\MAVCmd.txt" /> -<File Id="_145" Source="..\bin\release\Resources\MAVCmd.txt.new" /> -<File Id="_146" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf" /> -<File Id="_147" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf.new" /> +<Directory Id="Resources145" Name="Resources"> +<Component Id="_comp146" Guid="d0b46c4b-4222-441b-8c57-6dea9513559e"> +<File Id="_147" Source="..\bin\release\Resources\MAVCmd.txt" /> +<File Id="_148" Source="..\bin\release\Resources\MAVCmd.txt.new" /> +<File Id="_149" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf" /> +<File Id="_150" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf.new" /> </Component> </Directory> -<Directory Id="ru_RU147" Name="ru-RU"> -<Component Id="_comp148" Guid="4e5d3a70-4402-4105-9f33-327de86cce09"> -<File Id="_149" Source="..\bin\release\ru-RU\ArdupilotMegaPlanner.resources.dll" /> +<Directory Id="ru_RU150" Name="ru-RU"> +<Component Id="_comp151" Guid="964ca3d0-1802-4a4b-ba4b-2e6c1b1ab626"> +<File Id="_152" Source="..\bin\release\ru-RU\ArdupilotMegaPlanner.resources.dll" /> </Component> </Directory> -<Directory Id="zh_Hans149" Name="zh-Hans"> -<Component Id="_comp150" Guid="bccb1a8a-580a-421d-9e00-5db6aa4f12fe"> -<File Id="_151" Source="..\bin\release\zh-Hans\ArdupilotMegaPlanner.resources.dll" /> +<Directory Id="zh_Hans152" Name="zh-Hans"> +<Component Id="_comp153" Guid="363b03dc-9b08-428c-80c9-711f08487df4"> +<File Id="_154" Source="..\bin\release\zh-Hans\ArdupilotMegaPlanner.resources.dll" /> </Component> </Directory> -<Directory Id="zh_TW151" Name="zh-TW"> -<Component Id="_comp152" Guid="d7f3228d-4e9f-472c-8c74-0b0ccaed830a"> -<File Id="_153" Source="..\bin\release\zh-TW\ArdupilotMegaPlanner.resources.dll" /> +<Directory Id="zh_TW154" Name="zh-TW"> +<Component Id="_comp155" Guid="728fc93e-de0e-4229-94a7-672d48bfb8c2"> +<File Id="_156" Source="..\bin\release\zh-TW\ArdupilotMegaPlanner.resources.dll" /> </Component> </Directory> @@ -287,27 +290,27 @@ <ComponentRef Id="InstallDirPermissions" /> <ComponentRef Id="_comp1" /> -<ComponentRef Id="_comp53" /> -<ComponentRef Id="_comp55" /> -<ComponentRef Id="_comp64" /> -<ComponentRef Id="_comp68" /> +<ComponentRef Id="_comp56" /> +<ComponentRef Id="_comp58" /> +<ComponentRef Id="_comp67" /> <ComponentRef Id="_comp71" /> -<ComponentRef Id="_comp81" /> -<ComponentRef Id="_comp91" /> +<ComponentRef Id="_comp74" /> +<ComponentRef Id="_comp84" /> <ComponentRef Id="_comp94" /> -<ComponentRef Id="_comp99" /> -<ComponentRef Id="_comp114" /> -<ComponentRef Id="_comp124" /> +<ComponentRef Id="_comp97" /> +<ComponentRef Id="_comp102" /> +<ComponentRef Id="_comp117" /> <ComponentRef Id="_comp127" /> -<ComponentRef Id="_comp129" /> -<ComponentRef Id="_comp131" /> -<ComponentRef Id="_comp133" /> +<ComponentRef Id="_comp130" /> +<ComponentRef Id="_comp132" /> +<ComponentRef Id="_comp134" /> <ComponentRef Id="_comp136" /> -<ComponentRef Id="_comp141" /> -<ComponentRef Id="_comp143" /> -<ComponentRef Id="_comp148" /> -<ComponentRef Id="_comp150" /> -<ComponentRef Id="_comp152" /> +<ComponentRef Id="_comp139" /> +<ComponentRef Id="_comp144" /> +<ComponentRef Id="_comp146" /> +<ComponentRef Id="_comp151" /> +<ComponentRef Id="_comp153" /> +<ComponentRef Id="_comp155" /> <ComponentRef Id="ApplicationShortcut" /> @@ -328,7 +331,7 @@ <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch APM Planner" /> <!-- Step 3: Include the custom action --> - <Property Id="WixShellExecTarget" Value="[#_7]" /> + <Property Id="WixShellExecTarget" Value="[#_10]" /> <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" diff --git a/Tools/ArdupilotMegaPlanner/Msi/wix.pdb b/Tools/ArdupilotMegaPlanner/Msi/wix.pdb index 25a406bac4b77a5699544789c249ee4fa7883195..3942cebe49487abafe08697bb62fa8f20bc6f4df 100644 Binary files a/Tools/ArdupilotMegaPlanner/Msi/wix.pdb and b/Tools/ArdupilotMegaPlanner/Msi/wix.pdb differ diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs index d79f36b40fdeb2c4c7cfbb8ae6392f8dddebd6e4..6e43e20b09a96b4d2b90b423012c6e91f3f39ce3 100644 --- a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs +++ b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs @@ -34,5 +34,5 @@ using System.Resources; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.1.*")] -[assembly: AssemblyFileVersion("1.1.64")] +[assembly: AssemblyFileVersion("1.1.65")] [assembly: NeutralResourcesLanguageAttribute("")] diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/ArduCopterConfig.xml b/Tools/ArdupilotMegaPlanner/bin/Release/ArduCopterConfig.xml new file mode 100644 index 0000000000000000000000000000000000000000..e90fae40cfe29cd13e042a768ec38068277fe659 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/bin/Release/ArduCopterConfig.xml @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="utf-8" ?> +<AC> + <Item> + <HEAD>Stabilization:</HEAD> + <SUBHEAD>Angular Rate Control:</SUBHEAD> + <DESC>How much throttle is applied to rotate the copter at the desired speed. + +Adjust P by motor size +Small: P = 0.145 +Med: P = 0.110 +Large: P = 0.090</DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>RATE_RLL_P</PARAMNAME> + <PARAMNAME>RATE_PIT_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>I</NAME> + <PARAMNAME>RATE_RLL_I</PARAMNAME> + <PARAMNAME>RATE_PIT_I</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>D</NAME> + <PARAMNAME>RATE_RLL_D</PARAMNAME> + <PARAMNAME>RATE_PIT_D</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>IMAX</NAME> + <PARAMNAME>RATE_RLL_IMAX</PARAMNAME> + <PARAMNAME>RATE_PIT_IMAX</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>40</RANGEMAX> + <STEP>0.1</STEP> + </FIELD> + </FIELDS> + <SUBHEAD>Dampening:</SUBHEAD> + <DESC>Resistance to angular acceleration + +A dynamic gain is applied so that the dampening only occurs at 100% when the control sticks are centered. + +When the sticks are fully deflected: +1.0 = 0% +0.5 = 50% +0.0 = 100%</DESC> + <FIELDS> + <FIELD> + <NAME>Dampen</NAME> + <PARAMNAME>STAB_D</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>Dynamic</NAME> + <PARAMNAME>STAB_D_S</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>1</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + </FIELDS> + + <SUBHEAD>Stabilize Control:</SUBHEAD> + <DESC> +How fast the copter reacts to user or autopilot input. +Higher = more aggressive control. +Too high = slow wobbles + </DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>STB_RLL_P</PARAMNAME> + <PARAMNAME>STB_PIT_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>I</NAME> + <PARAMNAME>STB_RLL_I</PARAMNAME> + <PARAMNAME>STB_PIT_I</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>IMAX</NAME> + <PARAMNAME>STB_RLL_IMAX</PARAMNAME> + <PARAMNAME>STB_PIT_IMAX</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>50</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + </FIELDS> + </Item> + <!-- Loiter --> + <Item> + <HEAD>Loiter:</HEAD> + <SUBHEAD>Angular Rate Control:</SUBHEAD> + <DESC> +How much angle is applied to make the copter accelerate to the desired speed. + </DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>LOITER_LAT_P</PARAMNAME> + <PARAMNAME>LOITER_LON_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>I</NAME> + <PARAMNAME>LOITER_LAT_I</PARAMNAME> + <PARAMNAME>LOITER_LON_I</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>D</NAME> + <PARAMNAME>LOITER_LAT_D</PARAMNAME> + <PARAMNAME>LOITER_LON_D</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>IMAX</NAME> + <PARAMNAME>LOITER_LAT_IMAX</PARAMNAME> + <PARAMNAME>LOITER_LON_IMAX</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>50</RANGEMAX> + <STEP>0.1</STEP> + </FIELD> + </FIELDS> + <SUBHEAD>Loiter Speed:</SUBHEAD> + <DESC> +How fast the copter should move towards the target. A larger value means a faster return to center, but can cause the copter to oscillate around the target. + +A distance error of 100cm * P of .25 = 25 cm/s + </DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>HLD_LAT_P</PARAMNAME> + <PARAMNAME>HLD_LON_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + </FIELDS> + </Item> + <!-- WP Nav --> + <Item> + <HEAD>WP Navigation:</HEAD> + <SUBHEAD>Nav Rate Control:</SUBHEAD> + <DESC> + How much angle is applied to make the copter accelerate to the desired speed. + </DESC> + <FIELDS> + <FIELD> + <NAME>P</NAME> + <PARAMNAME>NAV_LAT_P</PARAMNAME> + <PARAMNAME>NAV_LON_P</PARAMNAME> + <RANGEMIN>0.001</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>I</NAME> + <PARAMNAME>NAV_LAT_I</PARAMNAME> + <PARAMNAME>NAV_LON_I</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>D</NAME> + <PARAMNAME>NAV_LAT_D</PARAMNAME> + <PARAMNAME>NAV_LON_D</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>5</RANGEMAX> + <STEP>0.001</STEP> + </FIELD> + <FIELD> + <NAME>IMAX</NAME> + <PARAMNAME>NAV_LAT_IMAX</PARAMNAME> + <PARAMNAME>NAV_LON_IMAX</PARAMNAME> + <RANGEMIN>0</RANGEMIN> + <RANGEMAX>50</RANGEMAX> + <STEP>0.1</STEP> + </FIELD> + </FIELDS> + </Item> +</AC> diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb b/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb index 5a6867043d00d88cb758ddf6a515c778d2c63fef..35c40b0005d42e10cb1057ac2b486d9ab461faca 100644 Binary files a/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb and b/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb differ diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/dataflashlog.xml b/Tools/ArdupilotMegaPlanner/bin/Release/dataflashlog.xml index d7da77e2d0606644ab4b7ec6d51ad3551b6fcfe8..8a69dd14fb0dd46fc26f8ed77fe4610e6ad0617f 100644 --- a/Tools/ArdupilotMegaPlanner/bin/Release/dataflashlog.xml +++ b/Tools/ArdupilotMegaPlanner/bin/Release/dataflashlog.xml @@ -293,6 +293,14 @@ <F5>Output</F5> <F6>Gain</F6> </PID-122> + <PID-104> + <F1>Err</F1> + <F2>P</F2> + <F3>I</F3> + <F4>D</F4> + <F5>Output</F5> + <F6>Gain</F6> + </PID-104> </AC2> <!-- --> <APM> diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/version.txt b/Tools/ArdupilotMegaPlanner/bin/Release/version.txt index 29be746b7a25b330f363fa9dc1650dc2c49033f4..e70ff281d14bc411e307e003dedb8e6c52b5e6f0 100644 --- a/Tools/ArdupilotMegaPlanner/bin/Release/version.txt +++ b/Tools/ArdupilotMegaPlanner/bin/Release/version.txt @@ -1 +1 @@ -1.1.4485.13801 \ No newline at end of file +1.1.4485.38920 \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/dataflashlog.xml b/Tools/ArdupilotMegaPlanner/dataflashlog.xml index d7da77e2d0606644ab4b7ec6d51ad3551b6fcfe8..8a69dd14fb0dd46fc26f8ed77fe4610e6ad0617f 100644 --- a/Tools/ArdupilotMegaPlanner/dataflashlog.xml +++ b/Tools/ArdupilotMegaPlanner/dataflashlog.xml @@ -293,6 +293,14 @@ <F5>Output</F5> <F6>Gain</F6> </PID-122> + <PID-104> + <F1>Err</F1> + <F2>P</F2> + <F3>I</F3> + <F4>D</F4> + <F5>Output</F5> + <F6>Gain</F6> + </PID-104> </AC2> <!-- --> <APM>