APM Planner 1.0.86

fix tooltips
add more tuning options - 10
add tuning state saving between sessions
fix move wp alt change
fix memory leak
This commit is contained in:
Michael Oborne 2011-10-25 21:20:58 +08:00
parent 31747d5607
commit 34fee20bc9
17 changed files with 1664 additions and 725 deletions

View File

@ -183,6 +183,12 @@
</Compile>
<Compile Include="ArduinoDetect.cs" />
<Compile Include="AviWriter.cs" />
<Compile Include="Camera.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Camera.Designer.cs">
<DependentUpon>Camera.cs</DependentUpon>
</Compile>
<Compile Include="Capture.cs" />
<Compile Include="CommsSerialInterface.cs" />
<Compile Include="CommsSerialPort.cs">
@ -350,6 +356,9 @@
<DependentUpon>AGauge.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Camera.resx">
<DependentUpon>Camera.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GCSViews\Configuration.ru-RU.resx">
<DependentUpon>Configuration.cs</DependentUpon>
</EmbeddedResource>

View File

@ -0,0 +1,421 @@
namespace ArdupilotMega
{
partial class Camera
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.num_agl = new System.Windows.Forms.NumericUpDown();
this.num_megapixel = new System.Windows.Forms.NumericUpDown();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.num_focallength = new System.Windows.Forms.NumericUpDown();
this.label4 = new System.Windows.Forms.Label();
this.num_focalmultip = new System.Windows.Forms.NumericUpDown();
this.TXT_fovH = new System.Windows.Forms.TextBox();
this.TXT_fovV = new System.Windows.Forms.TextBox();
this.TXT_fovD = new System.Windows.Forms.TextBox();
this.TXT_fovAD = new System.Windows.Forms.TextBox();
this.TXT_fovAV = new System.Windows.Forms.TextBox();
this.TXT_fovAH = new System.Windows.Forms.TextBox();
this.TXT_cmpixel = new System.Windows.Forms.TextBox();
this.TXT_imgwidth = new System.Windows.Forms.TextBox();
this.TXT_imgheight = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.num_agl)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_megapixel)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_focallength)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_focalmultip)).BeginInit();
this.SuspendLayout();
//
// num_agl
//
this.num_agl.Location = new System.Drawing.Point(12, 12);
this.num_agl.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_agl.Name = "num_agl";
this.num_agl.Size = new System.Drawing.Size(120, 20);
this.num_agl.TabIndex = 1;
this.num_agl.Value = new decimal(new int[] {
200,
0,
0,
0});
this.num_agl.ValueChanged += new System.EventHandler(this.num_agl_ValueChanged);
//
// num_megapixel
//
this.num_megapixel.DecimalPlaces = 1;
this.num_megapixel.Increment = new decimal(new int[] {
5,
0,
0,
65536});
this.num_megapixel.Location = new System.Drawing.Point(13, 38);
this.num_megapixel.Name = "num_megapixel";
this.num_megapixel.Size = new System.Drawing.Size(120, 20);
this.num_megapixel.TabIndex = 2;
this.num_megapixel.Value = new decimal(new int[] {
8,
0,
0,
0});
this.num_megapixel.ValueChanged += new System.EventHandler(this.num_megapixel_ValueChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(140, 19);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(72, 13);
this.label2.TabIndex = 4;
this.label2.Text = "Height m (agl)";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(140, 45);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(95, 13);
this.label3.TabIndex = 5;
this.label3.Text = "MegaPixel Camera";
//
// num_focallength
//
this.num_focallength.DecimalPlaces = 1;
this.num_focallength.Increment = new decimal(new int[] {
5,
0,
0,
65536});
this.num_focallength.Location = new System.Drawing.Point(245, 12);
this.num_focallength.Maximum = new decimal(new int[] {
180,
0,
0,
0});
this.num_focallength.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.num_focallength.Name = "num_focallength";
this.num_focallength.Size = new System.Drawing.Size(120, 20);
this.num_focallength.TabIndex = 6;
this.num_focallength.Value = new decimal(new int[] {
35,
0,
0,
0});
this.num_focallength.ValueChanged += new System.EventHandler(this.num_focallength_ValueChanged);
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(242, 72);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(99, 13);
this.label4.TabIndex = 8;
this.label4.Text = "2 x tan-1( l / (2 x f) )";
//
// num_focalmultip
//
this.num_focalmultip.DecimalPlaces = 1;
this.num_focalmultip.Increment = new decimal(new int[] {
1,
0,
0,
65536});
this.num_focalmultip.Location = new System.Drawing.Point(245, 38);
this.num_focalmultip.Maximum = new decimal(new int[] {
5,
0,
0,
0});
this.num_focalmultip.Minimum = new decimal(new int[] {
1,
0,
0,
65536});
this.num_focalmultip.Name = "num_focalmultip";
this.num_focalmultip.Size = new System.Drawing.Size(120, 20);
this.num_focalmultip.TabIndex = 9;
this.num_focalmultip.Value = new decimal(new int[] {
15,
0,
0,
65536});
this.num_focalmultip.ValueChanged += new System.EventHandler(this.num_focalmultip_ValueChanged);
//
// TXT_fovH
//
this.TXT_fovH.Location = new System.Drawing.Point(72, 138);
this.TXT_fovH.Name = "TXT_fovH";
this.TXT_fovH.Size = new System.Drawing.Size(100, 20);
this.TXT_fovH.TabIndex = 10;
//
// TXT_fovV
//
this.TXT_fovV.Location = new System.Drawing.Point(72, 165);
this.TXT_fovV.Name = "TXT_fovV";
this.TXT_fovV.Size = new System.Drawing.Size(100, 20);
this.TXT_fovV.TabIndex = 11;
//
// TXT_fovD
//
this.TXT_fovD.Location = new System.Drawing.Point(72, 192);
this.TXT_fovD.Name = "TXT_fovD";
this.TXT_fovD.Size = new System.Drawing.Size(100, 20);
this.TXT_fovD.TabIndex = 12;
//
// TXT_fovAD
//
this.TXT_fovAD.Location = new System.Drawing.Point(286, 192);
this.TXT_fovAD.Name = "TXT_fovAD";
this.TXT_fovAD.Size = new System.Drawing.Size(100, 20);
this.TXT_fovAD.TabIndex = 15;
//
// TXT_fovAV
//
this.TXT_fovAV.Location = new System.Drawing.Point(286, 165);
this.TXT_fovAV.Name = "TXT_fovAV";
this.TXT_fovAV.Size = new System.Drawing.Size(100, 20);
this.TXT_fovAV.TabIndex = 14;
//
// TXT_fovAH
//
this.TXT_fovAH.Location = new System.Drawing.Point(286, 138);
this.TXT_fovAH.Name = "TXT_fovAH";
this.TXT_fovAH.Size = new System.Drawing.Size(100, 20);
this.TXT_fovAH.TabIndex = 13;
//
// TXT_cmpixel
//
this.TXT_cmpixel.Location = new System.Drawing.Point(176, 218);
this.TXT_cmpixel.Name = "TXT_cmpixel";
this.TXT_cmpixel.Size = new System.Drawing.Size(100, 20);
this.TXT_cmpixel.TabIndex = 16;
//
// TXT_imgwidth
//
this.TXT_imgwidth.Location = new System.Drawing.Point(93, 244);
this.TXT_imgwidth.Name = "TXT_imgwidth";
this.TXT_imgwidth.Size = new System.Drawing.Size(100, 20);
this.TXT_imgwidth.TabIndex = 17;
//
// TXT_imgheight
//
this.TXT_imgheight.Location = new System.Drawing.Point(255, 244);
this.TXT_imgheight.Name = "TXT_imgheight";
this.TXT_imgheight.Size = new System.Drawing.Size(100, 20);
this.TXT_imgheight.TabIndex = 18;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(371, 19);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(69, 13);
this.label1.TabIndex = 19;
this.label1.Text = "Focal Length";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(371, 45);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(88, 13);
this.label5.TabIndex = 20;
this.label5.Text = "Frame Muli factor";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(9, 145);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(36, 13);
this.label6.TabIndex = 21;
this.label6.Text = "Dist H";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(235, 145);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(45, 13);
this.label7.TabIndex = 22;
this.label7.Text = "Angle H";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(236, 172);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(44, 13);
this.label8.TabIndex = 23;
this.label8.Text = "Angle V";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(235, 199);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(45, 13);
this.label9.TabIndex = 24;
this.label9.Text = "Angle D";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(10, 172);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(35, 13);
this.label10.TabIndex = 25;
this.label10.Text = "Dist V";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(10, 199);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(36, 13);
this.label11.TabIndex = 26;
this.label11.Text = "Dist D";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(125, 225);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(50, 13);
this.label12.TabIndex = 27;
this.label12.Text = "CM/Pixel";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(37, 251);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(39, 13);
this.label13.TabIndex = 28;
this.label13.Text = "Pixel X";
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(199, 253);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(39, 13);
this.label14.TabIndex = 29;
this.label14.Text = "Pixel Y";
//
// Camera
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(473, 275);
this.Controls.Add(this.label14);
this.Controls.Add(this.label13);
this.Controls.Add(this.label12);
this.Controls.Add(this.label11);
this.Controls.Add(this.label10);
this.Controls.Add(this.label9);
this.Controls.Add(this.label8);
this.Controls.Add(this.label7);
this.Controls.Add(this.label6);
this.Controls.Add(this.label5);
this.Controls.Add(this.label1);
this.Controls.Add(this.TXT_imgheight);
this.Controls.Add(this.TXT_imgwidth);
this.Controls.Add(this.TXT_cmpixel);
this.Controls.Add(this.TXT_fovAD);
this.Controls.Add(this.TXT_fovAV);
this.Controls.Add(this.TXT_fovAH);
this.Controls.Add(this.TXT_fovD);
this.Controls.Add(this.TXT_fovV);
this.Controls.Add(this.TXT_fovH);
this.Controls.Add(this.num_focalmultip);
this.Controls.Add(this.label4);
this.Controls.Add(this.num_focallength);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.num_megapixel);
this.Controls.Add(this.num_agl);
this.Name = "Camera";
this.Text = "Camera";
((System.ComponentModel.ISupportInitialize)(this.num_agl)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_megapixel)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_focallength)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_focalmultip)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.NumericUpDown num_agl;
private System.Windows.Forms.NumericUpDown num_megapixel;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.NumericUpDown num_focallength;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.NumericUpDown num_focalmultip;
private System.Windows.Forms.TextBox TXT_fovH;
private System.Windows.Forms.TextBox TXT_fovV;
private System.Windows.Forms.TextBox TXT_fovD;
private System.Windows.Forms.TextBox TXT_fovAD;
private System.Windows.Forms.TextBox TXT_fovAV;
private System.Windows.Forms.TextBox TXT_fovAH;
private System.Windows.Forms.TextBox TXT_cmpixel;
private System.Windows.Forms.TextBox TXT_imgwidth;
private System.Windows.Forms.TextBox TXT_imgheight;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label14;
}
}

