From 1527234c81439770c33d496616415b4a49313747 Mon Sep 17 00:00:00 2001 From: Michael Oborne Date: Wed, 28 Dec 2011 07:05:12 +0800 Subject: [PATCH] APM Planner 1.1.14 remove bad params from loading from file add message on firmware screen. fix moving geofence fix terminal crash bug modify udp param list --- Tools/ArdupilotMegaPlanner/Common.cs | 1 - .../GCSViews/Configuration.cs | 14 + .../ArdupilotMegaPlanner/GCSViews/Firmware.cs | 8 + .../GCSViews/Firmware.resx | 57 +- .../GCSViews/FlightPlanner.cs | 26 +- .../ArdupilotMegaPlanner/GCSViews/Terminal.cs | 8 +- Tools/ArdupilotMegaPlanner/MAVLink.cs | 94 +- .../Properties/AssemblyInfo.cs | 2 +- .../Setup/Setup.Designer.cs | 47 +- Tools/ArdupilotMegaPlanner/Setup/Setup.resx | 1524 +++++++++-------- 10 files changed, 994 insertions(+), 787 deletions(-) diff --git a/Tools/ArdupilotMegaPlanner/Common.cs b/Tools/ArdupilotMegaPlanner/Common.cs index 04270c9fa6..e18c1f7384 100644 --- a/Tools/ArdupilotMegaPlanner/Common.cs +++ b/Tools/ArdupilotMegaPlanner/Common.cs @@ -54,7 +54,6 @@ namespace ArdupilotMega public int wprad = 0; public GMapControl MainMap; - PointLatLng wpradposition; public GMapMarkerRect(PointLatLng p) : base(p) diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs index 1ae30e302e..ceb926642b 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs @@ -611,6 +611,20 @@ namespace ArdupilotMega.GCSViews continue; if (name == "CMD_TOTAL") continue; + if (name == "FENCE_TOTAL") + continue; + if (name == "SYS_NUM_RESETS") + continue; + if (name == "ARSPD_OFFSET") + continue; + if (name == "GND_ABS_PRESS") + continue; + if (name == "GND_TEMP") + continue; + if (name == "CMD_INDEX") + continue; + if (name == "LOG_LASTFILE") + continue; if (row.Cells[0].Value.ToString() == name) { if (row.Cells[1].Value.ToString() != value.ToString()) diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs index 1177d7baab..7653b4612b 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs @@ -32,6 +32,7 @@ namespace ArdupilotMega.GCSViews private PictureBox pictureBoxACHil; private PictureBox pictureBoxACHHil; private ImageLabel pictureBoxOcta; + private Label label1; private ImageLabel pictureBoxOctav; private void InitializeComponent() @@ -53,6 +54,7 @@ namespace ArdupilotMega.GCSViews this.pictureBoxACHHil = new System.Windows.Forms.PictureBox(); this.pictureBoxOcta = new ArdupilotMega.ImageLabel(); this.pictureBoxOctav = new ArdupilotMega.ImageLabel(); + this.label1 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxHilimage)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAPHil)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxACHil)).BeginInit(); @@ -186,10 +188,16 @@ namespace ArdupilotMega.GCSViews this.pictureBoxOctav.TabStop = false; this.pictureBoxOctav.Click += new System.EventHandler(this.pictureBoxOctav_Click); // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // // Firmware // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.label1); this.Controls.Add(this.pictureBoxOctav); this.Controls.Add(this.pictureBoxOcta); this.Controls.Add(this.pictureBoxACHHil); diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.resx index bf9f0a8918..30b5ae19dd 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.resx +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.resx @@ -142,7 +142,7 @@ $this - 15 + 16 @@ -794,7 +794,7 @@ $this - 14 + 15 NoControl @@ -818,7 +818,7 @@ $this - 13 + 14 NoControl @@ -842,7 +842,7 @@ $this - 12 + 13 NoControl @@ -866,7 +866,7 @@ $this - 11 + 12 True @@ -896,7 +896,7 @@ $this - 9 + 10 NoControl @@ -920,7 +920,7 @@ $this - 10 + 11 True @@ -950,7 +950,7 @@ $this - 8 + 9 NoControl @@ -974,7 +974,7 @@ $this - 7 + 8 NoControl @@ -1001,7 +1001,7 @@ $this - 6 + 7 10, 362 @@ -1025,7 +1025,7 @@ $this - 5 + 6 NoControl @@ -1052,7 +1052,7 @@ $this - 4 + 5 NoControl @@ -1079,7 +1079,7 @@ $this - 3 + 4 NoControl @@ -1106,7 +1106,7 @@ $this - 2 + 3 696, 176 @@ -1127,7 +1127,7 @@ $this - 1 + 2 696, 0 @@ -1148,6 +1148,33 @@ $this + 1 + + + True + + + 361, 349 + + + 246, 13 + + + 26 + + + Please click the images above for "Flight versions" + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + 0 diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs b/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs index f91622b70a..bb332d1341 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs @@ -1236,8 +1236,6 @@ namespace ArdupilotMega.GCSViews }); } catch (Exception exx) { Console.WriteLine(exx.ToString()); } - - BUT_read.Enabled = true; }); t12.IsBackground = true; t12.Name = "Read wps"; @@ -3084,8 +3082,8 @@ namespace ArdupilotMega.GCSViews // update flightdata FlightData.geofence.Markers.Clear(); FlightData.geofence.Polygons.Clear(); - FlightData.geofence.Polygons.Add(gf); - FlightData.geofence.Markers.Add(geofence.Markers[0]); + FlightData.geofence.Polygons.Add(new GMapPolygon(gf.Points, "gf fd") { Stroke = gf.Stroke }); + FlightData.geofence.Markers.Add(new GMapMarkerGoogleRed(geofence.Markers[0].Position) { ToolTipText = geofence.Markers[0].ToolTipText, ToolTipMode = geofence.Markers[0].ToolTipMode }); MainMap.UpdatePolygonLocalPosition(gf); MainMap.UpdateMarkerLocalPosition(geofence.Markers[0]); @@ -3131,8 +3129,8 @@ namespace ArdupilotMega.GCSViews // update flight data FlightData.geofence.Markers.Clear(); FlightData.geofence.Polygons.Clear(); - FlightData.geofence.Polygons.Add(gf); - FlightData.geofence.Markers.Add(geofence.Markers[0]); + FlightData.geofence.Polygons.Add(new GMapPolygon(gf.Points, "gf fd") { Stroke = gf.Stroke }); + FlightData.geofence.Markers.Add(new GMapMarkerGoogleRed(geofence.Markers[0].Position) { ToolTipText = geofence.Markers[0].ToolTipText, ToolTipMode = geofence.Markers[0].ToolTipMode }); MainMap.UpdatePolygonLocalPosition(gf); MainMap.UpdateMarkerLocalPosition(geofence.Markers[0]); @@ -3198,7 +3196,7 @@ namespace ArdupilotMega.GCSViews if (a == 0) { geofence.Markers.Clear(); - geofence.Markers.Add(new GMapMarkerGoogleRed(new PointLatLng( double.Parse(items[0]),double.Parse(items[1]))) { ToolTipMode = MarkerTooltipMode.OnMouseOver, ToolTipText = "GeoFence Return" }); + geofence.Markers.Add(new GMapMarkerGoogleRed(new PointLatLng(double.Parse(items[0]), double.Parse(items[1]))) { ToolTipMode = MarkerTooltipMode.OnMouseOver, ToolTipText = "GeoFence Return" }); MainMap.UpdateMarkerLocalPosition(geofence.Markers[0]); } else @@ -3273,5 +3271,19 @@ namespace ArdupilotMega.GCSViews catch { MessageBox.Show("Failed to write fence file"); } } } + + public T DeepClone(T obj) + { + using (var ms = new System.IO.MemoryStream()) + { + var formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); + + formatter.Serialize(ms, obj); + + ms.Position = 0; + + return (T)formatter.Deserialize(ms); + } + } } } \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.cs index d8226015f4..9bdeba9497 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Terminal.cs @@ -188,10 +188,14 @@ namespace ArdupilotMega.GCSViews while ((DateTime.Now - start).TotalMilliseconds < 2000) { - if (comPort.BytesToRead > 0) + try { - comPort_DataReceived((object)null, (SerialDataReceivedEventArgs)null); + if (comPort.BytesToRead > 0) + { + comPort_DataReceived((object)null, (SerialDataReceivedEventArgs)null); + } } + catch { return; } } comPort.Write("\n\n\n"); diff --git a/Tools/ArdupilotMegaPlanner/MAVLink.cs b/Tools/ArdupilotMegaPlanner/MAVLink.cs index a0bcb7a583..15426080f2 100644 --- a/Tools/ArdupilotMegaPlanner/MAVLink.cs +++ b/Tools/ArdupilotMegaPlanner/MAVLink.cs @@ -206,13 +206,16 @@ namespace ArdupilotMega if (getparams == true) getParamList(); } - catch (Exception e) { - try { - BaseStream.Close(); - } catch { } - MainV2.givecomport = false; - frm.Close(); - throw e; + catch (Exception e) + { + try + { + BaseStream.Close(); + } + catch { } + MainV2.givecomport = false; + frm.Close(); + throw e; } frm.Close(); @@ -590,6 +593,12 @@ namespace ArdupilotMega public Hashtable getParamList() { MainV2.givecomport = true; + List missed = new List(); + + // ryan - re start + __mavlink_param_request_read_t rereq = new __mavlink_param_request_read_t(); + rereq.target_system = sysid; + rereq.target_component = compid; __mavlink_param_request_list_t req = new __mavlink_param_request_list_t(); req.target_system = sysid; @@ -601,9 +610,10 @@ namespace ArdupilotMega DateTime restart = DateTime.Now; int retrys = 3; - int param_counter = 0; - int total_params = 9999; - while (param_counter < total_params-1) + int nextid = 0; + int param_count = 0; + int param_total = 5; + while (param_count < param_total) { if (!(start.AddMilliseconds(5000) > DateTime.Now)) { @@ -615,17 +625,23 @@ namespace ArdupilotMega retrys--; continue; } - else - { - MainV2.givecomport = false; - throw new Exception("Timeout on read - getParamList"); - } - } + MainV2.givecomport = false; + throw new Exception("Timeout on read - getParamList"); + } + if (!(restart.AddMilliseconds(1000) > DateTime.Now)) + { + rereq.param_id = new byte[] { 0x0, 0x0 }; + rereq.param_index = (short)nextid; + sendPacket(rereq); + restart = DateTime.Now; + } System.Windows.Forms.Application.DoEvents(); byte[] buffer = readPacket(); if (buffer.Length > 5) { + //stopwatch.Reset(); + //stopwatch.Start(); if (buffer[5] == MAVLINK_MSG_ID_PARAM_VALUE) { restart = DateTime.Now; @@ -639,7 +655,31 @@ namespace ArdupilotMega par = (__mavlink_param_value_t)temp; - total_params = (par.param_count); + param_total = (par.param_count); + + // for out of order udp packets + if (BaseStream.GetType() != typeof(UdpSerial)) + { + if (nextid == (par.param_index)) + { + nextid++; + } + else + { + + if (retrys > 0) + { + generatePacket(MAVLINK_MSG_ID_PARAM_REQUEST_LIST, req); + param_count = 0; + nextid = 0; + retrys--; + continue; + } + missed.Add(nextid); // for later devel + MainV2.givecomport = false; + throw new Exception("Missed ID expecting " + nextid + " got " + (par.param_index) + "\nPlease try loading again"); + } + } string st = System.Text.ASCIIEncoding.ASCII.GetString(par.param_id); @@ -650,14 +690,20 @@ namespace ArdupilotMega st = st.Substring(0, pos); } - Console.WriteLine(DateTime.Now.Millisecond + " got param " + (par.param_index) + " of " + (total_params - 1) + " name: " + st); + Console.WriteLine(DateTime.Now.Millisecond + " got param " + (par.param_index) + " of " + (param_total - 1) + " name: " + st); modifyParamForDisplay(true, st, ref par.param_value); param[st] = (par.param_value); - param_counter = param.Count; + param_count++; } + else + { + //Console.WriteLine(DateTime.Now + " PC paramlist " + buffer[5] + " " + this.BytesToRead); + } + //stopwatch.Stop(); + //Console.WriteLine("Time elapsed: {0}", stopwatch.Elapsed); } } MainV2.givecomport = false; @@ -702,7 +748,7 @@ namespace ArdupilotMega // reset all if (forget) { - streams = new byte[streams.Length]; + streams = new byte[streams.Length]; } // no error on bad @@ -973,7 +1019,7 @@ namespace ArdupilotMega public void requestDatastream(byte id, byte hzrate) { - streams[id] = hzrate; + streams[id] = hzrate; double pps = 0; @@ -2035,7 +2081,7 @@ namespace ArdupilotMega if (bpstime.Second != DateTime.Now.Second && !logreadmode) { -// Console.Write("bps {0} loss {1} left {2} mem {3} \n", bps1, synclost, BaseStream.BytesToRead, System.GC.GetTotalMemory(false)); + // Console.Write("bps {0} loss {1} left {2} mem {3} \n", bps1, synclost, BaseStream.BytesToRead, System.GC.GetTotalMemory(false)); bps2 = bps1; // prev sec bps1 = 0; // current sec bpstime = DateTime.Now; @@ -2169,7 +2215,7 @@ namespace ArdupilotMega /// Used to extract mission from log file /// /// packet - void getWPsfromstream(ref byte[] temp ) + void getWPsfromstream(ref byte[] temp) { #if MAVLINK10 if (temp[5] == MAVLINK_MSG_ID_MISSION_COUNT) @@ -2276,7 +2322,7 @@ namespace ArdupilotMega } } - public bool setFencePoint(byte index, PointLatLngAlt plla,byte fencepointcount) + public bool setFencePoint(byte index, PointLatLngAlt plla, byte fencepointcount) { __mavlink_fence_point_t fp = new __mavlink_fence_point_t(); diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs index 1deb61c826..857f856dc7 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.13")] +[assembly: AssemblyFileVersion("1.1.14")] [assembly: NeutralResourcesLanguageAttribute("")] diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs b/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs index a88422cce5..c0e98f61c9 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs @@ -31,8 +31,6 @@ this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Setup)); this.tabControl1 = new System.Windows.Forms.TabControl(); - this.tabReset = new System.Windows.Forms.TabPage(); - this.BUT_reset = new ArdupilotMega.MyButton(); this.tabRadioIn = new System.Windows.Forms.TabPage(); this.groupBoxElevons = new System.Windows.Forms.GroupBox(); this.CHK_mixmode = new System.Windows.Forms.CheckBox(); @@ -171,9 +169,11 @@ this.HS4 = new ArdupilotMega.HorizontalProgressBar2(); this.HS3 = new ArdupilotMega.VerticalProgressBar2(); this.Gservoloc = new AGaugeApp.AGauge(); + this.tabReset = new System.Windows.Forms.TabPage(); + this.BUT_reset = new ArdupilotMega.MyButton(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.label27 = new System.Windows.Forms.Label(); this.tabControl1.SuspendLayout(); - this.tabReset.SuspendLayout(); this.tabRadioIn.SuspendLayout(); this.groupBoxElevons.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit(); @@ -196,11 +196,11 @@ ((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.HS1_TRIM)).BeginInit(); + this.tabReset.SuspendLayout(); this.SuspendLayout(); // // tabControl1 // - //this.tabControl1.Controls.Add(this.tabReset); this.tabControl1.Controls.Add(this.tabRadioIn); this.tabControl1.Controls.Add(this.tabModes); this.tabControl1.Controls.Add(this.tabHardware); @@ -212,21 +212,6 @@ this.tabControl1.SelectedIndex = 0; this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged); // - // tabReset - // - this.tabReset.Controls.Add(this.BUT_reset); - resources.ApplyResources(this.tabReset, "tabReset"); - this.tabReset.Name = "tabReset"; - this.tabReset.UseVisualStyleBackColor = true; - // - // BUT_reset - // - resources.ApplyResources(this.BUT_reset, "BUT_reset"); - this.BUT_reset.Name = "BUT_reset"; - this.BUT_reset.Tag = ""; - this.BUT_reset.UseVisualStyleBackColor = true; - this.BUT_reset.Click += new System.EventHandler(this.BUT_reset_Click); - // // tabRadioIn // this.tabRadioIn.Controls.Add(this.groupBoxElevons); @@ -664,6 +649,7 @@ // tabHardware // this.tabHardware.BackColor = System.Drawing.Color.DarkRed; + this.tabHardware.Controls.Add(this.label27); this.tabHardware.Controls.Add(this.CMB_sonartype); this.tabHardware.Controls.Add(this.CHK_enableoptflow); this.tabHardware.Controls.Add(this.pictureBox2); @@ -1520,6 +1506,26 @@ this.Gservoloc.Value2 = 180F; this.Gservoloc.Value3 = 0F; // + // tabReset + // + this.tabReset.Controls.Add(this.BUT_reset); + resources.ApplyResources(this.tabReset, "tabReset"); + this.tabReset.Name = "tabReset"; + this.tabReset.UseVisualStyleBackColor = true; + // + // BUT_reset + // + resources.ApplyResources(this.BUT_reset, "BUT_reset"); + this.BUT_reset.Name = "BUT_reset"; + this.BUT_reset.Tag = ""; + this.BUT_reset.UseVisualStyleBackColor = true; + this.BUT_reset.Click += new System.EventHandler(this.BUT_reset_Click); + // + // label27 + // + resources.ApplyResources(this.label27, "label27"); + this.label27.Name = "label27"; + // // Setup // resources.ApplyResources(this, "$this"); @@ -1530,7 +1536,6 @@ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Setup_FormClosing); this.Load += new System.EventHandler(this.Setup_Load); this.tabControl1.ResumeLayout(false); - this.tabReset.ResumeLayout(false); this.tabRadioIn.ResumeLayout(false); this.tabRadioIn.PerformLayout(); this.groupBoxElevons.ResumeLayout(false); @@ -1563,6 +1568,7 @@ ((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.HS1_TRIM)).EndInit(); + this.tabReset.ResumeLayout(false); this.ResumeLayout(false); } @@ -1711,6 +1717,7 @@ private System.Windows.Forms.CheckBox CHK_elevonch1rev; private System.Windows.Forms.CheckBox CHK_elevonrev; private System.Windows.Forms.GroupBox groupBoxElevons; + private System.Windows.Forms.Label label27; } } \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.resx b/Tools/ArdupilotMegaPlanner/Setup/Setup.resx index 7708418170..f9b3592be8 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.resx +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.resx @@ -117,192 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - BUT_reset - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc - - - tabReset - - - 0 - - - - 4, 22 - - - 666, 393 - - - - 4 - - - Reset - - - tabReset - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 0 - - - 214, 17 - - - True - - - - NoControl - - - 13, 19 - - - 64, 17 - - - 107 - - - Elevons - - - Enable Elevons - - - CHK_mixmode - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBoxElevons - - - 0 - - - True - - - NoControl - - - 292, 19 - - - 111, 17 - - - 110 - - - Elevons CH2 Rev - - - Reverse ch2 elevon - - - CHK_elevonch2rev - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBoxElevons - - - 1 - - - True - - - NoControl - - - 82, 19 - - - 87, 17 - - - 108 - - - Elevons Rev - - - Reverse Elevon direction - - - CHK_elevonrev - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBoxElevons - - - 2 - - - True - - - NoControl - - - 175, 19 - - - 111, 17 - - - 109 - - - Elevons CH1 Rev - - - Reverse ch1 elevon - - - CHK_elevonch1rev - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBoxElevons - - - 3 - - - 21, 340 - - - 409, 42 - - - 111 - - - Elevon Config - groupBoxElevons @@ -315,24 +129,6 @@ 0 - - True - - - NoControl - - - 287, 158 - - - 66, 17 - - - 106 - - - Reverse - CHK_revch3 @@ -345,24 +141,6 @@ 1 - - True - - - NoControl - - - 315, 310 - - - 66, 17 - - - 105 - - - Reverse - CHK_revch4 @@ -375,24 +153,6 @@ 2 - - True - - - NoControl - - - 71, 158 - - - 66, 17 - - - 104 - - - Reverse - CHK_revch2 @@ -405,24 +165,6 @@ 3 - - True - - - NoControl - - - 315, 12 - - - 66, 17 - - - 103 - - - Reverse - CHK_revch1 @@ -435,21 +177,6 @@ 4 - - NoControl - - - 482, 340 - - - 134, 23 - - - 102 - - - Calibrate Radio - BUT_Calibrateradio @@ -462,18 +189,6 @@ 5 - - 17, 17 - - - 446, 240 - - - 170, 25 - - - 101 - BAR8 @@ -486,15 +201,6 @@ 6 - - 446, 185 - - - 170, 25 - - - 100 - BAR7 @@ -507,15 +213,6 @@ 7 - - 446, 130 - - - 170, 25 - - - 99 - BAR6 @@ -528,15 +225,6 @@ 8 - - 446, 75 - - - 170, 25 - - - 98 - BAR5 @@ -549,15 +237,6 @@ 9 - - 143, 61 - - - 47, 211 - - - 96 - BARpitch @@ -570,15 +249,6 @@ 10 - - 359, 61 - - - 47, 211 - - - 95 - BARthrottle @@ -591,15 +261,6 @@ 11 - - 21, 304 - - - 288, 23 - - - 94 - BARyaw @@ -612,15 +273,6 @@ 12 - - 21, 6 - - - 288, 23 - - - 93 - BARroll @@ -633,15 +285,18 @@ 13 + 4, 22 + 3, 3, 3, 3 666, 393 + 0 @@ -658,7 +313,7 @@ tabControl1 - 1 + 0 CB_simple6 @@ -1030,7 +685,52 @@ tabControl1 - 2 + 1 + + + NoControl + + + 510, 57 + + + 150, 20 + + + 32 + + + in Degrees eg 2° 3' W is -2.3 + + + label27 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 0 + + + XL-EZ0 + + + LV-EZ0 + + + XL-EXL0 + + + 308, 134 + + + 121, 21 + + + 31 CMB_sonartype @@ -1042,7 +742,22 @@ tabHardware - 0 + 1 + + + NoControl + + + 162, 297 + + + 134, 19 + + + 30 + + + Enable Optical Flow CHK_enableoptflow @@ -1054,7 +769,22 @@ tabHardware - 1 + 2 + + + Zoom + + + NoControl + + + 78, 271 + + + 75, 75 + + + 29 pictureBox2 @@ -1066,7 +796,25 @@ tabHardware - 2 + 3 + + + True + + + NoControl + + + 390, 80 + + + 104, 13 + + + 28 + + + Declination WebSite linkLabelmagdec @@ -1078,7 +826,22 @@ tabHardware - 3 + 4 + + + NoControl + + + 305, 57 + + + 72, 16 + + + 23 + + + Declination label100 @@ -1090,7 +853,19 @@ tabHardware - 4 + 5 + + + 383, 57 + + + 121, 20 + + + 20 + + + Magnetic Declination (-20.0 to 20.0) eg 2° 3' W is -2.3 TXT_declination @@ -1102,7 +877,22 @@ tabHardware - 5 + 6 + + + NoControl + + + 162, 214 + + + 103, 17 + + + 24 + + + Enable Airspeed CHK_enableairspeed @@ -1114,7 +904,22 @@ tabHardware - 6 + 7 + + + NoControl + + + 159, 136 + + + 90, 17 + + + 25 + + + Enable Sonar CHK_enablesonar @@ -1126,7 +931,22 @@ tabHardware - 7 + 8 + + + NoControl + + + 162, 56 + + + 105, 17 + + + 27 + + + Enable Compass CHK_enablecompass @@ -1138,7 +958,22 @@ tabHardware - 8 + 9 + + + Zoom + + + NoControl + + + 78, 188 + + + 75, 75 + + + 3 pictureBox4 @@ -1150,7 +985,22 @@ tabHardware - 9 + 10 + + + Zoom + + + NoControl + + + 78, 106 + + + 75, 75 + + + 2 pictureBox3 @@ -1162,7 +1012,28 @@ tabHardware - 10 + 11 + + + Zoom + + + + + + NoControl + + + + + + 78, 25 + + + 75, 75 + + + 0 pictureBox1 @@ -1174,7 +1045,7 @@ tabHardware - 11 + 12 4, 22 @@ -1201,7 +1072,7 @@ tabControl1 - 3 + 2 TXT_ampspervolt @@ -1420,7 +1291,7 @@ tabControl1 - 4 + 3 label28 @@ -1516,7 +1387,7 @@ tabControl1 - 5 + 4 groupBox3 @@ -1972,7 +1843,7 @@ tabControl1 - 6 + 5 Fill @@ -1998,36 +1869,534 @@ 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, 340 + + + 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 - - 214, 161 + + 13, 19 - - 195, 23 + + 64, 17 - + + 107 + + + Elevons + + + 214, 17 + + + Enable Elevons + + + CHK_mixmode + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxElevons + + 0 - - Reset APM Hardware to Default + + True - - BUT_reset + + NoControl - + + 292, 19 + + + 111, 17 + + + 110 + + + Elevons CH2 Rev + + + Reverse ch2 elevon + + + CHK_elevonch2rev + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxElevons + + + 1 + + + True + + + NoControl + + + 82, 19 + + + 87, 17 + + + 108 + + + Elevons Rev + + + Reverse Elevon direction + + + CHK_elevonrev + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxElevons + + + 2 + + + True + + + NoControl + + + 175, 19 + + + 111, 17 + + + 109 + + + Elevons CH1 Rev + + + Reverse ch1 elevon + + + CHK_elevonch1rev + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxElevons + + + 3 + + + True + + + NoControl + + + 287, 158 + + + 66, 17 + + + 106 + + + Reverse + + + CHK_revch3 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 1 + + + True + + + NoControl + + + 315, 310 + + + 66, 17 + + + 105 + + + Reverse + + + CHK_revch4 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 2 + + + True + + + NoControl + + + 71, 158 + + + 66, 17 + + + 104 + + + Reverse + + + CHK_revch2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 3 + + + True + + + NoControl + + + 315, 12 + + + 66, 17 + + + 103 + + + Reverse + + + CHK_revch1 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 4 + + + NoControl + + + 482, 340 + + + 134, 23 + + + 102 + + + Calibrate Radio + + + BUT_Calibrateradio + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc - - tabReset + + tabRadioIn - - 0 + + 5 17, 17 + + 446, 240 + + + 170, 25 + + + 101 + + + BAR8 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabRadioIn + + + 6 + + + 17, 17 + + + 446, 185 + + + 170, 25 + + + 100 + + + BAR7 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabRadioIn + + + 7 + + + 446, 130 + + + 170, 25 + + + 99 + + + BAR6 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabRadioIn + + + 8 + + + 446, 75 + + + 170, 25 + + + 98 + + + BAR5 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabRadioIn + + + 9 + + + 143, 61 + + + 47, 211 + + + 96 + + + BARpitch + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabRadioIn + + + 10 + + + 359, 61 + + + 47, 211 + + + 95 + + + BARthrottle + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabRadioIn + + + 11 + + + 21, 304 + + + 288, 23 + + + 94 + + + BARyaw + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabRadioIn + + + 12 + + + 21, 6 + + + 288, 23 + + + 93 + + + BARroll + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabRadioIn + + + 13 + True @@ -2877,339 +3246,6 @@ 28 - - XL-EZ0 - - - LV-EZ0 - - - XL-EXL0 - - - 308, 134 - - - 121, 21 - - - 31 - - - CMB_sonartype - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 0 - - - NoControl - - - 162, 297 - - - 134, 19 - - - 30 - - - Enable Optical Flow - - - CHK_enableoptflow - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 1 - - - Zoom - - - NoControl - - - 78, 271 - - - 75, 75 - - - 29 - - - pictureBox2 - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 2 - - - True - - - NoControl - - - 390, 80 - - - 104, 13 - - - 28 - - - Declination WebSite - - - linkLabelmagdec - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 3 - - - NoControl - - - 305, 57 - - - 72, 16 - - - 23 - - - Declination - - - label100 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 4 - - - 383, 57 - - - 121, 20 - - - 20 - - - Magnetic Declination (-20.0 to 20.0) eg 2° 3' W is -2.3 - - - TXT_declination - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 5 - - - NoControl - - - 162, 214 - - - 103, 17 - - - 24 - - - Enable Airspeed - - - CHK_enableairspeed - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 6 - - - NoControl - - - 159, 136 - - - 90, 17 - - - 25 - - - Enable Sonar - - - CHK_enablesonar - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 7 - - - NoControl - - - 162, 56 - - - 105, 17 - - - 27 - - - Enable Compass - - - CHK_enablecompass - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 8 - - - Zoom - - - NoControl - - - 78, 188 - - - 75, 75 - - - 3 - - - pictureBox4 - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 9 - - - Zoom - - - NoControl - - - 78, 106 - - - 75, 75 - - - 2 - - - pictureBox3 - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 10 - - - Zoom - - - - - - NoControl - - - - - - 78, 25 - - - 75, 75 - - - 0 - - - pictureBox1 - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabHardware - - - 11 - 162, 267 @@ -5341,9 +5377,63 @@ will work with hexa's etc 35 - - 214, 17 - + + BUT_reset + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc + + + tabReset + + + 0 + + + 4, 22 + + + 666, 393 + + + 4 + + + Reset + + + tabReset + + + 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=38326cb7e06851fc + + + tabReset + + + 0 + True