From 482b113295fe979e1befa90124ada1e47ce30757 Mon Sep 17 00:00:00 2001 From: Michael Oborne Date: Wed, 25 Dec 2013 07:17:50 +0800 Subject: [PATCH] Mission Planner 1.2.91 fix non standard frame type add DF log download over mavlink fix DF to kml/gpx, using FMT now add more log sort criteria - 0 byte, and invalid/bad fix keyboard shortcuts bring the wizard out to play --- 3DRRadio/3DRRadio.csproj | 2 + ChangeLog.txt | 10 +- .../Utilities/MissionPlanner.Utilities.csproj | 1 - .../ConfigBatteryMonitoring.cs | 2 +- GCSViews/ConfigurationView/ConfigFrameType.cs | 6 + GCSViews/FlightData.Designer.cs | 24 +- GCSViews/FlightData.cs | 7 + GCSViews/FlightData.resx | 2495 +++++++++++------ GlobalSuppressions.cs | Bin 1390 -> 0 bytes Log/DFLog.cs | 34 +- Log/LogDownload.cs | 2 +- Log/LogDownloadMavLink.Designer.cs | 135 + Log/LogDownloadMavLink.cs | 393 +++ Log/LogDownloadMavLink.de-DE.resx | 141 + Log/LogDownloadMavLink.es-ES.resx | 138 + Log/LogDownloadMavLink.fr.resx | 141 + Log/LogDownloadMavLink.it-IT.resx | 138 + Log/LogDownloadMavLink.pl.resx | 138 + Log/LogDownloadMavLink.resx | 436 +++ Log/LogDownloadMavLink.zh-Hans.resx | 215 ++ Log/LogDownloadMavLink.zh-TW.resx | 215 ++ Log/LogOutput.cs | 66 +- Log/LogSort.cs | 19 + MainV2.cs | 8 +- Mavlink/MAVLink.cs | 39 +- MissionPlanner.csproj | 143 +- MissionPlanner.sh | 2 + Msi/wix.exe | Bin 28672 -> 28672 bytes Program.cs | 4 +- Properties/AssemblyInfo.cs | 2 +- Utilities/GitHubContent.cs | 28 +- Wizard/3ConnectAP.cs | 22 +- wix/Program.cs | 2 +- 33 files changed, 4097 insertions(+), 911 deletions(-) delete mode 100644 GlobalSuppressions.cs create mode 100644 Log/LogDownloadMavLink.Designer.cs create mode 100644 Log/LogDownloadMavLink.cs create mode 100644 Log/LogDownloadMavLink.de-DE.resx create mode 100644 Log/LogDownloadMavLink.es-ES.resx create mode 100644 Log/LogDownloadMavLink.fr.resx create mode 100644 Log/LogDownloadMavLink.it-IT.resx create mode 100644 Log/LogDownloadMavLink.pl.resx create mode 100644 Log/LogDownloadMavLink.resx create mode 100644 Log/LogDownloadMavLink.zh-Hans.resx create mode 100644 Log/LogDownloadMavLink.zh-TW.resx create mode 100644 MissionPlanner.sh diff --git a/3DRRadio/3DRRadio.csproj b/3DRRadio/3DRRadio.csproj index 3551ef8d62..36f8749923 100644 --- a/3DRRadio/3DRRadio.csproj +++ b/3DRRadio/3DRRadio.csproj @@ -69,9 +69,11 @@ Linked\ArduinoSTK.cs + Component Linked\ArduinoSTKv2.cs + Component Linked\IArduinoComms.cs diff --git a/ChangeLog.txt b/ChangeLog.txt index 3b9da687eb..7edd4151fd 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,4 +1,12 @@ -* Mission Planner 1.2.90 +* Mission Planner 1.2.91 +fix non standard frame type +add DF log download over mavlink +fix DF to kml/gpx, using FMT now +add more log sort criteria - 0 byte, and invalid/bad +fix keyboard shortcuts +bring the wizard out to play + +* Mission Planner 1.2.90 new df over mavlink fix grid advanced button remove arduino verbose logging diff --git a/ExtLibs/Utilities/MissionPlanner.Utilities.csproj b/ExtLibs/Utilities/MissionPlanner.Utilities.csproj index 3e2d76d65c..b0b4b32319 100644 --- a/ExtLibs/Utilities/MissionPlanner.Utilities.csproj +++ b/ExtLibs/Utilities/MissionPlanner.Utilities.csproj @@ -107,7 +107,6 @@ {7f7994ce-823f-4a04-bbea-d0a3808ff56d} GeoUtility - False diff --git a/GCSViews/ConfigurationView/ConfigBatteryMonitoring.cs b/GCSViews/ConfigurationView/ConfigBatteryMonitoring.cs index 58fd1b1f46..7778c534cf 100644 --- a/GCSViews/ConfigurationView/ConfigBatteryMonitoring.cs +++ b/GCSViews/ConfigurationView/ConfigBatteryMonitoring.cs @@ -222,7 +222,7 @@ private void CMB_batmonsensortype_SelectedIndexChanged(object sender, EventArgs { float maxvolt = 50f; float maxamps = 90f; - float mvpervolt = 100f; + float mvpervolt = 99f; float mvperamp = 55.55f; float topvolt = (maxvolt * mvpervolt) / 1000; diff --git a/GCSViews/ConfigurationView/ConfigFrameType.cs b/GCSViews/ConfigurationView/ConfigFrameType.cs index a75ad3a761..208d5beb0f 100644 --- a/GCSViews/ConfigurationView/ConfigFrameType.cs +++ b/GCSViews/ConfigurationView/ConfigFrameType.cs @@ -82,6 +82,12 @@ void DoChange(Frame frame) radioButton_H.Checked = true; SetFrameParam(frame); break; + default: + radioButton_Plus.Checked = false; + radioButton_V.Checked = false; + radioButton_X.Checked = false; + radioButton_H.Checked = false; + break; } indochange = false; } diff --git a/GCSViews/FlightData.Designer.cs b/GCSViews/FlightData.Designer.cs index f4e5b68d03..92fb56138d 100644 --- a/GCSViews/FlightData.Designer.cs +++ b/GCSViews/FlightData.Designer.cs @@ -8,8 +8,8 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FlightData)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); this.contextMenuStripMap = new System.Windows.Forms.ContextMenuStrip(this.components); this.goHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.flyToHereAltToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -93,6 +93,7 @@ private void InitializeComponent() this.BUT_speed1_4 = new MissionPlanner.Controls.MyButton(); this.BUT_speed1_10 = new MissionPlanner.Controls.MyButton(); this.tablogbrowse = new System.Windows.Forms.TabPage(); + this.BUT_DFMavlink = new MissionPlanner.Controls.MyButton(); this.but_dflogtokml = new MissionPlanner.Controls.MyButton(); this.but_bintolog = new MissionPlanner.Controls.MyButton(); this.BUT_matlab = new MissionPlanner.Controls.MyButton(); @@ -299,6 +300,8 @@ private void InitializeComponent() this.hud1.heading = 0F; this.hud1.hudcolor = System.Drawing.Color.White; this.hud1.linkqualitygcs = 0F; + this.hud1.lowairspeed = false; + this.hud1.lowgroundspeed = false; this.hud1.lowvoltagealert = false; this.hud1.message = ""; this.hud1.messagetime = new System.DateTime(((long)(0))); @@ -1325,6 +1328,7 @@ private void InitializeComponent() // // tablogbrowse // + this.tablogbrowse.Controls.Add(this.BUT_DFMavlink); this.tablogbrowse.Controls.Add(this.but_dflogtokml); this.tablogbrowse.Controls.Add(this.but_bintolog); this.tablogbrowse.Controls.Add(this.BUT_matlab); @@ -1333,6 +1337,13 @@ private void InitializeComponent() this.tablogbrowse.Name = "tablogbrowse"; this.tablogbrowse.UseVisualStyleBackColor = true; // + // BUT_DFMavlink + // + resources.ApplyResources(this.BUT_DFMavlink, "BUT_DFMavlink"); + this.BUT_DFMavlink.Name = "BUT_DFMavlink"; + this.BUT_DFMavlink.UseVisualStyleBackColor = true; + this.BUT_DFMavlink.Click += new System.EventHandler(this.BUT_DFMavlink_Click); + // // but_dflogtokml // resources.ApplyResources(this.but_dflogtokml, "but_dflogtokml"); @@ -1650,8 +1661,8 @@ private void InitializeComponent() // // dataGridViewImageColumn1 // - dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.dataGridViewImageColumn1.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.dataGridViewImageColumn1.DefaultCellStyle = dataGridViewCellStyle5; resources.ApplyResources(this.dataGridViewImageColumn1, "dataGridViewImageColumn1"); this.dataGridViewImageColumn1.Image = global::MissionPlanner.Properties.Resources.up; this.dataGridViewImageColumn1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch; @@ -1659,8 +1670,8 @@ private void InitializeComponent() // // dataGridViewImageColumn2 // - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.dataGridViewImageColumn2.DefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.dataGridViewImageColumn2.DefaultCellStyle = dataGridViewCellStyle6; resources.ApplyResources(this.dataGridViewImageColumn2, "dataGridViewImageColumn2"); this.dataGridViewImageColumn2.Image = global::MissionPlanner.Properties.Resources.down; this.dataGridViewImageColumn2.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch; @@ -1848,6 +1859,7 @@ private void InitializeComponent() private Controls.WindDir windDir1; private Controls.MyButton but_bintolog; private Controls.MyButton but_dflogtokml; + private Controls.MyButton BUT_DFMavlink; } } \ No newline at end of file diff --git a/GCSViews/FlightData.cs b/GCSViews/FlightData.cs index 8ee8e8a7e3..5bddf0f4af 100644 --- a/GCSViews/FlightData.cs +++ b/GCSViews/FlightData.cs @@ -3017,5 +3017,12 @@ private void but_dflogtokml_Click(object sender, EventArgs e) } } } + + private void BUT_DFMavlink_Click(object sender, EventArgs e) + { + var form = new Log.LogDownloadMavLink(); + + form.Show(); + } } } diff --git a/GCSViews/FlightData.resx b/GCSViews/FlightData.resx index c1ba9a5e95..c84b2a8dc4 100644 --- a/GCSViews/FlightData.resx +++ b/GCSViews/FlightData.resx @@ -121,6 +121,15 @@ 444, 17 + + 189, 136 + + + contextMenuStripMap + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 188, 22 @@ -157,15 +166,6 @@ Set Home Here - - 189, 136 - - - contextMenuStripMap - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Fill @@ -191,42 +191,6 @@ 714, 17 - - 172, 22 - - - Record Hud to AVI - - - 172, 22 - - - Stop Record - - - 172, 22 - - - Set MJPEG source - - - 172, 22 - - - Set Aspect Ratio - - - 172, 22 - - - User Items - - - 172, 22 - - - Russian Hud - 173, 136 @@ -279,242 +243,1244 @@ True - - True + + tableLayoutPanelQuick - - GrowAndShrink + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 2 + + tabQuick - - 1162, 18 - - - Fill + + 0 - - 175, 105 + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="quickView6" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView5" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="quickView4" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView3" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="quickView2" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,33.33333,Percent,33.33333,Percent,33.33333" /></TableLayoutSettings> - - 100, 27 + + 4, 22 - - 166, 46 + + 3, 3, 3, 3 - - 10 + + 350, 160 - - quickView6 + + 4 - - MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + Quick - - tableLayoutPanelQuick + + tabQuick - - 0 + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Fill + + tabControl1 - - 3, 105 + + 0 - - 100, 27 + + CMB_mountmode - - 166, 46 + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 9 + + tabActions - - quickView5 + + 0 - - MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + BUT_mountmode - - tableLayoutPanelQuick + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - + + tabActions + + 1 - - Fill + + modifyandSetSpeed - - 175, 54 + + MissionPlanner.Controls.ModifyandSet, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null - - 100, 27 + + tabActions - - 166, 45 + + 2 - - 8 + + modifyandSetAlt - - quickView4 + + MissionPlanner.Controls.ModifyandSet, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null - - MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + tabActions - - tableLayoutPanelQuick + + 3 - - 2 + + BUT_ARM - - Fill + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - 3, 54 + + tabActions - - 100, 27 + + 4 - - 166, 45 + + BUT_joystick - - 3 + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - quickView3 + + tabActions - - MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + 5 - - tableLayoutPanelQuick + + BUT_quickmanual - - 3 + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - Fill + + tabActions - - 175, 3 + + 6 - - 100, 27 + + BUT_quickrtl - - 166, 45 + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - 1 + + tabActions - - quickView2 + + 7 - - MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + BUT_quickauto - - tableLayoutPanelQuick + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - 4 + + tabActions - - Fill + + 8 - - 3, 3 + + CMB_setwp - + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabActions + + + 9 + + + BUT_setwp + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabActions + + + 10 + + + CMB_modes + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabActions + + + 11 + + + BUT_setmode + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabActions + + + 12 + + + BUT_clear_track + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabActions + + + 13 + + + CMB_action + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabActions + + + 14 + + + BUT_Homealt + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabActions + + + 15 + + + BUT_RAWSensor + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabActions + + + 16 + + + BUTrestartmission + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabActions + + + 17 + + + BUTactiondo + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabActions + + + 18 + + + 4, 22 + + + 350, 160 + + + 2 + + + Actions + + + tabActions + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 1 + + + Gvspeed + + + AGaugeApp.AGauge, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabGauges + + + 0 + + + Gheading + + + MissionPlanner.Controls.HSI, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabGauges + + + 1 + + + Galt + + + AGaugeApp.AGauge, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabGauges + + + 2 + + + Gspeed + + + AGaugeApp.AGauge, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabGauges + + + 3 + + + 4, 22 + + + 3, 3, 3, 3 + + + 350, 160 + + + 0 + + + Gauges + + + tabGauges + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 2 + + + True + + + 4, 22 + + + 3, 3, 3, 3 + + + 350, 160 + + + 1 + + + Status + + + tabStatus + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 3 + + + flowLayoutPanelServos + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabServo + + + 0 + + + 4, 22 + + + 3, 3, 3, 3 + + + 350, 160 + + + 5 + + + Servo + + + tabServo + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 4 + + + tableLayoutPaneltlogs + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabTLogs + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="BUT_loadtelem" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbl_playbackspeed" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbl_logpercent" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="tracklog" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="LBL_logfn" Row="0" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="BUT_log2kml" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="BUT_playlog" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel2" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Absolute,86,AutoSize,0,Absolute,41" /><Rows Styles="Absolute,30,Absolute,30,Absolute,51" /></TableLayoutSettings> + + + 4, 22 + + + 350, 160 + + + 3 + + + Telemetry Logs + + + tabTLogs + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 5 + + + NoControl + + + 99, 35 + + + 124, 35 + + + 11 + + + Download DataFlash Log Via Mavlink + + + BUT_DFMavlink + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tablogbrowse + + + 0 + + + NoControl + + + 6, 35 + + + 87, 35 + + + 10 + + + Create KML + gpx + + + but_dflogtokml + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tablogbrowse + + + 1 + + + NoControl + + + 229, 6 + + + 87, 23 + + + 9 + + + PX4 .Bin to .Log + + + but_bintolog + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tablogbrowse + + + 2 + + + NoControl + + + 99, 6 + + + 124, 23 + + + 8 + + + Create Matlab File + + + BUT_matlab + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tablogbrowse + + + 3 + + + NoControl + + + 6, 6 + + + 87, 23 + + + 7 + + + Review a Log + + + BUT_logbrowse + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tablogbrowse + + + 4 + + + 4, 22 + + + 3, 3, 3, 3 + + + 350, 160 + + + 6 + + + DataFlash Logs + + + tablogbrowse + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 6 + + + checkBoxRedirectOutput + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabScripts + + + 0 + + + BUT_edit_selected + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabScripts + + + 1 + + + labelSelectedScript + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabScripts + + + 2 + + + BUT_run_script + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabScripts + + + 3 + + + BUT_abort_script + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabScripts + + + 4 + + + labelScriptStatus + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabScripts + + + 5 + + + BUT_select_script + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tabScripts + + + 6 + + + 4, 22 + + + 3, 3, 3, 3 + + + 350, 160 + + + 7 + + + Scripts + + + tabScripts + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 7 + + + Fill + + + 0, 0 + + + 0, 0 + + + 358, 186 + + + 84 + + + tabControl1 + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SubMainLeft.Panel2 + + + 0 + + + SubMainLeft.Panel2 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SubMainLeft + + + 1 + + + 360, 461 + + + 269 + + + 0 + + + SubMainLeft + + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MainH.Panel1 + + + 0 + + + MainH.Panel1 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MainH + + + 0 + + + 360 + + + Single + + + 1 + + + splitContainer1 + + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableMap + + + 0 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableMap + + + 1 + + + Fill + + + 0, 0 + + + 2 + + + 642, 459 + + + 75 + + + tableMap + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MainH.Panel2 + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="splitContainer1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,Absolute,30,Absolute,20" /></TableLayoutSettings> + + + MainH.Panel2 + + + System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MainH + + + 1 + + + 1008, 461 + + + 360 + + + 68 + + + MainH + + + System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + 172, 22 + + + Record Hud to AVI + + + 172, 22 + + + Stop Record + + + 172, 22 + + + Set MJPEG source + + + 172, 22 + + + Set Aspect Ratio + + + 172, 22 + + + User Items + + + 172, 22 + + + Russian Hud + + + True + + + GrowAndShrink + + + 2 + + + quickView6 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 0 + + + quickView5 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 1 + + + quickView4 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 2 + + + quickView3 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 3 + + + quickView2 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 4 + + + quickView1 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 5 + + + Fill + + + 3, 3 + + + 3 + + + 344, 154 + + + 73 + + + tableLayoutPanelQuick + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabQuick + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="quickView6" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView5" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="quickView4" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView3" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="quickView2" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,33.33333,Percent,33.33333,Percent,33.33333" /></TableLayoutSettings> + + + 1162, 18 + + + Fill + + + 175, 105 + + 100, 27 - - 166, 45 + + 166, 46 - - 1 + + 10 - - 617, 17 + + quickView6 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 0 + + + 1162, 18 - - Double Click me to change + + Fill - - quickView1 + + 3, 105 - + + 100, 27 + + + 166, 46 + + + 9 + + + quickView5 + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - + tableLayoutPanelQuick - - 5 + + 1 - + Fill - - 3, 3 + + 175, 54 - + + 100, 27 + + + 166, 45 + + + 8 + + + quickView4 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 2 + + + Fill + + + 3, 54 + + + 100, 27 + + + 166, 45 + + 3 - - 344, 154 + + quickView3 - - 73 + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - + tableLayoutPanelQuick - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 3 - - tabQuick + + Fill - - 0 + + 175, 3 - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="quickView6" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView5" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="quickView4" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView3" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="quickView2" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="quickView1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,33,33333,Percent,33,33333,Percent,33,33333" /></TableLayoutSettings> + + 100, 27 - - 4, 22 + + 166, 45 - - 3, 3, 3, 3 + + 1 - - 350, 160 + + quickView2 - + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + 4 - - Quick + + 617, 17 + + + Fill - - tabQuick + + 3, 3 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 100, 27 - - tabControl1 + + 166, 45 - - 0 + + 1 + + + Double Click me to change + + + quickView1 + + + MissionPlanner.Controls.QuickView, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPanelQuick + + + 5 4, 93 @@ -580,7 +1546,7 @@ modifyandSetSpeed - MissionPlanner.Controls.ModifyandSet, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ModifyandSet, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null tabActions @@ -601,7 +1567,7 @@ modifyandSetAlt - MissionPlanner.Controls.ModifyandSet, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ModifyandSet, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null tabActions @@ -1038,36 +2004,12 @@ 18 - - 4, 22 - - - 350, 160 - - - 2 - - - Actions - - - tabActions - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 1 - - - Zoom - 154, 57 + + Zoom + Microsoft Sans Serif, 9pt @@ -1095,6 +2037,9 @@ 0 + + 154, 57 + Zoom @@ -1185,68 +2130,119 @@ tabGauges - + + 3 + + + True + + + servoOptions1 + + + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null + + + flowLayoutPanelServos + + + 0 + + + servoOptions2 + + + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null + + + flowLayoutPanelServos + + + 1 + + + servoOptions3 + + + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null + + + flowLayoutPanelServos + + + 2 + + + servoOptions4 + + + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null + + + flowLayoutPanelServos + + 3 - - 4, 22 + + servoOptions5 - - 3, 3, 3, 3 + + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null - - 350, 160 + + flowLayoutPanelServos - - 0 + + 4 - - Gauges + + servoOptions6 - - tabGauges + + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + flowLayoutPanelServos - - tabControl1 + + 5 - - 2 + + servoOptions7 - - True + + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null - - 4, 22 + + flowLayoutPanelServos - - 3, 3, 3, 3 + + 6 - - 350, 160 + + Fill - - 1 + + 3, 3 - - Status + + 344, 154 - - tabStatus + + 0 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + flowLayoutPanelServos - - tabControl1 + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 3 + + tabServo - - True + + 0 3, 3 @@ -1261,7 +2257,7 @@ servoOptions1 - MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null flowLayoutPanelServos @@ -1282,7 +2278,7 @@ servoOptions2 - MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null flowLayoutPanelServos @@ -1303,7 +2299,7 @@ servoOptions3 - MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null flowLayoutPanelServos @@ -1324,7 +2320,7 @@ servoOptions4 - MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null flowLayoutPanelServos @@ -1345,7 +2341,7 @@ servoOptions5 - MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null flowLayoutPanelServos @@ -1366,7 +2362,7 @@ servoOptions6 - MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null flowLayoutPanelServos @@ -1387,7 +2383,7 @@ servoOptions7 - MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5078.35055, Culture=neutral, PublicKeyToken=null + MissionPlanner.Controls.ServoOptions, MissionPlanner, Version=1.1.5103.18456, Culture=neutral, PublicKeyToken=null flowLayoutPanelServos @@ -1395,60 +2391,135 @@ 6 - - Fill + + 3 - - 3, 3 + + BUT_loadtelem - - 344, 154 + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - + + tableLayoutPaneltlogs + + 0 - - flowLayoutPanelServos + + lbl_playbackspeed - - System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + MissionPlanner.Controls.MyLabel, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - tabServo + + tableLayoutPaneltlogs - - 0 + + 1 - - 4, 22 + + lbl_logpercent - - 3, 3, 3, 3 + + MissionPlanner.Controls.MyLabel, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - 350, 160 + + tableLayoutPaneltlogs - - 5 + + 2 - - Servo + + tracklog - - tabServo + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tableLayoutPaneltlogs - - tabControl1 + + 3 - + + LBL_logfn + + + MissionPlanner.Controls.MyLabel, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPaneltlogs + + 4 - + + BUT_log2kml + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPaneltlogs + + + 5 + + + BUT_playlog + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + tableLayoutPaneltlogs + + + 6 + + + panel2 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPaneltlogs + + + 7 + + + Fill + + + 0, 0 + + 3 + + 350, 160 + + + 81 + + + tableLayoutPaneltlogs + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabTLogs + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="BUT_loadtelem" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbl_playbackspeed" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbl_logpercent" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="tracklog" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="LBL_logfn" Row="0" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="BUT_log2kml" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="BUT_playlog" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel2" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Absolute,86,AutoSize,0,Absolute,41" /><Rows Styles="Absolute,30,Absolute,30,Absolute,51" /></TableLayoutSettings> + NoControl @@ -1638,53 +2709,17 @@ 6 - - True - - - NoControl - - - 90, 3 - - - 38, 13 - - - 84 - - - Speed - - - label2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 0 - - - Microsoft Sans Serif, 6.75pt - - - NoControl - - - 184, 23 + + label2 - - 23, 20 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 83 + + panel2 - - 10x + + 0 BUT_speed10 @@ -1698,24 +2733,6 @@ 1 - - Microsoft Sans Serif, 6.75pt - - - NoControl - - - 155, 23 - - - 23, 20 - - - 82 - - - 5x - BUT_speed5 @@ -1728,24 +2745,6 @@ 2 - - Microsoft Sans Serif, 6.75pt - - - NoControl - - - 126, 23 - - - 23, 20 - - - 81 - - - 2x - BUT_speed2 @@ -1758,24 +2757,6 @@ 3 - - Microsoft Sans Serif, 6.75pt - - - NoControl - - - 97, 23 - - - 23, 20 - - - 80 - - - 1x - BUT_speed1 @@ -1788,24 +2769,6 @@ 4 - - Microsoft Sans Serif, 6.75pt - - - NoControl - - - 68, 23 - - - 23, 20 - - - 79 - - - 1/2 - BUT_speed1_2 @@ -1818,24 +2781,6 @@ 5 - - Microsoft Sans Serif, 6.75pt - - - NoControl - - - 39, 23 - - - 23, 20 - - - 78 - - - 1/4 - BUT_speed1_4 @@ -1848,24 +2793,6 @@ 6 - - Microsoft Sans Serif, 6.75pt - - - NoControl - - - 10, 23 - - - 23, 20 - - - 77 - - - 1/10 - BUT_speed1_10 @@ -1902,194 +2829,245 @@ 7 - - Fill + + True - - 0, 0 + + NoControl - - 3 + + 90, 3 - - 350, 160 + + 38, 13 - - 81 + + 84 - - tableLayoutPaneltlogs + + Speed - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + label2 - - tabTLogs + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + panel2 + + 0 - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="BUT_loadtelem" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbl_playbackspeed" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbl_logpercent" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="tracklog" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="LBL_logfn" Row="0" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="BUT_log2kml" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="BUT_playlog" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel2" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Absolute,86,AutoSize,0,Absolute,41" /><Rows Styles="Absolute,30,Absolute,30,Absolute,51" /></TableLayoutSettings> + + Microsoft Sans Serif, 6.75pt - - 4, 22 + + NoControl - - 350, 160 + + 184, 23 - - 3 + + 23, 20 - - Telemetry Logs + + 83 - - tabTLogs + + 10x - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + BUT_speed10 - - tabControl1 + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - 5 + + panel2 - + + 1 + + + Microsoft Sans Serif, 6.75pt + + NoControl - - 127, 76 + + 155, 23 - - 87, 23 + + 23, 20 - - 10 + + 82 - - Create KML + gpx + + 5x - - but_dflogtokml + + BUT_speed5 - + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + panel2 + + + 2 + + + Microsoft Sans Serif, 6.75pt + + + NoControl + + + 126, 23 + + + 23, 20 + + + 81 + + + 2x + + + BUT_speed2 + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - tablogbrowse + + panel2 - - 0 + + 3 - + + Microsoft Sans Serif, 6.75pt + + NoControl - - 220, 47 + + 97, 23 - - 87, 23 + + 23, 20 - - 9 + + 80 - - Bin to Log + + 1x - - but_bintolog + + BUT_speed1 - + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - tablogbrowse + + panel2 - - 1 + + 4 - + + Microsoft Sans Serif, 6.75pt + + NoControl - - 127, 47 + + 68, 23 - - 87, 23 + + 23, 20 - - 8 + + 79 - - Create Matlab File + + 1/2 - - BUT_matlab + + BUT_speed1_2 - + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - tablogbrowse + + panel2 - - 2 + + 5 - + + Microsoft Sans Serif, 6.75pt + + NoControl - - 34, 47 + + 39, 23 - - 87, 23 + + 23, 20 - - 7 + + 78 - - Log Browse + + 1/4 - - BUT_logbrowse + + BUT_speed1_4 - + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - tablogbrowse + + panel2 - - 3 + + 6 - - 4, 22 + + Microsoft Sans Serif, 6.75pt - - 3, 3, 3, 3 + + NoControl - - 350, 160 + + 10, 23 - - 6 + + 23, 20 - - DataFlash Logs + + 77 - - tablogbrowse + + 1/10 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + BUT_speed1_10 - - tabControl1 + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - 6 + + panel2 + + + 7 True @@ -2242,169 +3220,61 @@ 4 - True - - - NoControl - - - 19, 10 - - - 160, 13 - - - 86 - - - Script Status: No Script Running - - - labelScriptStatus - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabScripts - - - 5 - - - NoControl - - - 16, 80 - - - 71, 23 - - - 85 - - - Select Script - - - BUT_select_script - - - MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - - tabScripts - - - 6 - - - 4, 22 - - - 3, 3, 3, 3 - - - 350, 160 - - - 7 - - - Scripts - - - tabScripts - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 7 - - - Fill - - - 0, 0 - - - 0, 0 - - - 358, 186 - - - 84 - - - tabControl1 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - SubMainLeft.Panel2 - - - 0 + True - - SubMainLeft.Panel2 + + NoControl - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 19, 10 - - SubMainLeft + + 160, 13 - - 1 + + 86 - - 360, 461 + + Script Status: No Script Running - - 269 + + labelScriptStatus - - 0 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - SubMainLeft + + tabScripts - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 5 - - MainH.Panel1 + + NoControl - - 0 + + 16, 80 - - MainH.Panel1 + + 71, 23 - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 85 - - MainH + + Select Script - - 0 + + BUT_select_script - - 360 + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - - Single + + tabScripts - - 1 + + 6 Fill @@ -2437,7 +3307,7 @@ zg1 - ZedGraph.ZedGraphControl, ZedGraph, Version=5.1.5.16516, Culture=neutral, PublicKeyToken=null + ZedGraph.ZedGraphControl, ZedGraph, Version=5.1.5.14743, Culture=neutral, PublicKeyToken=null splitContainer1.Panel1 @@ -2769,6 +3639,96 @@ 0 + + 307, 17 + + + coords1 + + + MissionPlanner.Controls.Coords, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + panel1 + + + 0 + + + Zoomlevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 1 + + + label1 + + + MissionPlanner.Controls.MyLabel, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + panel1 + + + 2 + + + CHK_autopan + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 3 + + + CB_tuning + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 4 + + + Fill + + + 1, 428 + + + 0, 0, 0, 0 + + + 640, 30 + + + 0 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableMap + + + 1 + 7, 4 @@ -2919,99 +3879,12 @@ 4 - - Fill - - - 1, 428 - - - 0, 0, 0, 0 - - - 640, 30 - - - 0 - - - panel1 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableMap - - - 1 - - - Fill - - - 0, 0 - - - 2 - - - 642, 459 - - - 75 - - - tableMap - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MainH.Panel2 - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="splitContainer1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,Absolute,30,Absolute,20" /></TableLayoutSettings> - - - MainH.Panel2 - - - System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MainH - - - 1 - - - 1008, 461 - - - 360 - - - 68 - - - MainH - - - System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - 171, 17 + + 617, 17 + 891, 18 diff --git a/GlobalSuppressions.cs b/GlobalSuppressions.cs deleted file mode 100644 index 5f108b19b337064a1978da959bc7ac5751ea3c53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1390 zcmaKsQH#@15QXPi@IQn+DY)Gg^hNMtRTg|GEVL*hB59j#qfNRriBNyM`kk4*q)k=I zZgTIOnK^T2Ccl4O+NEVSw~bZS@^;5_Yb9@S?zt^(#d%=|{=c;yC)uy9u>$M?L|{8? znbq7@*t&;jW;5&Up5Gq7mf!T@S=ibmJ+?=%5RU?{4qQdHo;Tq$o*TEwt{8eM-WFVN zi_F3W6Xn|3H>^v%CpKibJ+WMPtv|qRiQ0~MR>WwWK}lRiFY(TtjeIh!s#uloy_SyC z&M}GU8c$&xECY*zQ%eQnSGnfPvp5Al(!B+i@oel~I0Xy$VFObQ=!9a!Y{-uaEEHz{#LR&7dtq-bWJ zVAI2D<%()PG!qTD<4H|Q|9j%b6Pyo+N1+s>RnFW zYkO`l?8;ukRxE1!08ZbOh3h*9tq5e&3Qs^P*1fsqZ8AKizA^=_@r{*$tSq0aNnnJK2)qseSR?{{v`_ B@WB88 diff --git a/Log/DFLog.cs b/Log/DFLog.cs index dd37b5e161..930e60e867 100644 --- a/Log/DFLog.cs +++ b/Log/DFLog.cs @@ -82,11 +82,16 @@ public static List ReadLog(Stream fn) Clear(); List answer = new List(); + // current gps time DateTime gpstime = DateTime.MinValue; + // last time of message + DateTime lasttime = DateTime.MinValue; + // first valid gpstime + DateTime gpsstarttime = DateTime.MinValue; int lineno = 0; int msoffset = 0; - DateTime lasttime = DateTime.MinValue; + log.Info("loading log"); @@ -112,18 +117,21 @@ public static List ReadLog(Stream fn) } else if (line.StartsWith("GPS")) { - gpstime = GetTimeGPS(line); - lasttime = gpstime; + // if (gpsstarttime == DateTime.MinValue) + { + gpsstarttime = GetTimeGPS(line); + lasttime = gpsstarttime; - int indextimems = FindInArray(logformat["GPS"].FieldNames, "T"); + int indextimems = FindInArray(logformat["GPS"].FieldNames, "T"); - if (indextimems != -1) - { - try + if (indextimems != -1) { - msoffset = int.Parse(items[indextimems]); + try + { + msoffset = int.Parse(items[indextimems]); + } + catch { } } - catch { } } } @@ -139,7 +147,7 @@ public static List ReadLog(Stream fn) if (line.StartsWith("GPS")) { - item.time = gpstime; + item.time = GetTimeGPS(line); } else { @@ -150,7 +158,7 @@ public static List ReadLog(Stream fn) { item.timems = int.Parse(items[indextimems]); - item.time = gpstime.AddMilliseconds(item.timems - msoffset); + item.time = gpsstarttime.AddMilliseconds(item.timems - msoffset); lasttime = item.time; } @@ -236,11 +244,11 @@ public static DateTime gpsTimeToTime(int week, double sec) int leap = 16; // not correct for leap seconds day days weeks seconds - var basetime = new DateTime(1980, 1, 6, 0, 0, 0, DateTimeKind.Local); + var basetime = new DateTime(1980, 1, 6, 0, 0, 0, DateTimeKind.Utc); basetime = basetime.AddDays(week * 7); basetime = basetime.AddSeconds((sec - leap)); - return basetime; + return basetime.ToLocalTime(); } public static int FindInArray(string[] array, string find) diff --git a/Log/LogDownload.cs b/Log/LogDownload.cs index bb030ef5f4..2eea40d785 100644 --- a/Log/LogDownload.cs +++ b/Log/LogDownload.cs @@ -169,7 +169,7 @@ private void Log_Load(object sender, EventArgs e) } // cant exit unless told to } log.Info("Comport thread close"); - }) {Name = "comport reader", IsBackground = true }; + }) { Name = "comport reader", IsBackground = true }; t11.Start(); // doesnt seem to work on mac diff --git a/Log/LogDownloadMavLink.Designer.cs b/Log/LogDownloadMavLink.Designer.cs new file mode 100644 index 0000000000..45307f3713 --- /dev/null +++ b/Log/LogDownloadMavLink.Designer.cs @@ -0,0 +1,135 @@ +namespace MissionPlanner.Log +{ + partial class LogDownloadMavLink + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LogDownloadMavLink)); + this.TXT_seriallog = new System.Windows.Forms.TextBox(); + this.BUT_DLall = new MissionPlanner.Controls.MyButton(); + this.BUT_DLthese = new MissionPlanner.Controls.MyButton(); + this.BUT_clearlogs = new MissionPlanner.Controls.MyButton(); + this.CHK_logs = new System.Windows.Forms.CheckedListBox(); + this.TXT_status = new System.Windows.Forms.TextBox(); + this.BUT_redokml = new MissionPlanner.Controls.MyButton(); + this.BUT_firstperson = new MissionPlanner.Controls.MyButton(); + this.BUT_bintolog = new MissionPlanner.Controls.MyButton(); + this.SuspendLayout(); + // + // TXT_seriallog + // + resources.ApplyResources(this.TXT_seriallog, "TXT_seriallog"); + this.TXT_seriallog.Name = "TXT_seriallog"; + // + // BUT_DLall + // + resources.ApplyResources(this.BUT_DLall, "BUT_DLall"); + this.BUT_DLall.Name = "BUT_DLall"; + this.BUT_DLall.UseVisualStyleBackColor = true; + this.BUT_DLall.Click += new System.EventHandler(this.BUT_DLall_Click); + // + // BUT_DLthese + // + resources.ApplyResources(this.BUT_DLthese, "BUT_DLthese"); + this.BUT_DLthese.Name = "BUT_DLthese"; + this.BUT_DLthese.UseVisualStyleBackColor = true; + this.BUT_DLthese.Click += new System.EventHandler(this.BUT_DLthese_Click); + // + // BUT_clearlogs + // + resources.ApplyResources(this.BUT_clearlogs, "BUT_clearlogs"); + this.BUT_clearlogs.Name = "BUT_clearlogs"; + this.BUT_clearlogs.UseVisualStyleBackColor = true; + this.BUT_clearlogs.Click += new System.EventHandler(this.BUT_clearlogs_Click); + // + // CHK_logs + // + this.CHK_logs.CheckOnClick = true; + this.CHK_logs.FormattingEnabled = true; + resources.ApplyResources(this.CHK_logs, "CHK_logs"); + this.CHK_logs.Name = "CHK_logs"; + // + // TXT_status + // + resources.ApplyResources(this.TXT_status, "TXT_status"); + this.TXT_status.ForeColor = System.Drawing.Color.Red; + this.TXT_status.Name = "TXT_status"; + // + // BUT_redokml + // + resources.ApplyResources(this.BUT_redokml, "BUT_redokml"); + this.BUT_redokml.Name = "BUT_redokml"; + this.BUT_redokml.UseVisualStyleBackColor = true; + this.BUT_redokml.Click += new System.EventHandler(this.BUT_redokml_Click); + // + // BUT_firstperson + // + resources.ApplyResources(this.BUT_firstperson, "BUT_firstperson"); + this.BUT_firstperson.Name = "BUT_firstperson"; + this.BUT_firstperson.UseVisualStyleBackColor = true; + this.BUT_firstperson.Click += new System.EventHandler(this.BUT_firstperson_Click); + // + // BUT_bintolog + // + resources.ApplyResources(this.BUT_bintolog, "BUT_bintolog"); + this.BUT_bintolog.Name = "BUT_bintolog"; + this.BUT_bintolog.UseVisualStyleBackColor = true; + this.BUT_bintolog.Click += new System.EventHandler(this.BUT_bintolog_Click); + // + // LogDownloadMavLink + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.BUT_bintolog); + this.Controls.Add(this.BUT_firstperson); + this.Controls.Add(this.BUT_redokml); + this.Controls.Add(this.TXT_status); + this.Controls.Add(this.CHK_logs); + this.Controls.Add(this.BUT_clearlogs); + this.Controls.Add(this.BUT_DLthese); + this.Controls.Add(this.BUT_DLall); + this.Controls.Add(this.TXT_seriallog); + this.Name = "LogDownloadMavLink"; + this.Load += new System.EventHandler(this.Log_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private Controls.MyButton BUT_DLall; + private Controls.MyButton BUT_DLthese; + private Controls.MyButton BUT_clearlogs; + private System.Windows.Forms.CheckedListBox CHK_logs; + private System.Windows.Forms.TextBox TXT_status; + private Controls.MyButton BUT_redokml; + private System.Windows.Forms.TextBox TXT_seriallog; + private Controls.MyButton BUT_firstperson; + private Controls.MyButton BUT_bintolog; + } +} \ No newline at end of file diff --git a/Log/LogDownloadMavLink.cs b/Log/LogDownloadMavLink.cs new file mode 100644 index 0000000000..9fc5824af9 --- /dev/null +++ b/Log/LogDownloadMavLink.cs @@ -0,0 +1,393 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Reflection; +using System.Text; +using System.Windows.Forms; +using System.IO.Ports; +using System.IO; +using System.Text.RegularExpressions; +using KMLib; +using KMLib.Feature; +using KMLib.Geometry; +using Core.Geometry; +using ICSharpCode.SharpZipLib.Zip; +using ICSharpCode.SharpZipLib.Checksums; +using ICSharpCode.SharpZipLib.Core; +using log4net; +using MissionPlanner.Comms; +using MissionPlanner.Utilities; + + +namespace MissionPlanner.Log +{ + public partial class LogDownloadMavLink : Form + { + private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + serialstatus status = serialstatus.Connecting; + int currentlog = 0; + string logfile = ""; + int receivedbytes = 0; + + //List orientation = new List(); + + Object thisLock = new Object(); + DateTime start = DateTime.Now; + + enum serialstatus + { + Connecting, + Createfile, + Closefile, + Reading, + Waiting, + Done + } + + public LogDownloadMavLink() + { + InitializeComponent(); + + ThemeManager.ApplyThemeTo(this); + } + + private void Log_Load(object sender, EventArgs e) + { + if (!MainV2.comPort.BaseStream.IsOpen) + { + this.Close(); + CustomMessageBox.Show("Please Connect"); + return; + } + + var list = MainV2.comPort.GetLogList(); + + foreach (var item in list) + { + genchkcombo(item.id); + } + + status = serialstatus.Done; + } + + void genchkcombo(int logcount) + { + MethodInvoker m = delegate() + { + //CHK_logs.Items.Clear(); + //for (int a = 1; a <= logcount; a++) + if (!CHK_logs.Items.Contains(logcount)) + { + CHK_logs.Items.Add(logcount); + } + }; + try + { + BeginInvoke(m); + } + catch + { + } + } + + void updateDisplay() + { + if (start.Second != DateTime.Now.Second) + { + this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate() +{ + try + { + + TXT_status.Text = status.ToString() + " " + receivedbytes; + } + catch { } +}); + start = DateTime.Now; + } + } + + private void BUT_DLall_Click(object sender, EventArgs e) + { + if (status == serialstatus.Done) + { + if (CHK_logs.Items.Count == 0) + { + CustomMessageBox.Show("Nothing to download"); + return; + } + + System.Threading.Thread t11 = new System.Threading.Thread(delegate() { downloadthread(int.Parse(CHK_logs.Items[0].ToString()), int.Parse(CHK_logs.Items[CHK_logs.Items.Count - 1].ToString())); }); + t11.Name = "Log Download All thread"; + t11.Start(); + } + } + + string GetLog(ushort no) + { + MainV2.comPort.Progress += comPort_Progress; + + status = serialstatus.Reading; + + // get df log from mav + var ms = MainV2.comPort.GetLog(no); + + status = serialstatus.Done; + + MainV2.comPort.Progress -= comPort_Progress; + + // set log fn + byte[] hbpacket = MainV2.comPort.getHeartBeat(); + + MAVLink.mavlink_heartbeat_t hb = (MAVLink.mavlink_heartbeat_t)MainV2.comPort.DebugPacket(hbpacket); + + logfile = MainV2.LogDir + Path.DirectorySeparatorChar + + MainV2.comPort.MAV.aptype.ToString() + Path.DirectorySeparatorChar + + hbpacket[3] + Path.DirectorySeparatorChar + DateTime.Now.ToString("yyyy-MM-dd HH-mm") + " " + currentlog + ".bin"; + + // make log dir + Directory.CreateDirectory(Path.GetDirectoryName(logfile)); + + // save memorystream to file + using (BinaryWriter bw = new BinaryWriter(File.OpenWrite(logfile))) + { + bw.Write(ms.ToArray()); + } + + // read binary log to assci log + var temp1 = Log.BinaryLog.ReadLog(logfile); + + // delete binary log file + //File.Delete(logfile); + + logfile = logfile + ".log"; + + // write assci log + File.WriteAllLines(logfile, temp1); + + // get gps time of assci log + DateTime logtime = DFLog.GetFirstGpsTime(logfile); + + // rename log is we have a valid gps time + if (logtime != DateTime.MinValue) + { + string newlogfilename = MainV2.LogDir + Path.DirectorySeparatorChar + + MainV2.comPort.MAV.aptype.ToString() + Path.DirectorySeparatorChar + + hbpacket[3] + Path.DirectorySeparatorChar + logtime.ToString("yyyy-MM-dd HH-mm") + ".log"; + File.Move(logfile, newlogfilename); + // rename bin as well + File.Move(logfile.Replace(".log", ""), newlogfilename.Replace(".log", ".bin")); + logfile = newlogfilename; + } + + return logfile; + } + + void comPort_Progress(int progress, string status) + { + receivedbytes = progress; + updateDisplay(); + } + + void CreateLog(string logfile) + { + TextReader tr = new StreamReader(logfile); + // + + this.Invoke((System.Windows.Forms.MethodInvoker)delegate() + { + TXT_seriallog.AppendText("Creating KML for " + logfile); + }); + + LogOutput lo = new LogOutput(); + + while (tr.Peek() != -1) + { + lo.processLine(tr.ReadLine()); + } + + tr.Close(); + + try + { + lo.writeKML(logfile + ".kml"); + } + catch { } // usualy invalid lat long error + status = serialstatus.Done; + } + + private void downloadthread(int startlognum, int endlognum) + { + try + { + for (int a = startlognum; a <= endlognum; a++) + { + currentlog = a; + + var logname = GetLog((ushort)a); + + CreateLog(logname); + } + + Console.Beep(); + } + catch (Exception ex) { CustomMessageBox.Show(ex.Message, "Error in log " + currentlog); } + } + + private void downloadsinglethread() + { + try + { + for (int i = 0; i < CHK_logs.CheckedItems.Count; ++i) + { + int a = (int)CHK_logs.CheckedItems[i]; + { + currentlog = a; + + var logname = GetLog((ushort)a); + + CreateLog(logname); + } + } + + Console.Beep(); + } + catch (Exception ex) { CustomMessageBox.Show(ex.Message, "Error in log " + currentlog); } + } + + private void BUT_DLthese_Click(object sender, EventArgs e) + { + if (status == serialstatus.Done) + { + System.Threading.Thread t11 = new System.Threading.Thread(delegate() { downloadsinglethread(); }); + t11.Name = "Log download single thread"; + t11.Start(); + } + } + + private void BUT_clearlogs_Click(object sender, EventArgs e) + { + try + { + MainV2.comPort.EraseLog(); + TXT_seriallog.AppendText("!!Allow 30-90 seconds for erase\n"); + status = serialstatus.Done; + CHK_logs.Items.Clear(); + } + catch (Exception ex) { CustomMessageBox.Show(ex.Message, "Error"); } + } + + private void BUT_redokml_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog1 = new OpenFileDialog(); + openFileDialog1.Filter = "*.log|*.log"; + openFileDialog1.FilterIndex = 2; + openFileDialog1.RestoreDirectory = true; + openFileDialog1.Multiselect = true; + try + { + openFileDialog1.InitialDirectory = MainV2.LogDir + Path.DirectorySeparatorChar; + } + catch { } // incase dir doesnt exist + + if (openFileDialog1.ShowDialog() == DialogResult.OK) + { + foreach (string logfile in openFileDialog1.FileNames) + { + TXT_seriallog.AppendText("\n\nProcessing " + logfile + "\n"); + this.Refresh(); + LogOutput lo = new LogOutput(); + try + { + TextReader tr = new StreamReader(logfile); + + while (tr.Peek() != -1) + { + lo.processLine(tr.ReadLine()); + } + + tr.Close(); + } + catch (Exception ex) { CustomMessageBox.Show("Error processing file. Make sure the file is not in use.\n" + ex.ToString()); } + + lo.writeKML(logfile + ".kml"); + + TXT_seriallog.AppendText("Done\n"); + } + } + } + + + private void BUT_firstperson_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog1 = new OpenFileDialog(); + openFileDialog1.Filter = "*.log|*.log"; + openFileDialog1.FilterIndex = 2; + openFileDialog1.RestoreDirectory = true; + openFileDialog1.Multiselect = true; + try + { + openFileDialog1.InitialDirectory = MainV2.LogDir + Path.DirectorySeparatorChar; + } + catch { } // incase dir doesnt exist + + if (openFileDialog1.ShowDialog() == DialogResult.OK) + { + foreach (string logfile in openFileDialog1.FileNames) + { + TXT_seriallog.AppendText("\n\nProcessing " + logfile + "\n"); + this.Refresh(); + + LogOutput lo = new LogOutput(); + + try + { + TextReader tr = new StreamReader(logfile); + + while (tr.Peek() != -1) + { + lo.processLine(tr.ReadLine()); + } + + tr.Close(); + } + catch (Exception ex) { CustomMessageBox.Show("Error processing log. Is it still downloading? " + ex.Message); continue; } + + lo.writeKMLFirstPerson(logfile + "-fp.kml"); + + TXT_seriallog.AppendText("Done\n"); + } + } + } + + private void BUT_bintolog_Click(object sender, EventArgs e) + { + OpenFileDialog ofd = new OpenFileDialog(); + ofd.Filter = "Binary Log|*.bin"; + + ofd.ShowDialog(); + + if (File.Exists(ofd.FileName)) + { + List log = BinaryLog.ReadLog(ofd.FileName); + + SaveFileDialog sfd = new SaveFileDialog(); + sfd.Filter = "log|*.log"; + + DialogResult res = sfd.ShowDialog(); + + if (res == System.Windows.Forms.DialogResult.OK) + { + StreamWriter sw = new StreamWriter(sfd.OpenFile()); + foreach (string line in log) + { + sw.Write(line); + } + sw.Close(); + } + } + } + } +} \ No newline at end of file diff --git a/Log/LogDownloadMavLink.de-DE.resx b/Log/LogDownloadMavLink.de-DE.resx new file mode 100644 index 0000000000..9b937243a2 --- /dev/null +++ b/Log/LogDownloadMavLink.de-DE.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Log + + + Alle Log Dateien laden + + + KML wiederherstellen + + + Dieses Log herunterladen + + + Logs löschen + + + First Person KML + + + (adv) Dump All DF + + \ No newline at end of file diff --git a/Log/LogDownloadMavLink.es-ES.resx b/Log/LogDownloadMavLink.es-ES.resx new file mode 100644 index 0000000000..0d2ef61e1a --- /dev/null +++ b/Log/LogDownloadMavLink.es-ES.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Log + + + Descargar todos los Logs + + + Recrear KML + + + Descargar este Log + + + Limpiar Logs + + + KML Primera Persona + + \ No newline at end of file diff --git a/Log/LogDownloadMavLink.fr.resx b/Log/LogDownloadMavLink.fr.resx new file mode 100644 index 0000000000..3615747aed --- /dev/null +++ b/Log/LogDownloadMavLink.fr.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Journal + + + Charger les journaux + + + Récréer KML + + + Charger ces journaux + + + Effacer journaux + + + KML Première personne + + + (adv) Dump All DF + + \ No newline at end of file diff --git a/Log/LogDownloadMavLink.it-IT.resx b/Log/LogDownloadMavLink.it-IT.resx new file mode 100644 index 0000000000..04496eafef --- /dev/null +++ b/Log/LogDownloadMavLink.it-IT.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Log + + + Scarica tutti i Log + + + Ricrea KML + + + Scarica questi Log + + + Pulisci Log + + + KML in Prima Persona + + \ No newline at end of file diff --git a/Log/LogDownloadMavLink.pl.resx b/Log/LogDownloadMavLink.pl.resx new file mode 100644 index 0000000000..e7771a400c --- /dev/null +++ b/Log/LogDownloadMavLink.pl.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Log + + + Odczytaj wszystkie Logi + + + Stwórz ponownie KML + + + Odczytaj wybrane Logi + + + Wyczyść Logi + + + KML w pierwszej osobie (FPV) + + \ No newline at end of file diff --git a/Log/LogDownloadMavLink.resx b/Log/LogDownloadMavLink.resx new file mode 100644 index 0000000000..90e0705102 --- /dev/null +++ b/Log/LogDownloadMavLink.resx @@ -0,0 +1,436 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Top, Bottom, Left, Right + + + + 135, 43 + + + + True + + + 470, 352 + + + 1 + + + TXT_seriallog + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + 13, 13 + + + 116, 23 + + + 3 + + + Download All Logs + + + BUT_DLall + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 7 + + + 13, 43 + + + 116, 23 + + + 4 + + + Download These Log + + + BUT_DLthese + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 6 + + + 13, 187 + + + 116, 23 + + + 5 + + + Clear Logs + + + BUT_clearlogs + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 5 + + + 13, 72 + + + 116, 109 + + + 6 + + + CHK_logs + + + System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + False + + + 13, 217 + + + 116, 20 + + + 7 + + + TXT_status + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + 13, 311 + + + 116, 23 + + + 8 + + + Recreate KML + + + BUT_redokml + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 2 + + + 13, 282 + + + 116, 23 + + + 9 + + + First Person KML + + + BUT_firstperson + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 1 + + + NoControl + + + 12, 340 + + + 116, 23 + + + 11 + + + .bin to .log + + + BUT_bintolog + + + MissionPlanner.Controls.MyButton, MissionPlanner.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 0 + + + True + + + 6, 13 + + + 617, 407 + + + + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAABILAAASCwAAAAAAAAAA + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOxkjAtnoOAKpJ4vyiK + c+8nh3D/J4Zv/yeHcP8oi3PvKpJ4vy6fg4AzsZIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjGo2AyspPfLZ+D/yiQ + d/8hlXj/G6F9/xeqg/8XqYL/GKqD/xuhfv8ilnn/KZB3/y2fhP8yspPfN8ajYAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvRrDA1vpzfL6uN/yel + hP8XvJD/DMyY/wfQl/8FzJP/A8qS/wPJkf8EypL/BsyU/wnRmP8PzZn/Gb2R/yemhP8tqoz/Mb2a3zbQ + qkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAA4y6ZgMbWV/yin + iP8WwZP/Btqf/wDPlf8AyI7/A8aP/yfNnv9T2LP/UNax/03XsP8506b/G8ya/wHKkf8F0Zf/CNuf/xLB + kv8fpYT/J7KQ/y7IomAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAANcajny+w + kf8hqoj/CNSd/wDRlf8Axor/Hcyd/3Lhwf+p7Nj/o+vV/57m0/+X5dD/k+TN/4/jzf+K5Mz/fuHH/0PW + rf8HzJT/ANCT/wDRlv8OpX//HayI/yrFn58AAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAADDC + nmAtro7/H62J/wPWmv8Ay47/AMaO/3XhxP+e6tT/mObP/5Pjy/+Q4sr/jODJ/4ffx/+C3MT/f9vC/3nb + wf9y2r7/adq7/2DauP8ZzZv/Fdae/8T/9/9WxKj/HKuI/y7IomAAAAAAAAAAAAAAAAD///8AAAAAAAAA + AAAiuZMwKKyM/x6ohf8C1Zr/AMmL/wHGjv+49OL///////////9+3ML/f9zD/4Dcwv9+28L/e9rA/3bZ + vv9w1rr/Z9S4/17Rs/9Qz63/Qcyn/3LewP////////////n///8MpH7/JbKP/zXQqUAAAAAAAAAAAP// + /wAAAAAAAAAAABymhN8dnn//BNGa/wDKjP8AxY3/sfHf/////////////////2nXt/9w1rv/c9e8/3TX + vP9x17z/a9W5/2TTtf9Y0K//SMyp/zXFoP9i07X/////////////////f/LR/wDQlf8epYT/Mb2a3wAA + AAAAAAAA////AAAAAAADlnJgFZR1/wq4iv8AzpH/AMCD/4rmzf//////////////////////WdGv/2PU + tf9p1rf/atS4/2nUtv9i0rT/Vc+u/0fKpv8zxZz/Ws+w//////////////////////8GyJL/ANCS/xLB + kv8tq4z/OMajYAAAAAD///8AAAAAAACHZt8NkW//ANKV/wDChP9i27r//////////////////////9Dx + 6P9MzKn/Vc+v/17Rsv9g0rP/XNCx/1XNrv9Fyaf/McSd/1fPr///////////////////////QM2m/ynK + oP8JzJX/C9yh/ymmhf80spPfAAAAAP///wAAcUwwAHtc/wCrfP8AyIv/AMKK//////////////////// + /////////////5Dgyv9Gyqb/TMyq/07Nq/9MzKn/Qcmj/y/Fnf9Wzq3//////////////////////57k + 0v8av5T/Lceg/yzOo/8M05v/Hr6T/zCghf80spIw////AABoRYAAclT/AL2H/wDBhf9R1rL///////// + ////////4vfw//////////////////H8+P9KzKn/Ocah/zTFnv8qwpj/Us2t//////////////////// + ////////DLqM/yDBlv8wxp//OM6m/xPPm/8Xz53/LZF5/y+fg4////8AAGNAvwB7Wf8Aw4j/ALyC/4bj + yP+g5tL/g93E/2HSsv9Pzqz/Us6s//////////////////////9Yzq//Gr2S/0jLp/////////////// + /////////////yrDm/8SvI//JMGY/zDHn/81zKT/Is2e/xTUnf8nl3v/LJJ5v////wAAXz3vAIlg/wDA + hf8AuoD/quzZ/5Hjyv9628D/ada2/1jRsP9Jy6f/a9a4//////////////////////+Y4s7///////// + //////////////////+c4tD/AbaH/xW8kf8jwZj/LcWd/y/Jn/8kzJ3/E9Ca/yGjgf8ri3Tv////AABd + PP8Ak2b/AL6D/w/Ekv+m6tf/j+HJ/3vawP9p1rf/W9Gx/0rNqf85yJ//Nsaf//////////////////// + /////////////////////////////wCwe/8AtoT/ELqP/xu+k/8jwZj/KMeb/yHKm/8QzZf/HqyG/ymI + cf////8AAF07/wCSZP8AvYL/GMWU/6Dn1P+K38f/ddi+/27Wuf+E3MX/leHN/6fm1f+l5tX/neLQ//// + ////////////////////////////////////////j9/J/27Vuv9Tzq7/JsKY/xa/kv8aw5T/FcaW/wvL + lf8aqoT/J4dw/////wAAXTv/AJFk/wC9gP8GwY3/mObQ/5rkz/+26dv/y/Hl/8Dt3/+06tz/pebV/5bg + zP+g5NL//////////////v///f7+//7+/v//////7fn2////////////tOnb/6Ll0v+v6Nj/jeDI/zXK + o/8IxJD/BMqS/xaqgv8lh2//////AABeO+8AgVf/AL1//wDBif/R9uv/1PPq/8Tv5P+36t3/rujY/6Lk + 0v+U4cv/jt7J//j8+///////+/38//f8+//2+/r/+Pz7//3+/v/m9/P/9Pv6//D6+P9/28L/jd7J/5jj + z/+h5dL/qOvX/4Hmyf8f1J//E596/yOJcO////8AAGA8vwB3U/8p06P/hufM/8Ty5f/D7+T/s+vb/6bm + 1P+c4c//j9/K/4vcyP/t+fb///7///j8/P/0+/r/8vr5//P7+f/1+/r/+/39///////i9fL/ZNO1/3HW + vP992sH/htzG/4vhyv+S5dD/mO7W/6X74v80noT/Io90v////wAAZkCAAHla/33ny/945cb/nunV/7Xr + 3v+l5tT/luDN/4ndxv992cL/1vLq//v9/P/1+/n/8vv4//L69//z+/j/9Pv5/7Xo2//x+vn///////// + //+y59n/aNS3/3LWvP932r//fNzD/4Ljyf+J7ND/l/bd/yORdf8knH6A////AABuRzAAdlT/Xc6x/23o + xv9s4MH/qurZ/5jiz/+I3cb/edjA/8ju5f/3/Pv/8vv4//H6+P/y+/j/6/f0/7np3v/7/fz//v7+/6fk + 1f+56tz///////////9h0bT/aNW4/23Wu/9v3L//dOLG/37w0f9m1rn/Hpt8/ymujTD///8AAAAAAACD + X98po4X/Z+7K/1vgvP+A4sf/jOHK/3rZwv+r59f/9Pv6/+/69//v+vf/8vr4/9fy6/9n0rf/VM6t/6Di + 0v/N7+f/adO4/1PMrf9t1Lr/i9zI/1/Rs/9h0rX/ZNe4/2bbvf9s5sb/ePfV/z2ylf8lrozfAAAAAP// + /wAAAAAAAJNsYAWQbf9U1rP/Vee//0rYsf993sb/pebV//P7+v/s+Pb/6/f1/+749v+s5tj/Vc2u/1jP + r/9ZzrD/btW5/1bOr/9Wza//Vs6v/1fOr/9Z0LD/WdCy/1vTtP9d1rX/Xt+8/2btyP9k4L//IaaF/y7D + nmAAAAAA////AAAAAAAAAAAAD6J9zyCjgv9S68L/P9+0/2Pevv/5////7/v6/+v59//j9/L/gtvF/1PN + r/9Wz7D/Wc+x/1nQsf9Zz7H/WM6w/1fPsP9UzrD/VM+w/1TPrv9U0a//U9Oy/1Tatv9Z5sD/Y/LL/zSx + lP8qupbPAAAAAAAAAAD///8AAAAAAAAAAAAYto4wGaeE/y23lP8+5rn/6/////j////w//3/ve/i/2bV + uP9Tzq7/Vc+v/1jPsP9Z0LL/WM+w/1fOsf9Wz7D/Us2w/1HOrf9Qzq3/T9Cu/0zSr/9M2LP/TeC5/1bt + xP9HxaX/KLKQ/zTPqDAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAkvpdgG6iF/y++m//e/////P///3rl + yf9G0K3/VdKy/1bPsf9Wz7H/Vs6w/1bPsP9Sza//Ucyu/0/Nrf9NzKz/S82s/0fOrP9G0a7/QdWv/0Le + tP9I6L7/Q8Ok/yitjP8yyKJgAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAmwJlgG6iF/yK3 + kP8k3q7/H9el/x7Pn/8tzKT/Q9Cs/1HQsP9Q0K7/TM6u/0nMrf9Hzaz/RMyp/0LNqf8+zqn/ONGo/zTV + qf833rD/O+S4/zvCof8orIv/MMSfYAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAkvpdgG6iE/xukgv8gy53/HNql/xzRn/8czJz/HcmZ/yXJnP8qyp7/Lcqg/yzLn/8nypz/JMqc/yTO + n/8l1KT/KN2r/y3Tpv8nq4n/JaqJ/yzAm2AAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAato8wFKN/zxCScv8RnHn/DbqM/wjIlP8GyZT/BsaS/wbFkf8GxZH/B8WR/wfH + k/8IypX/DMmV/xG3jP8WoX3/Fph2/xqkgs8ft5EwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJVvYACGZM8Aelr/AHlZ/wCFX/8AiWL/AJlr/wCb + bP8AlGf/AI5k/wB/W/8AeFj/AHtb/wCHZd8ClXBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwSzAAaESAAGI/vwBf + Pd8AXTz/AF08/wBdPP8AXz3fAGJAvwBoRIAAcUswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A/+AD//+AAP/+AAA//AAAH/gAAA/wAAAH4AAAA+AAAAPAAAABwAAAAYAA + AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAwAAAAcAAAAHgAAAD4AAAA/AA + AAf4AAAP/AAAH/4AAD//gAD//+AD//////8= + + + + Log + + + LogDownloadMavLink + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Log/LogDownloadMavLink.zh-Hans.resx b/Log/LogDownloadMavLink.zh-Hans.resx new file mode 100644 index 0000000000..0f28782265 --- /dev/null +++ b/Log/LogDownloadMavLink.zh-Hans.resx @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 下载所有记录 + + + 下载选中记录 + + + 清空记录 + + + 重建 KML + + + 第一人称 KML + + + + + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAABILAAASCwAAAAAAAAAA + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOxkjAtnoOAKpJ4vyiK + c+8nh3D/J4Zv/yeHcP8oi3PvKpJ4vy6fg4AzsZIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjGo2AyspPfLZ+D/yiQ + d/8hlXj/G6F9/xeqg/8XqYL/GKqD/xuhfv8ilnn/KZB3/y2fhP8yspPfN8ajYAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvRrDA1vpzfL6uN/yel + hP8XvJD/DMyY/wfQl/8FzJP/A8qS/wPJkf8EypL/BsyU/wnRmP8PzZn/Gb2R/yemhP8tqoz/Mb2a3zbQ + qkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAA4y6ZgMbWV/yin + iP8WwZP/Btqf/wDPlf8AyI7/A8aP/yfNnv9T2LP/UNax/03XsP8506b/G8ya/wHKkf8F0Zf/CNuf/xLB + kv8fpYT/J7KQ/y7IomAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAANcajny+w + kf8hqoj/CNSd/wDRlf8Axor/Hcyd/3Lhwf+p7Nj/o+vV/57m0/+X5dD/k+TN/4/jzf+K5Mz/fuHH/0PW + rf8HzJT/ANCT/wDRlv8OpX//HayI/yrFn58AAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAADDC + nmAtro7/H62J/wPWmv8Ay47/AMaO/3XhxP+e6tT/mObP/5Pjy/+Q4sr/jODJ/4ffx/+C3MT/f9vC/3nb + wf9y2r7/adq7/2DauP8ZzZv/Fdae/8T/9/9WxKj/HKuI/y7IomAAAAAAAAAAAAAAAAD///8AAAAAAAAA + AAAiuZMwKKyM/x6ohf8C1Zr/AMmL/wHGjv+49OL///////////9+3ML/f9zD/4Dcwv9+28L/e9rA/3bZ + vv9w1rr/Z9S4/17Rs/9Qz63/Qcyn/3LewP////////////n///8MpH7/JbKP/zXQqUAAAAAAAAAAAP// + /wAAAAAAAAAAABymhN8dnn//BNGa/wDKjP8AxY3/sfHf/////////////////2nXt/9w1rv/c9e8/3TX + vP9x17z/a9W5/2TTtf9Y0K//SMyp/zXFoP9i07X/////////////////f/LR/wDQlf8epYT/Mb2a3wAA + AAAAAAAA////AAAAAAADlnJgFZR1/wq4iv8AzpH/AMCD/4rmzf//////////////////////WdGv/2PU + tf9p1rf/atS4/2nUtv9i0rT/Vc+u/0fKpv8zxZz/Ws+w//////////////////////8GyJL/ANCS/xLB + kv8tq4z/OMajYAAAAAD///8AAAAAAACHZt8NkW//ANKV/wDChP9i27r//////////////////////9Dx + 6P9MzKn/Vc+v/17Rsv9g0rP/XNCx/1XNrv9Fyaf/McSd/1fPr///////////////////////QM2m/ynK + oP8JzJX/C9yh/ymmhf80spPfAAAAAP///wAAcUwwAHtc/wCrfP8AyIv/AMKK//////////////////// + /////////////5Dgyv9Gyqb/TMyq/07Nq/9MzKn/Qcmj/y/Fnf9Wzq3//////////////////////57k + 0v8av5T/Lceg/yzOo/8M05v/Hr6T/zCghf80spIw////AABoRYAAclT/AL2H/wDBhf9R1rL///////// + ////////4vfw//////////////////H8+P9KzKn/Ocah/zTFnv8qwpj/Us2t//////////////////// + ////////DLqM/yDBlv8wxp//OM6m/xPPm/8Xz53/LZF5/y+fg4////8AAGNAvwB7Wf8Aw4j/ALyC/4bj + yP+g5tL/g93E/2HSsv9Pzqz/Us6s//////////////////////9Yzq//Gr2S/0jLp/////////////// + /////////////yrDm/8SvI//JMGY/zDHn/81zKT/Is2e/xTUnf8nl3v/LJJ5v////wAAXz3vAIlg/wDA + hf8AuoD/quzZ/5Hjyv9628D/ada2/1jRsP9Jy6f/a9a4//////////////////////+Y4s7///////// + //////////////////+c4tD/AbaH/xW8kf8jwZj/LcWd/y/Jn/8kzJ3/E9Ca/yGjgf8ri3Tv////AABd + PP8Ak2b/AL6D/w/Ekv+m6tf/j+HJ/3vawP9p1rf/W9Gx/0rNqf85yJ//Nsaf//////////////////// + /////////////////////////////wCwe/8AtoT/ELqP/xu+k/8jwZj/KMeb/yHKm/8QzZf/HqyG/ymI + cf////8AAF07/wCSZP8AvYL/GMWU/6Dn1P+K38f/ddi+/27Wuf+E3MX/leHN/6fm1f+l5tX/neLQ//// + ////////////////////////////////////////j9/J/27Vuv9Tzq7/JsKY/xa/kv8aw5T/FcaW/wvL + lf8aqoT/J4dw/////wAAXTv/AJFk/wC9gP8GwY3/mObQ/5rkz/+26dv/y/Hl/8Dt3/+06tz/pebV/5bg + zP+g5NL//////////////v///f7+//7+/v//////7fn2////////////tOnb/6Ll0v+v6Nj/jeDI/zXK + o/8IxJD/BMqS/xaqgv8lh2//////AABeO+8AgVf/AL1//wDBif/R9uv/1PPq/8Tv5P+36t3/rujY/6Lk + 0v+U4cv/jt7J//j8+///////+/38//f8+//2+/r/+Pz7//3+/v/m9/P/9Pv6//D6+P9/28L/jd7J/5jj + z/+h5dL/qOvX/4Hmyf8f1J//E596/yOJcO////8AAGA8vwB3U/8p06P/hufM/8Ty5f/D7+T/s+vb/6bm + 1P+c4c//j9/K/4vcyP/t+fb///7///j8/P/0+/r/8vr5//P7+f/1+/r/+/39///////i9fL/ZNO1/3HW + vP992sH/htzG/4vhyv+S5dD/mO7W/6X74v80noT/Io90v////wAAZkCAAHla/33ny/945cb/nunV/7Xr + 3v+l5tT/luDN/4ndxv992cL/1vLq//v9/P/1+/n/8vv4//L69//z+/j/9Pv5/7Xo2//x+vn///////// + //+y59n/aNS3/3LWvP932r//fNzD/4Ljyf+J7ND/l/bd/yORdf8knH6A////AABuRzAAdlT/Xc6x/23o + xv9s4MH/qurZ/5jiz/+I3cb/edjA/8ju5f/3/Pv/8vv4//H6+P/y+/j/6/f0/7np3v/7/fz//v7+/6fk + 1f+56tz///////////9h0bT/aNW4/23Wu/9v3L//dOLG/37w0f9m1rn/Hpt8/ymujTD///8AAAAAAACD + X98po4X/Z+7K/1vgvP+A4sf/jOHK/3rZwv+r59f/9Pv6/+/69//v+vf/8vr4/9fy6/9n0rf/VM6t/6Di + 0v/N7+f/adO4/1PMrf9t1Lr/i9zI/1/Rs/9h0rX/ZNe4/2bbvf9s5sb/ePfV/z2ylf8lrozfAAAAAP// + /wAAAAAAAJNsYAWQbf9U1rP/Vee//0rYsf993sb/pebV//P7+v/s+Pb/6/f1/+749v+s5tj/Vc2u/1jP + r/9ZzrD/btW5/1bOr/9Wza//Vs6v/1fOr/9Z0LD/WdCy/1vTtP9d1rX/Xt+8/2btyP9k4L//IaaF/y7D + nmAAAAAA////AAAAAAAAAAAAD6J9zyCjgv9S68L/P9+0/2Pevv/5////7/v6/+v59//j9/L/gtvF/1PN + r/9Wz7D/Wc+x/1nQsf9Zz7H/WM6w/1fPsP9UzrD/VM+w/1TPrv9U0a//U9Oy/1Tatv9Z5sD/Y/LL/zSx + lP8qupbPAAAAAAAAAAD///8AAAAAAAAAAAAYto4wGaeE/y23lP8+5rn/6/////j////w//3/ve/i/2bV + uP9Tzq7/Vc+v/1jPsP9Z0LL/WM+w/1fOsf9Wz7D/Us2w/1HOrf9Qzq3/T9Cu/0zSr/9M2LP/TeC5/1bt + xP9HxaX/KLKQ/zTPqDAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAkvpdgG6iF/y++m//e/////P///3rl + yf9G0K3/VdKy/1bPsf9Wz7H/Vs6w/1bPsP9Sza//Ucyu/0/Nrf9NzKz/S82s/0fOrP9G0a7/QdWv/0Le + tP9I6L7/Q8Ok/yitjP8yyKJgAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAmwJlgG6iF/yK3 + kP8k3q7/H9el/x7Pn/8tzKT/Q9Cs/1HQsP9Q0K7/TM6u/0nMrf9Hzaz/RMyp/0LNqf8+zqn/ONGo/zTV + qf833rD/O+S4/zvCof8orIv/MMSfYAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAkvpdgG6iE/xukgv8gy53/HNql/xzRn/8czJz/HcmZ/yXJnP8qyp7/Lcqg/yzLn/8nypz/JMqc/yTO + n/8l1KT/KN2r/y3Tpv8nq4n/JaqJ/yzAm2AAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAato8wFKN/zxCScv8RnHn/DbqM/wjIlP8GyZT/BsaS/wbFkf8GxZH/B8WR/wfH + k/8IypX/DMmV/xG3jP8WoX3/Fph2/xqkgs8ft5EwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJVvYACGZM8Aelr/AHlZ/wCFX/8AiWL/AJlr/wCb + bP8AlGf/AI5k/wB/W/8AeFj/AHtb/wCHZd8ClXBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwSzAAaESAAGI/vwBf + Pd8AXTz/AF08/wBdPP8AXz3fAGJAvwBoRIAAcUswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A/+AD//+AAP/+AAA//AAAH/gAAA/wAAAH4AAAA+AAAAPAAAABwAAAAYAA + AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAwAAAAcAAAAHgAAAD4AAAA/AA + AAf4AAAP/AAAH/4AAD//gAD//+AD//////8= + + + + 记录 + + \ No newline at end of file diff --git a/Log/LogDownloadMavLink.zh-TW.resx b/Log/LogDownloadMavLink.zh-TW.resx new file mode 100644 index 0000000000..f80f2041ee --- /dev/null +++ b/Log/LogDownloadMavLink.zh-TW.resx @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 下載所有記錄 + + + 下載選中記錄 + + + 清空記錄 + + + 重建 KML + + + 第一人稱 KML + + + + + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAABILAAASCwAAAAAAAAAA + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOxkjAtnoOAKpJ4vyiK + c+8nh3D/J4Zv/yeHcP8oi3PvKpJ4vy6fg4AzsZIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjGo2AyspPfLZ+D/yiQ + d/8hlXj/G6F9/xeqg/8XqYL/GKqD/xuhfv8ilnn/KZB3/y2fhP8yspPfN8ajYAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvRrDA1vpzfL6uN/yel + hP8XvJD/DMyY/wfQl/8FzJP/A8qS/wPJkf8EypL/BsyU/wnRmP8PzZn/Gb2R/yemhP8tqoz/Mb2a3zbQ + qkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAA4y6ZgMbWV/yin + iP8WwZP/Btqf/wDPlf8AyI7/A8aP/yfNnv9T2LP/UNax/03XsP8506b/G8ya/wHKkf8F0Zf/CNuf/xLB + kv8fpYT/J7KQ/y7IomAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAANcajny+w + kf8hqoj/CNSd/wDRlf8Axor/Hcyd/3Lhwf+p7Nj/o+vV/57m0/+X5dD/k+TN/4/jzf+K5Mz/fuHH/0PW + rf8HzJT/ANCT/wDRlv8OpX//HayI/yrFn58AAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAADDC + nmAtro7/H62J/wPWmv8Ay47/AMaO/3XhxP+e6tT/mObP/5Pjy/+Q4sr/jODJ/4ffx/+C3MT/f9vC/3nb + wf9y2r7/adq7/2DauP8ZzZv/Fdae/8T/9/9WxKj/HKuI/y7IomAAAAAAAAAAAAAAAAD///8AAAAAAAAA + AAAiuZMwKKyM/x6ohf8C1Zr/AMmL/wHGjv+49OL///////////9+3ML/f9zD/4Dcwv9+28L/e9rA/3bZ + vv9w1rr/Z9S4/17Rs/9Qz63/Qcyn/3LewP////////////n///8MpH7/JbKP/zXQqUAAAAAAAAAAAP// + /wAAAAAAAAAAABymhN8dnn//BNGa/wDKjP8AxY3/sfHf/////////////////2nXt/9w1rv/c9e8/3TX + vP9x17z/a9W5/2TTtf9Y0K//SMyp/zXFoP9i07X/////////////////f/LR/wDQlf8epYT/Mb2a3wAA + AAAAAAAA////AAAAAAADlnJgFZR1/wq4iv8AzpH/AMCD/4rmzf//////////////////////WdGv/2PU + tf9p1rf/atS4/2nUtv9i0rT/Vc+u/0fKpv8zxZz/Ws+w//////////////////////8GyJL/ANCS/xLB + kv8tq4z/OMajYAAAAAD///8AAAAAAACHZt8NkW//ANKV/wDChP9i27r//////////////////////9Dx + 6P9MzKn/Vc+v/17Rsv9g0rP/XNCx/1XNrv9Fyaf/McSd/1fPr///////////////////////QM2m/ynK + oP8JzJX/C9yh/ymmhf80spPfAAAAAP///wAAcUwwAHtc/wCrfP8AyIv/AMKK//////////////////// + /////////////5Dgyv9Gyqb/TMyq/07Nq/9MzKn/Qcmj/y/Fnf9Wzq3//////////////////////57k + 0v8av5T/Lceg/yzOo/8M05v/Hr6T/zCghf80spIw////AABoRYAAclT/AL2H/wDBhf9R1rL///////// + ////////4vfw//////////////////H8+P9KzKn/Ocah/zTFnv8qwpj/Us2t//////////////////// + ////////DLqM/yDBlv8wxp//OM6m/xPPm/8Xz53/LZF5/y+fg4////8AAGNAvwB7Wf8Aw4j/ALyC/4bj + yP+g5tL/g93E/2HSsv9Pzqz/Us6s//////////////////////9Yzq//Gr2S/0jLp/////////////// + /////////////yrDm/8SvI//JMGY/zDHn/81zKT/Is2e/xTUnf8nl3v/LJJ5v////wAAXz3vAIlg/wDA + hf8AuoD/quzZ/5Hjyv9628D/ada2/1jRsP9Jy6f/a9a4//////////////////////+Y4s7///////// + //////////////////+c4tD/AbaH/xW8kf8jwZj/LcWd/y/Jn/8kzJ3/E9Ca/yGjgf8ri3Tv////AABd + PP8Ak2b/AL6D/w/Ekv+m6tf/j+HJ/3vawP9p1rf/W9Gx/0rNqf85yJ//Nsaf//////////////////// + /////////////////////////////wCwe/8AtoT/ELqP/xu+k/8jwZj/KMeb/yHKm/8QzZf/HqyG/ymI + cf////8AAF07/wCSZP8AvYL/GMWU/6Dn1P+K38f/ddi+/27Wuf+E3MX/leHN/6fm1f+l5tX/neLQ//// + ////////////////////////////////////////j9/J/27Vuv9Tzq7/JsKY/xa/kv8aw5T/FcaW/wvL + lf8aqoT/J4dw/////wAAXTv/AJFk/wC9gP8GwY3/mObQ/5rkz/+26dv/y/Hl/8Dt3/+06tz/pebV/5bg + zP+g5NL//////////////v///f7+//7+/v//////7fn2////////////tOnb/6Ll0v+v6Nj/jeDI/zXK + o/8IxJD/BMqS/xaqgv8lh2//////AABeO+8AgVf/AL1//wDBif/R9uv/1PPq/8Tv5P+36t3/rujY/6Lk + 0v+U4cv/jt7J//j8+///////+/38//f8+//2+/r/+Pz7//3+/v/m9/P/9Pv6//D6+P9/28L/jd7J/5jj + z/+h5dL/qOvX/4Hmyf8f1J//E596/yOJcO////8AAGA8vwB3U/8p06P/hufM/8Ty5f/D7+T/s+vb/6bm + 1P+c4c//j9/K/4vcyP/t+fb///7///j8/P/0+/r/8vr5//P7+f/1+/r/+/39///////i9fL/ZNO1/3HW + vP992sH/htzG/4vhyv+S5dD/mO7W/6X74v80noT/Io90v////wAAZkCAAHla/33ny/945cb/nunV/7Xr + 3v+l5tT/luDN/4ndxv992cL/1vLq//v9/P/1+/n/8vv4//L69//z+/j/9Pv5/7Xo2//x+vn///////// + //+y59n/aNS3/3LWvP932r//fNzD/4Ljyf+J7ND/l/bd/yORdf8knH6A////AABuRzAAdlT/Xc6x/23o + xv9s4MH/qurZ/5jiz/+I3cb/edjA/8ju5f/3/Pv/8vv4//H6+P/y+/j/6/f0/7np3v/7/fz//v7+/6fk + 1f+56tz///////////9h0bT/aNW4/23Wu/9v3L//dOLG/37w0f9m1rn/Hpt8/ymujTD///8AAAAAAACD + X98po4X/Z+7K/1vgvP+A4sf/jOHK/3rZwv+r59f/9Pv6/+/69//v+vf/8vr4/9fy6/9n0rf/VM6t/6Di + 0v/N7+f/adO4/1PMrf9t1Lr/i9zI/1/Rs/9h0rX/ZNe4/2bbvf9s5sb/ePfV/z2ylf8lrozfAAAAAP// + /wAAAAAAAJNsYAWQbf9U1rP/Vee//0rYsf993sb/pebV//P7+v/s+Pb/6/f1/+749v+s5tj/Vc2u/1jP + r/9ZzrD/btW5/1bOr/9Wza//Vs6v/1fOr/9Z0LD/WdCy/1vTtP9d1rX/Xt+8/2btyP9k4L//IaaF/y7D + nmAAAAAA////AAAAAAAAAAAAD6J9zyCjgv9S68L/P9+0/2Pevv/5////7/v6/+v59//j9/L/gtvF/1PN + r/9Wz7D/Wc+x/1nQsf9Zz7H/WM6w/1fPsP9UzrD/VM+w/1TPrv9U0a//U9Oy/1Tatv9Z5sD/Y/LL/zSx + lP8qupbPAAAAAAAAAAD///8AAAAAAAAAAAAYto4wGaeE/y23lP8+5rn/6/////j////w//3/ve/i/2bV + uP9Tzq7/Vc+v/1jPsP9Z0LL/WM+w/1fOsf9Wz7D/Us2w/1HOrf9Qzq3/T9Cu/0zSr/9M2LP/TeC5/1bt + xP9HxaX/KLKQ/zTPqDAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAkvpdgG6iF/y++m//e/////P///3rl + yf9G0K3/VdKy/1bPsf9Wz7H/Vs6w/1bPsP9Sza//Ucyu/0/Nrf9NzKz/S82s/0fOrP9G0a7/QdWv/0Le + tP9I6L7/Q8Ok/yitjP8yyKJgAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAmwJlgG6iF/yK3 + kP8k3q7/H9el/x7Pn/8tzKT/Q9Cs/1HQsP9Q0K7/TM6u/0nMrf9Hzaz/RMyp/0LNqf8+zqn/ONGo/zTV + qf833rD/O+S4/zvCof8orIv/MMSfYAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAkvpdgG6iE/xukgv8gy53/HNql/xzRn/8czJz/HcmZ/yXJnP8qyp7/Lcqg/yzLn/8nypz/JMqc/yTO + n/8l1KT/KN2r/y3Tpv8nq4n/JaqJ/yzAm2AAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAato8wFKN/zxCScv8RnHn/DbqM/wjIlP8GyZT/BsaS/wbFkf8GxZH/B8WR/wfH + k/8IypX/DMmV/xG3jP8WoX3/Fph2/xqkgs8ft5EwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJVvYACGZM8Aelr/AHlZ/wCFX/8AiWL/AJlr/wCb + bP8AlGf/AI5k/wB/W/8AeFj/AHtb/wCHZd8ClXBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwSzAAaESAAGI/vwBf + Pd8AXTz/AF08/wBdPP8AXz3fAGJAvwBoRIAAcUswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A/+AD//+AAP/+AAA//AAAH/gAAA/wAAAH4AAAA+AAAAPAAAABwAAAAYAA + AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAwAAAAcAAAAHgAAAD4AAAA/AA + AAf4AAAP/AAAH/4AAD//gAD//+AD//////8= + + + + 記錄 + + \ No newline at end of file diff --git a/Log/LogOutput.cs b/Log/LogOutput.cs index 4d38bde23b..fe1e8fe5b9 100644 --- a/Log/LogOutput.cs +++ b/Log/LogOutput.cs @@ -55,6 +55,9 @@ public void processLine(string line) if ((doevent % 10) == 0) Application.DoEvents(); + if (line.Length == 0) + return; + DateTime start = DateTime.Now; if (line.ToLower().Contains("ArduCopter")) @@ -78,8 +81,8 @@ public void processLine(string line) DFLog.FMTLine(line); } catch { } - } else - if (items[0].Contains("CMD")) + } + else if (items[0].Contains("CMD")) { if (flightdata.Count == 0) { @@ -90,8 +93,7 @@ public void processLine(string line) } } } - else - if (items[0].Contains("MOD")) + else if (items[0].Contains("MOD")) { positionindex++; @@ -107,9 +109,30 @@ public void processLine(string line) modelist[positionindex] = (items[1]); } } - else - //GPS, 1, 15691, 10, 0.00, -35.3629379, 149.1650850, -0.08, 585.41, 0.00, 126.89 - if (items[0].Contains("GPS") && items[2] == "1" && items[4] != "0" && items[4] != "-1" && lastline != line) // check gps line and fixed status + else if (items[0].Contains("GPS") && DFLog.logformat.ContainsKey("GPS")) + { + if (items[DFLog.FindInArray(DFLog.logformat["GPS"].FieldNames, "Status")] != "3") + return; + + if (position[positionindex] == null) + position[positionindex] = new List(); + + // if (double.Parse(items[4], new System.Globalization.CultureInfo("en-US")) == 0) + // return; + + // 7 agl + // 8 asl... + double alt = double.Parse(items[DFLog.FindInArray(DFLog.logformat["GPS"].FieldNames, "Alt")], new System.Globalization.CultureInfo("en-US")); + + position[positionindex].Add(new Point3D(double.Parse(items[DFLog.FindInArray(DFLog.logformat["GPS"].FieldNames, "Lng")], + new System.Globalization.CultureInfo("en-US")), + double.Parse(items[DFLog.FindInArray(DFLog.logformat["GPS"].FieldNames, "Lat")], + new System.Globalization.CultureInfo("en-US")), alt)); + oldlastpos = lastpos; + lastpos = (position[positionindex][position[positionindex].Count - 1]); + lastline = line; + } + else if (items[0].Contains("GPS") && items[2] == "1" && items[4] != "0" && items[4] != "-1" && lastline != line) // check gps line and fixed status { MainV2.comPort.MAV.cs.firmware = MainV2.Firmwares.ArduPlane; @@ -132,8 +155,7 @@ public void processLine(string line) lastpos = (position[positionindex][position[positionindex].Count - 1]); lastline = line; } - else - if (items[0].Contains("GPS") && items[4] != "0" && items[4] != "-1" && items.Length <= 9) // AC + else if (items[0].Contains("GPS") && items[4] != "0" && items[4] != "-1" && items.Length <= 9) // AC { MainV2.comPort.MAV.cs.firmware = MainV2.Firmwares.ArduCopter2; @@ -151,11 +173,8 @@ public void processLine(string line) lastline = line; } - else - //FMT, 130, 37, GPS, BIHBcLLeeEe, Status,TimeMS,Week,NSats,HDop,Lat,Lng,RelAlt,Alt,Spd,GCrs - //GPS, 3, 14716600, 1764, 9, 2.15, 36.3242566, 138.6393205, -0.04, 940.95, 0.02, 138.00 - if ((items[0].Contains("GPS") && items[1] == "3" && items[6] != "0" && items[6] != "-1" && lastline != line && items.Length == 12) || - (items[0].Contains("GPS") && items[1] == "3" && items[6] != "0" && items[6] != "-1" && lastline != line && items.Length == 14)) + else if ((items[0].Contains("GPS") && items[1] == "3" && items[6] != "0" && items[6] != "-1" && lastline != line && items.Length == 12) || + (items[0].Contains("GPS") && items[1] == "3" && items[6] != "0" && items[6] != "-1" && lastline != line && items.Length == 14)) { if (position[positionindex] == null) position[positionindex] = new List(); @@ -172,9 +191,7 @@ public void processLine(string line) lastpos = (position[positionindex][position[positionindex].Count - 1]); lastline = line; } - else - //GPS, 1, 15691, 10, 0.00, -35.3629379, 149.1650850, -0.08, 585.41, 0.00, 126.89 - if (items[0].Contains("GPS") && items[1] == "3" && items[4] != "0" && items[4] != "-1" && lastline != line && items.Length == 11) // check gps line and fixed status + else if (items[0].Contains("GPS") && items[1] == "3" && items[4] != "0" && items[4] != "-1" && lastline != line && items.Length == 11) // check gps line and fixed status { if (position[positionindex] == null) position[positionindex] = new List(); @@ -191,13 +208,11 @@ public void processLine(string line) lastpos = (position[positionindex][position[positionindex].Count - 1]); lastline = line; } - else - if (items[0].Contains("CTUN")) + else if (items[0].Contains("CTUN")) { ctunlast = items; } - else - if (items[0].Contains("NTUN")) + else if (items[0].Contains("NTUN")) { ntunlast = items; try @@ -207,8 +222,7 @@ public void processLine(string line) } catch { } } - else - if (items[0].Contains("ATT")) + else if (items[0].Contains("ATT")) { try { @@ -230,9 +244,9 @@ public void processLine(string line) oldlastpos = lastpos; - runmodel.Orientation.roll = double.Parse(items[DFLog.FindInArray(DFLog.logformat["ATT"].FieldNames,"Roll")], new System.Globalization.CultureInfo("en-US")) / -1; - runmodel.Orientation.tilt = double.Parse(items[DFLog.FindInArray(DFLog.logformat["ATT"].FieldNames,"Pitch")], new System.Globalization.CultureInfo("en-US")) / -1; - runmodel.Orientation.heading = double.Parse(items[DFLog.FindInArray(DFLog.logformat["ATT"].FieldNames,"Yaw")], new System.Globalization.CultureInfo("en-US")) / 1; + runmodel.Orientation.roll = double.Parse(items[DFLog.FindInArray(DFLog.logformat["ATT"].FieldNames, "Roll")], new System.Globalization.CultureInfo("en-US")) / -1; + runmodel.Orientation.tilt = double.Parse(items[DFLog.FindInArray(DFLog.logformat["ATT"].FieldNames, "Pitch")], new System.Globalization.CultureInfo("en-US")) / -1; + runmodel.Orientation.heading = double.Parse(items[DFLog.FindInArray(DFLog.logformat["ATT"].FieldNames, "Yaw")], new System.Globalization.CultureInfo("en-US")) / 1; dat.model = runmodel; dat.ctun = ctunlast; diff --git a/Log/LogSort.cs b/Log/LogSort.cs index b1cdbf8982..8ff40dce2f 100644 --- a/Log/LogSort.cs +++ b/Log/LogSort.cs @@ -14,6 +14,16 @@ public static void SortLogs(string[] logs) { FileInfo info = new FileInfo(logfile); + if (info.Length == 0) + { + try + { + File.Delete(logfile); + } + catch { } + continue; + } + if (info.Length <= 1024) { try @@ -42,7 +52,16 @@ public static void SortLogs(string[] logs) byte[] hbpacket = mine.getHeartBeat(); if (hbpacket.Length == 0) + { + mine.logreadmode = false; + mine.logplaybackfile.Close(); + + if (!Directory.Exists(Path.GetDirectoryName(logfile) + Path.DirectorySeparatorChar + "BAD")) + Directory.CreateDirectory(Path.GetDirectoryName(logfile) + Path.DirectorySeparatorChar + "BAD"); + + File.Move(logfile, Path.GetDirectoryName(logfile) + Path.DirectorySeparatorChar + "BAD" + Path.DirectorySeparatorChar + Path.GetFileName(logfile)); continue; + } MAVLink.mavlink_heartbeat_t hb = (MAVLink.mavlink_heartbeat_t)mine.DebugPacket(hbpacket); diff --git a/MainV2.cs b/MainV2.cs index 849ce4fc6f..965bc8b716 100644 --- a/MainV2.cs +++ b/MainV2.cs @@ -1633,7 +1633,7 @@ private void MainV2_Load(object sender, EventArgs e) } catch { } -/* + if (getConfig("newuser") == "") { if (CustomMessageBox.Show("This is your first run, Do you wish to use the setup wizard?\nRecomended for new users.", "Wizard", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) @@ -1651,7 +1651,7 @@ private void MainV2_Load(object sender, EventArgs e) config["newuser"] = DateTime.Now.ToShortDateString(); } -*/ + } private void checkupdate(object stuff) @@ -2106,7 +2106,9 @@ void AutoHideMenu(bool hide) private void MainV2_KeyDown(object sender, KeyEventArgs e) { - Console.WriteLine(e.ToString()); + Message temp = new Message(); + ProcessCmdKey(ref temp, e.KeyData); + Console.WriteLine("MainV2_KeyDown " + e.ToString()); } private void toolStripMenuItem1_Click(object sender, EventArgs e) diff --git a/Mavlink/MAVLink.cs b/Mavlink/MAVLink.cs index c57cd5aaf7..56f6ca1e55 100644 --- a/Mavlink/MAVLink.cs +++ b/Mavlink/MAVLink.cs @@ -16,6 +16,7 @@ using MissionPlanner.Comms; using MissionPlanner.Utilities; using System.Windows.Forms; +using MissionPlanner.HIL; namespace MissionPlanner { @@ -39,6 +40,8 @@ public class MAVLinkInterface: MAVLink, IDisposable internal string plaintxtline = ""; string buildplaintxtline = ""; + public event ProgressEventHandler Progress; + public MAVState MAV = new MAVState(); public class MAVState @@ -2653,8 +2656,15 @@ public MemoryStream GetLog(ushort no) giveComport = true; byte[] buffer; + if (Progress != null) + { + Progress((int)0, ""); + } + uint ofs = 0; uint count = 90; + uint bps = 0; + DateTime bpstimer = DateTime.Now; mavlink_log_request_data_t req = new mavlink_log_request_data_t(); @@ -2697,11 +2707,18 @@ public MemoryStream GetLog(ushort no) var data = buffer.ByteArrayToStructure(); + bps += data.count; + ms.Seek((long)data.ofs, SeekOrigin.Begin); ms.Write(data.data, 0, data.count); if (data.count < count || data.count == 0) { + if (Progress != null) + { + Progress((int)req.ofs, ""); + } + giveComport = false; return ms; } @@ -2710,6 +2727,18 @@ public MemoryStream GetLog(ushort no) if (data.ofs < req.ofs) continue; + if (Progress != null) + { + Progress((int)req.ofs,""); + } + + if (bpstimer.Second != DateTime.Now.Second) + { + Console.WriteLine("log dl bps: "+ bps.ToString()); + bpstimer = DateTime.Now; + bps = 0; + } + req.ofs = data.ofs + data.count; Console.WriteLine("req "+ req.ofs + " " + req.count); generatePacket((byte)MAVLINK_MSG_ID.LOG_REQUEST_DATA, req); @@ -2717,9 +2746,6 @@ public MemoryStream GetLog(ushort no) } } } - - giveComport = false; - return null; } public List GetLogList() @@ -2789,7 +2815,14 @@ public mavlink_log_entry_t GetLogEntry(ushort startno = 0, ushort endno = ushort public void EraseLog() { + mavlink_log_erase_t req = new mavlink_log_erase_t(); + + req.target_component = MAV.compid; + req.target_system = MAV.sysid; + // send twice - we have no feedback on this + generatePacket((byte)MAVLINK_MSG_ID.LOG_ERASE, req); + generatePacket((byte)MAVLINK_MSG_ID.LOG_ERASE, req); } public List getRallyPoints() diff --git a/MissionPlanner.csproj b/MissionPlanner.csproj index 0cd4ccf8ae..5547725d4a 100644 --- a/MissionPlanner.csproj +++ b/MissionPlanner.csproj @@ -271,8 +271,12 @@ - - + + Component + + + Component + @@ -330,6 +334,12 @@ Command.cs + + Form + + + LogDownloadMavLink.cs + Form @@ -348,7 +358,9 @@ ConfigCameraStab.cs - + + UserControl + ConfigFrameType.cs @@ -364,7 +376,9 @@ ConfigOptional.cs - + + UserControl + ConfigSimplePids.cs @@ -404,11 +418,15 @@ ConfigHelp.cs - + + UserControl + InitialSetup.cs - + + UserControl + SoftwareConfig.cs @@ -516,63 +534,93 @@ - + + UserControl + 1Intro.cs - + + UserControl + 2FrameFW.cs - + + UserControl + 3ConnectAP.cs - + + UserControl + 4FrameType.cs - + + UserControl + 5AccelCalib.cs - + + UserControl + 6CompassCalib.cs - + + UserControl + 7BatteryMonitor.cs - + + UserControl + 8OptionalItemsAC.cs - + + UserControl + 8OptionalItemsAP.cs - + + UserControl + 9RadioCalibration.cs - + + UserControl + 10FlightModes.cs - + + UserControl + 11Verify.cs - + + UserControl + 12FailSafe.cs - + + UserControl + 13GeoFence.cs - + + UserControl + 98DontForget.cs @@ -612,6 +660,31 @@ Command.cs + + LogDownloadMavLink.cs + + + LogDownloadMavLink.cs + + + LogDownloadMavLink.cs + + + LogDownloadMavLink.cs + + + LogDownloadMavLink.cs + + + LogDownloadMavLink.cs + Designer + + + LogDownloadMavLink.cs + + + LogDownloadMavLink.cs + MovingBase.cs @@ -912,7 +985,9 @@ - + + UserControl + Form @@ -1100,11 +1175,15 @@ RAW_Sensor.cs - + + UserControl + Help.cs - + + UserControl + Terminal.cs @@ -1114,10 +1193,18 @@ MainV2.cs - - - - + + UserControl + + + UserControl + + + UserControl + + + UserControl + Simulation.cs diff --git a/MissionPlanner.sh b/MissionPlanner.sh new file mode 100644 index 0000000000..e63e6c9b11 --- /dev/null +++ b/MissionPlanner.sh @@ -0,0 +1,2 @@ +#!/bin/sh +mono MissionPlanner.exe \ No newline at end of file diff --git a/Msi/wix.exe b/Msi/wix.exe index e170b39722d3ac1cdaa1cf98033a48e2d0f96e84..0d784bf70f5bd420139454582805b880a9128b8e 100755 GIT binary patch delta 64 zcmZp8z}WDBaY6?(&zUV7yVn}AnlR`w7;LsRo~Dtp)7Pbm3*!&{0 Tff=N5a(1jHBh%)ovDrcZH$52v delta 64 zcmZp8z}WDBaY6_4RMkxzyVn}A8Z+oIm~OT;o~%3sMDc{dLS``+jyZJ?A T12ahB GetDirContent(string owner, string repo, string pat path = "/contents" + path; } + path = path.TrimEnd('/','\\'); + List answer = new List(); string url = String.Format("{0}/{1}/{2}{3}",githubapiurl, owner, repo, path); - WebClient wc = new WebClient(); - string content = wc.DownloadString(url); + WebRequest wr = WebRequest.Create(url); + ((HttpWebRequest)wr).AllowAutoRedirect = true; + ((HttpWebRequest)wr).UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"; + var responce = wr.GetResponse(); + var respstream = responce.GetResponseStream(); + + string content = new StreamReader(respstream).ReadToEnd(); + + respstream.Close(); + + //WebClient wc = new WebClient(); + //string content = wc.DownloadString(url); var output = fastJSON.JSON.Instance.ToObject(content); @@ -80,8 +93,15 @@ public static byte[] GetFileContent(string owner, string repo, string path) string url = String.Format("{0}/{1}/{2}{3}", githubapiurl, owner, repo, path); - WebClient wc = new WebClient(); - string content = wc.DownloadString(url); + WebRequest wr = WebRequest.Create(url); + ((HttpWebRequest)wr).AllowAutoRedirect = true; + ((HttpWebRequest)wr).UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"; + var responce = wr.GetResponse(); + var respstream = responce.GetResponseStream(); + + string content = new StreamReader(respstream).ReadToEnd(); + + respstream.Close(); Dictionary output = (Dictionary)fastJSON.JSON.Instance.Parse(content); diff --git a/Wizard/3ConnectAP.cs b/Wizard/3ConnectAP.cs index c1e5a6ef22..67cbfcc834 100644 --- a/Wizard/3ConnectAP.cs +++ b/Wizard/3ConnectAP.cs @@ -19,6 +19,7 @@ public partial class _3ConnectAP : MyUserControl, IWizard, IActivate List> fwmap = new List>(); ProgressReporterDialogue pdr; string comport = ""; + bool fwdone = false; private bool usebeta; public _3ConnectAP() @@ -90,16 +91,19 @@ public int WizardValidate() return 0; } - pdr = new ProgressReporterDialogue(); + if (!fwdone) + { + pdr = new ProgressReporterDialogue(); - pdr.DoWork += pdr_DoWork; + pdr.DoWork += pdr_DoWork; - ThemeManager.ApplyThemeTo(pdr); + ThemeManager.ApplyThemeTo(pdr); - pdr.RunBackgroundOperationAsync(); + pdr.RunBackgroundOperationAsync(); - if (pdr.doWorkArgs.CancelRequested || !string.IsNullOrEmpty(pdr.doWorkArgs.ErrorMessage)) - return 0; + if (pdr.doWorkArgs.CancelRequested || !string.IsNullOrEmpty(pdr.doWorkArgs.ErrorMessage)) + return 0; + } if (MainV2.comPort.BaseStream.IsOpen) MainV2.comPort.BaseStream.Close(); @@ -156,7 +160,7 @@ void pdr_DoWork(object sender, Controls.ProgressWorkerEventArgs e, object passda } string target = Wizard.config["fwframe"].ToString(); - bool fwdone = false; + if (e.CancelRequested) { @@ -172,8 +176,8 @@ void pdr_DoWork(object sender, Controls.ProgressWorkerEventArgs e, object passda { try { - //fwdone = fw.update(comport, sw); - fwdone = true; + fwdone = fw.update(comport, sw,""); + //fwdone = true; } catch { } if (fwdone == false) diff --git a/wix/Program.cs b/wix/Program.cs index 414b10acff..98d3d7a1c4 100644 --- a/wix/Program.cs +++ b/wix/Program.cs @@ -203,7 +203,7 @@ static void header() - +