APM Planner 1.1.89

add mjpeg video source
add 16x9 hud
conform to http/1.1 specs for mjpeg
This commit is contained in:
Michael Oborne 2012-05-29 21:25:44 +08:00
parent 9d92602188
commit a31543e547
16 changed files with 565 additions and 188 deletions

View File

@ -277,6 +277,7 @@
<DependentUpon>ConfigArdurover.cs</DependentUpon>
</Compile>
<Compile Include="Mavlink\IMAVLink.cs" />
<Compile Include="Utilities\CaptureMJPEG.cs" />
<Compile Include="Utilities\CollectionExtensions.cs" />
<Compile Include="Utilities\ParameterMetaDataConstants.cs" />
<Compile Include="Controls\BackstageView\BackstageView.cs">

View File

@ -429,6 +429,40 @@ namespace ArdupilotMega
knots
}
public enum ap_product
{
[DisplayText("HIL")]
AP_PRODUCT_ID_NONE = 0x00, // Hardware in the loop
[DisplayText("APM1 1280")]
AP_PRODUCT_ID_APM1_1280 = 0x01,// APM1 with 1280 CPUs
[DisplayText("APM1 2560")]
AP_PRODUCT_ID_APM1_2560 = 0x02,// APM1 with 2560 CPUs
[DisplayText("SITL")]
AP_PRODUCT_ID_SITL = 0x03,// Software in the loop
[DisplayText("APM2 ES C4")]
AP_PRODUCT_ID_APM2ES_REV_C4 = 0x14,// APM2 with MPU6000ES_REV_C4
[DisplayText("APM2 ES C5")]
AP_PRODUCT_ID_APM2ES_REV_C5 = 0x15, // APM2 with MPU6000ES_REV_C5
[DisplayText("APM2 ES D6")]
AP_PRODUCT_ID_APM2ES_REV_D6 = 0x16, // APM2 with MPU6000ES_REV_D6
[DisplayText("APM2 ES D7")]
AP_PRODUCT_ID_APM2ES_REV_D7 = 0x17, // APM2 with MPU6000ES_REV_D7
[DisplayText("APM2 ES D8")]
AP_PRODUCT_ID_APM2ES_REV_D8 = 0x18, // APM2 with MPU6000ES_REV_D8
[DisplayText("APM2 C4")]
AP_PRODUCT_ID_APM2_REV_C4 = 0x54,// APM2 with MPU6000_REV_C4
[DisplayText("APM2 C5")]
AP_PRODUCT_ID_APM2_REV_C5 = 0x55, // APM2 with MPU6000_REV_C5
[DisplayText("APM2 D6")]
AP_PRODUCT_ID_APM2_REV_D6 = 0x56, // APM2 with MPU6000_REV_D6
[DisplayText("APM2 D7")]
AP_PRODUCT_ID_APM2_REV_D7 = 0x57, // APM2 with MPU6000_REV_D7
[DisplayText("APM2 D8")]
AP_PRODUCT_ID_APM2_REV_D8 = 0x58, // APM2 with MPU6000_REV_D8
[DisplayText("APM2 D9")]
AP_PRODUCT_ID_APM2_REV_D9 = 0x59 // APM2 with MPU6000_REV_D9
}
public enum apmmodes
{
[DisplayText("Manual")]

View File

@ -158,6 +158,7 @@ namespace ArdupilotMega.Controls
public bool bgon = true;
public bool hudon = true;
public bool batteryon = true;
[System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")]
public Color hudcolor { get { return whitePen.Color; } set { whitePen = new Pen(value, 2); } }
@ -1311,13 +1312,14 @@ namespace ArdupilotMega.Controls
// battery
if (batteryon)
{
graphicsObject.ResetTransform();
drawstring(graphicsObject, "Bat", font, fontsize + 2, whiteBrush, fontsize, this.Height - 30 - fontoffset);
drawstring(graphicsObject, _batterylevel.ToString("0.00v"), font, fontsize + 2, whiteBrush, fontsize * 4, this.Height - 30 - fontoffset);
drawstring(graphicsObject, _batteryremaining.ToString("0%"), font, fontsize + 2, whiteBrush, fontsize * 9, this.Height - 30 - fontoffset);
}
// gps
string gps = "";

View File

@ -25,6 +25,9 @@ namespace ArdupilotMega.Controls
double step = 1 / 1200.0;
// image zoom level
int zoom = 11;
RectLatLng area = new RectLatLng(-35.04286,117.84262,0.1,0.1);
double _alt = 0;
@ -65,7 +68,7 @@ namespace ArdupilotMega.Controls
int maxZoom;
GMaps.Instance.AdjustProjection(type, ref prj, out maxZoom);
int zoom = 11; // 12
//int zoom = 14; // 12
if (!area.IsEmpty)
{
try
@ -85,6 +88,8 @@ namespace ArdupilotMega.Controls
GPoint rightButtomPx = prj.FromLatLngToPixel(area.Bottom, area.Right, zoom);
GPoint pxDelta = new GPoint(rightButtomPx.X - topLeftPx.X, rightButtomPx.Y - topLeftPx.Y);
DateTime startimage = DateTime.Now;
int padding = 0;
{
using (Bitmap bmpDestination = new Bitmap(pxDelta.X + padding * 2, pxDelta.Y + padding * 2))
@ -96,7 +101,7 @@ namespace ArdupilotMega.Controls
// get tiles & combine into one
foreach (var p in tileArea)
{
//Console.WriteLine("Downloading[" + p + "]: " + tileArea.IndexOf(p) + " of " + tileArea.Count);
Console.WriteLine("Downloading[" + p + "]: " + tileArea.IndexOf(p) + " of " + tileArea.Count);
foreach (MapType tp in types)
{
@ -114,6 +119,8 @@ namespace ArdupilotMega.Controls
}
}
}
if ((DateTime.Now - startimage).TotalMilliseconds > 200)
break;
}
}
_terrain = new Bitmap(bmpDestination, 512, 512);
@ -137,6 +144,14 @@ namespace ArdupilotMega.Controls
}
}
if ((DateTime.Now - startimage).TotalMilliseconds > 200)
{
zoom--;
}
else
{
//zoom++;
}
}
catch { }
}