View File

@ -0,0 +1,139 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ArdupilotMega
{
public partial class Camera : Form
{
float mm_2_feet = 1 / 304.8f;
float feet_2_mm = 304.8f;
const float rad2deg = (float)(180 / Math.PI);
const float deg2rad = (float)(1.0 / rad2deg);
public Camera()
{
InitializeComponent();
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
doCalc();
}
void doCalc()
{
var film_width = 36.0f;
var film_height = 27.0f;
var film_diag = 0.0f;
var flen = (float)num_focallength.Value;
var flen_mult = (float)num_focalmultip.Value;
var subj_dist = (float)num_agl.Value;
//if (isNaN(flen_mult) || flen_mult<=0)
{
//f.flen_mult = 1;
//flen_mult = 1;
}
// convert distance to mm
/*
if (f.units.value.search(/feet/i) != -1)
{
//user input in feet
subj_dist = subj_dist * feet_2_mm;
}
else */
{
//user input in m
subj_dist = subj_dist * 1000;
}
//Account for focal length multiplier (actually, a film/sensor size multiplier)
film_width = film_width / flen_mult;
film_height = film_height / flen_mult;
film_diag = (int)(Math.Sqrt((film_width * film_width) + (film_height * film_height)));
var half_fov_h = (Math.Atan(film_width / (2 * flen)));
var fov_h = 2 * (subj_dist * Math.Tan(half_fov_h));
var half_fov_v = (Math.Atan(film_height / (2 * flen)));
var fov_v = 2 * (subj_dist * Math.Tan(half_fov_v));
var half_fov_d = (Math.Atan(film_diag / (2 * flen)));
var fov_d = 2 * (subj_dist * Math.Tan(half_fov_d));
//convert answer (currently in mm) back to feet
fov_h = fov_h * mm_2_feet;
fov_v = fov_v * mm_2_feet;
fov_d = fov_d * mm_2_feet;
/*
if (f.units.value.search(/feet/i) != -1)
{
f.fov_h.value = feet_inches(fov_h);
f.fov_v.value = feet_inches(fov_v);
f.fov_d.value = feet_inches(fov_d);
}
else */
{
TXT_fovH.Text = meters(fov_h);
TXT_fovV.Text = meters(fov_v);
TXT_fovD.Text = meters(fov_d);
TXT_fovAH.Text = (half_fov_h * 2 * rad2deg).ToString("0.00");
TXT_fovAV.Text = (half_fov_v * 2 * rad2deg).ToString("0.00");
TXT_fovAD.Text = (half_fov_d * 2 * rad2deg).ToString("0.00");
float test1 = (float)Math.Sqrt((float)num_megapixel.Value * 1000000 * (film_height / film_width));
TXT_imgwidth.Text = test1.ToString("0");
TXT_imgheight.Text = (((float)num_megapixel.Value * 1000000) / test1).ToString("0");
TXT_cmpixel.Text = (((fov_h * feet_2_mm) / 10.0) / test1).ToString("0.000 cm");
}
}
//Takes a distance in feet and converts to string representation in meters/cm
string meters(double aNumber)
{
//if (isNaN(aNumber))
//return aNumber;
var mm = aNumber * feet_2_mm;
var m = Math.Floor(mm / 1000);
var cm = (mm / 10) % 100;
return m + "m " + cm.ToString("0.00") + "cm";
}
private void num_agl_ValueChanged(object sender, EventArgs e)
{
doCalc();
}
private void num_megapixel_ValueChanged(object sender, EventArgs e)
{
doCalc();
}
private void num_focallength_ValueChanged(object sender, EventArgs e)
{
doCalc();
}
private void num_focalmultip_ValueChanged(object sender, EventArgs e)
{
doCalc();
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -289,8 +289,6 @@ namespace ArdupilotMega.GCSViews
internal void processToScreen()
{
Params.Rows.Clear();
// process hashdefines and update display
@ -343,7 +341,7 @@ namespace ArdupilotMega.GCSViews
{
try
{
toolTip1.SetToolTip(ctl, tooltips[value].ToString());
toolTip1.SetToolTip(ctl, ((paramsettings)tooltips[value]).desc);
}
catch { }
}

View File

@ -563,7 +563,7 @@ namespace ArdupilotMega.GCSViews
this.Refresh();
Console.WriteLine("Downloaded");
}
catch (Exception ex) { lbl_status.Text = "Failed download"; MessageBox.Show("Failed to download new firmware : " + ex.Message); return; }
catch (Exception ex) { lbl_status.Text = "Failed download"; MessageBox.Show("Failed to download new firmware : " + ex.ToString()); return; }
UploadFlash(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + @"firmware.hex", board);
}

View File

@ -50,6 +50,11 @@
this.BUT_playlog = new ArdupilotMega.MyButton();
this.BUT_loadtelem = new ArdupilotMega.MyButton();
this.tableMap = new System.Windows.Forms.TableLayoutPanel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.zg1 = new ZedGraph.ZedGraphControl();
this.lbl_winddir = new ArdupilotMega.MyLabel();
this.lbl_windvel = new ArdupilotMega.MyLabel();
this.gMapControl1 = new GMap.NET.WindowsForms.GMapControl();
this.panel1 = new System.Windows.Forms.Panel();
this.TXT_lat = new ArdupilotMega.MyLabel();
this.Zoomlevel = new System.Windows.Forms.NumericUpDown();
@ -58,11 +63,6 @@
this.TXT_alt = new ArdupilotMega.MyLabel();
this.CHK_autopan = new System.Windows.Forms.CheckBox();
this.CB_tuning = new System.Windows.Forms.CheckBox();
this.panel2 = new System.Windows.Forms.Panel();
this.lbl_windvel = new ArdupilotMega.MyLabel();
this.lbl_winddir = new ArdupilotMega.MyLabel();
this.gMapControl1 = new GMap.NET.WindowsForms.GMapControl();
this.zg1 = new ZedGraph.ZedGraphControl();
this.dataGridViewImageColumn1 = new System.Windows.Forms.DataGridViewImageColumn();
this.dataGridViewImageColumn2 = new System.Windows.Forms.DataGridViewImageColumn();
this.ZedGraphTimer = new System.Windows.Forms.Timer(this.components);
@ -84,9 +84,11 @@
((System.ComponentModel.ISupportInitialize)(this.NUM_playbackspeed)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tracklog)).BeginInit();
this.tableMap.SuspendLayout();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Zoomlevel)).BeginInit();
this.panel2.SuspendLayout();
this.SuspendLayout();
//
// contextMenuStrip1
@ -1042,10 +1044,80 @@
// tableMap
//
resources.ApplyResources(this.tableMap, "tableMap");
this.tableMap.Controls.Add(this.splitContainer1, 0, 0);
this.tableMap.Controls.Add(this.panel1, 0, 1);
this.tableMap.Controls.Add(this.panel2, 0, 0);
this.tableMap.Name = "tableMap";
//
// splitContainer1
//
resources.ApplyResources(this.splitContainer1, "splitContainer1");
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.zg1);
this.splitContainer1.Panel1Collapsed = true;
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.lbl_winddir);
this.splitContainer1.Panel2.Controls.Add(this.lbl_windvel);
this.splitContainer1.Panel2.Controls.Add(this.gMapControl1);
//
// zg1
//
resources.ApplyResources(this.zg1, "zg1");
this.zg1.Name = "zg1";
this.zg1.ScrollGrace = 0D;
this.zg1.ScrollMaxX = 0D;
this.zg1.ScrollMaxY = 0D;
this.zg1.ScrollMaxY2 = 0D;
this.zg1.ScrollMinX = 0D;
this.zg1.ScrollMinY = 0D;
this.zg1.ScrollMinY2 = 0D;
this.zg1.DoubleClick += new System.EventHandler(this.zg1_DoubleClick);
//
// lbl_winddir
//
this.lbl_winddir.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bindingSource1, "wind_dir", true, System.Windows.Forms.DataSourceUpdateMode.OnValidation, null, "Dir: 0"));
resources.ApplyResources(this.lbl_winddir, "lbl_winddir");
this.lbl_winddir.Name = "lbl_winddir";
this.lbl_winddir.resize = true;
this.toolTip1.SetToolTip(this.lbl_winddir, resources.GetString("lbl_winddir.ToolTip"));
//
// lbl_windvel
//
this.lbl_windvel.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bindingSource1, "wind_vel", true, System.Windows.Forms.DataSourceUpdateMode.OnValidation, null, "Vel: 0"));
resources.ApplyResources(this.lbl_windvel, "lbl_windvel");
this.lbl_windvel.Name = "lbl_windvel";
this.lbl_windvel.resize = true;
this.toolTip1.SetToolTip(this.lbl_windvel, resources.GetString("lbl_windvel.ToolTip"));
//
// gMapControl1
//
this.gMapControl1.BackColor = System.Drawing.Color.Transparent;
this.gMapControl1.Bearing = 0F;
this.gMapControl1.CanDragMap = true;
this.gMapControl1.ContextMenuStrip = this.contextMenuStrip1;
resources.ApplyResources(this.gMapControl1, "gMapControl1");
this.gMapControl1.GrayScaleMode = false;
this.gMapControl1.LevelsKeepInMemmory = 5;
this.gMapControl1.MarkersEnabled = true;
this.gMapControl1.MaxZoom = 2;
this.gMapControl1.MinZoom = 2;
this.gMapControl1.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
this.gMapControl1.Name = "gMapControl1";
this.gMapControl1.NegativeMode = false;
this.gMapControl1.PolygonsEnabled = true;
this.gMapControl1.RetryLoadTile = 0;
this.gMapControl1.RoutesEnabled = true;
this.gMapControl1.ShowTileGridLines = false;
this.gMapControl1.streamjpg = ((System.IO.MemoryStream)(resources.GetObject("gMapControl1.streamjpg")));
this.gMapControl1.Zoom = 0D;
this.gMapControl1.Click += new System.EventHandler(this.gMapControl1_Click);
this.gMapControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.gMapControl1_MouseDown);
this.gMapControl1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.gMapControl1_MouseMove);
//
// panel1
//
this.panel1.Controls.Add(this.TXT_lat);
@ -1130,69 +1202,6 @@
this.CB_tuning.UseVisualStyleBackColor = true;
this.CB_tuning.CheckedChanged += new System.EventHandler(this.CB_tuning_CheckedChanged);
//
// panel2
//
this.panel2.Controls.Add(this.lbl_windvel);
this.panel2.Controls.Add(this.lbl_winddir);
this.panel2.Controls.Add(this.gMapControl1);
this.panel2.Controls.Add(this.zg1);
resources.ApplyResources(this.panel2, "panel2");
this.panel2.Name = "panel2";
//
// lbl_windvel
//
this.lbl_windvel.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bindingSource1, "wind_vel", true, System.Windows.Forms.DataSourceUpdateMode.OnValidation, null, "Vel: 0"));
resources.ApplyResources(this.lbl_windvel, "lbl_windvel");
this.lbl_windvel.Name = "lbl_windvel";
this.lbl_windvel.resize = true;
this.toolTip1.SetToolTip(this.lbl_windvel, resources.GetString("lbl_windvel.ToolTip"));
//
// lbl_winddir
//
this.lbl_winddir.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bindingSource1, "wind_dir", true, System.Windows.Forms.DataSourceUpdateMode.OnValidation, null, "Dir: 0"));
resources.ApplyResources(this.lbl_winddir, "lbl_winddir");
this.lbl_winddir.Name = "lbl_winddir";
this.lbl_winddir.resize = true;
this.toolTip1.SetToolTip(this.lbl_winddir, resources.GetString("lbl_winddir.ToolTip"));
//
// gMapControl1
//
this.gMapControl1.BackColor = System.Drawing.Color.Transparent;
this.gMapControl1.Bearing = 0F;
this.gMapControl1.CanDragMap = true;
this.gMapControl1.ContextMenuStrip = this.contextMenuStrip1;
resources.ApplyResources(this.gMapControl1, "gMapControl1");
this.gMapControl1.GrayScaleMode = false;
this.gMapControl1.LevelsKeepInMemmory = 5;
this.gMapControl1.MarkersEnabled = true;
this.gMapControl1.MaxZoom = 2;
this.gMapControl1.MinZoom = 2;
this.gMapControl1.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
this.gMapControl1.Name = "gMapControl1";
this.gMapControl1.NegativeMode = false;
this.gMapControl1.PolygonsEnabled = true;
this.gMapControl1.RetryLoadTile = 0;
this.gMapControl1.RoutesEnabled = true;
this.gMapControl1.ShowTileGridLines = false;
this.gMapControl1.streamjpg = ((System.IO.MemoryStream)(resources.GetObject("gMapControl1.streamjpg")));
this.gMapControl1.Zoom = 0D;
this.gMapControl1.Click += new System.EventHandler(this.gMapControl1_Click);
this.gMapControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.gMapControl1_MouseDown);
this.gMapControl1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.gMapControl1_MouseMove);
//
// zg1
//
resources.ApplyResources(this.zg1, "zg1");
this.zg1.Name = "zg1";
this.zg1.ScrollGrace = 0D;
this.zg1.ScrollMaxX = 0D;
this.zg1.ScrollMaxY = 0D;
this.zg1.ScrollMaxY2 = 0D;
this.zg1.ScrollMinX = 0D;
this.zg1.ScrollMinY = 0D;
this.zg1.ScrollMinY2 = 0D;
this.zg1.DoubleClick += new System.EventHandler(this.zg1_DoubleClick);
//
// dataGridViewImageColumn1
//
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
@ -1254,10 +1263,12 @@
((System.ComponentModel.ISupportInitialize)(this.NUM_playbackspeed)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tracklog)).EndInit();
this.tableMap.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.Zoomlevel)).EndInit();
this.panel2.ResumeLayout(false);
this.ResumeLayout(false);
}
@ -1294,7 +1305,6 @@
private ArdupilotMega.MyLabel TXT_long;
private ArdupilotMega.MyLabel TXT_alt;
private System.Windows.Forms.CheckBox CHK_autopan;
private System.Windows.Forms.Panel panel2;
private GMap.NET.WindowsForms.GMapControl gMapControl1;
private ZedGraph.ZedGraphControl zg1;
private System.Windows.Forms.TabControl tabControl1;
@ -1320,5 +1330,6 @@
private System.Windows.Forms.ToolStripMenuItem stopRecordToolStripMenuItem;
private MyLabel lbl_logpercent;
private System.Windows.Forms.ToolStripMenuItem pointCameraHereToolStripMenuItem;
private System.Windows.Forms.SplitContainer splitContainer1;
}
}

