diff --git a/Tools/ArdupilotMegaPlanner/APMPlannerXplanes/.gitignore b/Tools/ArdupilotMegaPlanner/APMPlannerXplanes/.gitignore
new file mode 100644
index 0000000000..e210ee7df4
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/APMPlannerXplanes/.gitignore
@@ -0,0 +1,2 @@
+
+*.sdf
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/APMPlannerXplanes/APMPlannerXplanes/ReadMe.txt b/Tools/ArdupilotMegaPlanner/APMPlannerXplanes/APMPlannerXplanes/ReadMe.txt
new file mode 100644
index 0000000000..f7f3a48f17
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/APMPlannerXplanes/APMPlannerXplanes/ReadMe.txt
@@ -0,0 +1,38 @@
+========================================================================
+ DYNAMIC LINK LIBRARY : APMPlannerXplanes Project Overview
+========================================================================
+
+AppWizard has created this APMPlannerXplanes DLL for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your APMPlannerXplanes application.
+
+APMPlannerXplanes.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+APMPlannerXplanes.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+APMPlannerXplanes.cpp
+ This is the main DLL source file.
+
+APMPlannerXplanes.h
+ This file contains a class declaration.
+
+AssemblyInfo.cpp
+ Contains custom attributes for modifying assembly metadata.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj
index 4b94279b7c..c6f14bec91 100644
--- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj
+++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj
@@ -496,6 +496,9 @@
temp.cs
+
+ Always
+
Always
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx
index d92d68bcd0..88fc8b5e1f 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx
@@ -121,28 +121,28 @@
Top, Bottom, Left
-
+
+
True
-
+
Command
-
150
-
+
True
-
+
Value
80
-
+
True
-
+
Default
@@ -155,9 +155,9 @@
False
-
+
True
-
+
RawValue
@@ -5340,9 +5340,9 @@
GDI+ (old type)
-
+
17, 17
-
+
OpenGL = Disabled
GDI+ = Enabled
@@ -6803,9 +6803,9 @@ GDI+ = Enabled
0
-
+
True
-
+
8, 16
@@ -6857,4 +6857,7 @@ GDI+ = Enabled
System.Windows.Forms.MyUserControl, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+
+ ..\Resources\MAVParam.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252
+
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.Designer.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.Designer.cs
index 997088d9e7..db612a34dd 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.Designer.cs
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.Designer.cs
@@ -110,6 +110,8 @@
this.BUT_startfgplane = new ArdupilotMega.MyButton();
this.BUT_startxplane = new ArdupilotMega.MyButton();
this.CHK_heli = new System.Windows.Forms.CheckBox();
+ this.RAD_aerosimrc = new System.Windows.Forms.RadioButton();
+ this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
@@ -243,6 +245,7 @@
this.RAD_softXplanes.Checked = true;
this.RAD_softXplanes.Name = "RAD_softXplanes";
this.RAD_softXplanes.TabStop = true;
+ this.toolTip1.SetToolTip(this.RAD_softXplanes, resources.GetString("RAD_softXplanes.ToolTip"));
this.RAD_softXplanes.UseVisualStyleBackColor = true;
this.RAD_softXplanes.CheckedChanged += new System.EventHandler(this.RAD_softXplanes_CheckedChanged);
//
@@ -250,6 +253,7 @@
//
resources.ApplyResources(this.RAD_softFlightGear, "RAD_softFlightGear");
this.RAD_softFlightGear.Name = "RAD_softFlightGear";
+ this.toolTip1.SetToolTip(this.RAD_softFlightGear, resources.GetString("RAD_softFlightGear.ToolTip"));
this.RAD_softFlightGear.UseVisualStyleBackColor = true;
this.RAD_softFlightGear.CheckedChanged += new System.EventHandler(this.RAD_softFlightGear_CheckedChanged);
//
@@ -680,10 +684,19 @@
this.CHK_heli.Name = "CHK_heli";
this.CHK_heli.UseVisualStyleBackColor = true;
//
+ // RAD_aerosimrc
+ //
+ resources.ApplyResources(this.RAD_aerosimrc, "RAD_aerosimrc");
+ this.RAD_aerosimrc.Name = "RAD_aerosimrc";
+ this.toolTip1.SetToolTip(this.RAD_aerosimrc, resources.GetString("RAD_aerosimrc.ToolTip"));
+ this.RAD_aerosimrc.UseVisualStyleBackColor = true;
+ this.RAD_aerosimrc.CheckedChanged += new System.EventHandler(this.RAD_aerosimrc_CheckedChanged);
+ //
// Simulation
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.RAD_aerosimrc);
this.Controls.Add(this.CHK_heli);
this.Controls.Add(this.BUT_startxplane);
this.Controls.Add(this.BUT_startfgplane);
@@ -714,7 +727,7 @@
this.Controls.Add(this.CHKREV_pitch);
this.Controls.Add(this.CHKREV_roll);
this.Name = "Simulation";
- this.Load += new System.EventHandler(this.ArdupilotSim_Load);
+ this.Load += new System.EventHandler(this.Simulation_Load);
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit();
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
@@ -810,5 +823,7 @@
private MyButton BUT_startfgplane;
private MyButton BUT_startxplane;
private System.Windows.Forms.CheckBox CHK_heli;
+ private System.Windows.Forms.RadioButton RAD_aerosimrc;
+ private System.Windows.Forms.ToolTip toolTip1;
}
}
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
index ccecf242f8..dcc99f45be 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.cs
@@ -23,6 +23,7 @@ namespace ArdupilotMega.GCSViews
UdpClient MavLink;
Socket SimulatorRECV;
//TcpClient FlightGearSEND;
+ EndPoint Remote = (EndPoint)(new IPEndPoint(IPAddress.Any, 0));
byte[] udpdata = new byte[113 * 9 + 5]; // 113 types - 9 items per type (index+8) + 5 byte header
float[][] DATA = new float[113][];
DateTime now = DateTime.Now;
@@ -76,6 +77,117 @@ namespace ArdupilotMega.GCSViews
public uint magic;
}
+ const int AEROSIMRC_MAX_CHANNELS = 39;
+
+ //-----------------------------------------------------------------------------
+ // Two main data structures are used. This is the first one:
+ //
+ // This data struct is filled by AeroSIM RC with the simulation data, and sent to the plugin
+ //-----------------------------------------------------------------------------
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public struct TDataFromAeroSimRC
+ {
+ public ushort nStructSize; // size in bytes of TDataFromAeroSimRC
+
+ //---------------------
+ // Integration Time
+ //---------------------
+ public float Simulation_fIntegrationTimeStep; // integration time step in seconds. This is the simulated time since last call to AeroSIMRC_Plugin_Run()
+
+ //---------------------
+ // Channels
+ //---------------------
+
+ [MarshalAs(
+ UnmanagedType.ByValArray,
+ SizeConst = AEROSIMRC_MAX_CHANNELS)]
+ public float[] Channel_afValue_TX; // [-1, 1] channel positions at TX sticks (i.e. raw stick positions)
+ [MarshalAs(
+ UnmanagedType.ByValArray,
+ SizeConst = AEROSIMRC_MAX_CHANNELS)]
+ public float[] Channel_afValue_RX; // [-1, 1] channel positions at RX (i.e. after TX mixes)
+
+ // Use the following constants as indexes for the channel arrays
+ // The simulator uses internally the channel numbers for Transmitter Mode 2 (regardless of mode selected by user)
+ const int CH_AILERON = 0;
+ const int CH_ELEVATOR = 1;
+ const int CH_THROTTLE = 2;
+ const int CH_RUDDER = 3;
+ const int CH_5 = 4;
+ const int CH_6 = 5;
+ const int CH_7 = 6;
+ const int CH_PLUGIN_1 = 22; // This channel is mapped by user to any real channel number
+ const int CH_PLUGIN_2 = 23; // This channel is mapped by user to any real channel number
+
+ //---------------------
+ // OSD
+ //---------------------
+ // Video buffer for OSD is a bitmap, 4 bytes per pixel: R G B A; The first 4 bytes are the Top-Left corner pixel
+ // The size of the OSD Video Buffer is defined in plugin.txt
+ // .OSD_BUFFER_SIZE, in plugin.txt, can be set to one of the following sizes: 512x512, 1024x512 or 1024x1024
+ // Set OSD_nWindow_DX and OSD_nWindow_DY in struct TDataToAeroSimRC to the actual size to be displayed
+ public IntPtr OSD_pVideoBuffer;
+
+ //---------------------
+ // Menu
+ //---------------------
+ // This variable represent the custom menu status. E.g. 0x000001 means that first menu item is ticked
+ // Command menu item bits are set to 1 when selected, but cleared in the next cycle.
+ // Checkbox menu item bits remain 1 until unchecked by user, or cleared in TDataToAeroSimRC::Menu_nFlags_MenuItem_New_CheckBox_Status
+ public uint Menu_nFlags_MenuItem_Status;
+
+ //---------------------
+ // Model Initial Position in current scenario
+ //---------------------
+ public float Scenario_fInitialModelPosX; public float Scenario_fInitialModelPosY; public float Scenario_fInitialModelPosZ; // (m) Model Initial Position on runway
+ public float Scenario_fInitialModelHeading; public float Scenario_fInitialModelPitch; public float Scenario_fInitialModelRoll; // (m) Model Initial Attitude on runway
+
+ //---------------------
+ // WayPoints
+ // The Description string can be freely used to add more information to the waypoint such as Altitude, WP Type (Overfly, Landing, CAP), Bearing, etc.
+ //---------------------
+ public float Scenario_fWPHome_X; public float Scenario_fWPHome_Y; public float Scenario_fWPHome_Lat; public float Scenario_fWPHome_Long; IntPtr Scenario_strWPHome_Description; // (m, deg, string)
+ public float Scenario_fWPA_X; public float Scenario_fWPA_Y; public float Scenario_fWPA_Lat; public float Scenario_fWPA_Long; IntPtr Scenario_strWPA_Description; // (m, deg, string)
+ public float Scenario_fWPB_X; public float Scenario_fWPB_Y; public float Scenario_fWPB_Lat; public float Scenario_fWPB_Long; IntPtr Scenario_strWPB_Description; // (m, deg, string)
+ public float Scenario_fWPC_X; public float Scenario_fWPC_Y; public float Scenario_fWPC_Lat; public float Scenario_fWPC_Long; IntPtr Scenario_strWPC_Description; // (m, deg, string)
+ public float Scenario_fWPD_X; public float Scenario_fWPD_Y; public float Scenario_fWPD_Lat; public float Scenario_fWPD_Long; IntPtr Scenario_strWPD_Description; // (m, deg, string)
+
+ //---------------------
+ // Model data
+ //---------------------
+ public float Model_fPosX; public float Model_fPosY; public float Model_fPosZ; // m Model absolute position in scenario (X=Right, Y=Front, Z=Up)
+ public float Model_fVelX; public float Model_fVelY; public float Model_fVelZ; // m/s Model velocity
+ public float Model_fAngVelX; public float Model_fAngVelY; public float Model_fAngVelZ; // rad/s Model angular velocity (useful to implement gyroscopes)
+ public float Model_fAccelX; public float Model_fAccelY; public float Model_fAccelZ; // m/s/s Model acceleration (useful to implement accelerometers)
+
+ public double Model_fLatitude; public double Model_fLongitude; // deg Model Position in Lat/Long coordinates
+
+ public float Model_fHeightAboveTerrain; // m
+
+ public float Model_fHeading; // rad [-PI, PI ] 0 = North, PI/2 = East, PI = South, - PI/2 = West
+ public float Model_fPitch; // rad [-PI/2, PI/2] Positive pitch when nose up
+ public float Model_fRoll; // rad [-PI, PI ] Positive roll when right wing Up
+
+ // Wind
+ public float Model_fWindVelX; public float Model_fWindVelY; public float Model_fWindVelZ; // m/s Velocity of the wind (with gusts) at model position (useful to compute air vel)
+
+ // Engine/Motor Revs per minute
+ public float Model_fEngine1_RPM;
+ public float Model_fEngine2_RPM;
+ public float Model_fEngine3_RPM;
+ public float Model_fEngine4_RPM;
+
+ // Battery (electric models)
+ public float Model_fBatteryVoltage; // V
+ public float Model_fBatteryCurrent; // A
+ public float Model_fBatteryConsumedCharge; // Ah
+ public float Model_fBatteryCapacity; // Ah
+
+ // Fuel (gas & jet models)
+ public float Model_fFuelConsumed; // l
+ public float Model_fFuelTankCapacity; // l
+ };
+
~Simulation()
{
if (threadrun == 1)
@@ -89,11 +201,9 @@ namespace ArdupilotMega.GCSViews
public Simulation()
{
InitializeComponent();
-
- //Control.CheckForIllegalCrossThreadCalls = false; // so can update display from another thread
}
- private void ArdupilotSim_Load(object sender, EventArgs e)
+ private void Simulation_Load(object sender, EventArgs e)
{
GPSrate.SelectedIndex = 2;
@@ -169,8 +279,8 @@ namespace ArdupilotMega.GCSViews
if (XplanesSEND != null)
XplanesSEND.Close();
-// if (comPort.BaseStream.IsOpen)
-// comPort.stopall(true);
+ // if (comPort.BaseStream.IsOpen)
+ // comPort.stopall(true);
OutputLog.AppendText("Sim Link Stopped\n");
@@ -379,7 +489,7 @@ namespace ArdupilotMega.GCSViews
//System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
//System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
threadrun = 1;
- EndPoint Remote = (EndPoint)(new IPEndPoint(IPAddress.Any, 0));
+ Remote = (EndPoint)(new IPEndPoint(IPAddress.Any, 0));
DateTime lastdata = DateTime.MinValue;
@@ -449,7 +559,7 @@ namespace ArdupilotMega.GCSViews
if (hzcounttime.Second != DateTime.Now.Second)
{
-// Console.WriteLine("SIM hz {0}", hzcount);
+ // Console.WriteLine("SIM hz {0}", hzcount);
hzcount = 0;
hzcounttime = DateTime.Now;
}
@@ -476,7 +586,7 @@ namespace ArdupilotMega.GCSViews
SimulatorRECV.Bind(ipep);
- OutputLog.AppendText("Listerning on port "+recvPort+" (sim->planner)\n");
+ OutputLog.AppendText("Listerning on port " + recvPort + " (sim->planner)\n");
}
private void SetupUDPXplanes()
@@ -484,7 +594,7 @@ namespace ArdupilotMega.GCSViews
// setup sender
XplanesSEND = new UdpClient(simIP, simPort);
- OutputLog.AppendText("Sending to port "+simPort+" (planner->sim)\n");
+ OutputLog.AppendText("Sending to port " + simPort + " (planner->sim)\n");
}
private void SetupUDPMavLink()
@@ -624,14 +734,14 @@ namespace ArdupilotMega.GCSViews
att.pitchspeed = (DATA[17][0]);
att.rollspeed = (DATA[17][1]);
att.yawspeed = (DATA[17][2]);
-
+
TimeSpan timediff = DateTime.Now - oldtime;
float pdiff = (float)((att.pitch - oldatt.pitch) / timediff.TotalSeconds);
float rdiff = (float)((att.roll - oldatt.roll) / timediff.TotalSeconds);
float ydiff = (float)((att.yaw - oldatt.yaw) / timediff.TotalSeconds);
-// Console.WriteLine("{0:0.00000} {1:0.00000} {2:0.00000} \t {3:0.00000} {4:0.00000} {5:0.00000}", pdiff, rdiff, ydiff, DATA[17][0], DATA[17][1], DATA[17][2]);
+ // Console.WriteLine("{0:0.00000} {1:0.00000} {2:0.00000} \t {3:0.00000} {4:0.00000} {5:0.00000}", pdiff, rdiff, ydiff, DATA[17][0], DATA[17][1], DATA[17][2]);
oldatt = att;
@@ -724,6 +834,46 @@ namespace ArdupilotMega.GCSViews
//stream.Write(data, 0, receviedbytes);
//stream.Close();
}
+ else if (receviedbytes == 582)
+ {
+ TDataFromAeroSimRC aeroin = new TDataFromAeroSimRC();
+
+ object temp = aeroin;
+
+ MAVLink.ByteArrayToStructure(data, ref temp, 0);
+
+ aeroin = (TDataFromAeroSimRC)(temp);
+
+ att.pitch = (aeroin.Model_fPitch);
+ att.roll = (aeroin.Model_fRoll * -1);
+ att.yaw = (float)((aeroin.Model_fHeading));
+ att.pitchspeed = (aeroin.Model_fAngVelX);
+ att.rollspeed = (aeroin.Model_fAngVelY);
+ att.yawspeed = (aeroin.Model_fAngVelZ);
+
+
+ imu.usec = ((ulong)DateTime.Now.ToBinary());
+ imu.xgyro = (short)(aeroin.Model_fAngVelX * 1000); // roll - yes
+ //imu.xmag = (short)(Math.Sin(head * deg2rad) * 1000);
+ imu.ygyro = (short)(aeroin.Model_fAngVelY * 1000); // pitch - yes
+ //imu.ymag = (short)(Math.Cos(head * deg2rad) * 1000);
+ imu.zgyro = (short)(aeroin.Model_fAngVelZ * 1000);
+ //imu.zmag = 0;
+
+ imu.xacc = (Int16)(aeroin.Model_fAccelX * 1000); // pitch
+ imu.yacc = (Int16)(aeroin.Model_fAccelY * 1000); // roll
+ imu.zacc = (Int16)(aeroin.Model_fAccelZ * 1000);
+
+
+ gps.alt = ((float)(aeroin.Model_fPosZ));
+ gps.fix_type = 3;
+ gps.hdg = ((float)Math.Atan2(aeroin.Model_fVelX, aeroin.Model_fVelY) * rad2deg);
+ gps.lat = ((float)aeroin.Model_fLatitude);
+ gps.lon = ((float)aeroin.Model_fLongitude);
+ gps.usec = ((ulong)DateTime.Now.Ticks);
+ gps.v = ((float)Math.Sqrt((aeroin.Model_fVelY * aeroin.Model_fVelY) + (aeroin.Model_fVelX * aeroin.Model_fVelX)));
+
+ }
else if (receviedbytes > 0x100)
{
@@ -871,49 +1021,58 @@ namespace ArdupilotMega.GCSViews
}
}
- const int X25_INIT_CRC = 0xffff;
- const int X25_VALIDATE_CRC = 0xf0b8;
-
- ushort crc_accumulate(byte b, ushort crc)
- {
- unchecked
- {
- byte ch = (byte)(b ^ (byte)(crc & 0x00ff));
- ch = (byte)(ch ^ (ch << 4));
- return (ushort)((crc >> 8) ^ (ch << 8) ^ (ch << 3) ^ (ch >> 4));
- }
- }
-
- ushort crc_calculate(byte[] pBuffer, int length)
- {
-
- // For a "message" of length bytes contained in the unsigned char array
- // pointed to by pBuffer, calculate the CRC
- // crcCalculate(unsigned char* pBuffer, int length, unsigned short* checkConst) < not needed
-
- ushort crcTmp;
- int i;
-
- crcTmp = X25_INIT_CRC;
-
- for (i = 1; i < length; i++) // skips header U
- {
- crcTmp = crc_accumulate(pBuffer[i], crcTmp);
- //Console.WriteLine(crcTmp + " " + pBuffer[i] + " " + length);
- }
-
- return (crcTmp);
- }
-
HIL.QuadCopter quad = new HIL.QuadCopter();
+ ///
+ ///
+ ///
+ /// rads
+ /// rads
+ /// m
+ /// rads
+ /// rads
+ /// rads
+ /// rads
+ /// -1 to 1
+ /// -1 to 1
+ /// -1 to 1
+ /// 0 to 1
+ private void updateScreenDisplay(double lat,double lng,double alt,double roll,double pitch,double heading, double yaw,double roll_out,double pitch_out, double rudder_out, double throttle_out)
+ {
+ try
+ {
+ // Update Sim stuff
+ this.Invoke((MethodInvoker)delegate
+ {
+ TXT_servoroll.Text = roll_out.ToString("0.000");
+ TXT_servopitch.Text = pitch_out.ToString("0.000");
+ TXT_servorudder.Text = rudder_out.ToString("0.000");
+ TXT_servothrottle.Text = throttle_out.ToString("0.000");
+
+ TXT_lat.Text = (lat * rad2deg).ToString("0.00000");
+ TXT_long.Text = (lng * rad2deg).ToString("0.00000");
+ TXT_alt.Text = (alt).ToString("0.00");
+
+ TXT_roll.Text = (roll * rad2deg).ToString("0.000");
+ TXT_pitch.Text = (pitch * rad2deg).ToString("0.000");
+ TXT_heading.Text = (heading * rad2deg).ToString("0.000");
+ TXT_yaw.Text = (yaw * rad2deg).ToString("0.000");
+
+ TXT_wpdist.Text = MainV2.cs.wp_dist.ToString();
+ TXT_bererror.Text = MainV2.cs.ber_error.ToString();
+ TXT_alterror.Text = MainV2.cs.alt_error.ToString();
+ TXT_WP.Text = MainV2.cs.wpno.ToString();
+ TXT_control_mode.Text = MainV2.cs.mode;
+ });
+ }
+ catch { this.Invoke((MethodInvoker)delegate { OutputLog.AppendText("NO SIM data - exep\n"); }); }
+ }
+
private void processArduPilot()
{
bool heli = CHK_heli.Checked;
- // Console.WriteLine("sim "+DateTime.Now.Millisecond);
-
if (CHK_quad.Checked)
{
@@ -955,9 +1114,6 @@ namespace ArdupilotMega.GCSViews
Array.Copy(BitConverter.GetBytes((double)(quad.pitch)), 0, FlightGear, 72, 8);
Array.Copy(BitConverter.GetBytes((double)(quad.yaw)), 0, FlightGear, 80, 8);
-
- //Array.Copy(BitConverter.GetBytes(0xc465414d), 0, FlightGear, 88, 4);
-
if (RAD_softFlightGear.Checked)
{
@@ -975,42 +1131,13 @@ namespace ArdupilotMega.GCSViews
}
- //Array.Reverse(FlightGear, 88, 4);
-
- // old style
- //string send = "3," + (roll_out * REV_roll).ToString(new System.Globalization.CultureInfo("en-US")) + "," + (pitch_out * REV_pitch * -1).ToString(new System.Globalization.CultureInfo("en-US")) + "," + (rudder_out * REV_rudder).ToString(new System.Globalization.CultureInfo("en-US")) + "," + (throttle_out).ToString(new System.Globalization.CultureInfo("en-US")) + "\r\n";
-
- //FlightGear = new System.Text.ASCIIEncoding().GetBytes(send);
-
try
{
XplanesSEND.Send(FlightGear, FlightGear.Length);
}
catch (Exception) { Console.WriteLine("Socket Write failed, FG closed?"); }
- try
- {
-
- // Update Sim stuff
- this.Invoke((MethodInvoker)delegate
- {
- TXT_lat.Text = (lastfdmdata.latitude * rad2deg).ToString("0.00000");
- TXT_long.Text =(lastfdmdata.longitude * rad2deg).ToString("0.00000");
- TXT_alt.Text = (lastfdmdata.altitude * .3048).ToString("0.00");
-
- TXT_roll.Text = (lastfdmdata.phi * rad2deg).ToString("0.000");
- TXT_pitch.Text =(lastfdmdata.theta * rad2deg).ToString("0.000");
- TXT_heading.Text = (lastfdmdata.psi * rad2deg).ToString("0.000");
- TXT_yaw.Text = (lastfdmdata.psi * rad2deg).ToString("0.000");
-
- TXT_wpdist.Text = MainV2.cs.wp_dist.ToString();
- TXT_bererror.Text = MainV2.cs.ber_error.ToString();
- TXT_alterror.Text = MainV2.cs.alt_error.ToString();
- TXT_WP.Text = MainV2.cs.wpno.ToString();
- TXT_control_mode.Text = MainV2.cs.mode;
- });
- }
- catch { this.Invoke((MethodInvoker)delegate { OutputLog.AppendText("NO SIM data - exep\n"); }); }
+ updateScreenDisplay(lastfdmdata.latitude,lastfdmdata.longitude,lastfdmdata.altitude * .3048,lastfdmdata.phi,lastfdmdata.theta,lastfdmdata.psi,lastfdmdata.psi,m[0],m[1],m[2],m[3]);
return;
@@ -1027,7 +1154,7 @@ namespace ArdupilotMega.GCSViews
throttle_out = 1;
rudder_out = (float)MainV2.cs.hilch4 / -ruddergain;
- collective_out = (float)(MainV2.cs.hilch3 - 1000) / throttlegain;
+ collective_out = (float)(MainV2.cs.hilch3 - 1000) / throttlegain;
}
else
{
@@ -1087,73 +1214,41 @@ namespace ArdupilotMega.GCSViews
if (packetssent % 10 == 0) // reduce cpu usage
{
- try
+ if (RAD_softXplanes.Checked)
{
- // update APM stuff
- this.Invoke((MethodInvoker)delegate
- {
- TXT_servoroll.Text = roll_out.ToString("0.000");
- TXT_servopitch.Text = pitch_out.ToString("0.000");
- TXT_servorudder.Text = rudder_out.ToString("0.000");
- TXT_servothrottle.Text = throttle_out.ToString("0.000");
-
- TXT_wpdist.Text = MainV2.cs.wp_dist.ToString();
- TXT_bererror.Text = MainV2.cs.ber_error.ToString();
- TXT_alterror.Text = MainV2.cs.alt_error.ToString();
- TXT_WP.Text = MainV2.cs.wpno.ToString();
- TXT_control_mode.Text = MainV2.cs.mode;
- });
+ updateScreenDisplay(DATA[20][0] * deg2rad, DATA[20][1] * deg2rad, DATA[20][2] * .3048, DATA[18][1] * deg2rad, DATA[18][0] * deg2rad, DATA[19][2] * deg2rad, DATA[18][2] * deg2rad, roll_out, pitch_out, rudder_out, throttle_out);
}
- catch { this.Invoke((MethodInvoker)delegate { OutputLog.AppendText("BAD APM data\n"); }); }
- try
+
+ if (RAD_softFlightGear.Checked)
{
-
- if (DATA[20] != null)
- {
- // Update Sim stuff
- this.Invoke((MethodInvoker)delegate
- {
- TXT_lat.Text = DATA[20][0].ToString("0.00000");
- TXT_long.Text = DATA[20][1].ToString("0.00000");
- TXT_alt.Text = (DATA[20][2] * .3048).ToString("0.00");
-
- TXT_roll.Text = DATA[18][1].ToString("0.000");
- TXT_pitch.Text = DATA[18][0].ToString("0.000");
- TXT_heading.Text = DATA[19][2].ToString("0.000");
- TXT_yaw.Text = DATA[18][2].ToString("0.000");
- });
- }
- else if (RAD_softFlightGear.Checked)
- {
- TXT_lat.Text = (lastfdmdata.latitude * rad2deg).ToString("0.00000");
- TXT_long.Text = (lastfdmdata.longitude * rad2deg).ToString("0.00000");
- TXT_alt.Text = (lastfdmdata.altitude * .3048).ToString("0.00");
-
- TXT_roll.Text = (lastfdmdata.phi * rad2deg).ToString("0.000");
- TXT_pitch.Text = (lastfdmdata.theta * rad2deg).ToString("0.000");
- TXT_heading.Text = (lastfdmdata.psi * rad2deg).ToString("0.000");
- TXT_yaw.Text = (lastfdmdata.psi * rad2deg).ToString("0.000");
-
- TXT_wpdist.Text = MainV2.cs.wp_dist.ToString();
- TXT_bererror.Text = MainV2.cs.ber_error.ToString();
- TXT_alterror.Text = MainV2.cs.alt_error.ToString();
- TXT_WP.Text = MainV2.cs.wpno.ToString();
- TXT_control_mode.Text = MainV2.cs.mode;
- }
- else
- {
- this.Invoke((MethodInvoker)delegate { OutputLog.AppendText(DateTime.Now.ToString("hh:mm:ss") + " NO SIM data - 20\n"); });
- }
+ updateScreenDisplay(lastfdmdata.latitude, lastfdmdata.longitude, lastfdmdata.altitude * .3048, lastfdmdata.phi, lastfdmdata.theta, lastfdmdata.psi, lastfdmdata.psi, roll_out, pitch_out, rudder_out, throttle_out);
}
- catch { this.Invoke((MethodInvoker)delegate { OutputLog.AppendText("NO SIM data - exep\n"); }); }
}
}
catch (Exception e) { Console.WriteLine("Error updateing screen stuff " + e.ToString()); }
- // Flightgear
packetssent++;
+ if (RAD_aerosimrc.Checked)
+ {
+ //AeroSimRC
+ byte[] AeroSimRC = new byte[4 * 8];// StructureToByteArray(fg);
+
+ Array.Copy(BitConverter.GetBytes((double)(roll_out * REV_roll)), 0, AeroSimRC, 0, 8);
+ Array.Copy(BitConverter.GetBytes((double)(pitch_out * REV_pitch * -1)), 0, AeroSimRC, 8, 8);
+ Array.Copy(BitConverter.GetBytes((double)(rudder_out * REV_rudder)), 0, AeroSimRC, 16, 8);
+ Array.Copy(BitConverter.GetBytes((double)(throttle_out)), 0, AeroSimRC, 24, 8);
+
+ try
+ {
+ SimulatorRECV.SendTo(AeroSimRC, Remote);
+ }
+ catch { }
+ }
+
+ // Flightgear
+
if (RAD_softFlightGear.Checked)
{
//if (packetssent % 2 == 0) { return; } // short supply buffer.. seems to reduce lag
@@ -1170,11 +1265,6 @@ namespace ArdupilotMega.GCSViews
Array.Reverse(FlightGear, 16, 8);
Array.Reverse(FlightGear, 24, 8);
- // old style
- //string send = "3," + (roll_out * REV_roll).ToString(new System.Globalization.CultureInfo("en-US")) + "," + (pitch_out * REV_pitch * -1).ToString(new System.Globalization.CultureInfo("en-US")) + "," + (rudder_out * REV_rudder).ToString(new System.Globalization.CultureInfo("en-US")) + "," + (throttle_out).ToString(new System.Globalization.CultureInfo("en-US")) + "\r\n";
-
- //FlightGear = new System.Text.ASCIIEncoding().GetBytes(send);
-
try
{
XplanesSEND.Send(FlightGear, FlightGear.Length);
@@ -1267,6 +1357,7 @@ namespace ArdupilotMega.GCSViews
if (RAD_softXplanes.Checked && RAD_softFlightGear.Checked)
{
RAD_softFlightGear.Checked = false;
+ RAD_aerosimrc.Checked = false;
}
}
@@ -1275,6 +1366,7 @@ namespace ArdupilotMega.GCSViews
if (RAD_softFlightGear.Checked && RAD_softXplanes.Checked)
{
RAD_softXplanes.Checked = false;
+ RAD_aerosimrc.Checked = false;
}
}
@@ -1381,8 +1473,8 @@ namespace ArdupilotMega.GCSViews
myPane.XAxis.Scale.Max = 5;
// Make the Y axis scale red
- myPane.YAxis.Scale.FontSpec.FontColor = Color.Red;
- myPane.YAxis.Title.FontSpec.FontColor = Color.Red;
+ //myPane.YAxis.Scale.FontSpec.FontColor = Color.Red;
+ //myPane.YAxis.Title.FontSpec.FontColor = Color.Red;
// turn off the opposite tics so the Y tics don't show up on the Y2 axis
myPane.YAxis.MajorTic.IsOpposite = false;
myPane.YAxis.MinorTic.IsOpposite = false;
@@ -1395,7 +1487,7 @@ namespace ArdupilotMega.GCSViews
//myPane.YAxis.Scale.Max = 1;
// Fill the axis background with a gradient
- myPane.Chart.Fill = new Fill(Color.White, Color.LightGray, 45.0f);
+ //myPane.Chart.Fill = new Fill(Color.White, Color.LightGray, 45.0f);
// Sample at 50ms intervals
timer1.Interval = 50;
@@ -1605,6 +1697,16 @@ namespace ArdupilotMega.GCSViews
ofd.InitialDirectory = @"C:\Program Files\FlightGear\bin\Win32\";
extra = " --fg-root=\"C:\\Program Files\\FlightGear\\data\"";
}
+ else if (File.Exists(@"C:\Program Files\FlightGear 2.4.0\bin\Win32\fgfs.exe"))
+ {
+ ofd.InitialDirectory = @"C:\Program Files\FlightGear 2.4.0\bin\Win32\";
+ extra = " --fg-root=\"C:\\Program Files\\FlightGear 2.4.0\\data\"";
+ }
+ else if (File.Exists(@"C:\Program Files (x86)\FlightGear 2.4.0\bin\Win32\fgfs.exe"))
+ {
+ ofd.InitialDirectory = @"C:\Program Files (x86)\FlightGear 2.4.0\bin\Win32\";
+ extra = " --fg-root=\"C:\\Program Files (x86)\\FlightGear 2.4.0\\data\"";
+ }
else if (File.Exists(@"/usr/games/fgfs"))
{
ofd.InitialDirectory = @"/usr/games";
@@ -1721,5 +1823,14 @@ namespace ArdupilotMega.GCSViews
CHKgraphthrottle.Visible = false;
}
}
+
+ private void RAD_aerosimrc_CheckedChanged(object sender, EventArgs e)
+ {
+ if (RAD_aerosimrc.Checked && RAD_softXplanes.Checked)
+ {
+ RAD_softXplanes.Checked = false;
+ RAD_softFlightGear.Checked = false;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.resx
index 6bd2f521c2..5d542ad283 100644
--- a/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.resx
+++ b/Tools/ArdupilotMegaPlanner/GCSViews/Simulation.resx
@@ -144,7 +144,7 @@
$this
- 28
+ 29
True
@@ -171,7 +171,7 @@
$this
- 27
+ 28
True
@@ -198,7 +198,7 @@
$this
- 26
+ 27
100
@@ -243,7 +243,7 @@
$this
- 25
+ 26
26, 13
@@ -294,7 +294,7 @@
$this
- 24
+ 25
67, 22
@@ -489,7 +489,7 @@
6
- 566, 280
+ 566, 330
64, 34
@@ -510,7 +510,7 @@
$this
- 23
+ 24
True
@@ -527,6 +527,12 @@
X-plane
+
+ 301, 17
+
+
+ Can Do Plane/Quad with plugin
+
RAD_softXplanes
@@ -537,7 +543,7 @@
$this
- 22
+ 23
True
@@ -554,6 +560,9 @@
FlightGear
+
+ Can do Plane and Quad with model
+
RAD_softFlightGear
@@ -564,7 +573,7 @@
$this
- 21
+ 22
67, 24
@@ -765,7 +774,7 @@
$this
- 20
+ 21
7, 100
@@ -927,7 +936,7 @@
$this
- 19
+ 20
7, 27
@@ -1140,7 +1149,7 @@
$this
- 18
+ 19
72, 104
@@ -1275,7 +1284,7 @@
$this
- 17
+ 18
535, 9
@@ -1299,7 +1308,7 @@
$this
- 16
+ 17
13, 5
@@ -1320,7 +1329,7 @@
$this
- 15
+ 16
@@ -1345,7 +1354,7 @@
$this
- 14
+ 15
17, 17
@@ -1657,7 +1666,7 @@
$this
- 13
+ 14
508, 330
@@ -1681,13 +1690,13 @@
$this
- 12
+ 13
True
- 345, 41
+ 456, 41
74, 17
@@ -1708,7 +1717,7 @@
$this
- 11
+ 12
Bottom, Left
@@ -1738,7 +1747,7 @@
$this
- 10
+ 11
Bottom, Left
@@ -1768,7 +1777,7 @@
$this
- 9
+ 10
Bottom, Left
@@ -1798,7 +1807,7 @@
$this
- 8
+ 9
Bottom, Left
@@ -1828,7 +1837,7 @@
$this
- 7
+ 8
566, 368
@@ -1852,13 +1861,13 @@
$this
- 6
+ 7
True
- 566, 317
+ 566, 186
59, 17
@@ -1879,7 +1888,7 @@
$this
- 5
+ 6
True
@@ -1888,7 +1897,7 @@
NoControl
- 566, 334
+ 566, 203
52, 17
@@ -1909,7 +1918,7 @@
$this
- 4
+ 5
NoControl
@@ -1936,7 +1945,7 @@
$this
- 3
+ 4
NoControl
@@ -1963,7 +1972,7 @@
$this
- 2
+ 3
NoControl
@@ -1990,7 +1999,7 @@
$this
- 1
+ 2
True
@@ -1999,7 +2008,7 @@
NoControl
- 566, 350
+ 566, 219
44, 17
@@ -2020,6 +2029,39 @@
$this
+ 1
+
+
+ True
+
+
+ NoControl
+
+
+ 345, 40
+
+
+ 79, 17
+
+
+ 48
+
+
+ AeroSimRC
+
+
+ Can do Plane/Heli/Quads
+
+
+ RAD_aerosimrc
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
0
@@ -2043,6 +2085,12 @@
System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ toolTip1
+
+
+ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
Simulation
diff --git a/Tools/ArdupilotMegaPlanner/Log.cs b/Tools/ArdupilotMegaPlanner/Log.cs
index 89695473ec..01628a95ea 100644
--- a/Tools/ArdupilotMegaPlanner/Log.cs
+++ b/Tools/ArdupilotMegaPlanner/Log.cs
@@ -197,6 +197,8 @@ namespace ArdupilotMega
sw.Close();
TextReader tr = new StreamReader(logfile);
+ MainV2.cs.firmware = MainV2.Firmwares.ArduPlane;
+
while (tr.Peek() != -1)
{
processLine(tr.ReadLine());
@@ -322,7 +324,7 @@ namespace ArdupilotMega
lastpos = (position[positionindex][position[positionindex].Count - 1]);
lastline = line;
}
- if (items[0].Contains("GPS") && items[4] != "0" && items[4] != "-1")
+ if (items[0].Contains("GPS") && items[4] != "0" && items[4] != "-1" && items.Length <= 9)
{
if (position[positionindex] == null)
position[positionindex] = new List();
@@ -710,6 +712,8 @@ namespace ArdupilotMega
TextReader tr = new StreamReader(logfile);
+ MainV2.cs.firmware = MainV2.Firmwares.ArduPlane;
+
while (tr.Peek() != -1)
{
processLine(tr.ReadLine());
@@ -783,6 +787,8 @@ namespace ArdupilotMega
{
TextReader tr = new StreamReader(logfile);
+ MainV2.cs.firmware = MainV2.Firmwares.ArduPlane;
+
while (tr.Peek() != -1)
{
processLine(tr.ReadLine());
diff --git a/Tools/ArdupilotMegaPlanner/MainV2.cs b/Tools/ArdupilotMegaPlanner/MainV2.cs
index 8d3b7f8006..6748426041 100644
--- a/Tools/ArdupilotMegaPlanner/MainV2.cs
+++ b/Tools/ArdupilotMegaPlanner/MainV2.cs
@@ -80,7 +80,7 @@ namespace ArdupilotMega
georefimage temp = new georefimage();
- //temp.dowork(141);
+ //temp.dowork(244 + 60*60*24 * -1 );
//return;
diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs
index f908130f35..6839ce1bad 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.0.79")]
+[assembly: AssemblyFileVersion("1.0.80")]
[assembly: NeutralResourcesLanguageAttribute("")]
diff --git a/Tools/ArdupilotMegaPlanner/Properties/Resources.zh-Hans.resx b/Tools/ArdupilotMegaPlanner/Properties/Resources.zh-Hans.resx
new file mode 100644
index 0000000000..cf738fb350
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/Properties/Resources.zh-Hans.resx
@@ -0,0 +1,1210 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ ..\Resources\down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\bg.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\configuration.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\data.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\firmware.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\planner.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\simulation.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\connect.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\disconnect.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\terminal.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\APM_airframes_001.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\APM_airframes_002.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\APM_airframes-07.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\APM_airframes-08.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\frames-03.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\frames-04.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\frames-05.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\frames-06.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\frames-07.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\frames-08.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\planetracker.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+
+
+ 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
+
+
+
+ ..\Resources\BR-0004-03-2.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\09028-01.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\BR-HMC5883-01-2.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\AC-0004-11-2.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\quad.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\plane2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\quad2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\new frames-09.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/Resources/frames_color.rar b/Tools/ArdupilotMegaPlanner/Resources/frames_color.rar
new file mode 100644
index 0000000000..860c77dd23
Binary files /dev/null and b/Tools/ArdupilotMegaPlanner/Resources/frames_color.rar differ
diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/.gitignore b/Tools/ArdupilotMegaPlanner/bin/Release/.gitignore
index 022a200f68..5c9527f437 100644
--- a/Tools/ArdupilotMegaPlanner/bin/Release/.gitignore
+++ b/Tools/ArdupilotMegaPlanner/bin/Release/.gitignore
@@ -1,3 +1,4 @@
*.pdb
-*.xml
\ No newline at end of file
+*.xml
+*.etag
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.application b/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.application
new file mode 100644
index 0000000000..17a69fd7ac
--- /dev/null
+++ b/Tools/ArdupilotMegaPlanner/bin/Release/ArdupilotMegaPlanner.application
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ KL2GgPg3v0nfw+58LySJfeIHyEM=
+
+
+
+
\ No newline at end of file
diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Configuration.resx b/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Configuration.resx
index 7cd7b972d8..88fc8b5e1f 100644
--- a/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Configuration.resx
+++ b/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Configuration.resx
@@ -166,13 +166,16 @@
- 3, 3
+ 4, 4
+
+
+ 4, 4, 4, 4
150
- 269, 409
+ 359, 503
58
@@ -193,10 +196,13 @@
Top, Bottom, Left, Right
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -217,10 +223,13 @@
NoControl
- 6, 86
+ 8, 106
+
+
+ 4, 0, 4, 0
- 50, 13
+ 67, 16
12
@@ -241,10 +250,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
9
@@ -265,10 +277,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 27, 13
+ 36, 16
13
@@ -289,10 +304,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -313,10 +331,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 24, 13
+ 32, 16
14
@@ -337,10 +358,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -361,10 +385,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 36, 13
+ 48, 16
15
@@ -385,10 +412,16 @@
7
- 405, 217
+ 540, 267
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
0
@@ -409,10 +442,13 @@
0
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
0
@@ -433,10 +469,13 @@
NoControl
- 6, 87
+ 8, 107
+
+
+ 4, 0, 4, 0
- 32, 13
+ 43, 16
1
@@ -457,10 +496,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
2
@@ -481,10 +523,13 @@
NoControl
- 6, 59
+ 8, 73
+
+
+ 4, 0, 4, 0
- 53, 13
+ 71, 16
3
@@ -505,10 +550,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
4
@@ -529,10 +577,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 50, 13
+ 67, 16
5
@@ -553,10 +604,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -577,10 +631,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 64, 13
+ 85, 16
6
@@ -601,10 +658,16 @@
7
- 406, 325
+ 541, 400
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
1
@@ -625,10 +688,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
9
@@ -649,10 +715,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 51, 13
+ 68, 16
10
@@ -673,10 +742,13 @@
1
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -697,10 +769,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
11
@@ -721,10 +796,13 @@
3
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -745,10 +823,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 55, 13
+ 73, 16
12
@@ -769,10 +850,16 @@
5
- 205, 325
+ 273, 400
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
2
@@ -793,10 +880,13 @@
2
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -817,10 +907,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 61, 13
+ 81, 16
8
@@ -841,10 +934,13 @@
1
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -865,10 +961,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 52, 13
+ 69, 16
9
@@ -889,10 +988,16 @@
3
- 4, 325
+ 5, 400
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
3
@@ -913,10 +1018,13 @@
3
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
13
@@ -937,10 +1045,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 36, 13
+ 48, 16
14
@@ -961,10 +1072,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
9
@@ -985,10 +1099,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 61, 13
+ 81, 16
15
@@ -1009,10 +1126,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -1033,10 +1153,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 61, 13
+ 81, 16
16
@@ -1057,10 +1180,16 @@
5
- 205, 217
+ 273, 267
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
4
@@ -1081,10 +1210,13 @@
4
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -1105,10 +1237,13 @@
NoControl
- 6, 86
+ 8, 106
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
12
@@ -1129,10 +1264,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
9
@@ -1153,10 +1291,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 15, 13
+ 20, 16
13
@@ -1177,10 +1318,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -1201,10 +1345,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -1225,10 +1372,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -1249,10 +1399,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -1273,10 +1426,16 @@
7
- 4, 217
+ 5, 267
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
5
@@ -1297,10 +1456,13 @@
5
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
0
@@ -1321,10 +1483,13 @@
NoControl
- 6, 86
+ 8, 106
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
1
@@ -1345,10 +1510,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
2
@@ -1369,10 +1537,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 15, 13
+ 20, 16
3
@@ -1393,10 +1564,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
4
@@ -1417,10 +1591,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
5
@@ -1441,10 +1618,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
6
@@ -1465,10 +1645,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
7
@@ -1489,10 +1672,16 @@
7
- 406, 109
+ 541, 134
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
6
@@ -1513,10 +1702,13 @@
6
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
0
@@ -1537,10 +1729,13 @@
NoControl
- 6, 86
+ 8, 106
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
1
@@ -1561,10 +1756,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
2
@@ -1585,10 +1783,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 15, 13
+ 20, 16
3
@@ -1609,10 +1810,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
4
@@ -1633,10 +1837,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
5
@@ -1657,10 +1864,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
6
@@ -1681,10 +1891,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
7
@@ -1705,10 +1918,16 @@
7
- 205, 109
+ 273, 134
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
7
@@ -1729,10 +1948,13 @@
7
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -1753,10 +1975,13 @@
NoControl
- 6, 86
+ 8, 106
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
12
@@ -1777,10 +2002,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
9
@@ -1801,10 +2029,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 15, 13
+ 20, 16
13
@@ -1825,10 +2056,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -1849,10 +2083,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -1873,10 +2110,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -1897,10 +2137,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -1921,10 +2164,16 @@
7
- 4, 109
+ 5, 134
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
8
@@ -1945,10 +2194,13 @@
8
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -1969,10 +2221,13 @@
NoControl
- 6, 86
+ 8, 106
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
12
@@ -1993,10 +2248,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
9
@@ -2017,10 +2275,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 15, 13
+ 20, 16
13
@@ -2041,10 +2302,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -2065,10 +2329,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -2089,10 +2356,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -2113,10 +2383,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -2137,10 +2410,16 @@
7
- 406, 1
+ 541, 1
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
9
@@ -2161,10 +2440,13 @@
9
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -2185,10 +2467,13 @@
NoControl
- 6, 86
+ 8, 106
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
12
@@ -2209,10 +2494,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
9
@@ -2233,10 +2521,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 15, 13
+ 20, 16
13
@@ -2257,10 +2548,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -2281,10 +2575,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -2305,10 +2602,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -2329,10 +2629,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -2353,10 +2656,16 @@
7
- 205, 1
+ 273, 1
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
10
@@ -2377,10 +2686,13 @@
10
- 111, 82
+ 148, 101
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -2401,10 +2713,13 @@
NoControl
- 6, 86
+ 8, 106
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
12
@@ -2425,10 +2740,13 @@
1
- 111, 59
+ 148, 73
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
9
@@ -2449,10 +2767,13 @@
NoControl
- 6, 63
+ 8, 78
+
+
+ 4, 0, 4, 0
- 15, 13
+ 20, 16
13
@@ -2473,10 +2794,13 @@
3
- 111, 36
+ 148, 44
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -2497,10 +2821,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -2521,10 +2848,13 @@
5
- 111, 13
+ 148, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -2545,10 +2875,13 @@
NoControl
- 6, 17
+ 8, 21
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -2569,10 +2902,16 @@
7
- 4, 1
+ 5, 1
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 195, 108
+ 260, 133
11
@@ -2599,7 +2938,7 @@
0, 0, 0, 0
- 722, 434
+ 965, 540
0
@@ -2619,38 +2958,20 @@
0
-
- 80, 63
-
-
- 78, 20
-
-
- 11
-
-
- THR_RATE_IMAX
-
-
- System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox5
-
-
- 0
-
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
- 12
+ 16
IMAX
@@ -2665,13 +2986,40 @@
groupBox5
+ 0
+
+
+ 107, 78
+
+
+ 4, 4, 4, 4
+
+
+ 104, 22
+
+
+ 11
+
+
+ THR_RATE_IMAX
+
+
+ System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox5
+
+
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -2692,10 +3040,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -2716,10 +3067,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -2740,10 +3094,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -2764,10 +3121,16 @@
5
- 6, 237
+ 8, 292
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 110
+ 227, 135
16
@@ -2791,10 +3154,13 @@
True
- 3, 198
+ 4, 244
+
+
+ 4, 4, 4, 4
- 154, 17
+ 198, 21
13
@@ -2815,10 +3181,13 @@
1
- 80, 86
+ 107, 106
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
16
@@ -2839,10 +3208,13 @@
NoControl
- 6, 89
+ 8, 110
+
+
+ 4, 0, 4, 0
- 54, 13
+ 72, 16
17
@@ -2863,10 +3235,13 @@
1
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -2887,10 +3262,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
12
@@ -2911,10 +3289,13 @@
3
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -2935,10 +3316,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -2959,10 +3343,13 @@
5
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -2983,10 +3370,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -3007,10 +3397,16 @@
7
- 534, 107
+ 712, 132
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 108
+ 227, 133
0
@@ -3031,10 +3427,13 @@
2
- 80, 86
+ 107, 106
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
18
@@ -3055,10 +3454,13 @@
NoControl
- 6, 89
+ 8, 110
+
+
+ 4, 0, 4, 0
- 82, 13
+ 109, 16
19
@@ -3079,10 +3481,13 @@
1
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -3103,10 +3508,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
12
@@ -3127,10 +3535,13 @@
3
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -3151,10 +3562,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -3175,10 +3589,13 @@
5
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -3199,10 +3616,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -3223,10 +3643,16 @@
7
- 358, 237
+ 477, 292
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 110
+ 227, 135
2
@@ -3247,10 +3673,13 @@
3
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -3271,10 +3700,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
12
@@ -3295,10 +3727,13 @@
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -3319,10 +3754,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -3343,10 +3781,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -3367,10 +3808,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -3391,10 +3835,16 @@
5
- 182, 237
+ 243, 292
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 110
+ 227, 135
3
@@ -3415,10 +3865,13 @@
4
- 80, 61
+ 107, 75
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -3439,10 +3892,13 @@
NoControl
- 6, 64
+ 8, 79
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
12
@@ -3463,10 +3919,13 @@
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -3487,10 +3946,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -3511,10 +3973,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -3535,10 +4000,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -3559,10 +4027,16 @@
5
- 531, 6
+ 708, 7
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 95
+ 227, 117
6
@@ -3583,10 +4057,13 @@
5
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -3607,10 +4084,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
12
@@ -3631,10 +4111,13 @@
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -3655,10 +4138,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -3679,10 +4165,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -3703,10 +4192,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -3727,10 +4219,16 @@
5
- 358, 6
+ 477, 7
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 95
+ 227, 117
7
@@ -3751,10 +4249,13 @@
6
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -3775,10 +4276,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
12
@@ -3799,10 +4303,13 @@
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -3823,10 +4330,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -3847,10 +4357,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -3871,10 +4384,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -3895,10 +4411,16 @@
5
- 182, 6
+ 243, 7
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 95
+ 227, 117
8
@@ -3919,10 +4441,13 @@
7
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
11
@@ -3943,10 +4468,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
12
@@ -3967,10 +4495,13 @@
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
7
@@ -3991,10 +4522,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
14
@@ -4015,10 +4549,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
5
@@ -4039,10 +4576,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
15
@@ -4063,10 +4603,16 @@
5
- 6, 6
+ 8, 7
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 95
+ 227, 117
9
@@ -4087,10 +4633,13 @@
8
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
0
@@ -4111,10 +4660,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
1
@@ -4135,10 +4687,13 @@
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
4
@@ -4159,10 +4714,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
5
@@ -4183,10 +4741,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
6
@@ -4207,10 +4768,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
7
@@ -4231,10 +4795,16 @@
5
- 358, 107
+ 477, 132
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 91
+ 227, 112
10
@@ -4255,10 +4825,13 @@
9
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
0
@@ -4279,10 +4852,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
1
@@ -4303,10 +4879,13 @@
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
4
@@ -4327,10 +4906,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
5
@@ -4351,10 +4933,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
6
@@ -4375,10 +4960,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
7
@@ -4399,10 +4987,16 @@
5
- 182, 107
+ 243, 132
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 91
+ 227, 112
11
@@ -4423,10 +5017,13 @@
10
- 80, 63
+ 107, 78
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
0
@@ -4447,10 +5044,13 @@
NoControl
- 6, 66
+ 8, 81
+
+
+ 4, 0, 4, 0
- 68, 13
+ 91, 16
1
@@ -4471,10 +5071,13 @@
1
- 80, 37
+ 107, 46
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
4
@@ -4495,10 +5098,13 @@
NoControl
- 6, 40
+ 8, 49
+
+
+ 4, 0, 4, 0
- 10, 13
+ 13, 16
5
@@ -4519,10 +5125,13 @@
3
- 80, 13
+ 107, 16
+
+
+ 4, 4, 4, 4
- 78, 20
+ 104, 22
6
@@ -4543,10 +5152,13 @@
NoControl
- 6, 16
+ 8, 20
+
+
+ 4, 0, 4, 0
- 14, 13
+ 19, 16
7
@@ -4567,10 +5179,16 @@
5
- 6, 107
+ 8, 132
+
+
+ 4, 4, 4, 4
+
+
+ 4, 4, 4, 4
- 170, 91
+ 227, 112
12
@@ -4593,11 +5211,14 @@
4, 22
+
+ 4, 4, 4, 4
+
- 3, 3, 3, 3
+ 4, 4, 4, 4
- 722, 434
+ 965, 540
1
@@ -4617,14 +5238,71 @@
1
+
+ NoControl
+
+
+ 40, 61
+
+
+ 4, 0, 4, 0
+
+
+ 133, 28
+
+
+ 41
+
+
+ Video Format
+
+
+ label26
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ TabPlanner
+
+
+ 0
+
+
+ 185, 58
+
+
+ 4, 4, 4, 4
+
+
+ 543, 24
+
+
+ 0
+
+
+ CMB_videoresolutions
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ TabPlanner
+
+
+ 1
+
NoControl
- 30, 300
+ 40, 419
+
+
+ 4, 0, 4, 0
- 61, 13
+ 81, 16
39
@@ -4642,16 +5320,19 @@
TabPlanner
- 0
+ 2
NoControl
- 139, 299
+ 185, 418
+
+
+ 4, 4, 4, 4
- 177, 17
+ 236, 21
40
@@ -4676,16 +5357,19 @@ GDI+ = Enabled
TabPlanner
- 1
+ 3
NoControl
- 30, 277
+ 40, 391
+
+
+ 4, 0, 4, 0
- 61, 13
+ 81, 16
37
@@ -4703,16 +5387,19 @@ GDI+ = Enabled
TabPlanner
- 2
+ 4
NoControl
- 139, 276
+ 185, 390
+
+
+ 4, 4, 4, 4
- 177, 17
+ 236, 21
38
@@ -4730,16 +5417,19 @@ GDI+ = Enabled
TabPlanner
- 3
+ 5
NoControl
- 30, 252
+ 40, 360
+
+
+ 4, 0, 4, 0
- 103, 18
+ 137, 22
36
@@ -4757,13 +5447,16 @@ GDI+ = Enabled
TabPlanner
- 4
+ 6
- 139, 250
+ 185, 358
+
+
+ 4, 4, 4, 4
- 67, 20
+ 89, 22
35
@@ -4781,16 +5474,19 @@ GDI+ = Enabled
TabPlanner
- 5
+ 7
NoControl
- 579, 67
+ 772, 132
+
+
+ 4, 4, 4, 4
- 102, 17
+ 136, 21
34
@@ -4808,16 +5504,19 @@ GDI+ = Enabled
TabPlanner
- 6
+ 8
NoControl
- 30, 228
+ 40, 331
+
+
+ 4, 0, 4, 0
- 61, 13
+ 81, 16
0
@@ -4835,16 +5534,19 @@ GDI+ = Enabled
TabPlanner
- 7
+ 9
NoControl
- 139, 227
+ 185, 329
+
+
+ 4, 4, 4, 4
- 163, 17
+ 217, 21
1
@@ -4862,7 +5564,7 @@ GDI+ = Enabled
TabPlanner
- 8
+ 10
Bottom, Left
@@ -4871,10 +5573,13 @@ GDI+ = Enabled
NoControl
- 33, 411
+ 44, 506
+
+
+ 4, 4, 4, 4
- 144, 17
+ 192, 21
2
@@ -4892,16 +5597,19 @@ GDI+ = Enabled
TabPlanner
- 9
+ 11
NoControl
- 590, 203
+ 787, 300
+
+
+ 4, 0, 4, 0
- 22, 13
+ 29, 16
3
@@ -4919,7 +5627,7 @@ GDI+ = Enabled
TabPlanner
- 10
+ 12
0
@@ -4934,10 +5642,13 @@ GDI+ = Enabled
10
- 621, 200
+ 828, 296
+
+
+ 4, 4, 4, 4
- 80, 21
+ 105, 24
4
@@ -4952,16 +5663,19 @@ GDI+ = Enabled
TabPlanner
- 11
+ 13
NoControl
- 425, 203
+ 567, 300
+
+
+ 4, 0, 4, 0
- 69, 13
+ 92, 16
5
@@ -4979,16 +5693,19 @@ GDI+ = Enabled
TabPlanner
- 12
+ 14
NoControl
- 280, 203
+ 373, 300
+
+
+ 4, 0, 4, 0
- 44, 13
+ 59, 16
6
@@ -5006,16 +5723,19 @@ GDI+ = Enabled
TabPlanner
- 13
+ 15
NoControl
- 136, 203
+ 181, 300
+
+
+ 4, 0, 4, 0
- 43, 13
+ 57, 16
7
@@ -5033,16 +5753,19 @@ GDI+ = Enabled
TabPlanner
- 14
+ 16
NoControl
- 27, 203
+ 36, 300
+
+
+ 4, 0, 4, 0
- 84, 13
+ 112, 16
8
@@ -5060,7 +5783,7 @@ GDI+ = Enabled
TabPlanner
- 15
+ 17
0
@@ -5075,10 +5798,13 @@ GDI+ = Enabled
10
- 499, 200
+ 665, 296
+
+
+ 4, 4, 4, 4
- 80, 21
+ 105, 24
9
@@ -5093,7 +5819,7 @@ GDI+ = Enabled
TabPlanner
- 16
+ 18
0
@@ -5108,10 +5834,13 @@ GDI+ = Enabled
10
- 334, 200
+ 445, 296
+
+
+ 4, 4, 4, 4
- 80, 21
+ 105, 24
10
@@ -5126,7 +5855,7 @@ GDI+ = Enabled
TabPlanner
- 17
+ 19
0
@@ -5141,10 +5870,13 @@ GDI+ = Enabled
10
- 188, 200
+ 251, 296
+
+
+ 4, 4, 4, 4
- 80, 21
+ 105, 24
11
@@ -5159,16 +5891,19 @@ GDI+ = Enabled
TabPlanner
- 18
+ 20
NoControl
- 283, 168
+ 377, 257
+
+
+ 4, 0, 4, 0
- 402, 13
+ 536, 16
12
@@ -5187,16 +5922,19 @@ GDI+ = Enabled
TabPlanner
- 19
+ 21
NoControl
- 30, 176
+ 40, 267
+
+
+ 4, 0, 4, 0
- 65, 13
+ 87, 16
13
@@ -5214,16 +5952,19 @@ GDI+ = Enabled
TabPlanner
- 20
+ 22
NoControl
- 30, 149
+ 40, 233
+
+
+ 4, 0, 4, 0
- 52, 13
+ 69, 16
14
@@ -5241,13 +5982,16 @@ GDI+ = Enabled
TabPlanner
- 21
+ 23
- 139, 173
+ 185, 263
+
+
+ 4, 4, 4, 4
- 138, 21
+ 183, 24
15
@@ -5262,13 +6006,16 @@ GDI+ = Enabled
TabPlanner
- 22
+ 24
- 139, 146
+ 185, 230
+
+
+ 4, 4, 4, 4
- 138, 21
+ 183, 24
16
@@ -5283,16 +6030,19 @@ GDI+ = Enabled
TabPlanner
- 23
+ 25
NoControl
- 30, 122
+ 40, 200
+
+
+ 4, 0, 4, 0
- 45, 13
+ 60, 16
17
@@ -5310,16 +6060,19 @@ GDI+ = Enabled
TabPlanner
- 24
+ 26
NoControl
- 30, 71
+ 40, 137
+
+
+ 4, 0, 4, 0
- 44, 13
+ 59, 16
18
@@ -5337,16 +6090,19 @@ GDI+ = Enabled
TabPlanner
- 25
+ 27
NoControl
- 471, 67
+ 628, 132
+
+
+ 4, 4, 4, 4
- 102, 17
+ 136, 21
19
@@ -5364,16 +6120,19 @@ GDI+ = Enabled
TabPlanner
- 26
+ 28
NoControl
- 378, 67
+ 504, 132
+
+
+ 4, 4, 4, 4
- 87, 17
+ 116, 21
20
@@ -5391,16 +6150,19 @@ GDI+ = Enabled
TabPlanner
- 27
+ 29
NoControl
- 322, 67
+ 429, 132
+
+
+ 4, 4, 4, 4
- 56, 17
+ 75, 21
21
@@ -5418,16 +6180,19 @@ GDI+ = Enabled
TabPlanner
- 28
+ 30
NoControl
- 245, 67
+ 327, 132
+
+
+ 4, 4, 4, 4
- 71, 17
+ 95, 21
22
@@ -5445,16 +6210,19 @@ GDI+ = Enabled
TabPlanner
- 29
+ 31
NoControl
- 30, 47
+ 40, 102
+
+
+ 4, 0, 4, 0
- 57, 13
+ 76, 16
23
@@ -5472,13 +6240,16 @@ GDI+ = Enabled
TabPlanner
- 30
+ 32
- 139, 40
+ 185, 99
+
+
+ 4, 4, 4, 4
- 138, 21
+ 183, 23
24
@@ -5493,13 +6264,16 @@ GDI+ = Enabled
TabPlanner
- 31
+ 33
- 139, 90
+ 185, 161
+
+
+ 4, 4, 4, 4
- 138, 21
+ 183, 24
25
@@ -5514,16 +6288,19 @@ GDI+ = Enabled
TabPlanner
- 32
+ 34
NoControl
- 30, 94
+ 40, 166
+
+
+ 4, 0, 4, 0
- 69, 13
+ 92, 16
26
@@ -5541,16 +6318,19 @@ GDI+ = Enabled
TabPlanner
- 33
+ 35
NoControl
- 139, 67
+ 185, 132
+
+
+ 4, 4, 4, 4
- 99, 17
+ 132, 21
27
@@ -5568,16 +6348,19 @@ GDI+ = Enabled
TabPlanner
- 34
+ 36
NoControl
- 552, 15
+ 736, 18
+
+
+ 4, 4, 4, 4
- 125, 17
+ 167, 21
28
@@ -5595,16 +6378,19 @@ GDI+ = Enabled
TabPlanner
- 35
+ 37
NoControl
- 30, 16
+ 40, 20
+
+
+ 4, 0, 4, 0
- 100, 23
+ 133, 28
29
@@ -5622,13 +6408,16 @@ GDI+ = Enabled
TabPlanner
- 36
+ 38
- 139, 13
+ 185, 16
+
+
+ 4, 4, 4, 4
- 245, 21
+ 325, 24
30
@@ -5643,16 +6432,19 @@ GDI+ = Enabled
TabPlanner
- 37
+ 39
NoControl
- 139, 117
+ 185, 194
+
+
+ 4, 4, 4, 4
- 99, 23
+ 132, 28
31
@@ -5664,22 +6456,25 @@ GDI+ = Enabled
BUT_Joystick
- ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
TabPlanner
- 38
+ 40
NoControl
- 471, 11
+ 628, 14
+
+
+ 4, 4, 4, 4
- 75, 23
+ 100, 28
32
@@ -5691,22 +6486,25 @@ GDI+ = Enabled
BUT_videostop
- ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
TabPlanner
- 39
+ 41
NoControl
- 390, 11
+ 520, 14
+
+
+ 4, 4, 4, 4
- 75, 23
+ 100, 28
33
@@ -5718,22 +6516,25 @@ GDI+ = Enabled
BUT_videostart
- ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
TabPlanner
- 40
+ 42
4, 22
+
+ 4, 4, 4, 4
+
- 3, 3, 3, 3
+ 4, 4, 4, 4
- 722, 434
+ 965, 540
2
@@ -5756,8 +6557,11 @@ GDI+ = Enabled
4, 22
+
+ 4, 4, 4, 4
+
- 722, 434
+ 965, 540
3
@@ -5781,7 +6585,7 @@ GDI+ = Enabled
52, 18
- 278, 0
+ 371, 0
0, 0, 0, 0
@@ -5790,7 +6594,7 @@ GDI+ = Enabled
0, 0
- 730, 460
+ 973, 566
62
@@ -5807,6 +6611,21 @@ GDI+ = Enabled
2
+
+ 0, 0
+
+
+ 100, 23
+
+
+ 0
+
+
+ label109
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
Bottom, Left
@@ -5814,10 +6633,13 @@ GDI+ = Enabled
NoControl
- 169, 441
+ 225, 543
+
+
+ 4, 4, 4, 4
- 103, 19
+ 137, 23
0
@@ -5832,7 +6654,7 @@ GDI+ = Enabled
BUT_rerequestparams
- ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
$this
@@ -5847,10 +6669,13 @@ GDI+ = Enabled
NoControl
- 169, 416
+ 225, 512
+
+
+ 4, 4, 4, 4
- 103, 19
+ 137, 23
63
@@ -5865,7 +6690,7 @@ GDI+ = Enabled
BUT_writePIDS
- ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
$this
@@ -5880,13 +6705,13 @@ GDI+ = Enabled
NoControl
- 82, 416
+ 109, 512
0, 0, 0, 0
- 75, 19
+ 100, 23
64
@@ -5901,7 +6726,7 @@ GDI+ = Enabled
BUT_save
- ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
$this
@@ -5916,13 +6741,13 @@ GDI+ = Enabled
NoControl
- 3, 416
+ 4, 512
0, 0, 0, 0
- 75, 19
+ 100, 23
65
@@ -5937,7 +6762,7 @@ GDI+ = Enabled
BUT_load
- ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
$this
@@ -5952,10 +6777,13 @@ GDI+ = Enabled
NoControl
- 31, 438
+ 41, 539
+
+
+ 4, 4, 4, 4
- 103, 19
+ 137, 23
66
@@ -5967,7 +6795,7 @@ GDI+ = Enabled
BUT_compare
- ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
$this
@@ -5979,10 +6807,13 @@ GDI+ = Enabled
True
- 6, 13
+ 8, 16
+
+
+ 4, 4, 4, 4
- 1008, 461
+ 1344, 567
Command
@@ -6024,7 +6855,7 @@ GDI+ = Enabled
Configuration
- System.Windows.Forms.MyUserControl, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c
+ System.Windows.Forms.MyUserControl, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
..\Resources\MAVParam.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252
diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Simulation.resx b/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Simulation.resx
index 6bd2f521c2..5d542ad283 100644
--- a/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Simulation.resx
+++ b/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Simulation.resx
@@ -144,7 +144,7 @@
$this
- 28
+ 29
True
@@ -171,7 +171,7 @@
$this
- 27
+ 28
True
@@ -198,7 +198,7 @@
$this
- 26
+ 27
100
@@ -243,7 +243,7 @@
$this
- 25
+ 26
26, 13
@@ -294,7 +294,7 @@
$this
- 24
+ 25
67, 22
@@ -489,7 +489,7 @@
6
- 566, 280
+ 566, 330
64, 34
@@ -510,7 +510,7 @@
$this
- 23
+ 24
True
@@ -527,6 +527,12 @@
X-plane
+
+ 301, 17
+
+
+ Can Do Plane/Quad with plugin
+
RAD_softXplanes
@@ -537,7 +543,7 @@
$this
- 22
+ 23
True
@@ -554,6 +560,9 @@
FlightGear
+
+ Can do Plane and Quad with model
+
RAD_softFlightGear
@@ -564,7 +573,7 @@
$this
- 21
+ 22
67, 24
@@ -765,7 +774,7 @@
$this
- 20
+ 21
7, 100
@@ -927,7 +936,7 @@
$this
- 19
+ 20
7, 27
@@ -1140,7 +1149,7 @@
$this
- 18
+ 19
72, 104
@@ -1275,7 +1284,7 @@
$this
- 17
+ 18
535, 9
@@ -1299,7 +1308,7 @@
$this
- 16
+ 17
13, 5
@@ -1320,7 +1329,7 @@
$this
- 15
+ 16
@@ -1345,7 +1354,7 @@
$this
- 14
+ 15
17, 17
@@ -1657,7 +1666,7 @@
$this
- 13
+ 14
508, 330
@@ -1681,13 +1690,13 @@
$this
- 12
+ 13
True
- 345, 41
+ 456, 41
74, 17
@@ -1708,7 +1717,7 @@
$this
- 11
+ 12
Bottom, Left
@@ -1738,7 +1747,7 @@
$this
- 10
+ 11
Bottom, Left
@@ -1768,7 +1777,7 @@
$this
- 9
+ 10
Bottom, Left
@@ -1798,7 +1807,7 @@
$this
- 8
+ 9
Bottom, Left
@@ -1828,7 +1837,7 @@
$this
- 7
+ 8
566, 368
@@ -1852,13 +1861,13 @@
$this
- 6
+ 7
True
- 566, 317
+ 566, 186
59, 17
@@ -1879,7 +1888,7 @@
$this
- 5
+ 6
True
@@ -1888,7 +1897,7 @@
NoControl
- 566, 334
+ 566, 203
52, 17
@@ -1909,7 +1918,7 @@
$this
- 4
+ 5
NoControl
@@ -1936,7 +1945,7 @@
$this
- 3
+ 4
NoControl
@@ -1963,7 +1972,7 @@
$this
- 2
+ 3
NoControl
@@ -1990,7 +1999,7 @@
$this
- 1
+ 2
True
@@ -1999,7 +2008,7 @@
NoControl
- 566, 350
+ 566, 219
44, 17
@@ -2020,6 +2029,39 @@
$this
+ 1
+
+
+ True
+
+
+ NoControl
+
+
+ 345, 40
+
+
+ 79, 17
+
+
+ 48
+
+
+ AeroSimRC
+
+
+ Can do Plane/Heli/Quads
+
+
+ RAD_aerosimrc
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
0
@@ -2043,6 +2085,12 @@
System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ toolTip1
+
+
+ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
Simulation
diff --git a/Tools/ArdupilotMegaPlanner/georefimage.cs b/Tools/ArdupilotMegaPlanner/georefimage.cs
index 6ab16b82de..8c0abcae99 100644
--- a/Tools/ArdupilotMegaPlanner/georefimage.cs
+++ b/Tools/ArdupilotMegaPlanner/georefimage.cs
@@ -71,13 +71,16 @@ namespace ArdupilotMega
public void dowork(float offsetseconds)
{
+ DateTime localmin = DateTime.MaxValue;
+ DateTime localmax = DateTime.MinValue;
+
DateTime startTime = DateTime.MinValue;
- logFile = @"C:\Users\hog\Pictures\sams mums 22-6-2011\23-06-11 10-03 4.log";
+ logFile = @"C:\temp\farm 1-10-2011\100SSCAM\2011-10-01 11-48 1.log";
List list = readLog(logFile);
- dirWithImages = @"C:\Users\hog\Pictures\sams mums 22-6-2011";
+ dirWithImages = @"C:\temp\farm 1-10-2011\100SSCAM";
string[] files = Directory.GetFiles(dirWithImages);
@@ -95,21 +98,37 @@ namespace ArdupilotMega
DateTime dt = getPhotoTime(file);
if (startTime == DateTime.MinValue)
- startTime = new DateTime(dt.Year,dt.Month,dt.Day,0,0,0,0,DateTimeKind.Utc).ToLocalTime();
+ {
+ startTime = new DateTime(dt.Year, dt.Month, dt.Day, 0, 0, 0, 0, DateTimeKind.Utc).ToLocalTime();
+
+ foreach (string[] arr in list)
+ {
+ DateTime crap = startTime.AddMilliseconds(int.Parse(arr[1])).AddSeconds(offsetseconds);
+
+ if (localmin > crap)
+ localmin = crap;
+ if (localmax < crap)
+ localmax = crap;
+ }
+
+ Console.WriteLine("min " + localmin + " max " + localmax);
+ }
+
+
foreach (string[] arr in list)
{
DateTime crap = startTime.AddMilliseconds(int.Parse(arr[1])).AddSeconds(offsetseconds);
- //Console.Write(dt + " " + crap + "\r");
+ Console.Write("ph " + dt + " log " + crap + " \r");
if (dt.Equals(crap))
{
- sw2.WriteLine(Path.GetFileNameWithoutExtension(file) + " " + arr[5] + " " + arr[4] + " " + arr[6]);
- sw.WriteLine(Path.GetFileNameWithoutExtension(file) + "\t" + crap.ToString("yyyy:MM:dd HH:mm:ss") +"\t"+ arr[5] + "\t" + arr[4] + "\t" + arr[6]);
+ sw2.WriteLine(Path.GetFileNameWithoutExtension(file) + " " + arr[5] + " " + arr[4] + " " + arr[7]);
+ sw.WriteLine(Path.GetFileNameWithoutExtension(file) + "\t" + crap.ToString("yyyy:MM:dd HH:mm:ss") +"\t"+ arr[5] + "\t" + arr[4] + "\t" + arr[7]);
sw.Flush();
sw2.Flush();
- Console.WriteLine(Path.GetFileNameWithoutExtension(file) + " " + arr[5] + " " + arr[4] + " " + arr[6] + " ");
+ Console.WriteLine(Path.GetFileNameWithoutExtension(file) + " " + arr[5] + " " + arr[4] + " " + arr[7] + " ");
break;
}
//Console.WriteLine(crap);