View File

@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigBatteryMonitoring));
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.label31 = new System.Windows.Forms.Label();
@ -48,6 +49,7 @@
this.TXT_battcapacity = new System.Windows.Forms.TextBox();
this.CMB_batmontype = new System.Windows.Forms.ComboBox();
this.pictureBox5 = new System.Windows.Forms.PictureBox();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.groupBox4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit();
this.SuspendLayout();
@ -182,6 +184,12 @@
this.pictureBox5.Name = "pictureBox5";
this.pictureBox5.TabStop = false;
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// ConfigBatteryMonitoring
//
resources.ApplyResources(this, "$this");
@ -226,5 +234,6 @@
private System.Windows.Forms.TextBox TXT_battcapacity;
private System.Windows.Forms.ComboBox CMB_batmontype;
private System.Windows.Forms.PictureBox pictureBox5;
private System.Windows.Forms.Timer timer1;
}
}

View File

@ -359,5 +359,10 @@ namespace ArdupilotMega.GCSViews.ConfigurationView
return -1;
}
private void timer1_Tick(object sender, EventArgs e)
{
TXT_voltage.Text = MainV2.cs.battery_voltage.ToString();
}
}
}

View File

@ -117,7 +117,152 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="&gt;&gt;label31.Name" xml:space="preserve">
<value>label31</value>
</data>
<data name="&gt;&gt;label31.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label31.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;label31.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;label32.Name" xml:space="preserve">
<value>label32</value>
</data>
<data name="&gt;&gt;label32.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label32.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;label32.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;label33.Name" xml:space="preserve">
<value>label33</value>
</data>
<data name="&gt;&gt;label33.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label33.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;label33.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;TXT_ampspervolt.Name" xml:space="preserve">
<value>TXT_ampspervolt</value>
</data>
<data name="&gt;&gt;TXT_ampspervolt.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TXT_ampspervolt.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;TXT_ampspervolt.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;label34.Name" xml:space="preserve">
<value>label34</value>
</data>
<data name="&gt;&gt;label34.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label34.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;label34.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;TXT_divider.Name" xml:space="preserve">
<value>TXT_divider</value>
</data>
<data name="&gt;&gt;TXT_divider.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TXT_divider.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;TXT_divider.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;label35.Name" xml:space="preserve">
<value>label35</value>
</data>
<data name="&gt;&gt;label35.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label35.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;label35.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;TXT_voltage.Name" xml:space="preserve">
<value>TXT_voltage</value>
</data>
<data name="&gt;&gt;TXT_voltage.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TXT_voltage.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;TXT_voltage.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="&gt;&gt;TXT_inputvoltage.Name" xml:space="preserve">
<value>TXT_inputvoltage</value>
</data>
<data name="&gt;&gt;TXT_inputvoltage.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TXT_inputvoltage.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;TXT_inputvoltage.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="&gt;&gt;TXT_measuredvoltage.Name" xml:space="preserve">
<value>TXT_measuredvoltage</value>
</data>
<data name="&gt;&gt;TXT_measuredvoltage.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TXT_measuredvoltage.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;TXT_measuredvoltage.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 172</value>
</data>
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 131</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
<value>50</value>
</data>
<data name="groupBox4.Text" xml:space="preserve">
<value>Calibration</value>
</data>
<data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;groupBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label31.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@ -125,7 +270,6 @@
<data name="label31.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label31.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 16</value>
</data>
@ -405,30 +549,6 @@
<data name="&gt;&gt;TXT_measuredvoltage.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 172</value>
</data>
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>238, 131</value>
</data>
<data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
<value>50</value>
</data>
<data name="groupBox4.Text" xml:space="preserve">
<value>Calibration</value>
</data>
<data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;groupBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label47.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
@ -660,6 +780,9 @@ Then subtract 0.3v from that value and enter it in field #1 at left.
<data name="&gt;&gt;pictureBox5.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -669,10 +792,16 @@ Then subtract 0.3v from that value and enter it in field #1 at left.
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>518, 322</value>
</data>
<data name="&gt;&gt;timer1.Name" xml:space="preserve">
<value>timer1</value>
</data>
<data name="&gt;&gt;timer1.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ConfigBatteryMonitoring</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>ArdupilotMega.Controls.BackstageView.BackStageViewContentPanel, ArdupilotMegaPlanner, Version=1.1.4531.12462, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -19,6 +19,8 @@
this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.recordHudToAVIToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.stopRecordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.setMJPEGSourceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.setAspectRatioToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabActions = new System.Windows.Forms.TabPage();
@ -212,7 +214,9 @@
//
this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.recordHudToAVIToolStripMenuItem,
this.stopRecordToolStripMenuItem});
this.stopRecordToolStripMenuItem,
this.setMJPEGSourceToolStripMenuItem,
this.setAspectRatioToolStripMenuItem});
this.contextMenuStrip2.Name = "contextMenuStrip2";
resources.ApplyResources(this.contextMenuStrip2, "contextMenuStrip2");
//
@ -228,6 +232,18 @@
resources.ApplyResources(this.stopRecordToolStripMenuItem, "stopRecordToolStripMenuItem");
this.stopRecordToolStripMenuItem.Click += new System.EventHandler(this.stopRecordToolStripMenuItem_Click);
//
// setMJPEGSourceToolStripMenuItem
//
this.setMJPEGSourceToolStripMenuItem.Name = "setMJPEGSourceToolStripMenuItem";
resources.ApplyResources(this.setMJPEGSourceToolStripMenuItem, "setMJPEGSourceToolStripMenuItem");
this.setMJPEGSourceToolStripMenuItem.Click += new System.EventHandler(this.setMJPEGSourceToolStripMenuItem_Click);
//
// setAspectRatioToolStripMenuItem
//
this.setAspectRatioToolStripMenuItem.Name = "setAspectRatioToolStripMenuItem";
resources.ApplyResources(this.setAspectRatioToolStripMenuItem, "setAspectRatioToolStripMenuItem");
this.setAspectRatioToolStripMenuItem.Click += new System.EventHandler(this.setAspectRatioToolStripMenuItem_Click);
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(ArdupilotMega.CurrentState);
@ -1229,5 +1245,7 @@
private ArdupilotMega.Controls.MyLabel lbl_sats;
private Controls.HSI Gheading;
private Controls.MyLabel lbl_playbackspeed;
private System.Windows.Forms.ToolStripMenuItem setMJPEGSourceToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem setAspectRatioToolStripMenuItem;
}
}