View File

@ -31,18 +31,33 @@ namespace ArdupilotMega.GCSViews
RollingPointPairList list3 = new RollingPointPairList(1200);
RollingPointPairList list4 = new RollingPointPairList(1200);
RollingPointPairList list5 = new RollingPointPairList(1200);
RollingPointPairList list6 = new RollingPointPairList(1200);
RollingPointPairList list7 = new RollingPointPairList(1200);
RollingPointPairList list8 = new RollingPointPairList(1200);
RollingPointPairList list9 = new RollingPointPairList(1200);
RollingPointPairList list10 = new RollingPointPairList(1200);
System.Reflection.PropertyInfo list1item = null;
System.Reflection.PropertyInfo list2item = null;
System.Reflection.PropertyInfo list3item = null;
System.Reflection.PropertyInfo list4item = null;
System.Reflection.PropertyInfo list5item = null;
System.Reflection.PropertyInfo list6item = null;
System.Reflection.PropertyInfo list7item = null;
System.Reflection.PropertyInfo list8item = null;
System.Reflection.PropertyInfo list9item = null;
System.Reflection.PropertyInfo list10item = null;
CurveItem list1curve;
CurveItem list2curve;
CurveItem list3curve;
CurveItem list4curve;
CurveItem list5curve;
CurveItem list6curve;
CurveItem list7curve;
CurveItem list8curve;
CurveItem list9curve;
CurveItem list10curve;
bool huddropout = false;
bool huddropoutresize = false;
@ -77,10 +92,22 @@ namespace ArdupilotMega.GCSViews
Control.CheckForIllegalCrossThreadCalls = false; // so can update display from another thread
// setup default tuning graph
chk_box_CheckedChanged((object)(new CheckBox() { Name = "roll", Checked = true }), new EventArgs());
chk_box_CheckedChanged((object)(new CheckBox() { Name = "pitch", Checked = true }), new EventArgs());
chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_roll", Checked = true }), new EventArgs());
chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_pitch", Checked = true }), new EventArgs());
if (MainV2.config["Tuning_Graph_Selected"] != null)
{
string line = MainV2.config["Tuning_Graph_Selected"].ToString();
string[] lines = line.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string option in lines)
{
chk_box_CheckedChanged((object)(new CheckBox() { Name = option, Checked = true }), new EventArgs());
}
}
else
{
chk_box_CheckedChanged((object)(new CheckBox() { Name = "roll", Checked = true }), new EventArgs());
chk_box_CheckedChanged((object)(new CheckBox() { Name = "pitch", Checked = true }), new EventArgs());
chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_roll", Checked = true }), new EventArgs());
chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_pitch", Checked = true }), new EventArgs());
}
List<string> list = new List<string>();
@ -314,6 +341,16 @@ namespace ArdupilotMega.GCSViews
list4.Add(time, (float)list4item.GetValue((object)MainV2.cs, null));
if (list5item != null)
list5.Add(time, (float)list5item.GetValue((object)MainV2.cs, null));
if (list6item != null)
list6.Add(time, (float)list6item.GetValue((object)MainV2.cs, null));
if (list7item != null)
list7.Add(time, (float)list7item.GetValue((object)MainV2.cs, null));
if (list8item != null)
list8.Add(time, (float)list8item.GetValue((object)MainV2.cs, null));
if (list9item != null)
list9.Add(time, (float)list9item.GetValue((object)MainV2.cs, null));
if (list10item != null)
list10.Add(time, (float)list10item.GetValue((object)MainV2.cs, null));
}
if (tracklast.AddSeconds(1) < DateTime.Now)
@ -681,14 +718,14 @@ namespace ArdupilotMega.GCSViews
{
if (CB_tuning.Checked)
{
gMapControl1.Visible = false;
splitContainer1.Panel1Collapsed = false;
ZedGraphTimer.Enabled = true;
ZedGraphTimer.Start();
zg1.Visible = true;
}
else
{
gMapControl1.Visible = true;
splitContainer1.Panel1Collapsed = true;
ZedGraphTimer.Enabled = false;
ZedGraphTimer.Stop();
zg1.Visible = false;
@ -1203,6 +1240,8 @@ namespace ArdupilotMega.GCSViews
return;
}
}
}
private void zg1_DoubleClick(object sender, EventArgs e)
@ -1210,7 +1249,7 @@ namespace ArdupilotMega.GCSViews
Form selectform = new Form()
{
Name = "select",
Width = 650,
Width = 750,
Height = 250,
Text = "Graph This"
};
@ -1218,6 +1257,19 @@ namespace ArdupilotMega.GCSViews
int x = 10;
int y = 10;
{
CheckBox chk_box = new CheckBox();
chk_box.Text = "Logarithmic";
chk_box.Name = "Logarithmic";
chk_box.Location = new Point(x, y);
chk_box.Size = new System.Drawing.Size(100, 20);
chk_box.CheckedChanged += new EventHandler(chk_log_CheckedChanged);
selectform.Controls.Add(chk_box);
}
y += 20;
object thisBoxed = MainV2.cs;
Type test = thisBoxed.GetType();
@ -1249,6 +1301,16 @@ namespace ArdupilotMega.GCSViews
chk_box.Checked = true;
if (list5item != null && list5item.Name == field.Name)
chk_box.Checked = true;
if (list6item != null && list6item.Name == field.Name)
chk_box.Checked = true;
if (list7item != null && list7item.Name == field.Name)
chk_box.Checked = true;
if (list8item != null && list8item.Name == field.Name)
chk_box.Checked = true;
if (list9item != null && list9item.Name == field.Name)
chk_box.Checked = true;
if (list10item != null && list10item.Name == field.Name)
chk_box.Checked = true;
chk_box.Text = field.Name;
chk_box.Name = field.Name;
@ -1273,6 +1335,18 @@ namespace ArdupilotMega.GCSViews
selectform.Show();
}
void chk_log_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
{
zg1.GraphPane.YAxis.Type = AxisType.Log;
}
else
{
zg1.GraphPane.YAxis.Type = AxisType.Linear;
}
}
void chk_box_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
@ -1302,12 +1376,55 @@ namespace ArdupilotMega.GCSViews
setupPropertyInfo(ref list5item, ((CheckBox)sender).Name, MainV2.cs);
list5curve = zg1.GraphPane.AddCurve(((CheckBox)sender).Name, list5, Color.Yellow, SymbolType.None);
}
else if (list6item == null)
{
setupPropertyInfo(ref list6item, ((CheckBox)sender).Name, MainV2.cs);
list6curve = zg1.GraphPane.AddCurve(((CheckBox)sender).Name, list6, Color.Magenta, SymbolType.None);
}
else if (list7item == null)
{
setupPropertyInfo(ref list7item, ((CheckBox)sender).Name, MainV2.cs);
list7curve = zg1.GraphPane.AddCurve(((CheckBox)sender).Name, list7, Color.Purple, SymbolType.None);
}
else if (list8item == null)
{
setupPropertyInfo(ref list8item, ((CheckBox)sender).Name, MainV2.cs);
list8curve = zg1.GraphPane.AddCurve(((CheckBox)sender).Name, list8, Color.LimeGreen, SymbolType.None);
}
else if (list9item == null)
{
setupPropertyInfo(ref list9item, ((CheckBox)sender).Name, MainV2.cs);
list9curve = zg1.GraphPane.AddCurve(((CheckBox)sender).Name, list9, Color.Cyan, SymbolType.None);
}
else if (list10item == null)
{
setupPropertyInfo(ref list10item, ((CheckBox)sender).Name, MainV2.cs);
list10curve = zg1.GraphPane.AddCurve(((CheckBox)sender).Name, list10, Color.Violet, SymbolType.None);
}
else
{
MessageBox.Show("Max 5 at a time.");
MessageBox.Show("Max 10 at a time.");
((CheckBox)sender).Checked = false;
}
MainV2.fixtheme(this);
string selected = "";
try
{
selected = selected + zg1.GraphPane.CurveList[0].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[1].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[2].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[3].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[4].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[5].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[6].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[7].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[8].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[9].Label.Text + "|";
selected = selected + zg1.GraphPane.CurveList[10].Label.Text + "|";
}
catch { }
MainV2.config["Tuning_Graph_Selected"] = selected;
}
else
{
@ -1337,6 +1454,31 @@ namespace ArdupilotMega.GCSViews
list5item = null;
zg1.GraphPane.CurveList.Remove(list5curve);
}
if (list6item != null && list6item.Name == ((CheckBox)sender).Name)
{
list6item = null;
zg1.GraphPane.CurveList.Remove(list6curve);
}
if (list7item != null && list7item.Name == ((CheckBox)sender).Name)
{
list7item = null;
zg1.GraphPane.CurveList.Remove(list7curve);
}
if (list8item != null && list8item.Name == ((CheckBox)sender).Name)
{
list8item = null;
zg1.GraphPane.CurveList.Remove(list8curve);
}
if (list9item != null && list9item.Name == ((CheckBox)sender).Name)
{
list9item = null;
zg1.GraphPane.CurveList.Remove(list9curve);
}
if (list10item != null && list10item.Name == ((CheckBox)sender).Name)
{
list10item = null;
zg1.GraphPane.CurveList.Remove(list10curve);
}
}
}

