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);