View File

@ -1863,5 +1863,32 @@ print 'Roll complete'
LogPlayBackSpeed = NUM_playbackspeed.Value;
lbl_playbackspeed.Text = "x " + LogPlayBackSpeed;
}
private void setMJPEGSourceToolStripMenuItem_Click(object sender, EventArgs e)
{
string url = MainV2.config["mjpeg_url"] != null ? MainV2.config["mjpeg_url"].ToString() : @"http://127.0.0.1:56781/map.jpg";
Common.InputBox("Mjpeg url", "Enter the url to the mjpeg source url", ref url);
MainV2.config["mjpeg_url"] = url;
Utilities.CaptureMJPEG.URL = url;
Utilities.CaptureMJPEG.OnNewImage += new EventHandler(CaptureMJPEG_OnNewImage);
Utilities.CaptureMJPEG.runAsync();
}
void CaptureMJPEG_OnNewImage(object sender, EventArgs e)
{
GCSViews.FlightData.myhud.bgimage = (Image)sender;
}
private void setAspectRatioToolStripMenuItem_Click(object sender, EventArgs e)
{
hud1.SixteenXNine = !hud1.SixteenXNine;
// force a redraw
SubMainHT_Panel1_Resize(null, null);
}
}
}

View File

@ -179,8 +179,20 @@
<data name="stopRecordToolStripMenuItem.Text" xml:space="preserve">
<value>Stop Record</value>
</data>
<data name="setMJPEGSourceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>172, 22</value>
</data>
<data name="setMJPEGSourceToolStripMenuItem.Text" xml:space="preserve">
<value>Set MJPEG source</value>
</data>
<data name="setAspectRatioToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>172, 22</value>
</data>
<data name="setAspectRatioToolStripMenuItem.Text" xml:space="preserve">
<value>Set Aspect Ratio</value>
</data>
<data name="contextMenuStrip2.Size" type="System.Drawing.Size, System.Drawing">
<value>173, 48</value>
<value>173, 92</value>
</data>
<data name="&gt;&gt;contextMenuStrip2.Name" xml:space="preserve">
<value>contextMenuStrip2</value>
@ -208,7 +220,7 @@
<value>hud1</value>
</data>
<data name="&gt;&gt;hud1.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.HUD, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.HUD, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;hud1.Parent" xml:space="preserve">
<value>SubMainLeft.Panel1</value>
@ -247,7 +259,7 @@
<value>BUT_script</value>
</data>
<data name="&gt;&gt;BUT_script.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_script.Parent" xml:space="preserve">
<value>tabActions</value>
@ -280,7 +292,7 @@
<value>BUT_joystick</value>
</data>
<data name="&gt;&gt;BUT_joystick.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_joystick.Parent" xml:space="preserve">
<value>tabActions</value>
@ -310,7 +322,7 @@
<value>BUT_quickmanual</value>
</data>
<data name="&gt;&gt;BUT_quickmanual.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_quickmanual.Parent" xml:space="preserve">
<value>tabActions</value>
@ -340,7 +352,7 @@
<value>BUT_quickrtl</value>
</data>
<data name="&gt;&gt;BUT_quickrtl.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_quickrtl.Parent" xml:space="preserve">
<value>tabActions</value>
@ -370,7 +382,7 @@
<value>BUT_quickauto</value>
</data>
<data name="&gt;&gt;BUT_quickauto.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_quickauto.Parent" xml:space="preserve">
<value>tabActions</value>
@ -424,7 +436,7 @@
<value>BUT_setwp</value>
</data>
<data name="&gt;&gt;BUT_setwp.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_setwp.Parent" xml:space="preserve">
<value>tabActions</value>
@ -475,7 +487,7 @@
<value>BUT_setmode</value>
</data>
<data name="&gt;&gt;BUT_setmode.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_setmode.Parent" xml:space="preserve">
<value>tabActions</value>
@ -505,7 +517,7 @@
<value>BUT_clear_track</value>
</data>
<data name="&gt;&gt;BUT_clear_track.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_clear_track.Parent" xml:space="preserve">
<value>tabActions</value>
@ -556,7 +568,7 @@
<value>BUT_Homealt</value>
</data>
<data name="&gt;&gt;BUT_Homealt.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_Homealt.Parent" xml:space="preserve">
<value>tabActions</value>
@ -586,7 +598,7 @@
<value>BUT_RAWSensor</value>
</data>
<data name="&gt;&gt;BUT_RAWSensor.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_RAWSensor.Parent" xml:space="preserve">
<value>tabActions</value>
@ -616,7 +628,7 @@
<value>BUTrestartmission</value>
</data>
<data name="&gt;&gt;BUTrestartmission.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUTrestartmission.Parent" xml:space="preserve">
<value>tabActions</value>
@ -646,7 +658,7 @@
<value>BUTactiondo</value>
</data>
<data name="&gt;&gt;BUTactiondo.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUTactiondo.Parent" xml:space="preserve">
<value>tabActions</value>
@ -700,7 +712,7 @@
<value>Gvspeed</value>
</data>
<data name="&gt;&gt;Gvspeed.Type" xml:space="preserve">
<value>AGaugeApp.AGauge, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>AGaugeApp.AGauge, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;Gvspeed.Parent" xml:space="preserve">
<value>tabGauges</value>
@ -730,7 +742,7 @@
<value>Gheading</value>
</data>
<data name="&gt;&gt;Gheading.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.HSI, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.HSI, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;Gheading.Parent" xml:space="preserve">
<value>tabGauges</value>
@ -760,7 +772,7 @@
<value>Galt</value>
</data>
<data name="&gt;&gt;Galt.Type" xml:space="preserve">
<value>AGaugeApp.AGauge, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>AGaugeApp.AGauge, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;Galt.Parent" xml:space="preserve">
<value>tabGauges</value>
@ -793,7 +805,7 @@
<value>Gspeed</value>
</data>
<data name="&gt;&gt;Gspeed.Type" xml:space="preserve">
<value>AGaugeApp.AGauge, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>AGaugeApp.AGauge, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;Gspeed.Parent" xml:space="preserve">
<value>tabGauges</value>
@ -877,7 +889,7 @@
<value>lbl_playbackspeed</value>
</data>
<data name="&gt;&gt;lbl_playbackspeed.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lbl_playbackspeed.Parent" xml:space="preserve">
<value>tabTLogs</value>
@ -904,7 +916,7 @@
<value>lbl_logpercent</value>
</data>
<data name="&gt;&gt;lbl_logpercent.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lbl_logpercent.Parent" xml:space="preserve">
<value>tabTLogs</value>
@ -931,7 +943,7 @@
<value>NUM_playbackspeed</value>
</data>
<data name="&gt;&gt;NUM_playbackspeed.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyTrackBar, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyTrackBar, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;NUM_playbackspeed.Parent" xml:space="preserve">
<value>tabTLogs</value>
@ -958,7 +970,7 @@
<value>BUT_log2kml</value>
</data>
<data name="&gt;&gt;BUT_log2kml.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_log2kml.Parent" xml:space="preserve">
<value>tabTLogs</value>
@ -1012,7 +1024,7 @@
<value>BUT_playlog</value>
</data>
<data name="&gt;&gt;BUT_playlog.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_playlog.Parent" xml:space="preserve">
<value>tabTLogs</value>
@ -1039,7 +1051,7 @@
<value>BUT_loadtelem</value>
</data>
<data name="&gt;&gt;BUT_loadtelem.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;BUT_loadtelem.Parent" xml:space="preserve">
<value>tabTLogs</value>
@ -1228,7 +1240,7 @@
<value>lbl_hdop</value>
</data>
<data name="&gt;&gt;lbl_hdop.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lbl_hdop.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
@ -1261,7 +1273,7 @@
<value>lbl_sats</value>
</data>
<data name="&gt;&gt;lbl_sats.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lbl_sats.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
@ -1291,7 +1303,7 @@
<value>lbl_winddir</value>
</data>
<data name="&gt;&gt;lbl_winddir.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lbl_winddir.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
@ -1321,7 +1333,7 @@
<value>lbl_windvel</value>
</data>
<data name="&gt;&gt;lbl_windvel.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lbl_windvel.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
@ -1493,7 +1505,7 @@
<value>gMapControl1</value>
</data>
<data name="&gt;&gt;gMapControl1.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.myGMAP, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.myGMAP, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;gMapControl1.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
@ -1556,7 +1568,7 @@
<value>TXT_lat</value>
</data>
<data name="&gt;&gt;TXT_lat.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;TXT_lat.Parent" xml:space="preserve">
<value>panel1</value>
@ -1613,7 +1625,7 @@
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panel1</value>
@ -1643,7 +1655,7 @@
<value>TXT_long</value>
</data>
<data name="&gt;&gt;TXT_long.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;TXT_long.Parent" xml:space="preserve">
<value>panel1</value>
@ -1673,7 +1685,7 @@
<value>TXT_alt</value>
</data>
<data name="&gt;&gt;TXT_alt.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;TXT_alt.Parent" xml:space="preserve">
<value>panel1</value>
@ -1874,7 +1886,7 @@
<value>label6</value>
</data>
<data name="&gt;&gt;label6.Type" xml:space="preserve">
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>ArdupilotMega.Controls.MyLabel, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;label6.Parent" xml:space="preserve">
<value>$this</value>
@ -1918,6 +1930,18 @@
<data name="&gt;&gt;stopRecordToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;setMJPEGSourceToolStripMenuItem.Name" xml:space="preserve">
<value>setMJPEGSourceToolStripMenuItem</value>
</data>
<data name="&gt;&gt;setMJPEGSourceToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;setAspectRatioToolStripMenuItem.Name" xml:space="preserve">
<value>setAspectRatioToolStripMenuItem</value>
</data>
<data name="&gt;&gt;setAspectRatioToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;bindingSource1.Name" xml:space="preserve">
<value>bindingSource1</value>
</data>
@ -1952,6 +1976,6 @@
<value>FlightData</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.MyUserControl, ArdupilotMegaPlanner, Version=1.1.4523.23191, Culture=neutral, PublicKeyToken=null</value>
<value>System.Windows.Forms.MyUserControl, ArdupilotMegaPlanner, Version=1.1.4532.32583, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -1321,7 +1321,6 @@ namespace ArdupilotMega
}
}
public static String ComputeWebSocketHandshakeSecurityHash09(String secWebSocketKey)
{
const String MagicKEY = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
@ -1451,7 +1450,7 @@ namespace ArdupilotMega
}
else if (url.Contains("georefnetwork.kml"))
{
string header = "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.google-earth.kml+xml\n\n";
string header = "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.google-earth.kml+xml\r\n\r\n";
byte[] temp = asciiEncoding.GetBytes(header);
stream.Write(temp, 0, temp.Length);
@ -1463,7 +1462,7 @@ namespace ArdupilotMega
}
else if (url.Contains("network.kml"))
{
string header = "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.google-earth.kml+xml\n\n";
string header = "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.google-earth.kml+xml\r\n\r\n";
byte[] temp = asciiEncoding.GetBytes(header);
stream.Write(temp, 0, temp.Length);
@ -1549,7 +1548,7 @@ namespace ArdupilotMega
}
else if (url.Contains("block_plane_0.dae"))
{
string header = "HTTP/1.1 200 OK\r\nContent-Type: text/plain\n\n";
string header = "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\n";
byte[] temp = asciiEncoding.GetBytes(header);
stream.Write(temp, 0, temp.Length);
@ -1567,7 +1566,7 @@ namespace ArdupilotMega
}
else if (url.Contains("hud.html"))
{
string header = "HTTP/1.1 200 OK\r\nContent-Type: text/html\n\n";
string header = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n";
byte[] temp = asciiEncoding.GetBytes(header);
stream.Write(temp, 0, temp.Length);
@ -1585,7 +1584,7 @@ namespace ArdupilotMega
}
else if (url.ToLower().Contains("hud.jpg") || url.ToLower().Contains("map.jpg") || url.ToLower().Contains("both.jpg"))
{
string header = "HTTP/1.1 200 OK\r\nContent-Type: multipart/x-mixed-replace;boundary=APMPLANNER\n\n--APMPLANNER\r\n";
string header = "HTTP/1.1 200 OK\r\nContent-Type: multipart/x-mixed-replace;boundary=APMPLANNER\r\n\r\n--APMPLANNER\r\n";
byte[] temp = asciiEncoding.GetBytes(header);
stream.Write(temp, 0, temp.Length);

View File

@ -4,21 +4,3 @@ wix.exe ..\bin\release\
pause
del installer.wixobj
"%wix%\bin\candle" installer.wxs -ext WiXNetFxExtension -ext WixDifxAppExtension -ext WixUIExtension.dll -ext WixUtilExtension
"%wix%\bin\light" installer.wixobj "%wix%\bin\difxapp_x86.wixlib" -o MissionPlanner32.msi -ext WiXNetFxExtension -ext WixDifxAppExtension -ext WixUIExtension.dll -ext WixUtilExtension
"%wix%\bin\light" installer.wixobj "%wix%\bin\difxapp_x64.wixlib" -o MissionPlanner64.msi -ext WiXNetFxExtension -ext WixDifxAppExtension -ext WixUIExtension.dll -ext WixUtilExtension
"C:\Program Files\7-Zip\7z.exe" a -tzip "Mission Planner.zip" ..\bin\release\*
pause
rem googlecode_upload.py -s "Mission Planner installer (32-bit)" -p ardupilot-mega -u meee146 MissionPlanner32.msi
rem googlecode_upload.py -s "Mission Planner installer (64-bit)" -p ardupilot-mega -u meee146 MissionPlanner64.msi

View File

@ -2,14 +2,14 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:difx="http://schemas.microsoft.com/wix/DifxAppExtension">
<Product Id="*" Name="APM Planner" Language="1033" Version="1.1.87" Manufacturer="Michael Oborne" UpgradeCode="{625389D7-EB3C-4d77-A5F6-A285CF99437D}">
<Product Id="*" Name="APM Planner" Language="1033" Version="1.1.88" Manufacturer="Michael Oborne" UpgradeCode="{625389D7-EB3C-4d77-A5F6-A285CF99437D}">
<Package Description="APM Planner Installer" Comments="Apm Planner Installer" Manufacturer="Michael Oborne" InstallerVersion="200" Compressed="yes" />
<Upgrade Id="{625389D7-EB3C-4d77-A5F6-A285CF99437D}">
<UpgradeVersion OnlyDetect="yes" Minimum="1.1.87" Property="NEWERVERSIONDETECTED" IncludeMinimum="no" />
<UpgradeVersion OnlyDetect="no" Maximum="1.1.87" Property="OLDERVERSIONBEINGUPGRADED" IncludeMaximum="no" />
<UpgradeVersion OnlyDetect="yes" Minimum="1.1.88" Property="NEWERVERSIONDETECTED" IncludeMinimum="no" />
<UpgradeVersion OnlyDetect="no" Maximum="1.1.88" Property="OLDERVERSIONBEINGUPGRADED" IncludeMaximum="no" />
</Upgrade>
<InstallExecuteSequence>
@ -31,7 +31,7 @@
<Permission User="Everyone" GenericAll="yes" />
</CreateFolder>
</Component>
<Component Id="_comp1" Guid="54739335-bce5-4628-aefc-8831aed4d310">
<Component Id="_comp1" Guid="7b772021-f9da-46e0-8c89-33d78e27a4b9">
<File Id="_2" Source="..\bin\release\.gdbinit" />
<File Id="_3" Source="..\bin\release\.gitignore" />
<File Id="_4" Source="..\bin\release\aerosim3.91.txt" />
@ -94,11 +94,11 @@
<File Id="_61" Source="..\bin\release\ZedGraph.dll" />
</Component>
<Directory Id="aircraft61" Name="aircraft">
<Component Id="_comp62" Guid="f7525abd-d2db-433b-adf1-1e6305d81ea3">
<Component Id="_comp62" Guid="a0b0aadb-89e4-4b93-bfaa-4ca305e4cea8">
<File Id="_63" Source="..\bin\release\aircraft\placeholder.txt" />
</Component>
<Directory Id="arducopter63" Name="arducopter">
<Component Id="_comp64" Guid="d6fc0ba4-748b-4e08-bd72-6d0fe313d156">
<Component Id="_comp64" Guid="fba01bf1-8e4c-4e34-89f8-40bcf0c97fb5">
<File Id="_65" Source="..\bin\release\aircraft\arducopter\arducopter-set.xml" />
<File Id="_66" Source="..\bin\release\aircraft\arducopter\arducopter.jpg" />
<File Id="_67" Source="..\bin\release\aircraft\arducopter\arducopter.xml" />
@ -109,20 +109,20 @@
<File Id="_72" Source="..\bin\release\aircraft\arducopter\README" />
</Component>
<Directory Id="data72" Name="data">
<Component Id="_comp73" Guid="1ab11d5c-b079-4d8c-aea5-4534eee90d2a">
<Component Id="_comp73" Guid="f667fdc3-9e59-46ef-bb97-37f4998a5103">
<File Id="_74" Source="..\bin\release\aircraft\arducopter\data\arducopter_half_step.txt" />
<File Id="_75" Source="..\bin\release\aircraft\arducopter\data\arducopter_step.txt" />
<File Id="_76" Source="..\bin\release\aircraft\arducopter\data\rw_generic_pylon.ac" />
</Component>
</Directory>
<Directory Id="Engines76" Name="Engines">
<Component Id="_comp77" Guid="bb4e68be-5a52-4357-b06f-4cdc92445914">
<Component Id="_comp77" Guid="44265e1e-101e-4122-b568-99cc32cf0ae2">
<File Id="_78" Source="..\bin\release\aircraft\arducopter\Engines\a2830-12.xml" />
<File Id="_79" Source="..\bin\release\aircraft\arducopter\Engines\prop10x4.5.xml" />
</Component>
</Directory>
<Directory Id="Models79" Name="Models">
<Component Id="_comp80" Guid="db5a72b7-cd8d-401d-8495-d00ed8714363">
<Component Id="_comp80" Guid="ac90adc6-7721-4ac5-9cd2-4b146a0105d5">
<File Id="_81" Source="..\bin\release\aircraft\arducopter\Models\arducopter.ac" />
<File Id="_82" Source="..\bin\release\aircraft\arducopter\Models\arducopter.xml" />
<File Id="_83" Source="..\bin\release\aircraft\arducopter\Models\plus_quad.ac" />
@ -136,7 +136,7 @@
</Directory>
</Directory>
<Directory Id="Rascal89" Name="Rascal">
<Component Id="_comp90" Guid="3cc519f7-7e37-4f8f-bf80-553595f7e535">
<Component Id="_comp90" Guid="33963f7a-b0b3-49af-b652-a69024eeaf9c">
<File Id="_91" Source="..\bin\release\aircraft\Rascal\Rascal-keyboard.xml" />
<File Id="_92" Source="..\bin\release\aircraft\Rascal\Rascal-submodels.xml" />
<File Id="_93" Source="..\bin\release\aircraft\Rascal\Rascal.xml" />
@ -148,107 +148,92 @@
<File Id="_99" Source="..\bin\release\aircraft\Rascal\thumbnail.jpg" />
</Component>
<Directory Id="Engines99" Name="Engines">
<Component Id="_comp100" Guid="68422b49-6acd-4c3f-ad68-5f96509e4d11">
<Component Id="_comp100" Guid="e45895c9-ff1f-4644-a45a-6b891fabc992">
<File Id="_101" Source="..\bin\release\aircraft\Rascal\Engines\18x8.xml" />
<File Id="_102" Source="..\bin\release\aircraft\Rascal\Engines\18x8.xml.new" />
<File Id="_103" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml" />
<File Id="_104" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml.new" />
<File Id="_102" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml" />
</Component>
</Directory>
<Directory Id="Models104" Name="Models">
<Component Id="_comp105" Guid="72953216-a441-415a-9c24-758f92c91964">
<File Id="_106" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb" />
<File Id="_107" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb.new" />
<File Id="_108" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac" />
<File Id="_109" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac.new" />
<File Id="_110" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml" />
<File Id="_111" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml.new" />
<File Id="_112" Source="..\bin\release\aircraft\Rascal\Models\smoke.png" />
<File Id="_113" Source="..\bin\release\aircraft\Rascal\Models\smoke.png.new" />
<File Id="_114" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml" />
<File Id="_115" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml.new" />
<File Id="_116" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac" />
<File Id="_117" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac.new" />
<File Id="_118" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml" />
<File Id="_119" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml.new" />
<Directory Id="Models102" Name="Models">
<Component Id="_comp103" Guid="3d3b5259-f2a4-4113-93c2-b7f6a519590e">
<File Id="_104" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb" />
<File Id="_105" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac" />
<File Id="_106" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml" />
<File Id="_107" Source="..\bin\release\aircraft\Rascal\Models\smoke.png" />
<File Id="_108" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml" />
<File Id="_109" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac" />
<File Id="_110" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml" />
</Component>
</Directory>
<Directory Id="Systems119" Name="Systems">
<Component Id="_comp120" Guid="2d036768-07c2-4ce1-87d9-44edd2e3c114">
<File Id="_121" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml" />
<File Id="_122" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml.new" />
<File Id="_123" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas" />
<File Id="_124" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas.new" />
<File Id="_125" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml" />
<File Id="_126" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml.new" />
<File Id="_127" Source="..\bin\release\aircraft\Rascal\Systems\main.nas" />
<File Id="_128" Source="..\bin\release\aircraft\Rascal\Systems\main.nas.new" />
<File Id="_129" Source="..\bin\release\aircraft\Rascal\Systems\ugear.nas" />
<Directory Id="Systems110" Name="Systems">
<Component Id="_comp111" Guid="56b5bbe3-9d75-4f84-91ac-47169e4109e7">
<File Id="_112" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml" />
<File Id="_113" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas" />
<File Id="_114" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml" />
<File Id="_115" Source="..\bin\release\aircraft\Rascal\Systems\main.nas" />
<File Id="_116" Source="..\bin\release\aircraft\Rascal\Systems\ugear.nas" />
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id="Driver129" Name="Driver">
<Component Id="_comp130" Guid="0ae56231-a5c0-49f4-905c-2ebf06bbe5ad">
<File Id="_131" Source="..\bin\release\Driver\Arduino MEGA 2560.inf" />
<Directory Id="Driver116" Name="Driver">
<Component Id="_comp117" Guid="f3778579-8196-434f-9f5f-d9d8075abee2">
<File Id="_118" Source="..\bin\release\Driver\Arduino MEGA 2560.inf" />
</Component>
</Directory>
<Directory Id="es_ES131" Name="es-ES">
<Component Id="_comp132" Guid="67976d65-2739-47cf-9f0e-cf380e4b278d">
<File Id="_133" Source="..\bin\release\es-ES\ArdupilotMegaPlanner.resources.dll" />
<Directory Id="es_ES118" Name="es-ES">
<Component Id="_comp119" Guid="3a270408-0af5-4ca2-a525-5b38c6dcd856">
<File Id="_120" Source="..\bin\release\es-ES\ArdupilotMegaPlanner.resources.dll" />
</Component>
</Directory>
<Directory Id="fr133" Name="fr">
<Component Id="_comp134" Guid="ba33c729-1329-4947-8ff5-7fc42b4a3ace">
<File Id="_135" Source="..\bin\release\fr\ArdupilotMegaPlanner.resources.dll" />
<Directory Id="fr120" Name="fr">
<Component Id="_comp121" Guid="cec87cdc-ec29-40d6-967a-0001d84e7782">
<File Id="_122" Source="..\bin\release\fr\ArdupilotMegaPlanner.resources.dll" />
</Component>
</Directory>
<Directory Id="it_IT135" Name="it-IT">
<Component Id="_comp136" Guid="e6482519-26dd-43ca-9992-7032db26f87b">
<File Id="_137" Source="..\bin\release\it-IT\ArdupilotMegaPlanner.resources.dll" />
<Directory Id="it_IT122" Name="it-IT">
<Component Id="_comp123" Guid="aa29f463-75b8-4f58-ace1-ffee2a9b268f">
<File Id="_124" Source="..\bin\release\it-IT\ArdupilotMegaPlanner.resources.dll" />
</Component>
</Directory>
<Directory Id="jsbsim137" Name="jsbsim">
<Component Id="_comp138" Guid="c858856a-bc4a-4b44-a0dc-b66365e25c89">
<File Id="_139" Source="..\bin\release\jsbsim\fgout.xml" />
<File Id="_140" Source="..\bin\release\jsbsim\rascal_test.xml" />
<Directory Id="jsbsim124" Name="jsbsim">
<Component Id="_comp125" Guid="a5f80393-6533-4e8e-b442-5b0dbfc45242">
<File Id="_126" Source="..\bin\release\jsbsim\fgout.xml" />
<File Id="_127" Source="..\bin\release\jsbsim\rascal_test.xml" />
</Component>
</Directory>
<Directory Id="m3u140" Name="m3u">
<Component Id="_comp141" Guid="9ebee932-c523-4f73-a5fe-abf49c827119">
<File Id="_142" Source="..\bin\release\m3u\both.m3u" />
<File Id="_143" Source="..\bin\release\m3u\GeoRefnetworklink.kml" />
<File Id="_144" Source="..\bin\release\m3u\hud.m3u" />
<File Id="_145" Source="..\bin\release\m3u\map.m3u" />
<File Id="_146" Source="..\bin\release\m3u\networklink.kml" />
<Directory Id="m3u127" Name="m3u">
<Component Id="_comp128" Guid="47ff46f9-08f7-47f2-877b-f91ca8a6f13c">
<File Id="_129" Source="..\bin\release\m3u\both.m3u" />
<File Id="_130" Source="..\bin\release\m3u\GeoRefnetworklink.kml" />
<File Id="_131" Source="..\bin\release\m3u\hud.m3u" />
<File Id="_132" Source="..\bin\release\m3u\map.m3u" />
<File Id="_133" Source="..\bin\release\m3u\networklink.kml" />
</Component>
</Directory>
<Directory Id="pl146" Name="pl">
<Component Id="_comp147" Guid="72d9f63a-7412-4990-9d39-6d26abf12ffc">
<File Id="_148" Source="..\bin\release\pl\ArdupilotMegaPlanner.resources.dll" />
<Directory Id="pl133" Name="pl">
<Component Id="_comp134" Guid="3d4b0a71-e1de-4b6d-b024-188b7a0915dc">
<File Id="_135" Source="..\bin\release\pl\ArdupilotMegaPlanner.resources.dll" />
</Component>
</Directory>
<Directory Id="Resources148" Name="Resources">
<Component Id="_comp149" Guid="1d7ccef3-a373-411c-b7bd-51dcd07f0a5f">
<File Id="_150" Source="..\bin\release\Resources\MAVCmd.txt" />
<File Id="_151" Source="..\bin\release\Resources\MAVCmd.txt.new" />
<File Id="_152" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf" />
<File Id="_153" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf.new" />
<Directory Id="Resources135" Name="Resources">
<Component Id="_comp136" Guid="c60b9532-c2a3-441d-95c8-c2f061bb36a5">
<File Id="_137" Source="..\bin\release\Resources\MAVCmd.txt" />
<File Id="_138" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf" />
</Component>
</Directory>
<Directory Id="ru_RU153" Name="ru-RU">
<Component Id="_comp154" Guid="42e78cdc-0546-4b3e-81b9-b8bd31528620">
<File Id="_155" Source="..\bin\release\ru-RU\ArdupilotMegaPlanner.resources.dll" />
<Directory Id="ru_RU138" Name="ru-RU">
<Component Id="_comp139" Guid="8b109f93-ed39-4524-a282-2501b0dbcf1b">
<File Id="_140" Source="..\bin\release\ru-RU\ArdupilotMegaPlanner.resources.dll" />
</Component>
</Directory>
<Directory Id="zh_Hans155" Name="zh-Hans">
<Component Id="_comp156" Guid="7c16c3c0-d296-4f96-8fd5-aa8a07846a70">
<File Id="_157" Source="..\bin\release\zh-Hans\ArdupilotMegaPlanner.resources.dll" />
<Directory Id="zh_Hans140" Name="zh-Hans">
<Component Id="_comp141" Guid="e4f7226f-1800-46cc-bd04-1ee041af3537">
<File Id="_142" Source="..\bin\release\zh-Hans\ArdupilotMegaPlanner.resources.dll" />
</Component>
</Directory>
<Directory Id="zh_TW157" Name="zh-TW">
<Component Id="_comp158" Guid="02102bbe-5a96-4ddf-987c-17cc52d6f661">
<File Id="_159" Source="..\bin\release\zh-TW\ArdupilotMegaPlanner.resources.dll" />
<Directory Id="zh_TW142" Name="zh-TW">
<Component Id="_comp143" Guid="17ea54cb-40ee-4e91-b435-e9cbaaf0038b">
<File Id="_144" Source="..\bin\release\zh-TW\ArdupilotMegaPlanner.resources.dll" />
</Component>
</Directory>
@ -297,19 +282,19 @@
<ComponentRef Id="_comp80" />
<ComponentRef Id="_comp90" />
<ComponentRef Id="_comp100" />
<ComponentRef Id="_comp105" />
<ComponentRef Id="_comp120" />
<ComponentRef Id="_comp130" />
<ComponentRef Id="_comp132" />
<ComponentRef Id="_comp103" />
<ComponentRef Id="_comp111" />
<ComponentRef Id="_comp117" />
<ComponentRef Id="_comp119" />
<ComponentRef Id="_comp121" />
<ComponentRef Id="_comp123" />
<ComponentRef Id="_comp125" />
<ComponentRef Id="_comp128" />
<ComponentRef Id="_comp134" />
<ComponentRef Id="_comp136" />
<ComponentRef Id="_comp138" />
<ComponentRef Id="_comp139" />
<ComponentRef Id="_comp141" />
<ComponentRef Id="_comp147" />
<ComponentRef Id="_comp149" />
<ComponentRef Id="_comp154" />
<ComponentRef Id="_comp156" />
<ComponentRef Id="_comp158" />
<ComponentRef Id="_comp143" />
<ComponentRef Id="ApplicationShortcut" />

View File

@ -43,7 +43,6 @@ namespace ArdupilotMega
//Console.WriteLine(srtm.getAltitude(-35.115676879882812, 117.94178754638671,20));
PointLatLngAlt plla = new PointLatLngAlt(54.0359, 5.4253, 0, "");
PointLatLngAlt plla2 = new PointLatLngAlt(54.3838, 3.0412, 0, "");

View File

@ -34,5 +34,5 @@ using System.Resources;
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.1.*")]
[assembly: AssemblyFileVersion("1.1.88")]
[assembly: AssemblyFileVersion("1.1.89")]
[assembly: NeutralResourcesLanguageAttribute("")]

View File

@ -0,0 +1,148 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Drawing;
using System.Threading;
using log4net;
namespace ArdupilotMega.Utilities
{
public class CaptureMJPEG
{
private static readonly ILog log =
LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
static Thread asyncthread;
static bool running = false;
public static string URL = @"http://127.0.0.1:56781/map.jpg";
public static event EventHandler OnNewImage;
static DateTime lastimage = DateTime.Now;
static int fps = 0;
public static void runAsync()
{
while (running && asyncthread != null && asyncthread.IsAlive)
{
running = false;
}
asyncthread = new Thread(new ThreadStart(getUrl))
{
IsBackground = true,
Priority = ThreadPriority.Normal,
Name = "mjpg stream reader"
};
asyncthread.Start();
}
static void getUrl()
{
running = true;
Bitmap frame = new Bitmap(640, 480);
// Create a request using a URL that can receive a post.
WebRequest request = HttpWebRequest.Create(URL);
// Set the Method property of the request to POST.
request.Method = "GET";
((HttpWebRequest)request).AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
request.Headers.Add("Accept-Encoding", "gzip,deflate");
// Get the response.
WebResponse response = request.GetResponse();
// Display the status.
log.Debug(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream();
StreamReader sr = new StreamReader(dataStream);
// get boundary header
string mpheader = response.Headers["Content-Type"];
int startboundary = mpheader.IndexOf("boundary=") + 9;
int endboundary = mpheader.Length;
mpheader = mpheader.Substring(startboundary, endboundary - startboundary);
while (running)
{
try
{
// get the multipart start header
int length = int.Parse(getHeader(sr)["Content-Length"]);
// read boundary header
if (length > 0)
{
byte[] buf1 = new byte[length];
dataStream.ReadTimeout = 3000;
int offset = 0;
int len = 0;
while ((len = dataStream.Read(buf1, offset, length)) > 0)
{
offset += len;
length -= len;
}
frame = new Bitmap(new MemoryStream(buf1));
fps++;
if (lastimage.Second != DateTime.Now.Second)
{
Console.WriteLine("MJPEG " + fps);
fps = 0;
lastimage = DateTime.Now;
}
if (OnNewImage != null)
OnNewImage(frame, new EventArgs());
}
// blank line at end of data
sr.ReadLine();
}
catch (Exception ex) { log.Info(ex); break; }
}
dataStream.Close();
response.Close();
running = false;
}
static Dictionary<string, string> getHeader(StreamReader stream)
{
Dictionary<string, string> answer = new Dictionary<string, string>();
string line;
do
{
line = stream.ReadLine();
string[] items = line.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
if (items.Length == 2)
answer.Add(items[0].Trim(), items[1].Trim());
} while (line != "");
return answer;
}
}
}