True
@@ -1005,6 +852,27 @@
6
+
+ 8, 365
+
+
+ 117, 89
+
+
+ 31
+
+
+ panel1
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panelAction
+
+
+ 2
+
Up
@@ -1044,111 +912,6 @@
Bottom, Right
-
- label7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 0
-
-
- label8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- label9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 2
-
-
- label10
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 3
-
-
- TXT_mousealt
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 4
-
-
- TXT_mouselong
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 5
-
-
- TXT_mouselat
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 6
-
-
- 8, 130
-
-
- 114, 79
-
-
- 38
-
-
- panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panelAction
-
-
- 3
-
True
@@ -1332,9 +1095,27 @@
6
-
- 172, 17
-
+
+ 8, 130
+
+
+ 114, 79
+
+
+ 38
+
+
+ panel2
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panelAction
+
+
+ 3
+
Bottom, Right
@@ -1347,6 +1128,9 @@
42
+
+ 172, 17
+
Change the current map type
@@ -1470,9 +1254,6 @@
KML overlay
-
- 172, 17
-
Get Camera settings for overlap
@@ -1722,105 +1503,6 @@
3
-
- lbl_distance
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panelMap
-
-
- 0
-
-
- lbl_homedist
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panelMap
-
-
- 1
-
-
- lbl_prevdist
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panelMap
-
-
- 2
-
-
- MainMap
-
-
- GMap.NET.WindowsForms.GMapControl, GMap.NET.WindowsForms, Version=1.5.5.5, Culture=neutral, PublicKeyToken=b85b9027b614afef
-
-
- panelMap
-
-
- 3
-
-
- trackBar1
-
-
- ArdupilotMega.MyTrackBar, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=38326cb7e06851fc
-
-
- panelMap
-
-
- 4
-
-
- label11
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panelMap
-
-
- 5
-
-
- Fill
-
-
- 0, 0
-
-
- 878, 313
-
-
- 51
-
-
- panel6
-
-
- panelMap
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panelBASE
-
-
- 1
-
True
@@ -1917,6 +1599,93 @@
17, 17
+
+ 167, 22
+
+
+ Delete WP
+
+
+ 113, 22
+
+
+ Forever
+
+
+ 113, 22
+
+
+ Time
+
+
+ 113, 22
+
+
+ Circles
+
+
+ 167, 22
+
+
+ Loiter
+
+
+ 102, 22
+
+
+ Start
+
+
+ 102, 22
+
+
+ WP #
+
+
+ 167, 22
+
+
+ Jump
+
+
+ 164, 6
+
+
+ 167, 22
+
+
+ Measure Distance
+
+
+ 167, 22
+
+
+ Rotate Map
+
+
+ 174, 22
+
+
+ Add Polygon Point
+
+
+ 174, 22
+
+
+ Clear Polygon
+
+
+ 167, 22
+
+
+ Grid Polygon
+
+
+ 167, 22
+
+
+ Clear Mission
+
168, 164
@@ -2092,93 +1861,6 @@
3
-
- 167, 22
-
-
- Delete WP
-
-
- 167, 22
-
-
- Loiter
-
-
- 113, 22
-
-
- Forever
-
-
- 113, 22
-
-
- Time
-
-
- 113, 22
-
-
- Circles
-
-
- 167, 22
-
-
- Jump
-
-
- 102, 22
-
-
- Start
-
-
- 102, 22
-
-
- WP #
-
-
- 164, 6
-
-
- 167, 22
-
-
- Measure Distance
-
-
- 167, 22
-
-
- Rotate Map
-
-
- 167, 22
-
-
- Grid Polygon
-
-
- 174, 22
-
-
- Add Polygon Point
-
-
- 174, 22
-
-
- Clear Polygon
-
-
- 167, 22
-
-
- Clear Mission
-
Top, Bottom, Right
@@ -2242,6 +1924,33 @@
5
+
+ Fill
+
+
+ 0, 0
+
+
+ 878, 313
+
+
+ 51
+
+
+ panel6
+
+
+ panelMap
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panelBASE
+
+
+ 1
+
Fill
@@ -2266,6 +1975,9 @@
1
+
+ 269, 17
+
True
@@ -2452,6 +2164,12 @@
System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ timer1
+
+
+ System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
FlightPlanner
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
index fd2a7cd1fb..79e20164bd 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
@@ -615,6 +615,8 @@ namespace ArdupilotMega.GCSViews
JSBSimSEND.Connect(simIP, simPort);
OutputLog.AppendText("Sending to port TCP " + simPort + " (planner->sim)\n");
+ System.Threading.Thread.Sleep(2000);
+
JSBSimSEND.Client.Send(System.Text.Encoding.ASCII.GetBytes("info\n"));
JSBSimSEND.Client.Send(System.Text.Encoding.ASCII.GetBytes("set attitude/phi-rad 0\n"));
diff --git a/Tools/ArdupilotMegaPlanner/HIL/QuadCopter.cs b/Tools/ArdupilotMegaPlanner/HIL/QuadCopter.cs
index 736135cb5b..9833042e79 100644
--- a/Tools/ArdupilotMegaPlanner/HIL/QuadCopter.cs
+++ b/Tools/ArdupilotMegaPlanner/HIL/QuadCopter.cs
@@ -154,7 +154,6 @@ namespace ArdupilotMega.HIL
accel3D += air_resistance;
Random rand = new Random();
- int fixme;
//velocity.X += .02 + rand.NextDouble() * .03;
//velocity.Y += .02 + rand.NextDouble() * .03;
diff --git a/Tools/ArdupilotMegaPlanner/MAVLink.cs b/Tools/ArdupilotMegaPlanner/MAVLink.cs
index 685136fb38..2ddca32b5f 100644
--- a/Tools/ArdupilotMegaPlanner/MAVLink.cs
+++ b/Tools/ArdupilotMegaPlanner/MAVLink.cs
@@ -2319,7 +2319,7 @@ namespace ArdupilotMega
date1 = date1.AddMilliseconds(dateint / 1000);
- lastlogread = date1;
+ lastlogread = date1.ToLocalTime();
MainV2.cs.datetime = lastlogread;
diff --git a/Tools/ArdupilotMegaPlanner/MainV2.cs b/Tools/ArdupilotMegaPlanner/MainV2.cs
index 53b068c165..9698638b7c 100644
--- a/Tools/ArdupilotMegaPlanner/MainV2.cs
+++ b/Tools/ArdupilotMegaPlanner/MainV2.cs
@@ -123,7 +123,7 @@ namespace ArdupilotMega
comPort.BaseStream.BaudRate = 115200;
- CMB_serialport.Items.AddRange(SerialPort.GetPortNames());
+ CMB_serialport.Items.AddRange(GetPortNames());
CMB_serialport.Items.Add("TCP");
CMB_serialport.Items.Add("UDP");
if (CMB_serialport.Items.Count > 0)
@@ -248,6 +248,25 @@ namespace ArdupilotMega
splash.Close();
}
+ private string[] GetPortNames()
+ {
+ string[] devs = new string[0];
+
+ if (MONO)
+ {
+ devs = Directory.GetFiles("/dev/","*ACM*");
+ }
+
+ string[] ports = SerialPort.GetPortNames();
+
+ string[] all = new string[devs.Length + ports.Length];
+
+ devs.CopyTo(all, 0);
+ ports.CopyTo(all, devs.Length);
+
+ return all;
+ }
+
internal void ScreenShot()
{
Rectangle bounds = Screen.GetBounds(Point.Empty);
@@ -268,7 +287,7 @@ namespace ArdupilotMega
{
string oldport = CMB_serialport.Text;
CMB_serialport.Items.Clear();
- CMB_serialport.Items.AddRange(SerialPort.GetPortNames());
+ CMB_serialport.Items.AddRange(GetPortNames());
CMB_serialport.Items.Add("TCP");
CMB_serialport.Items.Add("UDP");
if (CMB_serialport.Items.Contains(oldport))
@@ -1736,10 +1755,12 @@ namespace ArdupilotMega
if (keyData == (Keys.Control | Keys.Y)) // for ryan beall
{
#if MAVLINK10
- int fixme;
- //MainV2.comPort.doCommand(MAVLink.MAV_ACTION.MAV_ACTION_STORAGE_WRITE);
+ // write
+ MainV2.comPort.doCommand(MAVLink.MAV_CMD.PREFLIGHT_STORAGE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
+ //read
+ ///////MainV2.comPort.doCommand(MAVLink.MAV_CMD.PREFLIGHT_STORAGE, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
#else
- MainV2.comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_STORAGE_WRITE);
+ MainV2.comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_STORAGE_WRITE);
#endif
MessageBox.Show("Done MAV_ACTION_STORAGE_WRITE");
return true;
diff --git a/Tools/ArdupilotMegaPlanner/MavlinkLog.cs b/Tools/ArdupilotMegaPlanner/MavlinkLog.cs
index 3f309a5e99..e9b3058020 100644
--- a/Tools/ArdupilotMegaPlanner/MavlinkLog.cs
+++ b/Tools/ArdupilotMegaPlanner/MavlinkLog.cs
@@ -53,17 +53,33 @@ namespace ArdupilotMega
style.Id = "yellowLineGreenPoly";
style.Line = new LineStyle(new Color32(HexStringToColor("7f00ffff")), 4);
+
+
PolygonStyle pstyle = new PolygonStyle();
pstyle.Color = new Color32(HexStringToColor("7f00ff00"));
style.Polygon = pstyle;
kml.AddStyle(style);
+ Style stylet = new Style();
+ stylet.Id = "track";
+ SharpKml.Dom.IconStyle ico = new SharpKml.Dom.IconStyle();
+ stylet.Icon = ico;
+ ico.Icon = new IconStyle.IconLink(new Uri("http://earth.google.com/images/kml-icons/track-directional/track-none.png"));
+ stylet.Icon.Scale = 0.5;
+ //stylet.Label.Scale = 0;
+
+ kml.AddStyle(stylet);
+
// create sub folders
Folder planes = new Folder();
planes.Name = "Planes";
kml.AddFeature(planes);
+ Folder points = new Folder();
+ points.Name = "Points";
+ kml.AddFeature(points);
+
// coords for line string
CoordinateCollection coords = new CoordinateCollection();
@@ -157,7 +173,7 @@ namespace ArdupilotMega
Placemark pmplane = new Placemark();
- pmplane.Name = "Plane " + a;
+ pmplane.Name = "Point " + a;
@@ -170,6 +186,9 @@ namespace ArdupilotMega
loc.Longitude = cs.lng;
loc.Altitude = cs.alt;
+ if (loc.Altitude < 0)
+ loc.Altitude = 0.01;
+
SharpKml.Dom.Orientation ori = new SharpKml.Dom.Orientation();
ori.Heading = cs.yaw;
ori.Roll = -cs.roll;
@@ -192,10 +211,10 @@ namespace ArdupilotMega
Description desc = new Description();
desc.Text = @"
- Roll: " + model.Orientation.Roll + @" |
- Pitch: " + model.Orientation.Tilt + @" |
- Yaw: " + model.Orientation.Heading + @" |
-
+ Roll: " + model.Orientation.Roll.Value.ToString("0.00") + @" |
+ Pitch: " + model.Orientation.Tilt.Value.ToString("0.00") + @" |
+ Yaw: " + model.Orientation.Heading.Value.ToString("0.00") + @" |
+ Time: " + cs.datetime.ToString("HH:mm:sszzzzzz") + @" |
]]>";
@@ -212,6 +231,25 @@ namespace ArdupilotMega
planes.AddFeature(pmplane);
+ ///
+
+ Placemark pmt = new Placemark();
+
+ SharpKml.Dom.Point pnt = new SharpKml.Dom.Point();
+ pnt.AltitudeMode = SharpKml.Dom.AltitudeMode.Absolute;
+ pnt.Coordinate = new Vector(cs.lat,cs.lng,cs.alt);
+
+ pmt.Name = "" + a;
+
+ pmt.Description = pmplane.Description;
+
+ pmt.Time = tstamp;
+
+ pmt.Geometry = pnt;
+ pmt.StyleUrl = new Uri("#track", UriKind.Relative);
+
+ points.AddFeature(pmt);
+
a++;
}
@@ -274,8 +312,6 @@ namespace ArdupilotMega
zipStream.IsStreamOwner = true; // Makes the Close also Close the underlying stream
zipStream.Close();
- File.Delete(filename);
-
flightdata.Clear();
}
@@ -335,6 +371,11 @@ namespace ArdupilotMega
cs.UpdateCurrentSettings(null, true, mine);
+ if (cs.datetime.Second % 5 == 0)
+ {
+ //Application.DoEvents();
+ }
+
try
{
if (MainV2.talk != null)
@@ -345,7 +386,7 @@ namespace ArdupilotMega
if ((float)(cs.lat + cs.lng) != oldlatlngalt
&& cs.lat != 0 && cs.lng != 0)
{
- Console.WriteLine(cs.lat + " " + cs.lng + " " + cs.alt + " lah " + (float)(cs.lat + cs.lng + cs.alt) + "!=" + oldlatlngalt);
+ Console.WriteLine(cs.lat + " " + cs.lng + " " + cs.alt + " lah " + (float)(cs.lat + cs.lng) + "!=" + oldlatlngalt);
CurrentState cs2 = (CurrentState)cs.Clone();
flightdata.Add(cs2);
diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs
index 5bb404633b..d921a5af50 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.3")]
+[assembly: AssemblyFileVersion("1.1.4")]
[assembly: NeutralResourcesLanguageAttribute("")]
diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs b/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs
index ecf13e02aa..4d3f37c5c5 100644
--- a/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs
+++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs
@@ -34,12 +34,18 @@
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();
+ this.CHK_elevonch2rev = new System.Windows.Forms.CheckBox();
+ this.CHK_elevonrev = new System.Windows.Forms.CheckBox();
+ this.CHK_elevonch1rev = new System.Windows.Forms.CheckBox();
this.CHK_revch3 = new System.Windows.Forms.CheckBox();
this.CHK_revch4 = new System.Windows.Forms.CheckBox();
this.CHK_revch2 = new System.Windows.Forms.CheckBox();
this.CHK_revch1 = new System.Windows.Forms.CheckBox();
this.BUT_Calibrateradio = new ArdupilotMega.MyButton();
this.BAR8 = new ArdupilotMega.HorizontalProgressBar2();
+ this.currentStateBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.BAR7 = new ArdupilotMega.HorizontalProgressBar2();
this.BAR6 = new ArdupilotMega.HorizontalProgressBar2();
this.BAR5 = new ArdupilotMega.HorizontalProgressBar2();
@@ -78,12 +84,18 @@
this.CMB_fmode1 = new System.Windows.Forms.ComboBox();
this.BUT_SaveModes = new ArdupilotMega.MyButton();
this.tabHardware = new System.Windows.Forms.TabPage();
+ this.CMB_sonartype = new System.Windows.Forms.ComboBox();
+ this.CHK_enableoptflow = new System.Windows.Forms.CheckBox();
+ this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.linkLabelmagdec = new System.Windows.Forms.LinkLabel();
this.label100 = new System.Windows.Forms.Label();
this.TXT_declination = new System.Windows.Forms.TextBox();
this.CHK_enableairspeed = new System.Windows.Forms.CheckBox();
this.CHK_enablesonar = new System.Windows.Forms.CheckBox();
this.CHK_enablecompass = new System.Windows.Forms.CheckBox();
+ this.pictureBox4 = new System.Windows.Forms.PictureBox();
+ this.pictureBox3 = new System.Windows.Forms.PictureBox();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.tabBattery = new System.Windows.Forms.TabPage();
this.TXT_ampspervolt = new System.Windows.Forms.TextBox();
this.TXT_divider = new System.Windows.Forms.TextBox();
@@ -100,11 +112,14 @@
this.label30 = new System.Windows.Forms.Label();
this.TXT_battcapacity = new System.Windows.Forms.TextBox();
this.CMB_batmontype = new System.Windows.Forms.ComboBox();
+ this.pictureBox5 = new System.Windows.Forms.PictureBox();
this.tabArducopter = new System.Windows.Forms.TabPage();
this.label28 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.BUT_levelac2 = new ArdupilotMega.MyButton();
+ this.pictureBoxQuadX = new System.Windows.Forms.PictureBox();
+ this.pictureBoxQuad = new System.Windows.Forms.PictureBox();
this.tabHeli = new System.Windows.Forms.TabPage();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.label46 = new System.Windows.Forms.Label();
@@ -155,25 +170,24 @@
this.BUT_swash_manual = new ArdupilotMega.MyButton();
this.HS4 = new ArdupilotMega.HorizontalProgressBar2();
this.HS3 = new ArdupilotMega.VerticalProgressBar2();
- this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
- this.currentStateBindingSource = new System.Windows.Forms.BindingSource(this.components);
- this.pictureBox4 = new System.Windows.Forms.PictureBox();
- this.pictureBox3 = new System.Windows.Forms.PictureBox();
- this.pictureBox1 = new System.Windows.Forms.PictureBox();
- this.pictureBox5 = new System.Windows.Forms.PictureBox();
- this.pictureBoxQuadX = new System.Windows.Forms.PictureBox();
- this.pictureBoxQuad = new System.Windows.Forms.PictureBox();
this.Gservoloc = new AGaugeApp.AGauge();
- this.CHK_enableoptflow = new System.Windows.Forms.CheckBox();
- this.pictureBox2 = new System.Windows.Forms.PictureBox();
- this.CMB_sonartype = new System.Windows.Forms.ComboBox();
+ this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.tabControl1.SuspendLayout();
this.tabReset.SuspendLayout();
this.tabRadioIn.SuspendLayout();
+ this.groupBoxElevons.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit();
this.tabModes.SuspendLayout();
this.tabHardware.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.tabBattery.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit();
this.tabArducopter.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuadX)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuad)).BeginInit();
this.tabHeli.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox2.SuspendLayout();
@@ -182,14 +196,6 @@
((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.HS1_TRIM)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuadX)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuad)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// tabControl1
@@ -223,6 +229,7 @@
//
// tabRadioIn
//
+ this.tabRadioIn.Controls.Add(this.groupBoxElevons);
this.tabRadioIn.Controls.Add(this.CHK_revch3);
this.tabRadioIn.Controls.Add(this.CHK_revch4);
this.tabRadioIn.Controls.Add(this.CHK_revch2);
@@ -240,6 +247,48 @@
this.tabRadioIn.Name = "tabRadioIn";
this.tabRadioIn.UseVisualStyleBackColor = true;
//
+ // groupBoxElevons
+ //
+ this.groupBoxElevons.Controls.Add(this.CHK_mixmode);
+ this.groupBoxElevons.Controls.Add(this.CHK_elevonch2rev);
+ this.groupBoxElevons.Controls.Add(this.CHK_elevonrev);
+ this.groupBoxElevons.Controls.Add(this.CHK_elevonch1rev);
+ resources.ApplyResources(this.groupBoxElevons, "groupBoxElevons");
+ this.groupBoxElevons.Name = "groupBoxElevons";
+ this.groupBoxElevons.TabStop = false;
+ //
+ // CHK_mixmode
+ //
+ resources.ApplyResources(this.CHK_mixmode, "CHK_mixmode");
+ this.CHK_mixmode.Name = "CHK_mixmode";
+ this.toolTip1.SetToolTip(this.CHK_mixmode, resources.GetString("CHK_mixmode.ToolTip"));
+ this.CHK_mixmode.UseVisualStyleBackColor = true;
+ this.CHK_mixmode.CheckedChanged += new System.EventHandler(this.CHK_mixmode_CheckedChanged);
+ //
+ // CHK_elevonch2rev
+ //
+ resources.ApplyResources(this.CHK_elevonch2rev, "CHK_elevonch2rev");
+ this.CHK_elevonch2rev.Name = "CHK_elevonch2rev";
+ this.toolTip1.SetToolTip(this.CHK_elevonch2rev, resources.GetString("CHK_elevonch2rev.ToolTip"));
+ this.CHK_elevonch2rev.UseVisualStyleBackColor = true;
+ this.CHK_elevonch2rev.CheckedChanged += new System.EventHandler(this.CHK_elevonch2rev_CheckedChanged);
+ //
+ // CHK_elevonrev
+ //
+ resources.ApplyResources(this.CHK_elevonrev, "CHK_elevonrev");
+ this.CHK_elevonrev.Name = "CHK_elevonrev";
+ this.toolTip1.SetToolTip(this.CHK_elevonrev, resources.GetString("CHK_elevonrev.ToolTip"));
+ this.CHK_elevonrev.UseVisualStyleBackColor = true;
+ this.CHK_elevonrev.CheckedChanged += new System.EventHandler(this.CHK_elevonrev_CheckedChanged);
+ //
+ // CHK_elevonch1rev
+ //
+ resources.ApplyResources(this.CHK_elevonch1rev, "CHK_elevonch1rev");
+ this.CHK_elevonch1rev.Name = "CHK_elevonch1rev";
+ this.toolTip1.SetToolTip(this.CHK_elevonch1rev, resources.GetString("CHK_elevonch1rev.ToolTip"));
+ this.CHK_elevonch1rev.UseVisualStyleBackColor = true;
+ this.CHK_elevonch1rev.CheckedChanged += new System.EventHandler(this.CHK_elevonch1rev_CheckedChanged);
+ //
// CHK_revch3
//
resources.ApplyResources(this.CHK_revch3, "CHK_revch3");
@@ -290,6 +339,10 @@
this.BAR8.Value = 1500;
this.BAR8.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255)))));
//
+ // currentStateBindingSource
+ //
+ this.currentStateBindingSource.DataSource = typeof(ArdupilotMega.CurrentState);
+ //
// BAR7
//
this.BAR7.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255)))));
@@ -626,6 +679,33 @@
resources.ApplyResources(this.tabHardware, "tabHardware");
this.tabHardware.Name = "tabHardware";
//
+ // CMB_sonartype
+ //
+ this.CMB_sonartype.FormattingEnabled = true;
+ this.CMB_sonartype.Items.AddRange(new object[] {
+ resources.GetString("CMB_sonartype.Items"),
+ resources.GetString("CMB_sonartype.Items1"),
+ resources.GetString("CMB_sonartype.Items2")});
+ resources.ApplyResources(this.CMB_sonartype, "CMB_sonartype");
+ this.CMB_sonartype.Name = "CMB_sonartype";
+ this.CMB_sonartype.SelectedIndexChanged += new System.EventHandler(this.CMB_sonartype_SelectedIndexChanged);
+ //
+ // CHK_enableoptflow
+ //
+ resources.ApplyResources(this.CHK_enableoptflow, "CHK_enableoptflow");
+ this.CHK_enableoptflow.Name = "CHK_enableoptflow";
+ this.CHK_enableoptflow.UseVisualStyleBackColor = true;
+ this.CHK_enableoptflow.CheckedChanged += new System.EventHandler(this.CHK_enableoptflow_CheckedChanged);
+ //
+ // pictureBox2
+ //
+ this.pictureBox2.BackColor = System.Drawing.Color.White;
+ this.pictureBox2.BackgroundImage = global::ArdupilotMega.Properties.Resources.BR_0016_01_3T;
+ resources.ApplyResources(this.pictureBox2, "pictureBox2");
+ this.pictureBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pictureBox2.Name = "pictureBox2";
+ this.pictureBox2.TabStop = false;
+ //
// linkLabelmagdec
//
resources.ApplyResources(this.linkLabelmagdec, "linkLabelmagdec");
@@ -666,6 +746,32 @@
this.CHK_enablecompass.UseVisualStyleBackColor = true;
this.CHK_enablecompass.CheckedChanged += new System.EventHandler(this.CHK_enablecompass_CheckedChanged);
//
+ // pictureBox4
+ //
+ this.pictureBox4.BackColor = System.Drawing.Color.White;
+ this.pictureBox4.BackgroundImage = global::ArdupilotMega.Properties.Resources.airspeed;
+ resources.ApplyResources(this.pictureBox4, "pictureBox4");
+ this.pictureBox4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pictureBox4.Name = "pictureBox4";
+ this.pictureBox4.TabStop = false;
+ //
+ // pictureBox3
+ //
+ this.pictureBox3.BackColor = System.Drawing.Color.White;
+ this.pictureBox3.BackgroundImage = global::ArdupilotMega.Properties.Resources.sonar;
+ resources.ApplyResources(this.pictureBox3, "pictureBox3");
+ this.pictureBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pictureBox3.Name = "pictureBox3";
+ this.pictureBox3.TabStop = false;
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.BackgroundImage = global::ArdupilotMega.Properties.Resources.compass;
+ resources.ApplyResources(this.pictureBox1, "pictureBox1");
+ this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.TabStop = false;
+ //
// tabBattery
//
this.tabBattery.Controls.Add(this.TXT_ampspervolt);
@@ -784,6 +890,15 @@
this.CMB_batmontype.Name = "CMB_batmontype";
this.CMB_batmontype.SelectedIndexChanged += new System.EventHandler(this.CMB_batmontype_SelectedIndexChanged);
//
+ // pictureBox5
+ //
+ this.pictureBox5.BackColor = System.Drawing.Color.White;
+ this.pictureBox5.BackgroundImage = global::ArdupilotMega.Properties.Resources.attocurrent;
+ resources.ApplyResources(this.pictureBox5, "pictureBox5");
+ this.pictureBox5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pictureBox5.Name = "pictureBox5";
+ this.pictureBox5.TabStop = false;
+ //
// tabArducopter
//
this.tabArducopter.Controls.Add(this.label28);
@@ -818,6 +933,24 @@
this.BUT_levelac2.UseVisualStyleBackColor = true;
this.BUT_levelac2.Click += new System.EventHandler(this.BUT_levelac2_Click);
//
+ // pictureBoxQuadX
+ //
+ this.pictureBoxQuadX.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.pictureBoxQuadX.Image = global::ArdupilotMega.Properties.Resources.frames_04;
+ resources.ApplyResources(this.pictureBoxQuadX, "pictureBoxQuadX");
+ this.pictureBoxQuadX.Name = "pictureBoxQuadX";
+ this.pictureBoxQuadX.TabStop = false;
+ this.pictureBoxQuadX.Click += new System.EventHandler(this.pictureBoxQuadX_Click);
+ //
+ // pictureBoxQuad
+ //
+ this.pictureBoxQuad.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.pictureBoxQuad.Image = global::ArdupilotMega.Properties.Resources.frames_03;
+ resources.ApplyResources(this.pictureBoxQuad, "pictureBoxQuad");
+ this.pictureBoxQuad.Name = "pictureBoxQuad";
+ this.pictureBoxQuad.TabStop = false;
+ this.pictureBoxQuad.Click += new System.EventHandler(this.pictureBoxQuad_Click);
+ //
// tabHeli
//
this.tabHeli.Controls.Add(this.groupBox3);
@@ -1244,63 +1377,6 @@
this.HS3.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(148)))), ((int)(((byte)(193)))), ((int)(((byte)(31)))));
this.HS3.Paint += new System.Windows.Forms.PaintEventHandler(this.HS3_Paint);
//
- // currentStateBindingSource
- //
- this.currentStateBindingSource.DataSource = typeof(ArdupilotMega.CurrentState);
- //
- // pictureBox4
- //
- this.pictureBox4.BackColor = System.Drawing.Color.White;
- this.pictureBox4.BackgroundImage = global::ArdupilotMega.Properties.Resources.airspeed;
- resources.ApplyResources(this.pictureBox4, "pictureBox4");
- this.pictureBox4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.pictureBox4.Name = "pictureBox4";
- this.pictureBox4.TabStop = false;
- //
- // pictureBox3
- //
- this.pictureBox3.BackColor = System.Drawing.Color.White;
- this.pictureBox3.BackgroundImage = global::ArdupilotMega.Properties.Resources.sonar;
- resources.ApplyResources(this.pictureBox3, "pictureBox3");
- this.pictureBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.pictureBox3.Name = "pictureBox3";
- this.pictureBox3.TabStop = false;
- //
- // pictureBox1
- //
- this.pictureBox1.BackgroundImage = global::ArdupilotMega.Properties.Resources.compass;
- resources.ApplyResources(this.pictureBox1, "pictureBox1");
- this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.TabStop = false;
- //
- // pictureBox5
- //
- this.pictureBox5.BackColor = System.Drawing.Color.White;
- this.pictureBox5.BackgroundImage = global::ArdupilotMega.Properties.Resources.attocurrent;
- resources.ApplyResources(this.pictureBox5, "pictureBox5");
- this.pictureBox5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.pictureBox5.Name = "pictureBox5";
- this.pictureBox5.TabStop = false;
- //
- // pictureBoxQuadX
- //
- this.pictureBoxQuadX.Cursor = System.Windows.Forms.Cursors.Hand;
- this.pictureBoxQuadX.Image = global::ArdupilotMega.Properties.Resources.frames_04;
- resources.ApplyResources(this.pictureBoxQuadX, "pictureBoxQuadX");
- this.pictureBoxQuadX.Name = "pictureBoxQuadX";
- this.pictureBoxQuadX.TabStop = false;
- this.pictureBoxQuadX.Click += new System.EventHandler(this.pictureBoxQuadX_Click);
- //
- // pictureBoxQuad
- //
- this.pictureBoxQuad.Cursor = System.Windows.Forms.Cursors.Hand;
- this.pictureBoxQuad.Image = global::ArdupilotMega.Properties.Resources.frames_03;
- resources.ApplyResources(this.pictureBoxQuad, "pictureBoxQuad");
- this.pictureBoxQuad.Name = "pictureBoxQuad";
- this.pictureBoxQuad.TabStop = false;
- this.pictureBoxQuad.Click += new System.EventHandler(this.pictureBoxQuad_Click);
- //
// Gservoloc
//
this.Gservoloc.BackColor = System.Drawing.Color.Transparent;
@@ -1444,33 +1520,6 @@
this.Gservoloc.Value2 = 180F;
this.Gservoloc.Value3 = 0F;
//
- // CHK_enableoptflow
- //
- resources.ApplyResources(this.CHK_enableoptflow, "CHK_enableoptflow");
- this.CHK_enableoptflow.Name = "CHK_enableoptflow";
- this.CHK_enableoptflow.UseVisualStyleBackColor = true;
- this.CHK_enableoptflow.CheckedChanged += new System.EventHandler(this.CHK_enableoptflow_CheckedChanged);
- //
- // pictureBox2
- //
- this.pictureBox2.BackColor = System.Drawing.Color.White;
- this.pictureBox2.BackgroundImage = global::ArdupilotMega.Properties.Resources.BR_0016_01_3T;
- resources.ApplyResources(this.pictureBox2, "pictureBox2");
- this.pictureBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.pictureBox2.Name = "pictureBox2";
- this.pictureBox2.TabStop = false;
- //
- // CMB_sonartype
- //
- this.CMB_sonartype.FormattingEnabled = true;
- this.CMB_sonartype.Items.AddRange(new object[] {
- resources.GetString("CMB_sonartype.Items"),
- resources.GetString("CMB_sonartype.Items1"),
- resources.GetString("CMB_sonartype.Items2")});
- resources.ApplyResources(this.CMB_sonartype, "CMB_sonartype");
- this.CMB_sonartype.Name = "CMB_sonartype";
- this.CMB_sonartype.SelectedIndexChanged += new System.EventHandler(this.CMB_sonartype_SelectedIndexChanged);
- //
// Setup
//
resources.ApplyResources(this, "$this");
@@ -1484,14 +1533,24 @@
this.tabReset.ResumeLayout(false);
this.tabRadioIn.ResumeLayout(false);
this.tabRadioIn.PerformLayout();
+ this.groupBoxElevons.ResumeLayout(false);
+ this.groupBoxElevons.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit();
this.tabModes.ResumeLayout(false);
this.tabModes.PerformLayout();
this.tabHardware.ResumeLayout(false);
this.tabHardware.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.tabBattery.ResumeLayout(false);
this.tabBattery.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit();
this.tabArducopter.ResumeLayout(false);
this.tabArducopter.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuadX)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuad)).EndInit();
this.tabHeli.ResumeLayout(false);
this.tabHeli.PerformLayout();
this.groupBox3.ResumeLayout(false);
@@ -1504,14 +1563,6 @@
((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.HS1_TRIM)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuadX)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuad)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.ResumeLayout(false);
}
@@ -1655,6 +1706,11 @@
private System.Windows.Forms.CheckBox CHK_enableoptflow;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.ComboBox CMB_sonartype;
+ private System.Windows.Forms.CheckBox CHK_mixmode;
+ private System.Windows.Forms.CheckBox CHK_elevonch2rev;
+ private System.Windows.Forms.CheckBox CHK_elevonch1rev;
+ private System.Windows.Forms.CheckBox CHK_elevonrev;
+ private System.Windows.Forms.GroupBox groupBoxElevons;
}
}
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.cs b/Tools/ArdupilotMegaPlanner/Setup/Setup.cs
index 92648b2a26..1019e1b9d9 100644
--- a/Tools/ArdupilotMegaPlanner/Setup/Setup.cs
+++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.cs
@@ -273,6 +273,20 @@ namespace ArdupilotMega.Setup
if (tabControl1.SelectedTab == tabRadioIn)
{
startup = true;
+
+ if (MainV2.cs.firmware == MainV2.Firmwares.ArduCopter2)
+ {
+ groupBoxElevons.Visible = false;
+ }
+
+ try
+ {
+ CHK_mixmode.Checked = MainV2.comPort.param["ELEVON_MIXING"].ToString() == "1";
+ CHK_elevonrev.Checked = MainV2.comPort.param["ELEVON_REVERSE"].ToString() == "1";
+ CHK_elevonch1rev.Checked = MainV2.comPort.param["ELEVON_CH1_REV"].ToString() == "1";
+ CHK_elevonch2rev.Checked = MainV2.comPort.param["ELEVON_CH2_REV"].ToString() == "1";
+ }
+ catch { } // this will fail on arducopter
try
{
CHK_revch1.Checked = MainV2.comPort.param["RC1_REV"].ToString() == "-1";
@@ -280,7 +294,7 @@ namespace ArdupilotMega.Setup
CHK_revch3.Checked = MainV2.comPort.param["RC3_REV"].ToString() == "-1";
CHK_revch4.Checked = MainV2.comPort.param["RC4_REV"].ToString() == "-1";
}
- catch { MessageBox.Show("Missing RC rev Param"); }
+ catch (Exception ex) { MessageBox.Show("Missing RC rev Param "+ex.ToString()); }
startup = false;
}
@@ -1305,5 +1319,77 @@ namespace ArdupilotMega.Setup
}
catch { MessageBox.Show("Set SONAR_TYPE Failed"); }
}
+
+ private void CHK_mixmode_CheckedChanged(object sender, EventArgs e)
+ {
+ if (startup)
+ return;
+ try
+ {
+ if (MainV2.comPort.param["ELEVON_MIXING"] == null)
+ {
+ MessageBox.Show("Not Available on " + MainV2.cs.firmware.ToString());
+ }
+ else
+ {
+ MainV2.comPort.setParam("ELEVON_MIXING", ((CheckBox)sender).Checked == true ? 1 : 0);
+ }
+ }
+ catch { MessageBox.Show("Set ELEVON_MIXING Failed"); }
+ }
+
+ private void CHK_elevonrev_CheckedChanged(object sender, EventArgs e)
+ {
+ if (startup)
+ return;
+ try
+ {
+ if (MainV2.comPort.param["ELEVON_REVERSE"] == null)
+ {
+ MessageBox.Show("Not Available on " + MainV2.cs.firmware.ToString());
+ }
+ else
+ {
+ MainV2.comPort.setParam("ELEVON_REVERSE", ((CheckBox)sender).Checked == true ? 1 : 0);
+ }
+ }
+ catch { MessageBox.Show("Set ELEVON_REVERSE Failed"); }
+ }
+
+ private void CHK_elevonch1rev_CheckedChanged(object sender, EventArgs e)
+ {
+ if (startup)
+ return;
+ try
+ {
+ if (MainV2.comPort.param["ELEVON_CH1_REV"] == null)
+ {
+ MessageBox.Show("Not Available on " + MainV2.cs.firmware.ToString());
+ }
+ else
+ {
+ MainV2.comPort.setParam("ELEVON_CH1_REV", ((CheckBox)sender).Checked == true ? 1 : 0);
+ }
+ }
+ catch { MessageBox.Show("Set ELEVON_CH1_REV Failed"); }
+ }
+
+ private void CHK_elevonch2rev_CheckedChanged(object sender, EventArgs e)
+ {
+ if (startup)
+ return;
+ try
+ {
+ if (MainV2.comPort.param["ELEVON_CH2_REV"] == null)
+ {
+ MessageBox.Show("Not Available on " + MainV2.cs.firmware.ToString());
+ }
+ else
+ {
+ MainV2.comPort.setParam("ELEVON_CH2_REV", ((CheckBox)sender).Checked == true ? 1 : 0);
+ }
+ }
+ catch { MessageBox.Show("Set ELEVON_CH2_REV Failed"); }
+ }
}
}
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.resx b/Tools/ArdupilotMegaPlanner/Setup/Setup.resx
index 009bae6e54..7708418170 100644
--- a/Tools/ArdupilotMegaPlanner/Setup/Setup.resx
+++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.resx
@@ -155,6 +155,184 @@
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
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabRadioIn
+
+
+ 0
+
+
+ True
+
+
+ NoControl
+
+
+ 287, 158
+
+
+ 66, 17
+
+
+ 106
+
+
+ Reverse
+
CHK_revch3
@@ -165,7 +343,25 @@
tabRadioIn