View File

@ -134,7 +134,7 @@
<value>Point Camera Here</value>
</data>
<data name="contextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>175, 70</value>
<value>175, 48</value>
</data>
<data name="&gt;&gt;contextMenuStrip1.Name" xml:space="preserve">
<value>contextMenuStrip1</value>
@ -1083,290 +1083,68 @@
<data name="MainH.Panel1MinSize" type="System.Int32, mscorlib">
<value>360</value>
</data>
<data name="tableMap.CellBorderStyle" type="System.Windows.Forms.TableLayoutPanelCellBorderStyle, System.Windows.Forms">
<value>Single</value>
</data>
<data name="tableMap.ColumnCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="TXT_lat.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_lat.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_lat.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 10</value>
</data>
<data name="TXT_lat.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 13</value>
</data>
<data name="TXT_lat.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="TXT_lat.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_lat.Name" xml:space="preserve">
<value>TXT_lat</value>
</data>
<data name="&gt;&gt;TXT_lat.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_lat.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_lat.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="Zoomlevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="Zoomlevel.Location" type="System.Drawing.Point, System.Drawing">
<value>438, 7</value>
</data>
<data name="Zoomlevel.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 20</value>
</data>
<data name="Zoomlevel.TabIndex" type="System.Int32, mscorlib">
<value>69</value>
</data>
<data name="Zoomlevel.ToolTip" xml:space="preserve">
<value>Change Zoom Level</value>
</data>
<data name="&gt;&gt;Zoomlevel.Name" xml:space="preserve">
<value>Zoomlevel</value>
</data>
<data name="&gt;&gt;Zoomlevel.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Zoomlevel.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;Zoomlevel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>401, 10</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>70</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Zoom</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="TXT_long.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_long.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_long.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 10</value>
</data>
<data name="TXT_long.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 13</value>
</data>
<data name="TXT_long.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="TXT_long.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_long.Name" xml:space="preserve">
<value>TXT_long</value>
</data>
<data name="&gt;&gt;TXT_long.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_long.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_long.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="TXT_alt.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_alt.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_alt.Location" type="System.Drawing.Point, System.Drawing">
<value>190, 10</value>
</data>
<data name="TXT_alt.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 13</value>
</data>
<data name="TXT_alt.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="TXT_alt.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_alt.Name" xml:space="preserve">
<value>TXT_alt</value>
</data>
<data name="&gt;&gt;TXT_alt.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_alt.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_alt.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="CHK_autopan.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="CHK_autopan.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="CHK_autopan.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CHK_autopan.Location" type="System.Drawing.Point, System.Drawing">
<value>325, 10</value>
</data>
<data name="CHK_autopan.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 17</value>
</data>
<data name="CHK_autopan.TabIndex" type="System.Int32, mscorlib">
<value>68</value>
</data>
<data name="CHK_autopan.Text" xml:space="preserve">
<value>Auto Pan</value>
</data>
<data name="CHK_autopan.ToolTip" xml:space="preserve">
<value>Makes the map autopan based on current location</value>
</data>
<data name="&gt;&gt;CHK_autopan.Name" xml:space="preserve">
<value>CHK_autopan</value>
</data>
<data name="&gt;&gt;CHK_autopan.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CHK_autopan.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CHK_autopan.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="CB_tuning.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="CB_tuning.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="CB_tuning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CB_tuning.Location" type="System.Drawing.Point, System.Drawing">
<value>260, 9</value>
</data>
<data name="CB_tuning.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 17</value>
</data>
<data name="CB_tuning.TabIndex" type="System.Int32, mscorlib">
<value>62</value>
</data>
<data name="CB_tuning.Text" xml:space="preserve">
<value>Tuning</value>
</data>
<data name="CB_tuning.ToolTip" xml:space="preserve">
<value>Show the tunning graph, chowing target attitudes vs actual</value>
</data>
<data name="&gt;&gt;CB_tuning.Name" xml:space="preserve">
<value>CB_tuning</value>
</data>
<data name="&gt;&gt;CB_tuning.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CB_tuning.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CB_tuning.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 429</value>
<data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 4</value>
</data>
<data name="panel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
<data name="splitContainer1.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
<value>Horizontal</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>585, 30</value>
<data name="zg1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<data name="zg1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="zg1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="zg1.Size" type="System.Drawing.Size, System.Drawing">
<value>577, 210</value>
</data>
<data name="zg1.TabIndex" type="System.Int32, mscorlib">
<value>67</value>
</data>
<data name="zg1.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;zg1.Name" xml:space="preserve">
<value>zg1</value>
</data>
<data name="&gt;&gt;zg1.Type" xml:space="preserve">
<value>ZedGraph.ZedGraphControl, ZedGraph, Version=5.1.2.878, Culture=neutral, PublicKeyToken=02a83cbd123fcd60</value>
</data>
<data name="&gt;&gt;zg1.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;zg1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
<data name="&gt;&gt;splitContainer1.Panel1.Name" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;splitContainer1.Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableMap</value>
<data name="&gt;&gt;splitContainer1.Panel1.Parent" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lbl_windvel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbl_windvel.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 21</value>
</data>
<data name="lbl_windvel.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="lbl_windvel.TabIndex" type="System.Int32, mscorlib">
<value>69</value>
</data>
<data name="lbl_windvel.Text" xml:space="preserve">
<value>Vel: 0</value>
</data>
<data name="lbl_windvel.ToolTip" xml:space="preserve">
<value>Estimated Wind Velocity</value>
</data>
<data name="&gt;&gt;lbl_windvel.Name" xml:space="preserve">
<value>lbl_windvel</value>
</data>
<data name="&gt;&gt;lbl_windvel.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;lbl_windvel.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;lbl_windvel.ZOrder" xml:space="preserve">
<data name="&gt;&gt;splitContainer1.Panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lbl_winddir.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbl_winddir.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 8</value>
<value>4, 7</value>
</data>
<data name="lbl_winddir.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 13</value>
@ -1387,9 +1165,39 @@
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;lbl_winddir.Parent" xml:space="preserve">
<value>panel2</value>
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;lbl_winddir.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lbl_windvel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbl_windvel.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 20</value>
</data>
<data name="lbl_windvel.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="lbl_windvel.TabIndex" type="System.Int32, mscorlib">
<value>69</value>
</data>
<data name="lbl_windvel.Text" xml:space="preserve">
<value>Vel: 0</value>
</data>
<data name="lbl_windvel.ToolTip" xml:space="preserve">
<value>Estimated Wind Velocity</value>
</data>
<data name="&gt;&gt;lbl_windvel.Name" xml:space="preserve">
<value>lbl_windvel</value>
</data>
<data name="&gt;&gt;lbl_windvel.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;lbl_windvel.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;lbl_windvel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="gMapControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
@ -1402,7 +1210,7 @@
<value>0, 0, 0, 0</value>
</data>
<data name="gMapControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>585, 429</value>
<value>577, 420</value>
</data>
<data name="gMapControl1.streamjpg" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
@ -1559,66 +1367,288 @@
<value>GMap.NET.WindowsForms.GMapControl, GMap.NET.WindowsForms, Version=1.5.5.5, Culture=neutral, PublicKeyToken=b85b9027b614afef</value>
</data>
<data name="&gt;&gt;gMapControl1.Parent" xml:space="preserve">
<value>panel2</value>
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;gMapControl1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="zg1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
<data name="&gt;&gt;splitContainer1.Panel2.Name" xml:space="preserve">
<value>splitContainer1.Panel2</value>
</data>
<data name="zg1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
<data name="&gt;&gt;splitContainer1.Panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="zg1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
<data name="&gt;&gt;splitContainer1.Panel2.Parent" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="zg1.Size" type="System.Drawing.Size, System.Drawing">
<value>585, 429</value>
</data>
<data name="zg1.TabIndex" type="System.Int32, mscorlib">
<value>67</value>
</data>
<data name="zg1.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;zg1.Name" xml:space="preserve">
<value>zg1</value>
</data>
<data name="&gt;&gt;zg1.Type" xml:space="preserve">
<value>ZedGraph.ZedGraphControl, ZedGraph, Version=5.1.2.878, Culture=neutral, PublicKeyToken=02a83cbd123fcd60</value>
</data>
<data name="&gt;&gt;zg1.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;zg1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="panel2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>585, 429</value>
</data>
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
<data name="&gt;&gt;splitContainer1.Panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;panel2.Name" xml:space="preserve">
<value>panel2</value>
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>577, 420</value>
</data>
<data name="&gt;&gt;panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>210</value>
</data>
<data name="&gt;&gt;panel2.Parent" xml:space="preserve">
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>76</value>
</data>
<data name="&gt;&gt;splitContainer1.Name" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer1.Parent" xml:space="preserve">
<value>tableMap</value>
</data>
<data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<data name="&gt;&gt;splitContainer1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="TXT_lat.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_lat.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_lat.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 11</value>
</data>
<data name="TXT_lat.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 13</value>
</data>
<data name="TXT_lat.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="TXT_lat.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_lat.Name" xml:space="preserve">
<value>TXT_lat</value>
</data>
<data name="&gt;&gt;TXT_lat.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_lat.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_lat.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="Zoomlevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="Zoomlevel.Location" type="System.Drawing.Point, System.Drawing">
<value>438, 8</value>
</data>
<data name="Zoomlevel.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 20</value>
</data>
<data name="Zoomlevel.TabIndex" type="System.Int32, mscorlib">
<value>69</value>
</data>
<data name="Zoomlevel.ToolTip" xml:space="preserve">
<value>Change Zoom Level</value>
</data>
<data name="&gt;&gt;Zoomlevel.Name" xml:space="preserve">
<value>Zoomlevel</value>
</data>
<data name="&gt;&gt;Zoomlevel.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Zoomlevel.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;Zoomlevel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>401, 11</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>70</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Zoom</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="TXT_long.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_long.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_long.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 11</value>
</data>
<data name="TXT_long.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 13</value>
</data>
<data name="TXT_long.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="TXT_long.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_long.Name" xml:space="preserve">
<value>TXT_long</value>
</data>
<data name="&gt;&gt;TXT_long.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_long.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_long.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="TXT_alt.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_alt.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_alt.Location" type="System.Drawing.Point, System.Drawing">
<value>190, 11</value>
</data>
<data name="TXT_alt.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 13</value>
</data>
<data name="TXT_alt.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="TXT_alt.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_alt.Name" xml:space="preserve">
<value>TXT_alt</value>
</data>
<data name="&gt;&gt;TXT_alt.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_alt.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_alt.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="CHK_autopan.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="CHK_autopan.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="CHK_autopan.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CHK_autopan.Location" type="System.Drawing.Point, System.Drawing">
<value>325, 11</value>
</data>
<data name="CHK_autopan.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 17</value>
</data>
<data name="CHK_autopan.TabIndex" type="System.Int32, mscorlib">
<value>68</value>
</data>
<data name="CHK_autopan.Text" xml:space="preserve">
<value>Auto Pan</value>
</data>
<data name="CHK_autopan.ToolTip" xml:space="preserve">
<value>Makes the map autopan based on current location</value>
</data>
<data name="&gt;&gt;CHK_autopan.Name" xml:space="preserve">
<value>CHK_autopan</value>
</data>
<data name="&gt;&gt;CHK_autopan.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CHK_autopan.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CHK_autopan.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="CB_tuning.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="CB_tuning.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="CB_tuning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CB_tuning.Location" type="System.Drawing.Point, System.Drawing">
<value>260, 10</value>
</data>
<data name="CB_tuning.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 17</value>
</data>
<data name="CB_tuning.TabIndex" type="System.Int32, mscorlib">
<value>62</value>
</data>
<data name="CB_tuning.Text" xml:space="preserve">
<value>Tuning</value>
</data>
<data name="CB_tuning.ToolTip" xml:space="preserve">
<value>Show the tunning graph, chowing target attitudes vs actual</value>
</data>
<data name="&gt;&gt;CB_tuning.Name" xml:space="preserve">
<value>CB_tuning</value>
</data>
<data name="&gt;&gt;CB_tuning.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CB_tuning.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CB_tuning.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>1, 428</value>
</data>
<data name="panel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>583, 30</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableMap</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableMap.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
@ -1649,7 +1679,7 @@
<value>0</value>
</data>
<data name="tableMap.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="panel2" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,100,Absolute,30" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="splitContainer1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="panel1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,100,Absolute,30,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="&gt;&gt;MainH.Panel2.Name" xml:space="preserve">
<value>MainH.Panel2</value>

