diff --git a/Tools/ArdupilotMegaPlanner/Antenna/Maestro.cs b/Tools/ArdupilotMegaPlanner/Antenna/Maestro.cs index 26c73d8adf..f77df09450 100644 --- a/Tools/ArdupilotMegaPlanner/Antenna/Maestro.cs +++ b/Tools/ArdupilotMegaPlanner/Antenna/Maestro.cs @@ -96,7 +96,7 @@ namespace ArdupilotMega.Antenna } public bool Pan(double Angle) - { + { double range = Math.Abs(PanStartRange - PanEndRange); // get relative center based on tracking center @@ -110,7 +110,7 @@ namespace ArdupilotMega.Antenna // conver the angle into a 0-255 value byte target = (byte)((((PointAtAngle / range) * 2.0) * 127 + centerpos) * _panreverse); - //Console.WriteLine("P " + Angle + " " + target + " " + PointAtAngle); + Console.WriteLine("P " + Angle + " " + target + " " + PointAtAngle); var buffer = new byte[] { 0xff,PanAddress,target}; ComPort.Write(buffer, 0, buffer.Length); diff --git a/Tools/ArdupilotMegaPlanner/Antenna/Tracker.cs b/Tools/ArdupilotMegaPlanner/Antenna/Tracker.cs index c51678b57b..53bad8d3bb 100644 --- a/Tools/ArdupilotMegaPlanner/Antenna/Tracker.cs +++ b/Tools/ArdupilotMegaPlanner/Antenna/Tracker.cs @@ -120,8 +120,8 @@ namespace ArdupilotMega.Antenna try { - tracker.PanStartRange = int.Parse(TXT_panrange.Text) / 1 * -1; - tracker.PanEndRange = int.Parse(TXT_panrange.Text) / 1; + tracker.PanStartRange = int.Parse(TXT_panrange.Text) / 2 * -1; + tracker.PanEndRange = int.Parse(TXT_panrange.Text) / 2; tracker.TrimPan = TRK_pantrim.Value; tracker.TiltStartRange = int.Parse(TXT_tiltrange.Text) / 2 * -1; diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj index 7dc0487396..bd24ec4529 100644 --- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj +++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj @@ -223,6 +223,18 @@ Tracker.cs + + UserControl + + + BackstageView.cs + + + Component + + + Component + Form @@ -230,6 +242,72 @@ ProgressReporterDialogue.cs + + UserControl + + + ConfigAccelerometerCalibration.cs + + + UserControl + + + ConfigArducopter.cs + + + UserControl + + + ConfigArduplane.cs + + + UserControl + + + ConfigBatteryMonitoring.cs + + + UserControl + + + ConfigFlightModes.cs + + + UserControl + + + ConfigHardwareOptions.cs + + + UserControl + + + ConfigPlanner.cs + + + UserControl + + + ConfigRadioInput.cs + + + UserControl + + + ConfigTradHeli.cs + + + UserControl + + + Configuration.cs + + + UserControl + + + ConfigRawParams.cs + @@ -452,9 +530,45 @@ Tracker.cs + + BackstageView.cs + ProgressReporterDialogue.cs + + ConfigAccelerometerCalibration.cs + + + ConfigArducopter.cs + + + ConfigArduplane.cs + + + ConfigBatteryMonitoring.cs + + + ConfigFlightModes.cs + + + ConfigHardwareOptions.cs + + + ConfigPlanner.cs + + + ConfigRadioInput.cs + + + ConfigRawParams.cs + + + ConfigTradHeli.cs + + + Configuration.cs + 3DRradio.cs diff --git a/Tools/ArdupilotMegaPlanner/Common.cs b/Tools/ArdupilotMegaPlanner/Common.cs index bb5aecd2d0..826ae2117d 100644 --- a/Tools/ArdupilotMegaPlanner/Common.cs +++ b/Tools/ArdupilotMegaPlanner/Common.cs @@ -381,7 +381,12 @@ namespace ArdupilotMega CH6_NAV_I = 20, CH6_LOITER_RATE_P = 22, - CH6_LOITER_RATE_D = 23 + CH6_LOITER_RATE_D = 23, + CH6_YAW_KI = 24, + CH6_ACRO_KP = 25, + CH6_YAW_RATE_KD = 26, + CH6_LOITER_KI = 27, + CH6_LOITER_RATE_KI = 28 } diff --git a/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackStageViewMenuPanel.cs b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackStageViewMenuPanel.cs new file mode 100644 index 0000000000..1a9ba58375 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackStageViewMenuPanel.cs @@ -0,0 +1,33 @@ +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace ArdupilotMega.Controls.BackstageView +{ + public class BackStageViewMenuPanel : Panel + { + internal Color GradColor = Color.White; + internal Color PencilBorderColor = Color.White; + + private const int GradientWidth = 6; + + public BackStageViewMenuPanel() + { + this.SetStyle(ControlStyles.UserPaint, true); + } + + protected override void OnPaintBackground(PaintEventArgs pevent) + { + base.OnPaintBackground(pevent); + + var rc = new Rectangle(ClientSize.Width - GradientWidth, 0, GradientWidth, this.ClientSize.Height); + + using (var brush = new LinearGradientBrush(rc, BackColor, GradColor, LinearGradientMode.Horizontal)) + { + pevent.Graphics.FillRectangle(brush, rc); + } + + pevent.Graphics.DrawLine(new Pen(PencilBorderColor), Width-1,0,Width-1,Height); + } + } +} \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.Designer.cs b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.Designer.cs new file mode 100644 index 0000000000..07546e1ac8 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.Designer.cs @@ -0,0 +1,73 @@ +namespace ArdupilotMega.Controls.BackstageView +{ + partial class BackstageView + { + /// + /// 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.pnlPages = new System.Windows.Forms.Panel(); + this.pnlMenu = new BackStageViewMenuPanel(); + this.SuspendLayout(); + // + // pnlPages + // + this.pnlPages.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.pnlPages.Location = new System.Drawing.Point(147, 0); + this.pnlPages.MinimumSize = new System.Drawing.Size(100, 0); + this.pnlPages.Name = "pnlPages"; + this.pnlPages.Size = new System.Drawing.Size(243, 189); + this.pnlPages.TabIndex = 0; + // + // pnlMenu + // + this.pnlMenu.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.pnlMenu.Location = new System.Drawing.Point(0, 0); + this.pnlMenu.Name = "pnlMenu"; + this.pnlMenu.Size = new System.Drawing.Size(150, 170); + this.pnlMenu.TabIndex = 1; + // + // BackstageView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoSize = true; + this.Controls.Add(this.pnlMenu); + this.Controls.Add(this.pnlPages); + this.Name = "BackstageView"; + this.Size = new System.Drawing.Size(393, 192); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel pnlPages; + private BackStageViewMenuPanel pnlMenu; + } +} diff --git a/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.cs b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.cs new file mode 100644 index 0000000000..2970e499b6 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.cs @@ -0,0 +1,225 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; +using ArdupilotMega.Controls.BackstageView; + +namespace ArdupilotMega.Controls.BackstageView +{ + public partial class BackstageView : UserControl + { + private Color _buttonsAreaBgColor = Color.White; + private Color _buttonsAreaPencilColor = Color.DarkGray; + private Color _selectedTextColor = Color.White; + private Color _unSelectedTextColor = Color.Gray; + private Color _highlightColor1 = Color.DarkBlue; + private Color _highlightColor2 = Color.Blue; + + private readonly List _pages= new List(); + private BackstageViewPage _activePage; + private const int ButtonSpacing = 30; + private const int ButtonHeight = 30; + + public BackstageView() + { + InitializeComponent(); + + this.pnlMenu.Height = this.Height; + this.pnlPages.Height = this.Height; + + pnlMenu.BackColor = _buttonsAreaBgColor; + pnlMenu.PencilBorderColor = _buttonsAreaPencilColor; + pnlMenu.GradColor = this.BackColor; + } + + + public override Color BackColor + { + get + { + return base.BackColor; + } + set + { + base.BackColor = value; + UpdateButtons(); + pnlMenu.GradColor = this.BackColor; + } + } + + [Description("Background pencil line color for the content region"), Category("Appearance")] + [DefaultValue(typeof(Color),"DarkGray")] + public Color ButtonsAreaPencilColor + { + get { return _buttonsAreaPencilColor; } + set + { + _buttonsAreaPencilColor = value; + pnlMenu.PencilBorderColor = _buttonsAreaPencilColor; + pnlMenu.Invalidate(); + UpdateButtons(); + Invalidate(); + } + } + + + [Description("Background color for the buttons region"), Category("Appearance")] + [DefaultValue(typeof(Color),"White")] + public Color ButtonsAreaBgColor + { + get { return _buttonsAreaBgColor; } + set + { + _buttonsAreaBgColor = value; + this.pnlMenu.BackColor = _buttonsAreaBgColor; + pnlMenu.Invalidate(); + Invalidate(); + } + } + + [Description("Color for the selector buttons text"), Category("Appearance")] + [DefaultValue(typeof(Color), "White")] + public Color SelectedTextColor + { + get { return _selectedTextColor; } + set + { + _selectedTextColor = value; + UpdateButtons(); + } + } + + [Description("Color for the un selected selector buttons text"), Category("Appearance")] + [DefaultValue(typeof(Color), "Gray")] + public Color UnSelectedTextColor + { + get { return _unSelectedTextColor; } + set + { + _unSelectedTextColor = value; + UpdateButtons(); + Invalidate(); + } + } + + [Description("Color selected button background 1"), Category("Appearance")] + [DefaultValue(typeof(Color), "DarkBlue")] + public Color HighlightColor1 + { + get { return _highlightColor1; } + set + { + _highlightColor1 = value; + UpdateButtons(); + Invalidate(); + } + } + + [Description("Color selected button background 2"), Category("Appearance")] + [DefaultValue(typeof(Color), "Blue")] + public Color HighlightColor2 + { + get { return _highlightColor2; } + set + { + _highlightColor2 = value; + UpdateButtons(); + Invalidate(); + } + } + + + private void UpdateButtons() + { + foreach (var backstageViewButton in pnlMenu.Controls.OfType()) + { + backstageViewButton.HighlightColor2 = _highlightColor2; + backstageViewButton.HighlightColor1 = _highlightColor1; + backstageViewButton.UnSelectedTextColor = _unSelectedTextColor; + backstageViewButton.SelectedTextColor = _selectedTextColor; + backstageViewButton.ContentPageColor = this.BackColor; + backstageViewButton.PencilBorderColor = _buttonsAreaPencilColor; + + backstageViewButton.Invalidate(); + } + } + + public void AddPage(BackstageViewPage page) + { + page.Page.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; + page.Page.Location = new Point(pnlMenu.Width, 0); + page.Page.Dock = DockStyle.Fill; + + _pages.Add(page); + CreateLinkButton(page); + this.pnlPages.Controls.Add(page.Page); + + if (_activePage == null) + _activePage = page; + + ActivatePage(page); + // Todo: set the link button to be selected looking + } + + private void CreateLinkButton(BackstageViewPage page) + { + var lnkButton = new BackstageViewButton + { + Text = page.LinkText, + Tag = page, + Top = _pages.IndexOf(page) * ButtonSpacing, + Width = this.pnlMenu.Width, + Height = ButtonHeight, + ContentPageColor = this.BackColor, + PencilBorderColor = _buttonsAreaPencilColor, + SelectedTextColor = _selectedTextColor, + UnSelectedTextColor = _unSelectedTextColor, + HighlightColor1 = _highlightColor1, + HighlightColor2 = _highlightColor2 + }; + + pnlMenu.Controls.Add(lnkButton); + lnkButton.Click += this.ButtonClick; + } + + + private void ButtonClick(object sender, EventArgs e) + { + var backstageViewButton = ((BackstageViewButton) sender); + var associatedPage = backstageViewButton.Tag as BackstageViewPage; + this.ActivatePage(associatedPage); + } + + private void ActivatePage(BackstageViewPage associatedPage) + { + // deactivate the old page + _activePage.Page.Visible = false; + var oldButton = this.pnlMenu.Controls.OfType().Single(b => b.Tag == _activePage); + oldButton.IsSelected = false; + + associatedPage.Page.Visible = true; + var newButton = this.pnlMenu.Controls.OfType().Single(b => b.Tag == associatedPage); + newButton.IsSelected = true; + + _activePage = associatedPage; + } + + + public class BackstageViewPage + { + public BackstageViewPage(Control page, string linkText) + { + Page = page; + LinkText = linkText; + } + + public Control Page { get; private set; } + public string LinkText { get; set; } + } + } + + + +} diff --git a/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.resx b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.resx new file mode 100644 index 0000000000..7080a7d118 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageView.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/BackstageView/BackstageViewButton.cs b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageViewButton.cs new file mode 100644 index 0000000000..7f384a5bcd --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/Controls/BackstageView/BackstageViewButton.cs @@ -0,0 +1,150 @@ +using System; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace ArdupilotMega.Controls.BackstageView +{ + public class BackstageViewButton : Control + { + private bool _isSelected; + + internal Color ContentPageColor = Color.Gray; + internal Color PencilBorderColor = Color.White; + internal Color SelectedTextColor = Color.White; + internal Color UnSelectedTextColor = Color.Gray; + internal Color HighlightColor1 = Color.DarkBlue; + internal Color HighlightColor2 = Color.Blue; + private bool _isMouseOver; + + //internal Color HighlightColor1 = Color.FromArgb(0x94, 0xc1, 0x1f); + //internal Color HighlightColor2 = Color.FromArgb(0xcd, 0xe2, 0x96); + + public BackstageViewButton() + { + SetStyle(ControlStyles.SupportsTransparentBackColor, true); + SetStyle(ControlStyles.Opaque, true); + SetStyle(ControlStyles.ResizeRedraw, true); + this.BackColor = Color.Transparent; + } + + /// + /// Whether this button should show the selected style + /// + public bool IsSelected + { + get { return _isSelected; } + set + { + if (_isSelected != value) + { + _isSelected = value; + //this.Parent.Refresh(); // <-- brutal, but works + + + InvalidateParentForBackground(); + + this.Invalidate(); + } + } + } + + // Must be a better way to redraw parent control in the area of + // the button + private void InvalidateParentForBackground() + { + var screenrect = this.RectangleToScreen(this.ClientRectangle); + var rectangleToClient = this.Parent.RectangleToClient(screenrect); + this.Parent.Invalidate(rectangleToClient); + } + + + protected override void OnPaint(PaintEventArgs pevent) + { + Graphics g = pevent.Graphics; + + + // Now the little 'arrow' thingy if we are selected and the selected bg grad + if (_isSelected) + { + var rect1 = new Rectangle(0, 0, Width / 2, Height); + var rect2 = new Rectangle(Width / 2, 0, Width, Height); + + g.FillRectangle(new LinearGradientBrush(rect1, HighlightColor1, HighlightColor2, LinearGradientMode.Horizontal), rect1); + g.FillRectangle(new LinearGradientBrush(rect2, HighlightColor2, HighlightColor1, LinearGradientMode.Horizontal), rect2); + + var butPen = new Pen(HighlightColor1); + g.DrawLine(butPen, 0, 0, Width, 0); + g.DrawLine(butPen, 0, Height - 1, Width, Height - 1); + + var arrowBrush = new SolidBrush(this.ContentPageColor); + + var midheight = Height / 2; + var arSize = 8; + + var arrowPoints = new[] + { + new Point(Width, midheight + arSize), + new Point(Width - arSize, midheight), + new Point(Width, midheight - arSize) + }; + + g.DrawString(Text, new Font(FontFamily.GenericSansSerif, 10), new SolidBrush(SelectedTextColor), 20, 6); + + g.FillPolygon(arrowBrush, arrowPoints); + + var pencilBrush = new Pen(this.PencilBorderColor); + + + g.DrawPolygon(pencilBrush, arrowPoints); + + + } + else + { + if (_isMouseOver) + { + var brush = new SolidBrush(Color.FromArgb(10, 0xA0, 0xA0, 0xA0)); + + g.FillRectangle(brush, this.ClientRectangle); + + var butPen = new Pen(PencilBorderColor); + g.DrawLine(butPen, 0, 0, Width, 0); + g.DrawLine(butPen, 0, Height - 1, Width, Height - 1); + } + + g.DrawString(Text, new Font(FontFamily.GenericSansSerif, 10), new SolidBrush(this.UnSelectedTextColor), 20, 6); + } + } + + + protected override void OnMouseEnter(EventArgs e) + { + _isMouseOver = true; + base.OnMouseEnter(e); + InvalidateParentForBackground(); + this.Invalidate(); + } + + protected override void OnMouseLeave(EventArgs e) + { + _isMouseOver = false; + base.OnMouseLeave(e); + InvalidateParentForBackground(); + this.Invalidate(); + + } + + // This IS necessary for transparency + protected override CreateParams CreateParams + { + get + { + const int WS_EX_TRANSPARENT = 0x20; + CreateParams cp = base.CreateParams; + cp.ExStyle |= WS_EX_TRANSPARENT; + return cp; + } + } + } +} \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.cs index b11ff009d1..2c4897acef 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.cs @@ -201,9 +201,11 @@ namespace ArdupilotMega.GCSViews } catch { return; } } - + try + { comPort.Write("\n\n\n"); - + } + catch { return; } while (threadrun) { try diff --git a/Tools/ArdupilotMegaPlanner/MAVLink.cs b/Tools/ArdupilotMegaPlanner/MAVLink.cs index 15570796cc..8299c9e585 100644 --- a/Tools/ArdupilotMegaPlanner/MAVLink.cs +++ b/Tools/ArdupilotMegaPlanner/MAVLink.cs @@ -1162,6 +1162,8 @@ namespace ArdupilotMega req.start_stop = 1; // start req.req_stream_id = id; // id + // send each one twice. + generatePacket(MAVLINK_MSG_ID_REQUEST_DATA_STREAM, req); generatePacket(MAVLINK_MSG_ID_REQUEST_DATA_STREAM, req); } diff --git a/Tools/ArdupilotMegaPlanner/MagCalib.cs b/Tools/ArdupilotMegaPlanner/MagCalib.cs index 8e88536308..e94a639932 100644 --- a/Tools/ArdupilotMegaPlanner/MagCalib.cs +++ b/Tools/ArdupilotMegaPlanner/MagCalib.cs @@ -21,7 +21,7 @@ namespace ArdupilotMega /// /// Self contained process tlog and save/display offsets /// - public static void ProcessLog() + public static void ProcessLog(int throttleThreshold = 0) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "*.tlog|*.tlog"; @@ -40,7 +40,7 @@ namespace ArdupilotMega { try { - double[] ans = getOffsets(openFileDialog1.FileName); + double[] ans = getOffsets(openFileDialog1.FileName, throttleThreshold); SaveOffsets(ans); } @@ -53,9 +53,9 @@ namespace ArdupilotMega /// /// Filename /// Offsets - public static double[] getOffsets(string fn) + public static double[] getOffsets(string fn, int throttleThreshold = 0) { - // based of tridge's work + // based off tridge's work string logfile = fn; // old method @@ -76,6 +76,9 @@ namespace ArdupilotMega Hashtable filter = new Hashtable(); + // track data to use + bool useData = false; + log.Info("Start log: " + DateTime.Now); MAVLink mine = new MAVLink(); @@ -95,6 +98,19 @@ namespace ArdupilotMega if (packet == null) continue; + if (packet.GetType() == typeof(MAVLink.__mavlink_vfr_hud_t)) + { + if (((MAVLink.__mavlink_vfr_hud_t)packet).throttle >= throttleThreshold) + { + useData = true; + } + else + { + useData = false; + } + + } + if (packet.GetType() == typeof(MAVLink.__mavlink_sensor_offsets_t)) { offset = new Tuple( @@ -102,7 +118,7 @@ namespace ArdupilotMega ((MAVLink.__mavlink_sensor_offsets_t)packet).mag_ofs_y, ((MAVLink.__mavlink_sensor_offsets_t)packet).mag_ofs_z); } - else if (packet.GetType() == typeof(MAVLink.__mavlink_raw_imu_t)) + else if (packet.GetType() == typeof(MAVLink.__mavlink_raw_imu_t) && useData) { int div = 20; diff --git a/Tools/ArdupilotMegaPlanner/MainV2.cs b/Tools/ArdupilotMegaPlanner/MainV2.cs index 4d70c588eb..ecf883be85 100644 --- a/Tools/ArdupilotMegaPlanner/MainV2.cs +++ b/Tools/ArdupilotMegaPlanner/MainV2.cs @@ -72,6 +72,7 @@ namespace ArdupilotMega GCSViews.FlightData FlightData; GCSViews.FlightPlanner FlightPlanner; GCSViews.Configuration Configuration; + //GCSViews.ConfigurationView.Configuration Configuration; GCSViews.Simulation Simulation; GCSViews.Firmware Firmware; GCSViews.Terminal Terminal; @@ -188,14 +189,14 @@ namespace ArdupilotMega if (config["CMB_rateattitude"] != null) MainV2.cs.rateattitude = byte.Parse(config["CMB_rateattitude"].ToString()); - if (config["CMB_rateattitude"] != null) + if (config["rateposition"] != null) MainV2.cs.rateposition = byte.Parse(config["CMB_rateposition"].ToString()); - if (config["CMB_rateattitude"] != null) + if (config["CMB_ratestatus"] != null) MainV2.cs.ratestatus = byte.Parse(config["CMB_ratestatus"].ToString()); - if (config["CMB_rateattitude"] != null) + if (config["CMB_raterc"] != null) MainV2.cs.raterc = byte.Parse(config["CMB_raterc"].ToString()); if (config["CMB_ratesensors"] != null) - MainV2.cs.raterc = byte.Parse(config["CMB_ratesensors"].ToString()); + MainV2.cs.ratesensors = byte.Parse(config["CMB_ratesensors"].ToString()); if (config["speechenable"] != null) MainV2.speechEnable = bool.Parse(config["speechenable"].ToString()); @@ -339,6 +340,7 @@ namespace ArdupilotMega } Configuration = new GCSViews.Configuration(); + //Configuration = new GCSViews.ConfigurationView.Configuration(); UserControl temp = Configuration; diff --git a/Tools/ArdupilotMegaPlanner/MavlinkLog.cs b/Tools/ArdupilotMegaPlanner/MavlinkLog.cs index 14543ae9fd..73f5cfac07 100644 --- a/Tools/ArdupilotMegaPlanner/MavlinkLog.cs +++ b/Tools/ArdupilotMegaPlanner/MavlinkLog.cs @@ -853,6 +853,14 @@ namespace ArdupilotMega MavlinkInterface.logplaybackfile.Close(); MavlinkInterface.logplaybackfile = null; + try + { + + addMagField(ref options); + + } + catch (Exception ex) { log.Info(ex.ToString()); } + // custom sort based on packet name //options.Sort(delegate(string c1, string c2) { return String.Compare(c1.Substring(0,c1.IndexOf('.')),c2.Substring(0,c2.IndexOf('.')));}); @@ -872,6 +880,33 @@ namespace ArdupilotMega return selection; } + void addMagField(ref List options) + { + string field = "mag_field Custom"; + + options.Add("Custom.mag_field"); + + this.data[field] = new PointPairList(); + + PointPairList list = ((PointPairList)this.data[field]); + + PointPairList listx = ((PointPairList)this.data["xmag __mavlink_raw_imu_t"]); + PointPairList listy = ((PointPairList)this.data["ymag __mavlink_raw_imu_t"]); + PointPairList listz = ((PointPairList)this.data["zmag __mavlink_raw_imu_t"]); + + //(float)Math.Sqrt(Math.Pow(mx, 2) + Math.Pow(my, 2) + Math.Pow(mz, 2)); + + for (int a = 0; a < listx.Count; a++) + { + + double ans = Math.Sqrt(Math.Pow(listx[a].Y, 2) + Math.Pow(listy[a].Y, 2) + Math.Pow(listz[a].Y, 2)); + + //Console.WriteLine("{0} {1} {2} {3}", ans, listx[a].Y, listy[a].Y, listz[a].Y); + + list.Add(listx[a].X, ans); + } + } + private void AddDataOption(Form selectform, string Name) { @@ -947,7 +982,7 @@ namespace ArdupilotMega selection.Remove(((CheckBox)sender).Name); foreach (var item in zg1.GraphPane.CurveList) { - if (item.Tag == ((CheckBox)sender).Name) + if (item.Tag.ToString() == ((CheckBox)sender).Name) { zg1.GraphPane.CurveList.Remove(item); break; diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs index eb9a933587..f695ace3a6 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.0.0.0")] -[assembly: AssemblyFileVersion("1.1.58")] +[assembly: AssemblyFileVersion("1.1.59")] [assembly: NeutralResourcesLanguageAttribute("")] diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs b/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs index d4389f234d..0adca95f80 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs @@ -30,7 +30,7 @@ { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Setup)); - this.tabControl1 = new System.Windows.Forms.TabControl(); + this.Tabs = new System.Windows.Forms.TabControl(); this.tabRadioIn = new System.Windows.Forms.TabPage(); this.groupBoxElevons = new System.Windows.Forms.GroupBox(); this.CHK_mixmode = new System.Windows.Forms.CheckBox(); @@ -116,6 +116,9 @@ this.TXT_battcapacity = new System.Windows.Forms.TextBox(); this.CMB_batmontype = new System.Windows.Forms.ComboBox(); this.pictureBox5 = new System.Windows.Forms.PictureBox(); + this.tabArduplane = new System.Windows.Forms.TabPage(); + this.label48 = new System.Windows.Forms.Label(); + this.BUT_levelplane = new ArdupilotMega.MyButton(); this.tabArducopter = new System.Windows.Forms.TabPage(); this.label28 = new System.Windows.Forms.Label(); this.label16 = new System.Windows.Forms.Label(); @@ -180,7 +183,7 @@ this.tabReset = new System.Windows.Forms.TabPage(); this.BUT_reset = new ArdupilotMega.MyButton(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.tabControl1.SuspendLayout(); + this.Tabs.SuspendLayout(); this.tabRadioIn.SuspendLayout(); this.groupBoxElevons.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit(); @@ -193,6 +196,7 @@ this.tabBattery.SuspendLayout(); this.groupBox4.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit(); + this.tabArduplane.SuspendLayout(); this.tabArducopter.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuadX)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuad)).BeginInit(); @@ -208,18 +212,19 @@ this.tabReset.SuspendLayout(); this.SuspendLayout(); // - // tabControl1 + // Tabs // - this.tabControl1.Controls.Add(this.tabRadioIn); - this.tabControl1.Controls.Add(this.tabModes); - this.tabControl1.Controls.Add(this.tabHardware); - this.tabControl1.Controls.Add(this.tabBattery); - this.tabControl1.Controls.Add(this.tabArducopter); - this.tabControl1.Controls.Add(this.tabHeli); - resources.ApplyResources(this.tabControl1, "tabControl1"); - this.tabControl1.Name = "tabControl1"; - this.tabControl1.SelectedIndex = 0; - this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged); + this.Tabs.Controls.Add(this.tabRadioIn); + this.Tabs.Controls.Add(this.tabModes); + this.Tabs.Controls.Add(this.tabHardware); + this.Tabs.Controls.Add(this.tabBattery); + this.Tabs.Controls.Add(this.tabArduplane); + this.Tabs.Controls.Add(this.tabArducopter); + this.Tabs.Controls.Add(this.tabHeli); + resources.ApplyResources(this.Tabs, "Tabs"); + this.Tabs.Name = "Tabs"; + this.Tabs.SelectedIndex = 0; + this.Tabs.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged); // // tabRadioIn // @@ -931,6 +936,26 @@ this.pictureBox5.Name = "pictureBox5"; this.pictureBox5.TabStop = false; // + // tabArduplane + // + this.tabArduplane.Controls.Add(this.label48); + this.tabArduplane.Controls.Add(this.BUT_levelplane); + resources.ApplyResources(this.tabArduplane, "tabArduplane"); + this.tabArduplane.Name = "tabArduplane"; + this.tabArduplane.UseVisualStyleBackColor = true; + // + // label48 + // + resources.ApplyResources(this.label48, "label48"); + this.label48.Name = "label48"; + // + // BUT_levelplane + // + resources.ApplyResources(this.BUT_levelplane, "BUT_levelplane"); + this.BUT_levelplane.Name = "BUT_levelplane"; + this.BUT_levelplane.UseVisualStyleBackColor = true; + this.BUT_levelplane.Click += new System.EventHandler(this.BUT_levelplane_Click); + // // tabArducopter // this.tabArducopter.Controls.Add(this.label28); @@ -1595,12 +1620,12 @@ // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.tabControl1); + this.Controls.Add(this.Tabs); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Name = "Setup"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Setup_FormClosing); this.Load += new System.EventHandler(this.Setup_Load); - this.tabControl1.ResumeLayout(false); + this.Tabs.ResumeLayout(false); this.tabRadioIn.ResumeLayout(false); this.tabRadioIn.PerformLayout(); this.groupBoxElevons.ResumeLayout(false); @@ -1619,6 +1644,8 @@ this.groupBox4.ResumeLayout(false); this.groupBox4.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit(); + this.tabArduplane.ResumeLayout(false); + this.tabArduplane.PerformLayout(); this.tabArducopter.ResumeLayout(false); this.tabArducopter.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuadX)).EndInit(); @@ -1644,7 +1671,7 @@ #endregion - private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabControl Tabs; private System.Windows.Forms.TabPage tabRadioIn; private HorizontalProgressBar2 BAR8; private HorizontalProgressBar2 BAR7; @@ -1794,6 +1821,9 @@ private System.Windows.Forms.RadioButton H1_ENABLE; private System.Windows.Forms.RadioButton CCPM; private MyButton BUT_MagCalibration; + private System.Windows.Forms.TabPage tabArduplane; + private System.Windows.Forms.Label label48; + private MyButton BUT_levelplane; } } \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.cs b/Tools/ArdupilotMegaPlanner/Setup/Setup.cs index 0b71ca9ea9..1bb21aee79 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.cs +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.cs @@ -100,7 +100,7 @@ namespace ArdupilotMega.Setup fmodelist[no].BackColor = Color.Green; - if (tabControl1.SelectedTab == tabHeli) + if (Tabs.SelectedTab == tabHeli) { if (MainV2.comPort.param["HSV_MAN"] == null || MainV2.comPort.param["HSV_MAN"].ToString() == "0") return; @@ -312,7 +312,7 @@ namespace ArdupilotMega.Setup int monosux = 0; monosux *= 5; - if (tabControl1.SelectedTab == tabRadioIn) + if (Tabs.SelectedTab == tabRadioIn) { startup = true; @@ -340,7 +340,7 @@ namespace ArdupilotMega.Setup startup = false; } - if (tabControl1.SelectedTab == tabModes) + if (Tabs.SelectedTab == tabModes) { if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) // APM { @@ -416,7 +416,7 @@ namespace ArdupilotMega.Setup } } - if (tabControl1.SelectedTab == tabHardware) + if (Tabs.SelectedTab == tabHardware) { startup = true; @@ -442,7 +442,7 @@ namespace ArdupilotMega.Setup startup = false; } - if (tabControl1.SelectedTab == tabBattery) + if (Tabs.SelectedTab == tabBattery) { startup = true; bool not_supported = false; @@ -501,7 +501,7 @@ namespace ArdupilotMega.Setup startup = false; } - if (tabControl1.SelectedTab == tabArducopter) + if (Tabs.SelectedTab == tabArducopter) { if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) { @@ -510,7 +510,7 @@ namespace ArdupilotMega.Setup } } - if (tabControl1.SelectedTab == tabHeli) + if (Tabs.SelectedTab == tabHeli) { if (MainV2.comPort.param["GYR_ENABLE"] == null) { @@ -1437,7 +1437,7 @@ namespace ArdupilotMega.Setup timer.Stop(); timer.Dispose(); - tabControl1.SelectedIndex = 0; + Tabs.SelectedIndex = 0; // mono runs validation on all controls on exit. try and skip it startup = true; @@ -1697,7 +1697,34 @@ namespace ArdupilotMega.Setup } else { - MagCalib.ProcessLog(); + string minthro = "30"; + Common.InputBox("Min Throttle", "Use only data above this throttle percent.", ref minthro); + + int ans = 0; + int.TryParse(minthro, out ans); + + MagCalib.ProcessLog(ans); + } + } + + private void BUT_levelplane_Click(object sender, EventArgs e) + { + try + { + MainV2.comPort.setParam("MANUAL_LEVEL",1); + +#if MAVLINK10 + int fixme; // needs to be accel only + MainV2.comPort.doCommand(MAVLink.MAV_CMD.PREFLIGHT_CALIBRATION,1,1,1,1,1,1,1); +#else + MainV2.comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_CALIBRATE_ACC); +#endif + + BUT_levelac2.Text = "Complete"; + } + catch + { + CustomMessageBox.Show("Failed to level : AP 2.32+ is required"); } } } diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.resx b/Tools/ArdupilotMegaPlanner/Setup/Setup.resx index fb3d0b0e1e..0524d1cf2e 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.resx +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.resx @@ -117,15 +117,1656 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + groupBoxElevons + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 0 + + + CHK_revch3 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 1 + + + CHK_revch4 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 2 + + + CHK_revch2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 3 + + + CHK_revch1 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 4 + + + BUT_Calibrateradio + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 5 + + + BAR8 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 6 + + + BAR7 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 7 + + + BAR6 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 8 + + + BAR5 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 9 + + + BARpitch + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 10 + + + BARthrottle + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 11 + + + BARyaw + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 12 + + + BARroll + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabRadioIn + + + 13 + + + + 4, 22 + + + + 3, 3, 3, 3 + + + 666, 393 + + + 0 + + + Radio Input + + + tabRadioIn + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tabs + + + 0 + + + CB_simple6 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 0 + + + CB_simple5 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 1 + + + CB_simple4 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 2 + + + CB_simple3 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 3 + + + CB_simple2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 4 + + + CB_simple1 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 5 + + + label14 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 6 + + + LBL_flightmodepwm + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 7 + + + label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 8 + + + lbl_currentmode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 9 + + + label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 10 + + + label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 11 + + + label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 12 + + + label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 13 + + + label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 14 + + + label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 15 + + + label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 16 + + + CMB_fmode6 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 17 + + + label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 18 + + + CMB_fmode5 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 19 + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 20 + + + CMB_fmode4 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 21 + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 22 + + + CMB_fmode3 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 23 + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 24 + + + CMB_fmode2 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 25 + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 26 + + + CMB_fmode1 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 27 + + + BUT_SaveModes + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabModes + + + 28 + + + 4, 22 + + + 666, 393 + + + 3 + + + Modes + + + tabModes + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tabs + + + 1 + + + BUT_MagCalibration + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabHardware + + + 0 + + + label27 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 1 + + + CMB_sonartype + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 2 + + + CHK_enableoptflow + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 3 + + + pictureBox2 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 4 + + + linkLabelmagdec + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 5 + + + label100 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 6 + + + TXT_declination + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 7 + + + CHK_enableairspeed + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 8 + + + CHK_enablesonar + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 9 + + + CHK_enablecompass + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 10 + + + pictureBox4 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 11 + + + pictureBox3 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 12 + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 13 + + + 4, 22 + + + 3, 3, 3, 3 + + + 666, 393 + + + 1 + + + Hardware + + + tabHardware + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tabs + + + 2 + + + groupBox4 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 0 + + + label47 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 1 + + + CMB_batmonsensortype + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 2 + + + textBox3 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 3 + + + label29 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 4 + + + label30 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 5 + + + TXT_battcapacity + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 6 + + + CMB_batmontype + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 7 + + + pictureBox5 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 8 + + + 4, 22 + + + 2, 2, 2, 2 + + + 666, 393 + + + 6 + + + Battery + + + tabBattery + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tabs + + + 3 + + + True + + + NoControl + + + 228, 170 + + + 212, 13 + + + 11 + + + Level your plane to set default accel offsets + + + label48 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArduplane + + + 0 + + + NoControl + + + 285, 199 + + + 75, 23 + + + 10 + + + Level + + + BUT_levelplane + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabArduplane + + + 1 + + + 4, 22 + + + 3, 3, 3, 3 + + + 666, 393 + + + 7 + + + ArduPlane + + + tabArduplane + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tabs + + + 4 + + + label28 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 0 + + + label16 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 1 + + + label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 2 + + + pictureBoxQuadX + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 3 + + + pictureBoxQuad + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 4 + + + BUT_levelac2 + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabArducopter + + + 5 + + + 4, 22 + + + 666, 393 + + + 2 + + + ArduCopter2 + + + tabArducopter + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tabs + + + 5 + + + groupBox5 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 0 + + + BUT_HS4save + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabHeli + + + 1 + + + BUT_swash_manual + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabHeli + + + 2 + + + groupBox3 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 3 + + + label44 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 4 + + + label43 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 5 + + + label42 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 6 + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 7 + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 8 + + + HS4_TRIM + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 9 + + + HS3_TRIM + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 10 + + + HS2_TRIM + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 11 + + + HS1_TRIM + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 12 + + + label39 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 13 + + + label38 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 14 + + + label37 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 15 + + + label36 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 16 + + + label26 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 17 + + + PIT_MAX + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 18 + + + label25 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 19 + + + ROL_MAX + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 20 + + + label23 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 21 + + + label22 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 22 + + + HS4_REV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 23 + + + label20 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 24 + + + label19 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 25 + + + label18 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 26 + + + SV3_POS + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 27 + + + SV2_POS + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 28 + + + SV1_POS + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 29 + + + HS3_REV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 30 + + + HS2_REV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 31 + + + HS1_REV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 32 + + + label17 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 33 + + + HS4 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabHeli + + + 34 + + + HS3 + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabHeli + + + 35 + + + Gservoloc + + + AGaugeApp.AGauge, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabHeli + + + 36 + + + 4, 22 + + + 666, 393 + + + 5 + + + AC2 Heli + + + tabHeli + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tabs + + + 6 + + + Fill + + + 0, 0 + + + 674, 419 + + + 93 + + + Tabs + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + CHK_mixmode + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxElevons + + + 0 + + + CHK_elevonch2rev + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxElevons + + + 1 + + + CHK_elevonrev + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxElevons + + + 2 + + + CHK_elevonch1rev + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxElevons + + + 3 + + + 21, 349 + + + 409, 42 + + + 111 + + + Elevon Config + + + groupBoxElevons + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 0 + True - NoControl - 13, 19 @@ -255,30 +1896,6 @@ 3 - - 21, 349 - - - 409, 42 - - - 111 - - - Elevon Config - - - groupBoxElevons - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabRadioIn - - - 0 - True @@ -450,6 +2067,9 @@ 6 + + 17, 17 + 446, 185 @@ -597,33 +2217,6 @@ 13 - - 4, 22 - - - 3, 3, 3, 3 - - - 666, 393 - - - 0 - - - Radio Input - - - tabRadioIn - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 0 - True @@ -1455,30 +3048,6 @@ 28 - - 4, 22 - - - 666, 393 - - - 3 - - - Modes - - - tabModes - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 1 - 405, 25 @@ -1863,33 +3432,150 @@ 13 - - 4, 22 + + label31 - - 3, 3, 3, 3 + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 666, 393 + + groupBox4 - + + 0 + + + label32 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + 1 - - Hardware + + label33 - - tabHardware + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + groupBox4 - - tabControl1 - - + 2 + + TXT_ampspervolt + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 3 + + + label34 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 4 + + + TXT_divider + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 5 + + + label35 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 6 + + + TXT_voltage + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 7 + + + TXT_inputvoltage + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 8 + + + TXT_measuredvoltage + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 9 + + + 31, 177 + + + 238, 131 + + + 41 + + + Calibration + + + groupBox4 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabBattery + + + 0 + True @@ -2175,30 +3861,6 @@ 9 - - 31, 177 - - - 238, 131 - - - 41 - - - Calibration - - - groupBox4 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabBattery - - - 0 - NoControl @@ -2430,33 +4092,6 @@ Then subtract 0.3v from that value and enter it in field #1 at left. 8 - - 4, 22 - - - 2, 2, 2, 2 - - - 666, 393 - - - 6 - - - Battery - - - tabBattery - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 3 - True @@ -2629,29 +4264,53 @@ will work with hexa's etc 5 - - 4, 22 + + H1_ENABLE - - 666, 393 + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 2 + + groupBox5 - - ArduCopter2 + + 0 - - tabArducopter + + CCPM - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabControl1 + + groupBox5 - - 4 + + 1 + + + 253, 6 + + + 120, 43 + + + 137 + + + Swash Type + + + groupBox5 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 0 True @@ -2710,30 +4369,6 @@ will work with hexa's etc 1 - - 253, 6 - - - 120, 43 - - - 137 - - - Swash Type - - - groupBox5 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHeli - - - 0 - NoControl @@ -2788,6 +4423,78 @@ will work with hexa's etc 2 + + label46 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 0 + + + label45 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 1 + + + GYR_ENABLE + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 2 + + + GYR_GAIN + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 3 + + + 433, 309 + + + 101, 63 + + + 135 + + + Gyro + + + groupBox3 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 3 + True @@ -2899,30 +4606,6 @@ will work with hexa's etc 3 - - 433, 309 - - - 101, 63 - - - 135 - - - Gyro - - - groupBox3 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHeli - - - 3 - True @@ -3013,6 +4696,75 @@ will work with hexa's etc 6 + + label24 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 0 + + + HS4_MIN + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 1 + + + HS4_MAX + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 2 + + + label40 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 3 + + + 433, 181 + + + 169, 78 + + + 130 + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 7 + True @@ -3127,26 +4879,98 @@ will work with hexa's etc 3 - - 433, 181 + + label41 - - 169, 78 + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 130 + + groupBox1 - - groupBox2 + + 0 - + + label21 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + COL_MIN + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 2 + + + COL_MID + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 3 + + + COL_MAX + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 4 + + + BUT_0collective + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + groupBox1 + + + 5 + + + 293, 90 + + + 80, 209 + + + 129 + + + groupBox1 + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + tabHeli - - 7 + + 8 True @@ -3319,27 +5143,6 @@ will work with hexa's etc 5 - - 293, 90 - - - 80, 209 - - - 129 - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHeli - - - 8 - 535, 279 @@ -4084,69 +5887,6 @@ will work with hexa's etc 36 - - 4, 22 - - - 666, 393 - - - 5 - - - AC2 Heli - - - tabHeli - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 5 - - - Fill - - - 0, 0 - - - 674, 419 - - - 93 - - - tabControl1 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 0 - - - NoControl - - - 214, 161 - - - 195, 23 - - - 0 - - - Reset APM Hardware to Default - BUT_reset @@ -4177,6 +5917,33 @@ will work with hexa's etc System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + NoControl + + + 214, 161 + + + 195, 23 + + + 0 + + + Reset APM Hardware to Default + + + BUT_reset + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabReset + + + 0 + True diff --git a/Tools/ArdupilotMegaPlanner/ThemeManager.cs b/Tools/ArdupilotMegaPlanner/ThemeManager.cs index 75bbc0804c..859cd8e7d4 100644 --- a/Tools/ArdupilotMegaPlanner/ThemeManager.cs +++ b/Tools/ArdupilotMegaPlanner/ThemeManager.cs @@ -1,6 +1,7 @@ using System; using System.Drawing; using System.Windows.Forms; +using ArdupilotMega.Controls.BackstageView; using log4net; namespace ArdupilotMega @@ -225,6 +226,18 @@ namespace ArdupilotMega LNK.VisitedLinkColor = TextColor; } + else if (ctl.GetType() == typeof(BackstageView)) + { + var bsv = ctl as BackstageView; + + bsv.BackColor = BGColor; + bsv.ButtonsAreaBgColor = ControlBGColor; + bsv.HighlightColor2 = Color.FromArgb(0x94, 0xc1, 0x1f); + bsv.HighlightColor1 = Color.FromArgb(0x40, 0x57, 0x04); + bsv.SelectedTextColor = Color.White; + bsv.UnSelectedTextColor = Color.Gray; + bsv.ButtonsAreaPencilColor = Color.DarkGray; + } else if (ctl.GetType() == typeof(HorizontalProgressBar2) || ctl.GetType() == typeof(VerticalProgressBar2)) { ((HorizontalProgressBar2)ctl).BackgroundColor = ControlBGColor; diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb b/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb index 9761640ef1..3a1d3667b7 100644 Binary files a/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb and b/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.pdb differ