From c4f81cba33c4c02a67e9181f1fd48ceeff3f1c2c Mon Sep 17 00:00:00 2001 From: Michael Oborne Date: Thu, 12 Apr 2012 21:39:51 +0800 Subject: [PATCH] APM Planner 1.1.65 dataqflashlog Update add new test config panel --- .../ArdupilotMegaPlanner/ArduCopterConfig.xml | 205 ++++++++++ .../ArdupilotMegaPlanner/ArdupilotMega.csproj | 15 + .../Controls/ConfigPanel.Designer.cs | 47 +++ .../Controls/ConfigPanel.cs | 319 +++++++++++++++ .../Controls/ConfigPanel.resx | 120 ++++++ .../Controls/CustomMessageBox.cs | 2 +- .../Controls/LineSeparator.cs | 52 +++ .../ConfigArducopter.Designer.cs | 3 +- Tools/ArdupilotMegaPlanner/MainV2.cs | 10 +- Tools/ArdupilotMegaPlanner/Msi/installer.wxs | 383 +++++++++--------- Tools/ArdupilotMegaPlanner/Msi/wix.pdb | Bin 19968 -> 19968 bytes .../Properties/AssemblyInfo.cs | 2 +- .../bin/Release/ArduCopterConfig.xml | 205 ++++++++++ .../bin/Release/ArdupilotMegaPlanner.pdb | Bin 1160704 -> 1172992 bytes .../bin/Release/dataflashlog.xml | 8 + .../bin/Release/version.txt | 2 +- Tools/ArdupilotMegaPlanner/dataflashlog.xml | 8 + 17 files changed, 1184 insertions(+), 197 deletions(-) create mode 100644 Tools/ArdupilotMegaPlanner/ArduCopterConfig.xml create mode 100644 Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.Designer.cs create mode 100644 Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.cs create mode 100644 Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.resx create mode 100644 Tools/ArdupilotMegaPlanner/Controls/LineSeparator.cs create mode 100644 Tools/ArdupilotMegaPlanner/bin/Release/ArduCopterConfig.xml diff --git a/Tools/ArdupilotMegaPlanner/ArduCopterConfig.xml b/Tools/ArdupilotMegaPlanner/ArduCopterConfig.xml new file mode 100644 index 0000000000..e90fae40cf --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/ArduCopterConfig.xml @@ -0,0 +1,205 @@ + + + + Stabilization: + Angular Rate Control: + 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 + + + P + RATE_RLL_P + RATE_PIT_P + 0.001 + 5 + 0.001 + + + I + RATE_RLL_I + RATE_PIT_I + 0 + 5 + 0.001 + + + D + RATE_RLL_D + RATE_PIT_D + 0 + 5 + 0.001 + + + IMAX + RATE_RLL_IMAX + RATE_PIT_IMAX + 0 + 40 + 0.1 + + + Dampening: + 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% + + + Dampen + STAB_D + 0.001 + 5 + 0.001 + + + Dynamic + STAB_D_S + 0.001 + 1 + 0.001 + + + + Stabilize Control: + +How fast the copter reacts to user or autopilot input. +Higher = more aggressive control. +Too high = slow wobbles + + + + P + STB_RLL_P + STB_PIT_P + 0.001 + 5 + 0.001 + + + I + STB_RLL_I + STB_PIT_I + 0 + 5 + 0.001 + + + IMAX + STB_RLL_IMAX + STB_PIT_IMAX + 0 + 50 + 0.001 + + + + + + Loiter: + Angular Rate Control: + +How much angle is applied to make the copter accelerate to the desired speed. + + + + P + LOITER_LAT_P + LOITER_LON_P + 0.001 + 5 + 0.001 + + + I + LOITER_LAT_I + LOITER_LON_I + 0 + 5 + 0.001 + + + D + LOITER_LAT_D + LOITER_LON_D + 0 + 5 + 0.001 + + + IMAX + LOITER_LAT_IMAX + LOITER_LON_IMAX + 0 + 50 + 0.1 + + + Loiter Speed: + +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 + + + + P + HLD_LAT_P + HLD_LON_P + 0.001 + 5 + 0.001 + + + + + + WP Navigation: + Nav Rate Control: + + How much angle is applied to make the copter accelerate to the desired speed. + + + + P + NAV_LAT_P + NAV_LON_P + 0.001 + 5 + 0.001 + + + I + NAV_LAT_I + NAV_LON_I + 0 + 5 + 0.001 + + + D + NAV_LAT_D + NAV_LON_D + 0 + 5 + 0.001 + + + IMAX + NAV_LAT_IMAX + NAV_LON_IMAX + 0 + 50 + 0.1 + + + + diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj index a465ce3663..2be3e91e80 100644 --- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj +++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj @@ -238,7 +238,16 @@ Component + + Form + + + ConfigPanel.cs + + + UserControl + Form @@ -537,6 +546,9 @@ BackstageView.cs + + ConfigPanel.cs + ProgressReporterDialogue.cs @@ -1047,6 +1059,9 @@ + + Always + Always diff --git a/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.Designer.cs b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.Designer.cs new file mode 100644 index 0000000000..201222a2c9 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.Designer.cs @@ -0,0 +1,47 @@ +namespace ArdupilotMega.Controls +{ + partial class ConfigPanel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + 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 0000000000..6e33d77c35 --- /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 + { + /// + /// store tempory pending changes + /// + Hashtable _changed = new Hashtable(); + // store linked param options + Hashtable _linkedParams = new Hashtable(); + + public ConfigPanel() + { + InitializeComponent(); + } + + /// + /// fill numeric up down boxs with there value + /// + 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)_linkedParams[param]) + { + _changed[item] = (float)((NumericUpDown)sender).Value; + } + } + + /// + /// disables all NumericUpDown box's + /// + /// + 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; + } + } + } + + /// + /// The template xml for the screen + /// + /// + public void LoadXML(string FileName) + { + int x = 20; + int y = 0; + + int optionx = 300; + int optiony = 0; + + string name = ""; + List paramname = new List(); + 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(); + 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 0000000000..7080a7d118 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/ConfigPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Controls/CustomMessageBox.cs b/Tools/ArdupilotMegaPlanner/Controls/CustomMessageBox.cs index 4a8b4c0f1b..47efdabef8 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 0000000000..9e9002a875 --- /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 767aeb4a6f..f34863ea54 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 5ec4ebab68..4a68586990 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 57a77bc341..a03d29139f 100644 --- a/Tools/ArdupilotMegaPlanner/Msi/installer.wxs +++ b/Tools/ArdupilotMegaPlanner/Msi/installer.wxs @@ -2,14 +2,14 @@ - + - - + + @@ -31,221 +31,224 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - + + + - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + @@ -287,27 +290,27 @@ - - - - + + + - - + + - - - + + + - - - + + + - - - - - + + + + + + @@ -328,7 +331,7 @@ - + D}A+!mwUrpU-9)t~Y|LleZpE*|?ck zrj?0NVe(|T<4phfCdbHU0XfIzvl$gO8!Jo)%4|NZ)DBV*th$|PTlr=lwRKEPr}#JT z(a>XJ`p-A{jaC{+Qac%_a=UgkAJ-WnpoJh{wOPh0f`#Qn?^l({6?O?MI~0DYOuhqT U6!d*n+3a9{gawcLT%K?O0N>6>{{R30 delta 195 zcmZpe!`Lu~aRUpNM3`8cKO+MJL-be8t^Zfec9;`oZZ3aC@5f(gdb9urE0CHSHf&c&j diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs index d79f36b40f..6e43e20b09 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 0000000000..e90fae40cf --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/bin/Release/ArduCopterConfig.xml @@ -0,0 +1,205 @@ + + + + Stabilization: + Angular Rate Control: + 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 + + + P + RATE_RLL_P + RATE_PIT_P + 0.001 + 5 + 0.001 + + + I + RATE_RLL_I + RATE_PIT_I + 0 + 5 + 0.001 + + + D + RATE_RLL_D + RATE_PIT_D + 0 + 5 + 0.001 + + + IMAX + RATE_RLL_IMAX + RATE_PIT_IMAX + 0 + 40 + 0.1 + + + Dampening: + 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% + + + Dampen + STAB_D + 0.001 + 5 + 0.001 + + + Dynamic + STAB_D_S + 0.001 + 1 + 0.001 + + + + Stabilize Control: + +How fast the copter reacts to user or autopilot input. +Higher = more aggressive control. +Too high = slow wobbles + + + + P + STB_RLL_P + STB_PIT_P + 0.001 + 5 + 0.001 + + + I + STB_RLL_I + STB_PIT_I + 0 + 5 + 0.001 + + + IMAX + STB_RLL_IMAX + STB_PIT_IMAX + 0 + 50 + 0.001 + + + + + + Loiter: + Angular Rate Control: + +How much angle is applied to make the copter accelerate to the desired speed. + + + + P + LOITER_LAT_P + LOITER_LON_P + 0.001 + 5 + 0.001 + + + I + LOITER_LAT_I + LOITER_LON_I + 0 + 5 + 0.001 + + + D + LOITER_LAT_D + LOITER_LON_D + 0 + 5 + 0.001 + + + IMAX + LOITER_LAT_IMAX + LOITER_LON_IMAX + 0 + 50 + 0.1 + + + Loiter Speed: + +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 + + + + P + HLD_LAT_P + HLD_LON_P + 0.001 + 5 + 0.001 + + + + + + WP Navigation: + Nav Rate Control: + + How much angle is applied to make the copter accelerate to the desired speed. + + + + P + NAV_LAT_P + NAV_LON_P + 0.001 + 5 + 0.001 + + + I + NAV_LAT_I + NAV_LON_I + 0 + 5 + 0.001 + + + D + NAV_LAT_D + NAV_LON_D + 0 + 5 + 0.001 + + + IMAX + NAV_LAT_IMAX + NAV_LON_IMAX + 0 + 50 + 0.1 + + + + diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb b/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb index 5a6867043d00d88cb758ddf6a515c778d2c63fef..35c40b0005d42e10cb1057ac2b486d9ab461faca 100644 GIT binary patch delta 75366 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 delta 66883 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 yjmh|6y7saj7CcyDjds(!|I|YQ!|*KrOutput Gain + + Err + P + I + D + Output + Gain + diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/version.txt b/Tools/ArdupilotMegaPlanner/bin/Release/version.txt index 29be746b7a..e70ff281d1 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 d7da77e2d0..8a69dd14fb 100644 --- a/Tools/ArdupilotMegaPlanner/dataflashlog.xml +++ b/Tools/ArdupilotMegaPlanner/dataflashlog.xml @@ -293,6 +293,14 @@ Output Gain + + Err + P + I + D + Output + Gain +