View File

@ -277,7 +277,7 @@ namespace ArdupilotMega.GCSViews
cell = Commands.Rows[selectedrow].Cells[1] as DataGridViewTextBoxCell;
cell.Value = 0;
}
if (Commands.Columns[Param2.Index].HeaderText.Equals(cmdParamNames[MAVLink.MAV_CMD.WAYPOINT][1]/*"Alt"*/))
if (alt != -1 && Commands.Columns[Param2.Index].HeaderText.Equals(cmdParamNames[MAVLink.MAV_CMD.WAYPOINT][1]/*"Alt"*/))
{
cell = Commands.Rows[selectedrow].Cells[2] as DataGridViewTextBoxCell;
@ -1719,7 +1719,7 @@ namespace ArdupilotMega.GCSViews
}
else
{
callMeDrag(CurentRectMarker.InnerMarker.Tag.ToString(), currentMarker.Position.Lat, currentMarker.Position.Lng, 0);
callMeDrag(CurentRectMarker.InnerMarker.Tag.ToString(), currentMarker.Position.Lat, currentMarker.Position.Lng, -1);
}
CurentRectMarker = null;
}

View File

@ -66,10 +66,10 @@ namespace ArdupilotMega
GCSViews.FlightData FlightData;
GCSViews.FlightPlanner FlightPlanner;
//GCSViews.Configuration Configuration;
GCSViews.Configuration Configuration;
GCSViews.Simulation Simulation;
GCSViews.Firmware Firmware;
//GCSViews.Terminal Terminal;
GCSViews.Terminal Terminal;
public MainV2()
{
@ -221,6 +221,22 @@ namespace ArdupilotMega
splash.Close();
}
internal void ScreenShot()
{
Rectangle bounds = Screen.GetBounds(Point.Empty);
using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
}
string name = "ss" + DateTime.Now.ToString("hhmmss") + ".jpg";
bitmap.Save(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + name, System.Drawing.Imaging.ImageFormat.Jpeg);
MessageBox.Show("Screenshot saved to " + name);
}
}
private void CMB_serialport_Click(object sender, EventArgs e)
{
string oldport = CMB_serialport.Text;
@ -456,7 +472,19 @@ namespace ArdupilotMega
GCSViews.Terminal.threadrun = false;
UserControl temp = new GCSViews.Configuration();
// dispose of old else memory leak
if (Configuration != null)
{
try
{
Configuration.Dispose();
}
catch { }
}
Configuration = new GCSViews.Configuration();
UserControl temp = Configuration;
temp.SuspendLayout();
@ -633,6 +661,8 @@ namespace ArdupilotMega
cs.firmware = APMFirmware;
config[CMB_serialport.Text + "_BAUD"] = CMB_baudrate.Text;
if (config["loadwpsonconnect"] != null && bool.Parse(config["loadwpsonconnect"].ToString()) == true)
{
MenuFlightPlanner_Click(null, null);
@ -697,6 +727,9 @@ namespace ArdupilotMega
try
{
comPort.BaseStream.PortName = CMB_serialport.Text;
if (config[CMB_serialport.Text + "_BAUD"] != null)
CMB_baudrate.Text = config[CMB_serialport.Text + "_BAUD"].ToString();
}
catch { }
}
@ -1557,6 +1590,11 @@ namespace ArdupilotMega
frm.Show();
return true;
}
if (keyData == (Keys.Control | Keys.S))
{
ScreenShot();
return true;
}
if (keyData == (Keys.Control | Keys.G)) // test
{
Form frm = new SerialOutput();

View File

@ -137,7 +137,7 @@ namespace ArdupilotMega
flyto.Duration = (cs.datetime - lasttime).TotalMilliseconds / 1000.0;
flyto.Mode = FlyToMode.Smooth;
Camera cam = new Camera();
SharpKml.Dom.Camera cam = new SharpKml.Dom.Camera();
cam.AltitudeMode = SharpKml.Dom.AltitudeMode.Absolute;
cam.Latitude = cs.lat;
cam.Longitude = cs.lng;

View File

@ -24,6 +24,7 @@ namespace ArdupilotMega
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Camera());
Application.Run(new MainV2());
}

View File

@ -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.85")]
[assembly: AssemblyFileVersion("1.0.86")]
[assembly: NeutralResourcesLanguageAttribute("")]

View File

@ -53,7 +53,7 @@
<StartupObject />
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<SignAssembly>false</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>mykey.pfx</AssemblyOriginatorKeyFile>

View File

@ -11,7 +11,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>3zgu5RT0ve/+QDoK+mKvNj+a14k=</dsig:DigestValue>
<dsig:DigestValue>FgyYFBDKA+EmX+ZazsEdbI/ME7o=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

View File

@ -134,7 +134,7 @@
<value>Point Camera Here</value>
</data>
<data name="contextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>175, 70</value>
<value>175, 48</value>
</data>
<data name="&gt;&gt;contextMenuStrip1.Name" xml:space="preserve">
<value>contextMenuStrip1</value>
@ -1083,290 +1083,68 @@
<data name="MainH.Panel1MinSize" type="System.Int32, mscorlib">
<value>360</value>
</data>
<data name="tableMap.CellBorderStyle" type="System.Windows.Forms.TableLayoutPanelCellBorderStyle, System.Windows.Forms">
<value>Single</value>
</data>
<data name="tableMap.ColumnCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="TXT_lat.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_lat.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_lat.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 10</value>
</data>
<data name="TXT_lat.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 13</value>
</data>
<data name="TXT_lat.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="TXT_lat.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_lat.Name" xml:space="preserve">
<value>TXT_lat</value>
</data>
<data name="&gt;&gt;TXT_lat.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_lat.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_lat.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="Zoomlevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="Zoomlevel.Location" type="System.Drawing.Point, System.Drawing">
<value>438, 7</value>
</data>
<data name="Zoomlevel.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 20</value>
</data>
<data name="Zoomlevel.TabIndex" type="System.Int32, mscorlib">
<value>69</value>
</data>
<data name="Zoomlevel.ToolTip" xml:space="preserve">
<value>Change Zoom Level</value>
</data>
<data name="&gt;&gt;Zoomlevel.Name" xml:space="preserve">
<value>Zoomlevel</value>
</data>
<data name="&gt;&gt;Zoomlevel.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Zoomlevel.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;Zoomlevel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>401, 10</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>70</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Zoom</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="TXT_long.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_long.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_long.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 10</value>
</data>
<data name="TXT_long.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 13</value>
</data>
<data name="TXT_long.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="TXT_long.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_long.Name" xml:space="preserve">
<value>TXT_long</value>
</data>
<data name="&gt;&gt;TXT_long.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_long.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_long.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="TXT_alt.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_alt.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_alt.Location" type="System.Drawing.Point, System.Drawing">
<value>190, 10</value>
</data>
<data name="TXT_alt.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 13</value>
</data>
<data name="TXT_alt.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="TXT_alt.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_alt.Name" xml:space="preserve">
<value>TXT_alt</value>
</data>
<data name="&gt;&gt;TXT_alt.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_alt.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_alt.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="CHK_autopan.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="CHK_autopan.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="CHK_autopan.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CHK_autopan.Location" type="System.Drawing.Point, System.Drawing">
<value>325, 10</value>
</data>
<data name="CHK_autopan.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 17</value>
</data>
<data name="CHK_autopan.TabIndex" type="System.Int32, mscorlib">
<value>68</value>
</data>
<data name="CHK_autopan.Text" xml:space="preserve">
<value>Auto Pan</value>
</data>
<data name="CHK_autopan.ToolTip" xml:space="preserve">
<value>Makes the map autopan based on current location</value>
</data>
<data name="&gt;&gt;CHK_autopan.Name" xml:space="preserve">
<value>CHK_autopan</value>
</data>
<data name="&gt;&gt;CHK_autopan.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CHK_autopan.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CHK_autopan.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="CB_tuning.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="CB_tuning.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="CB_tuning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CB_tuning.Location" type="System.Drawing.Point, System.Drawing">
<value>260, 9</value>
</data>
<data name="CB_tuning.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 17</value>
</data>
<data name="CB_tuning.TabIndex" type="System.Int32, mscorlib">
<value>62</value>
</data>
<data name="CB_tuning.Text" xml:space="preserve">
<value>Tuning</value>
</data>
<data name="CB_tuning.ToolTip" xml:space="preserve">
<value>Show the tunning graph, chowing target attitudes vs actual</value>
</data>
<data name="&gt;&gt;CB_tuning.Name" xml:space="preserve">
<value>CB_tuning</value>
</data>
<data name="&gt;&gt;CB_tuning.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CB_tuning.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CB_tuning.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 429</value>
<data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 4</value>
</data>
<data name="panel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
<data name="splitContainer1.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
<value>Horizontal</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>585, 30</value>
<data name="zg1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<data name="zg1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="zg1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="zg1.Size" type="System.Drawing.Size, System.Drawing">
<value>577, 210</value>
</data>
<data name="zg1.TabIndex" type="System.Int32, mscorlib">
<value>67</value>
</data>
<data name="zg1.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;zg1.Name" xml:space="preserve">
<value>zg1</value>
</data>
<data name="&gt;&gt;zg1.Type" xml:space="preserve">
<value>ZedGraph.ZedGraphControl, ZedGraph, Version=5.1.2.878, Culture=neutral, PublicKeyToken=02a83cbd123fcd60</value>
</data>
<data name="&gt;&gt;zg1.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;zg1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
<data name="&gt;&gt;splitContainer1.Panel1.Name" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;splitContainer1.Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableMap</value>
<data name="&gt;&gt;splitContainer1.Panel1.Parent" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lbl_windvel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbl_windvel.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 21</value>
</data>
<data name="lbl_windvel.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="lbl_windvel.TabIndex" type="System.Int32, mscorlib">
<value>69</value>
</data>
<data name="lbl_windvel.Text" xml:space="preserve">
<value>Vel: 0</value>
</data>
<data name="lbl_windvel.ToolTip" xml:space="preserve">
<value>Estimated Wind Velocity</value>
</data>
<data name="&gt;&gt;lbl_windvel.Name" xml:space="preserve">
<value>lbl_windvel</value>
</data>
<data name="&gt;&gt;lbl_windvel.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;lbl_windvel.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;lbl_windvel.ZOrder" xml:space="preserve">
<data name="&gt;&gt;splitContainer1.Panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lbl_winddir.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbl_winddir.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 8</value>
<value>4, 7</value>
</data>
<data name="lbl_winddir.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 13</value>
@ -1387,9 +1165,39 @@
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;lbl_winddir.Parent" xml:space="preserve">
<value>panel2</value>
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;lbl_winddir.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lbl_windvel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbl_windvel.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 20</value>
</data>
<data name="lbl_windvel.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="lbl_windvel.TabIndex" type="System.Int32, mscorlib">
<value>69</value>
</data>
<data name="lbl_windvel.Text" xml:space="preserve">
<value>Vel: 0</value>
</data>
<data name="lbl_windvel.ToolTip" xml:space="preserve">
<value>Estimated Wind Velocity</value>
</data>
<data name="&gt;&gt;lbl_windvel.Name" xml:space="preserve">
<value>lbl_windvel</value>
</data>
<data name="&gt;&gt;lbl_windvel.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;lbl_windvel.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;lbl_windvel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="gMapControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
@ -1402,7 +1210,7 @@
<value>0, 0, 0, 0</value>
</data>
<data name="gMapControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>585, 429</value>
<value>577, 420</value>
</data>
<data name="gMapControl1.streamjpg" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
@ -1559,66 +1367,288 @@
<value>GMap.NET.WindowsForms.GMapControl, GMap.NET.WindowsForms, Version=1.5.5.5, Culture=neutral, PublicKeyToken=b85b9027b614afef</value>
</data>
<data name="&gt;&gt;gMapControl1.Parent" xml:space="preserve">
<value>panel2</value>
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;gMapControl1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="zg1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
<data name="&gt;&gt;splitContainer1.Panel2.Name" xml:space="preserve">
<value>splitContainer1.Panel2</value>
</data>
<data name="zg1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
<data name="&gt;&gt;splitContainer1.Panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="zg1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
<data name="&gt;&gt;splitContainer1.Panel2.Parent" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="zg1.Size" type="System.Drawing.Size, System.Drawing">
<value>585, 429</value>
</data>
<data name="zg1.TabIndex" type="System.Int32, mscorlib">
<value>67</value>
</data>
<data name="zg1.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;zg1.Name" xml:space="preserve">
<value>zg1</value>
</data>
<data name="&gt;&gt;zg1.Type" xml:space="preserve">
<value>ZedGraph.ZedGraphControl, ZedGraph, Version=5.1.2.878, Culture=neutral, PublicKeyToken=02a83cbd123fcd60</value>
</data>
<data name="&gt;&gt;zg1.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;zg1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="panel2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>585, 429</value>
</data>
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
<data name="&gt;&gt;splitContainer1.Panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;panel2.Name" xml:space="preserve">
<value>panel2</value>
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>577, 420</value>
</data>
<data name="&gt;&gt;panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>210</value>
</data>
<data name="&gt;&gt;panel2.Parent" xml:space="preserve">
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>76</value>
</data>
<data name="&gt;&gt;splitContainer1.Name" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer1.Parent" xml:space="preserve">
<value>tableMap</value>
</data>
<data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<data name="&gt;&gt;splitContainer1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="TXT_lat.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_lat.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_lat.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 11</value>
</data>
<data name="TXT_lat.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 13</value>
</data>
<data name="TXT_lat.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="TXT_lat.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_lat.Name" xml:space="preserve">
<value>TXT_lat</value>
</data>
<data name="&gt;&gt;TXT_lat.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_lat.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_lat.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="Zoomlevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="Zoomlevel.Location" type="System.Drawing.Point, System.Drawing">
<value>438, 8</value>
</data>
<data name="Zoomlevel.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 20</value>
</data>
<data name="Zoomlevel.TabIndex" type="System.Int32, mscorlib">
<value>69</value>
</data>
<data name="Zoomlevel.ToolTip" xml:space="preserve">
<value>Change Zoom Level</value>
</data>
<data name="&gt;&gt;Zoomlevel.Name" xml:space="preserve">
<value>Zoomlevel</value>
</data>
<data name="&gt;&gt;Zoomlevel.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Zoomlevel.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;Zoomlevel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>401, 11</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>70</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Zoom</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="TXT_long.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_long.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_long.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 11</value>
</data>
<data name="TXT_long.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 13</value>
</data>
<data name="TXT_long.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="TXT_long.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_long.Name" xml:space="preserve">
<value>TXT_long</value>
</data>
<data name="&gt;&gt;TXT_long.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_long.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_long.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="TXT_alt.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="TXT_alt.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="TXT_alt.Location" type="System.Drawing.Point, System.Drawing">
<value>190, 11</value>
</data>
<data name="TXT_alt.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 13</value>
</data>
<data name="TXT_alt.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="TXT_alt.Text" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;TXT_alt.Name" xml:space="preserve">
<value>TXT_alt</value>
</data>
<data name="&gt;&gt;TXT_alt.Type" xml:space="preserve">
<value>ArdupilotMega.MyLabel, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c</value>
</data>
<data name="&gt;&gt;TXT_alt.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;TXT_alt.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="CHK_autopan.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="CHK_autopan.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="CHK_autopan.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CHK_autopan.Location" type="System.Drawing.Point, System.Drawing">
<value>325, 11</value>
</data>
<data name="CHK_autopan.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 17</value>
</data>
<data name="CHK_autopan.TabIndex" type="System.Int32, mscorlib">
<value>68</value>
</data>
<data name="CHK_autopan.Text" xml:space="preserve">
<value>Auto Pan</value>
</data>
<data name="CHK_autopan.ToolTip" xml:space="preserve">
<value>Makes the map autopan based on current location</value>
</data>
<data name="&gt;&gt;CHK_autopan.Name" xml:space="preserve">
<value>CHK_autopan</value>
</data>
<data name="&gt;&gt;CHK_autopan.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CHK_autopan.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CHK_autopan.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="CB_tuning.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="CB_tuning.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="CB_tuning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CB_tuning.Location" type="System.Drawing.Point, System.Drawing">
<value>260, 10</value>
</data>
<data name="CB_tuning.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 17</value>
</data>
<data name="CB_tuning.TabIndex" type="System.Int32, mscorlib">
<value>62</value>
</data>
<data name="CB_tuning.Text" xml:space="preserve">
<value>Tuning</value>
</data>
<data name="CB_tuning.ToolTip" xml:space="preserve">
<value>Show the tunning graph, chowing target attitudes vs actual</value>
</data>
<data name="&gt;&gt;CB_tuning.Name" xml:space="preserve">
<value>CB_tuning</value>
</data>
<data name="&gt;&gt;CB_tuning.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CB_tuning.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CB_tuning.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>1, 428</value>
</data>
<data name="panel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>583, 30</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableMap</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableMap.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
@ -1649,7 +1679,7 @@
<value>0</value>
</data>
<data name="tableMap.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="panel2" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,100,Absolute,30" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="splitContainer1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="panel1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,100,Absolute,30,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="&gt;&gt;MainH.Panel2.Name" xml:space="preserve">
<value>MainH.Panel2</value>