mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-11-15 21:05:40 +08:00
APM Planner 1.1.38
add ap param support fix dtr fix firmware screen on mono misc mono fix's mods from mandrolic - partial. Add spanish - issue 515 new sitl images for attitude hil - issue 513
This commit is contained in:
1 parent
a3cb208468
commit
17c2eeb306
53 files changed
+5645
-1701
No files matched your search
@@ -6,7 +6,7 @@ using System.IO;
|
||||
|
||||
namespace ArdupilotMega
|
||||
{
|
||||
public delegate void ProgressEventHandler(int progress);
|
||||
public delegate void ProgressEventHandler(int progress,string status);
|
||||
|
||||
/// <summary>
|
||||
/// Arduino STK interface
|
||||
|
||||
@@ -196,6 +196,47 @@ namespace ArdupilotMega
|
||||
return "";
|
||||
}
|
||||
|
||||
public enum ap_var_type
|
||||
{
|
||||
AP_PARAM_NONE = 0,
|
||||
AP_PARAM_INT8,
|
||||
AP_PARAM_INT16,
|
||||
AP_PARAM_INT32,
|
||||
AP_PARAM_FLOAT,
|
||||
AP_PARAM_VECTOR3F,
|
||||
AP_PARAM_VECTOR6F,
|
||||
AP_PARAM_MATRIX3F,
|
||||
AP_PARAM_GROUP
|
||||
};
|
||||
|
||||
static string[] type_names = new string[] {
|
||||
"NONE", "INT8", "INT16", "INT32", "FLOAT", "VECTOR3F", "VECTOR6F","MATRIX6F", "GROUP"
|
||||
};
|
||||
|
||||
static byte type_size(ap_var_type type)
|
||||
{
|
||||
switch (type) {
|
||||
case ap_var_type.AP_PARAM_NONE:
|
||||
case ap_var_type.AP_PARAM_GROUP:
|
||||
return 0;
|
||||
case ap_var_type.AP_PARAM_INT8:
|
||||
return 1;
|
||||
case ap_var_type.AP_PARAM_INT16:
|
||||
return 2;
|
||||
case ap_var_type.AP_PARAM_INT32:
|
||||
return 4;
|
||||
case ap_var_type.AP_PARAM_FLOAT:
|
||||
return 4;
|
||||
case ap_var_type.AP_PARAM_VECTOR3F:
|
||||
return 3*4;
|
||||
case ap_var_type.AP_PARAM_VECTOR6F:
|
||||
return 6*4;
|
||||
case ap_var_type.AP_PARAM_MATRIX3F:
|
||||
return 3*3*4;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// return the software id from eeprom
|
||||
/// </summary>
|
||||
@@ -223,7 +264,7 @@ namespace ArdupilotMega
|
||||
byte[] buffer = port.download(1024 * 4);
|
||||
port.Close();
|
||||
|
||||
if (buffer[0] != 'A' || buffer[1] != 'P') // this is the apvar header
|
||||
if (buffer[0] != 'A' && buffer[0] != 'P' || buffer[1] != 'P' && buffer[1] != 'A') // this is the apvar header
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
@@ -263,6 +304,46 @@ namespace ArdupilotMega
|
||||
Console.WriteLine();
|
||||
}
|
||||
}
|
||||
|
||||
if (buffer[0] == 'P' && buffer[1] == 'A' && buffer[2] == 5) // ap param
|
||||
{
|
||||
int pos = 4;
|
||||
byte key = 0;
|
||||
while (pos < (1024 * 4))
|
||||
{
|
||||
key = buffer[pos];
|
||||
pos++;
|
||||
int group = buffer[pos];
|
||||
pos++;
|
||||
int type = buffer[pos];
|
||||
pos++;
|
||||
|
||||
int size = type_size((ap_var_type)Enum.Parse(typeof(ap_var_type), type.ToString()));
|
||||
|
||||
|
||||
Console.Write("{0:X4}: type {1} ({2}) key {3} group {4} size {5}\n ", pos - 2, type, type_names[type], key, group, size);
|
||||
|
||||
if (key == 0xff)
|
||||
{
|
||||
Console.WriteLine("end sentinal at {0}", pos - 2);
|
||||
break;
|
||||
}
|
||||
|
||||
if (key == 0)
|
||||
{
|
||||
//Array.Reverse(buffer, pos, 2);
|
||||
return BitConverter.ToUInt16(buffer, pos);
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
Console.Write(" {0:X2}", buffer[pos]);
|
||||
pos++;
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ namespace ArdupilotMega
|
||||
|
||||
|
||||
if (Progress != null)
|
||||
Progress((int)(((float)startaddress / (float)length) * 100));
|
||||
Progress((int)(((float)startaddress / (float)length) * 100),"");
|
||||
|
||||
if (!sync())
|
||||
{
|
||||
|
||||
@@ -262,7 +262,7 @@ namespace ArdupilotMega
|
||||
|
||||
|
||||
if (Progress != null)
|
||||
Progress((int)(((float)startaddress / (float)length) * 100));
|
||||
Progress((int)(((float)startaddress / (float)length) * 100),"");
|
||||
|
||||
if (command[1] != 0)
|
||||
{
|
||||
@@ -354,7 +354,7 @@ namespace ArdupilotMega
|
||||
|
||||
|
||||
if (Progress != null)
|
||||
Progress((int)(((float)startaddress / (float)length) * 100));
|
||||
Progress((int)(((float)startaddress / (float)length) * 100),"");
|
||||
|
||||
if (command[1] != 0)
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<UpdateMode>Background</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdatePeriodically>true</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>false</MapFileExtensions>
|
||||
<TargetCulture>en-US</TargetCulture>
|
||||
@@ -242,7 +242,7 @@
|
||||
<Compile Include="CommsTCPSerial.cs" />
|
||||
<Compile Include="CommsUdpSerial.cs" />
|
||||
<Compile Include="Controls\ImageLabel.cs">
|
||||
<SubType>Component</SubType>
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ImageLabel.Designer.cs">
|
||||
<DependentUpon>ImageLabel.cs</DependentUpon>
|
||||
@@ -250,12 +250,20 @@
|
||||
<Compile Include="Controls\myGMAP.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ProgressReporter.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ProgressReporter.designer.cs">
|
||||
<DependentUpon>ProgressReporter.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\XorPlus.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\XorPlus.Designer.cs">
|
||||
<DependentUpon>XorPlus.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Mavlink\MavlinkCRC.cs" />
|
||||
<Compile Include="Mavlink\MavlinkUtil.cs" />
|
||||
<Compile Include="SerialInput.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -301,7 +309,6 @@
|
||||
<DependentUpon>JoystickSetup.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MAVLinkTypes.cs" />
|
||||
<Compile Include="MAVLinkTypesenum.cs" />
|
||||
<Compile Include="Controls\MyButton.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -312,7 +319,7 @@
|
||||
<Compile Include="Controls\MyLabel.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MyUserControl.cs">
|
||||
<Compile Include="Controls\MyUserControl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ArduinoSTKv2.cs">
|
||||
@@ -438,9 +445,54 @@
|
||||
<EmbeddedResource Include="Controls\ImageLabel.resx">
|
||||
<DependentUpon>ImageLabel.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Controls\ProgressReporter.resx">
|
||||
<DependentUpon>ProgressReporter.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Controls\XorPlus.resx">
|
||||
<DependentUpon>XorPlus.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GCSViews\Configuration.es-ES.resx">
|
||||
<DependentUpon>Configuration.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GCSViews\Firmware.es-ES.resx">
|
||||
<DependentUpon>Firmware.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GCSViews\FlightData.es-ES.resx">
|
||||
<DependentUpon>FlightData.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GCSViews\FlightPlanner.es-ES.resx">
|
||||
<DependentUpon>FlightPlanner.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GCSViews\Help.es-ES.resx">
|
||||
<DependentUpon>Help.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GCSViews\Simulation.es-ES.resx">
|
||||
<DependentUpon>Simulation.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GCSViews\Terminal.es-ES.resx">
|
||||
<DependentUpon>Terminal.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="JoystickSetup.es-ES.resx">
|
||||
<DependentUpon>JoystickSetup.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Log.es-ES.resx">
|
||||
<DependentUpon>Log.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="LogBrowse.es-ES.resx">
|
||||
<DependentUpon>LogBrowse.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MavlinkLog.es-ES.resx">
|
||||
<DependentUpon>MavlinkLog.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RAW_Sensor.es-ES.resx">
|
||||
<DependentUpon>RAW_Sensor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SerialInput.es-ES.resx">
|
||||
<DependentUpon>SerialInput.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SerialInput.pl.resx">
|
||||
<DependentUpon>SerialInput.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SerialInput.resx">
|
||||
<DependentUpon>SerialInput.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -713,6 +765,9 @@
|
||||
<EmbeddedResource Include="SerialOutput.resx">
|
||||
<DependentUpon>SerialOutput.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Setup\Setup.es-ES.resx">
|
||||
<DependentUpon>Setup.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Setup\Setup.fr.resx">
|
||||
<DependentUpon>Setup.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -12,9 +12,15 @@ namespace ArdupilotMega
|
||||
|
||||
public void toggleDTR()
|
||||
{
|
||||
DtrEnable = false;
|
||||
System.Threading.Thread.Sleep(100);
|
||||
DtrEnable = true;
|
||||
base.DtrEnable = false;
|
||||
base.RtsEnable = false;
|
||||
|
||||
System.Threading.Thread.Sleep(50);
|
||||
|
||||
base.DtrEnable = true;
|
||||
base.RtsEnable = true;
|
||||
|
||||
System.Threading.Thread.Sleep(50);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,11 +81,11 @@ namespace System.IO.Ports
|
||||
string host = "127.0.0.1";
|
||||
if (Windows.Forms.DialogResult.Cancel == ArdupilotMega.Common.InputBox("remote host", "Enter host name/ip (ensure remote end is already started)", ref host))
|
||||
{
|
||||
return;
|
||||
throw new Exception("Canceled by request");
|
||||
}
|
||||
if (Windows.Forms.DialogResult.Cancel == ArdupilotMega.Common.InputBox("remote Port", "Enter remote port", ref dest))
|
||||
{
|
||||
return;
|
||||
throw new Exception("Canceled by request");
|
||||
}
|
||||
Port = dest;
|
||||
|
||||
@@ -94,6 +94,8 @@ namespace System.IO.Ports
|
||||
client.NoDelay = true;
|
||||
client.Client.NoDelay = true;
|
||||
|
||||
VerifyConnected();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ using System.Windows.Forms;
|
||||
|
||||
namespace ArdupilotMega
|
||||
{
|
||||
public partial class ImageLabel : ContainerControl
|
||||
public partial class ImageLabel : UserControl //ContainerControl
|
||||
{
|
||||
public new event EventHandler Click;
|
||||
|
||||
@@ -18,6 +18,9 @@ namespace ArdupilotMega
|
||||
|
||||
public ImageLabel()
|
||||
{
|
||||
text = "";
|
||||
picture = new Bitmap(640,480);
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
@@ -17,56 +17,97 @@ namespace ArdupilotMega
|
||||
bool mouseover = false;
|
||||
bool mousedown = false;
|
||||
|
||||
bool inOnPaint = false;
|
||||
|
||||
protected override void OnPaint(PaintEventArgs pevent)
|
||||
{
|
||||
//base.OnPaint(pevent);
|
||||
|
||||
Graphics gr = pevent.Graphics;
|
||||
if (inOnPaint)
|
||||
return;
|
||||
|
||||
Rectangle outside = new Rectangle(0,0,this.Width,this.Height);
|
||||
inOnPaint = true;
|
||||
|
||||
LinearGradientBrush linear = new LinearGradientBrush(outside,Color.FromArgb(0x94,0xc1,0x1f),Color.FromArgb(0xcd,0xe2,0x96),LinearGradientMode.Vertical);
|
||||
|
||||
Pen mypen = new Pen(Color.FromArgb(0x79,0x94,0x29),2);
|
||||
|
||||
gr.FillRectangle(linear,outside);
|
||||
|
||||
gr.DrawRectangle(mypen,outside);
|
||||
|
||||
SolidBrush mybrush = new SolidBrush(Color.FromArgb(0x40,0x57,0x04));
|
||||
|
||||
if (mouseover)
|
||||
try
|
||||
{
|
||||
SolidBrush brush = new SolidBrush(Color.FromArgb(73, 0x2b, 0x3a, 0x03));
|
||||
Graphics gr = pevent.Graphics;
|
||||
|
||||
gr.FillRectangle(brush, 0, 0, this.Width, this.Height);
|
||||
}
|
||||
if (mousedown)
|
||||
{
|
||||
SolidBrush brush = new SolidBrush(Color.FromArgb(73, 0x2b, 0x3a, 0x03));
|
||||
// gr.SmoothingMode = SmoothingMode.AntiAlias;
|
||||
|
||||
gr.FillRectangle(brush, 0, 0, this.Width, this.Height);
|
||||
}
|
||||
Rectangle outside = new Rectangle(0, 0, this.Width, this.Height);
|
||||
|
||||
if (!this.Enabled)
|
||||
{
|
||||
SolidBrush brush = new SolidBrush(Color.FromArgb(150, 0x2b, 0x3a, 0x03));
|
||||
LinearGradientBrush linear = new LinearGradientBrush(outside, Color.FromArgb(0x94, 0xc1, 0x1f), Color.FromArgb(0xcd, 0xe2, 0x96), LinearGradientMode.Vertical);
|
||||
|
||||
gr.FillRectangle(brush, 0, 0, this.Width, this.Height);
|
||||
Pen mypen = new Pen(Color.FromArgb(0x79, 0x94, 0x29), 2);
|
||||
/*
|
||||
gr.FillRectangle(new SolidBrush(Color.FromArgb(0x26, 0x27, 0x28)), outside);
|
||||
|
||||
GraphicsPath outline = new GraphicsPath();
|
||||
|
||||
float wid = this.Height / 5f;
|
||||
float widright = wid + 1;
|
||||
|
||||
// tl
|
||||
outline.AddArc(0, 0, wid, wid, 180, 90);
|
||||
// top line
|
||||
outline.AddLine(wid, 0, this.Width - widright, 0);
|
||||
// tr
|
||||
outline.AddArc(this.Width - widright, 0, wid, wid, 270, 90);
|
||||
// br
|
||||
outline.AddArc(this.Width - widright, this.Height - widright, wid, wid, 0, 90);
|
||||
// bottom line
|
||||
outline.AddLine(wid, this.Height - 1, this.Width - widright, this.Height - 1);
|
||||
// bl
|
||||
outline.AddArc(0, this.Height - widright, wid, wid, 90, 90);
|
||||
|
||||
|
||||
gr.FillPath(linear, outline);
|
||||
|
||||
gr.DrawPath(mypen, outline);
|
||||
|
||||
*/
|
||||
|
||||
gr.FillRectangle(linear, outside);
|
||||
gr.DrawRectangle(mypen, outside);
|
||||
|
||||
|
||||
SolidBrush mybrush = new SolidBrush(Color.FromArgb(0x40, 0x57, 0x04));
|
||||
|
||||
if (mouseover)
|
||||
{
|
||||
SolidBrush brush = new SolidBrush(Color.FromArgb(73, 0x2b, 0x3a, 0x03));
|
||||
|
||||
gr.FillRectangle(brush, 0, 0, this.Width, this.Height);
|
||||
}
|
||||
if (mousedown)
|
||||
{
|
||||
SolidBrush brush = new SolidBrush(Color.FromArgb(73, 0x2b, 0x3a, 0x03));
|
||||
|
||||
gr.FillRectangle(brush, 0, 0, this.Width, this.Height);
|
||||
}
|
||||
|
||||
if (!this.Enabled)
|
||||
{
|
||||
SolidBrush brush = new SolidBrush(Color.FromArgb(150, 0x2b, 0x3a, 0x03));
|
||||
|
||||
gr.FillRectangle(brush, 0, 0, this.Width, this.Height);
|
||||
}
|
||||
|
||||
|
||||
StringFormat stringFormat = new StringFormat();
|
||||
stringFormat.Alignment = StringAlignment.Center;
|
||||
stringFormat.LineAlignment = StringAlignment.Center;
|
||||
|
||||
string display = this.Text;
|
||||
int amppos = display.IndexOf('&');
|
||||
if (amppos != -1)
|
||||
display = display.Remove(amppos, 1);
|
||||
|
||||
gr.DrawString(display, this.Font, mybrush, outside, stringFormat);
|
||||
}
|
||||
|
||||
|
||||
StringFormat stringFormat = new StringFormat();
|
||||
stringFormat.Alignment = StringAlignment.Center;
|
||||
stringFormat.LineAlignment = StringAlignment.Center;
|
||||
|
||||
string display = this.Text;
|
||||
int amppos = display.IndexOf('&');
|
||||
if (amppos != -1)
|
||||
display = display.Remove(amppos,1);
|
||||
|
||||
gr.DrawString(display, this.Font, mybrush, outside, stringFormat);
|
||||
|
||||
catch { }
|
||||
|
||||
inOnPaint = false;
|
||||
}
|
||||
|
||||
protected override void OnClick(EventArgs e)
|
||||
|
||||
+19
-19
@@ -1,19 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace System.Windows.Forms
|
||||
{
|
||||
public class MyUserControl : System.Windows.Forms.UserControl
|
||||
{
|
||||
protected override void WndProc(ref Message m)
|
||||
{
|
||||
try
|
||||
{
|
||||
base.WndProc(ref m);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace System.Windows.Forms
|
||||
{
|
||||
public class MyUserControl : System.Windows.Forms.UserControl
|
||||
{
|
||||
protected override void WndProc(ref Message m)
|
||||
{
|
||||
try
|
||||
{
|
||||
base.WndProc(ref m);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ArdupilotMega
|
||||
{
|
||||
public partial class ProgressReporter : Form
|
||||
{
|
||||
bool cancel = false;
|
||||
|
||||
public ProgressReporter()
|
||||
{
|
||||
InitializeComponent();
|
||||
cancel = false;
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
cancel = true;
|
||||
this.Close();
|
||||
}
|
||||
|
||||
public void updateProgressAndStatus(int progress, string status)
|
||||
{
|
||||
//Console.WriteLine(progress + " " + status);
|
||||
|
||||
if (cancel)
|
||||
{
|
||||
throw new Exception("User Canceled");
|
||||
}
|
||||
|
||||
if (this.IsDisposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
this.Invoke((MethodInvoker)delegate
|
||||
{
|
||||
|
||||
lblProgressMessage.Text = status;
|
||||
if (progress == -1)
|
||||
{
|
||||
this.progressBar1.Style = ProgressBarStyle.Marquee;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.progressBar1.Style = ProgressBarStyle.Continuous;
|
||||
this.progressBar1.Value = progress;
|
||||
}
|
||||
});
|
||||
}
|
||||
catch { }
|
||||
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ArdupilotMega
|
||||
{
|
||||
partial class ProgressReporter
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.lblProgressMessage = new System.Windows.Forms.Label();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.progressBar1.Location = new System.Drawing.Point(12, 82);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(277, 13);
|
||||
this.progressBar1.TabIndex = 0;
|
||||
//
|
||||
// lblProgressMessage
|
||||
//
|
||||
this.lblProgressMessage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lblProgressMessage.Location = new System.Drawing.Point(13, 13);
|
||||
this.lblProgressMessage.Name = "lblProgressMessage";
|
||||
this.lblProgressMessage.Size = new System.Drawing.Size(276, 66);
|
||||
this.lblProgressMessage.TabIndex = 1;
|
||||
this.lblProgressMessage.Text = "label1";
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.Location = new System.Drawing.Point(213, 109);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnCancel.TabIndex = 2;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// ProgressReporter
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(306, 144);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.lblProgressMessage);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "ProgressReporter";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Progress";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private ProgressBar progressBar1;
|
||||
private System.Windows.Forms.Label lblProgressMessage;
|
||||
private Button btnCancel;
|
||||
}
|
||||
}
|
||||
+119
-119
File diff suppressed because it is too large.
Load diff
@@ -7,15 +7,19 @@ namespace ArdupilotMega
|
||||
{
|
||||
class myGMAP : GMap.NET.WindowsForms.GMapControl
|
||||
{
|
||||
public bool inOnPaint = false;
|
||||
public bool inOnPaint = false;
|
||||
string otherthread = "";
|
||||
|
||||
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
|
||||
{
|
||||
if (inOnPaint)
|
||||
{
|
||||
Console.WriteLine("Was in onpaint Gmap th:" + System.Threading.Thread.CurrentThread.Name);
|
||||
Console.WriteLine("Was in onpaint Gmap th:" + System.Threading.Thread.CurrentThread.Name + " in " + otherthread);
|
||||
return;
|
||||
}
|
||||
|
||||
otherthread = System.Threading.Thread.CurrentThread.Name;
|
||||
|
||||
inOnPaint = true;
|
||||
|
||||
try
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1137,7 +1137,8 @@
|
||||
resources.GetString("TUNE.Items16"),
|
||||
resources.GetString("TUNE.Items17"),
|
||||
resources.GetString("TUNE.Items18"),
|
||||
resources.GetString("TUNE.Items19")});
|
||||
resources.GetString("TUNE.Items19"),
|
||||
resources.GetString("TUNE.Items20")});
|
||||
resources.ApplyResources(this.TUNE, "TUNE");
|
||||
this.TUNE.Name = "TUNE";
|
||||
//
|
||||
|
||||
@@ -67,26 +67,30 @@ namespace ArdupilotMega.GCSViews
|
||||
// fix for dup name
|
||||
//XTRK_ANGLE_CD1.Name = "XTRK_ANGLE_CD";
|
||||
XTRK_GAIN_SC1.Name = "XTRK_GAIN_SC";
|
||||
|
||||
// enable disable relevbant hardware tabs
|
||||
if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane)
|
||||
{
|
||||
this.ConfigTabs.SuspendLayout();
|
||||
ConfigTabs.SelectedIndex = 0;
|
||||
TabAP.Enabled = true;
|
||||
TabAC.Enabled = false;
|
||||
this.ConfigTabs.ResumeLayout();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.ConfigTabs.SuspendLayout();
|
||||
ConfigTabs.SelectedIndex = 1;
|
||||
TabAP.Enabled = false;
|
||||
TabAC.Enabled = true;
|
||||
this.ConfigTabs.ResumeLayout();
|
||||
}
|
||||
}
|
||||
|
||||
private void Configuration_Load(object sender, EventArgs e)
|
||||
{
|
||||
startup = true;
|
||||
|
||||
// enable disable relevbant hardware tabs
|
||||
if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane)
|
||||
{
|
||||
ConfigTabs.SelectedIndex = 0;
|
||||
TabAP.Enabled = true;
|
||||
TabAC.Enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
ConfigTabs.SelectedIndex = 1;
|
||||
TabAP.Enabled = false;
|
||||
TabAC.Enabled = true;
|
||||
}
|
||||
|
||||
// read tooltips
|
||||
if (tooltips.Count == 0)
|
||||
readToolTips();
|
||||
@@ -167,7 +171,7 @@ namespace ArdupilotMega.GCSViews
|
||||
|
||||
// setup language selection
|
||||
CultureInfo ci = null;
|
||||
foreach (string name in new string[] { "en-US", "zh-Hans", "zh-TW", "ru-RU", "Fr", "Pl", "it-IT" })
|
||||
foreach (string name in new string[] { "en-US", "zh-Hans", "zh-TW", "ru-RU", "Fr", "Pl", "it-IT", "es-ES" })
|
||||
{
|
||||
ci = MainV2.getcultureinfo(name);
|
||||
if (ci != null)
|
||||
@@ -931,10 +935,16 @@ namespace ArdupilotMega.GCSViews
|
||||
((MyButton)sender).Enabled = false;
|
||||
try
|
||||
{
|
||||
|
||||
MainV2.comPort.getParamList();
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch { MessageBox.Show("Error: getting param list"); }
|
||||
|
||||
|
||||
((MyButton)sender).Enabled = true;
|
||||
startup = true;
|
||||
Configuration_Load(null, null);
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -2703,6 +2703,9 @@
|
||||
<data name="TUNE.Items19" xml:space="preserve">
|
||||
<value>CH6_OPTFLOW_KD</value>
|
||||
</data>
|
||||
<data name="TUNE.Items20" xml:space="preserve">
|
||||
<value>CH6_NAV_I</value>
|
||||
</data>
|
||||
<data name="TUNE.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>417, 336</value>
|
||||
</data>
|
||||
|
||||
@@ -580,7 +580,7 @@ namespace ArdupilotMega.GCSViews
|
||||
MainV2.givecomport = false;
|
||||
}
|
||||
|
||||
void port_Progress(int progress)
|
||||
void port_Progress(int progress,string status)
|
||||
{
|
||||
Console.WriteLine("Progress {0} ", progress);
|
||||
this.progress.Value = progress;
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>Images by Max Levine</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Por favor, haga clic en las imágenes de arriba para "versiones de vuelo"</value>
|
||||
</data>
|
||||
<data name="lbl_status.Text" xml:space="preserve">
|
||||
<value>Estado</value>
|
||||
</data>
|
||||
<data name="BUT_setup.Text" xml:space="preserve">
|
||||
<value>APM programa de instalación (plano y quad</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -302,14 +302,7 @@ namespace ArdupilotMega.GCSViews
|
||||
{
|
||||
if (threadrun == 0) { return; }
|
||||
|
||||
this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
|
||||
{
|
||||
try
|
||||
{
|
||||
BUT_playlog.Text = "Pause";
|
||||
}
|
||||
catch { }
|
||||
});
|
||||
updatePlayPauseButton(true);
|
||||
|
||||
if (comPort.BaseStream.IsOpen)
|
||||
MainV2.comPort.logreadmode = false;
|
||||
@@ -355,17 +348,11 @@ namespace ArdupilotMega.GCSViews
|
||||
}
|
||||
else
|
||||
{
|
||||
if (threadrun == 0) { return; }
|
||||
try
|
||||
{
|
||||
this.Invoke((System.Windows.Forms.MethodInvoker)delegate()
|
||||
{
|
||||
BUT_playlog.Text = "Play";
|
||||
});
|
||||
}
|
||||
catch { }
|
||||
updatePlayPauseButton(false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
//Console.WriteLine(DateTime.Now.Millisecond);
|
||||
@@ -406,7 +393,7 @@ namespace ArdupilotMega.GCSViews
|
||||
{
|
||||
System.Threading.Thread.Sleep(1);
|
||||
}
|
||||
|
||||
|
||||
if (trackPoints.Count > int.Parse(MainV2.config["NUM_tracklength"].ToString()))
|
||||
{
|
||||
trackPoints.RemoveRange(0, trackPoints.Count - int.Parse(MainV2.config["NUM_tracklength"].ToString()));
|
||||
@@ -426,10 +413,13 @@ namespace ArdupilotMega.GCSViews
|
||||
FlightPlanner.pointlist.AddRange(MainV2.comPort.wps);
|
||||
}
|
||||
|
||||
|
||||
|
||||
routes.Markers.Clear();
|
||||
routes.Routes.Clear();
|
||||
while (gMapControl1.inOnPaint == true)
|
||||
{
|
||||
System.Threading.Thread.Sleep(1);
|
||||
}
|
||||
|
||||
updateClearRoutes();
|
||||
|
||||
route = new GMapRoute(trackPoints, "track");
|
||||
//track.Stroke = Pens.Red;
|
||||
@@ -493,8 +483,6 @@ namespace ArdupilotMega.GCSViews
|
||||
gMapControl1.HoldInvalidation = false;
|
||||
|
||||
gMapControl1.Invalidate();
|
||||
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
tracklast = DateTime.Now;
|
||||
@@ -505,9 +493,47 @@ namespace ArdupilotMega.GCSViews
|
||||
Console.WriteLine("FD Main loop exit");
|
||||
}
|
||||
|
||||
|
||||
// to prevent cross thread calls while in a draw and exception
|
||||
private void updateClearRoutes()
|
||||
{
|
||||
// not async
|
||||
this.Invoke((System.Windows.Forms.MethodInvoker)delegate()
|
||||
{
|
||||
routes.Markers.Clear();
|
||||
routes.Routes.Clear();
|
||||
});
|
||||
}
|
||||
|
||||
private void updatePlayPauseButton(bool playing)
|
||||
{
|
||||
if (playing)
|
||||
{
|
||||
this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
|
||||
{
|
||||
try
|
||||
{
|
||||
BUT_playlog.Text = "Pause";
|
||||
}
|
||||
catch { }
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
|
||||
{
|
||||
try
|
||||
{
|
||||
BUT_playlog.Text = "Play";
|
||||
}
|
||||
catch { }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void updateBindingSource()
|
||||
{
|
||||
this.Invoke((System.Windows.Forms.MethodInvoker)delegate()
|
||||
this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
|
||||
{
|
||||
MainV2.cs.UpdateCurrentSettings(bindingSource1);
|
||||
});
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="richTextBox1.Text" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="CHK_showconsole.Text" xml:space="preserve">
|
||||
<value>Mostrar Consola (reiniciar)</value>
|
||||
</data>
|
||||
<data name="BUT_updatecheck.Text" xml:space="preserve">
|
||||
<value>Comprobar Actualizaciones</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -11,6 +11,7 @@ using System.Xml; // config file
|
||||
using System.Runtime.InteropServices; // dll imports
|
||||
using ZedGraph; // Graphs
|
||||
using ArdupilotMega;
|
||||
using ArdupilotMega.Mavlink;
|
||||
using System.Reflection;
|
||||
|
||||
using System.Drawing.Drawing2D;
|
||||
@@ -636,7 +637,7 @@ namespace ArdupilotMega.GCSViews
|
||||
|
||||
if (hzcounttime.Second != DateTime.Now.Second)
|
||||
{
|
||||
Console.WriteLine("SIM hz {0}", hzcount);
|
||||
//Console.WriteLine("SIM hz {0}", hzcount);
|
||||
hzcount = 0;
|
||||
hzcounttime = DateTime.Now;
|
||||
}
|
||||
@@ -873,15 +874,7 @@ namespace ArdupilotMega.GCSViews
|
||||
{
|
||||
//FlightGear
|
||||
|
||||
object imudata = new fgIMUData();
|
||||
|
||||
MAVLink.ByteArrayToStructureEndian(data, ref imudata, 0);
|
||||
|
||||
imudata = (fgIMUData)(imudata);
|
||||
|
||||
|
||||
|
||||
fgIMUData imudata2 = (fgIMUData)imudata;
|
||||
fgIMUData imudata2 = data.ByteArrayToStructureBigEndian<fgIMUData>(0);
|
||||
|
||||
if (imudata2.magic != 0x4c56414d)
|
||||
return;
|
||||
@@ -931,13 +924,7 @@ namespace ArdupilotMega.GCSViews
|
||||
}
|
||||
else if (receviedbytes == 658)
|
||||
{
|
||||
aeroin = new TDataFromAeroSimRC();
|
||||
|
||||
object temp = aeroin;
|
||||
|
||||
MAVLink.ByteArrayToStructure(data, ref temp, 0);
|
||||
|
||||
aeroin = (TDataFromAeroSimRC)(temp);
|
||||
aeroin = data.ByteArrayToStructure<TDataFromAeroSimRC>(0);
|
||||
|
||||
att.pitch = (aeroin.Model_fPitch);
|
||||
att.roll = (aeroin.Model_fRoll * -1);
|
||||
@@ -1005,13 +992,7 @@ namespace ArdupilotMega.GCSViews
|
||||
else if (receviedbytes == 408)
|
||||
{
|
||||
|
||||
FGNetFDM fdm = new FGNetFDM();
|
||||
|
||||
object temp = fdm;
|
||||
|
||||
MAVLink.ByteArrayToStructureEndian(data, ref temp, 0);
|
||||
|
||||
fdm = (FGNetFDM)(temp);
|
||||
FGNetFDM fdm = data.ByteArrayToStructureBigEndian<FGNetFDM>(0);
|
||||
|
||||
lastfdmdata = fdm;
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="BUTtests.Text" xml:space="preserve">
|
||||
<value>Tests</value>
|
||||
</data>
|
||||
<data name="Logs.Text" xml:space="preserve">
|
||||
<value>Descargar Log</value>
|
||||
</data>
|
||||
<data name="BUTradiosetup.Text" xml:space="preserve">
|
||||
<value>Ajustar Radio</value>
|
||||
</data>
|
||||
<data name="TXT_terminal.Text" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="BUT_logbrowse.Text" xml:space="preserve">
|
||||
<value>Buscar Log</value>
|
||||
</data>
|
||||
<data name="BUTsetupshow.Text" xml:space="preserve">
|
||||
<value>Mostrar Ajustes</value>
|
||||
</data>
|
||||
</root>
|
||||
-152
@@ -1,152 +0,0 @@
|
||||
namespace ArdupilotMega.GCSViews
|
||||
{
|
||||
partial class test
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.panel3 = new BSE.Windows.Forms.Panel();
|
||||
this.splitter1 = new BSE.Windows.Forms.Splitter();
|
||||
this.panel1 = new BSE.Windows.Forms.Panel();
|
||||
this.splitter2 = new BSE.Windows.Forms.Splitter();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.AssociatedSplitter = this.splitter1;
|
||||
this.panel3.BackColor = System.Drawing.Color.Transparent;
|
||||
this.panel3.CaptionFont = new System.Drawing.Font("Segoe UI", 11.75F, System.Drawing.FontStyle.Bold);
|
||||
this.panel3.CaptionHeight = 27;
|
||||
this.panel3.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
|
||||
this.panel3.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
|
||||
this.panel3.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
|
||||
this.panel3.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
|
||||
this.panel3.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
|
||||
this.panel3.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
|
||||
this.panel3.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
|
||||
this.panel3.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
|
||||
this.panel3.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
|
||||
this.panel3.CustomColors.CollapsedCaptionText = System.Drawing.SystemColors.ControlText;
|
||||
this.panel3.CustomColors.ContentGradientBegin = System.Drawing.SystemColors.ButtonFace;
|
||||
this.panel3.CustomColors.ContentGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
|
||||
this.panel3.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.panel3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.panel3.Image = null;
|
||||
this.panel3.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
this.panel3.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel3.MinimumSize = new System.Drawing.Size(27, 27);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.PanelStyle = BSE.Windows.Forms.PanelStyle.Default;
|
||||
this.panel3.ShowExpandIcon = true;
|
||||
this.panel3.Size = new System.Drawing.Size(194, 461);
|
||||
this.panel3.TabIndex = 4;
|
||||
this.panel3.Text = "panel3";
|
||||
this.panel3.ToolTipTextCloseIcon = null;
|
||||
this.panel3.ToolTipTextExpandIconPanelCollapsed = null;
|
||||
this.panel3.ToolTipTextExpandIconPanelExpanded = null;
|
||||
//
|
||||
// splitter1
|
||||
//
|
||||
this.splitter1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.splitter1.Location = new System.Drawing.Point(194, 0);
|
||||
this.splitter1.Name = "splitter1";
|
||||
this.splitter1.Size = new System.Drawing.Size(3, 461);
|
||||
this.splitter1.TabIndex = 6;
|
||||
this.splitter1.TabStop = false;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.AssociatedSplitter = this.splitter2;
|
||||
this.panel1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.panel1.CaptionFont = new System.Drawing.Font("Segoe UI", 11.75F, System.Drawing.FontStyle.Bold);
|
||||
this.panel1.CaptionHeight = 27;
|
||||
this.panel1.CustomColors.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(184)))), ((int)(((byte)(184)))));
|
||||
this.panel1.CustomColors.CaptionCloseIcon = System.Drawing.SystemColors.ControlText;
|
||||
this.panel1.CustomColors.CaptionExpandIcon = System.Drawing.SystemColors.ControlText;
|
||||
this.panel1.CustomColors.CaptionGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
|
||||
this.panel1.CustomColors.CaptionGradientEnd = System.Drawing.SystemColors.ButtonFace;
|
||||
this.panel1.CustomColors.CaptionGradientMiddle = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
|
||||
this.panel1.CustomColors.CaptionSelectedGradientBegin = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
|
||||
this.panel1.CustomColors.CaptionSelectedGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
|
||||
this.panel1.CustomColors.CaptionText = System.Drawing.SystemColors.ControlText;
|
||||
this.panel1.CustomColors.CollapsedCaptionText = System.Drawing.SystemColors.ControlText;
|
||||
this.panel1.CustomColors.ContentGradientBegin = System.Drawing.SystemColors.ButtonFace;
|
||||
this.panel1.CustomColors.ContentGradientEnd = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(252)))), ((int)(((byte)(252)))));
|
||||
this.panel1.CustomColors.InnerBorderColor = System.Drawing.SystemColors.Window;
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.panel1.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.panel1.Image = null;
|
||||
this.panel1.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
this.panel1.Location = new System.Drawing.Point(808, 0);
|
||||
this.panel1.MinimumSize = new System.Drawing.Size(27, 27);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.PanelStyle = BSE.Windows.Forms.PanelStyle.Default;
|
||||
this.panel1.ShowExpandIcon = true;
|
||||
this.panel1.Size = new System.Drawing.Size(200, 461);
|
||||
this.panel1.TabIndex = 7;
|
||||
this.panel1.Text = "panel1";
|
||||
this.panel1.ToolTipTextCloseIcon = null;
|
||||
this.panel1.ToolTipTextExpandIconPanelCollapsed = null;
|
||||
this.panel1.ToolTipTextExpandIconPanelExpanded = null;
|
||||
//
|
||||
// splitter2
|
||||
//
|
||||
this.splitter2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.splitter2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.splitter2.Location = new System.Drawing.Point(805, 0);
|
||||
this.splitter2.Name = "splitter2";
|
||||
this.splitter2.Size = new System.Drawing.Size(3, 461);
|
||||
this.splitter2.TabIndex = 8;
|
||||
this.splitter2.TabStop = false;
|
||||
//
|
||||
// test
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.splitter2);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.splitter1);
|
||||
this.Controls.Add(this.panel3);
|
||||
this.MinimumSize = new System.Drawing.Size(1008, 461);
|
||||
this.Name = "test";
|
||||
this.Size = new System.Drawing.Size(1008, 461);
|
||||
this.Load += new System.EventHandler(this.test_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private BSE.Windows.Forms.Panel panel3;
|
||||
private BSE.Windows.Forms.Splitter splitter1;
|
||||
private BSE.Windows.Forms.Panel panel1;
|
||||
private BSE.Windows.Forms.Splitter splitter2;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ArdupilotMega.GCSViews
|
||||
{
|
||||
public partial class test : UserControl
|
||||
{
|
||||
public test()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void test_Load(object sender, EventArgs e)
|
||||
{
|
||||
panel3.Expand = false;
|
||||
panel1.Expand = false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,6 +241,7 @@ namespace hud
|
||||
}
|
||||
|
||||
bool inOnPaint = false;
|
||||
string otherthread = "";
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
@@ -265,10 +266,12 @@ namespace hud
|
||||
|
||||
if (inOnPaint)
|
||||
{
|
||||
Console.WriteLine("Was in onpaint Hud th:" + System.Threading.Thread.CurrentThread.Name);
|
||||
Console.WriteLine("Was in onpaint Hud th:" + System.Threading.Thread.CurrentThread.Name + " in " + otherthread);
|
||||
return;
|
||||
}
|
||||
|
||||
otherthread = System.Threading.Thread.CurrentThread.Name;
|
||||
|
||||
inOnPaint = true;
|
||||
|
||||
starttime = DateTime.Now;
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Log</value>
|
||||
</data>
|
||||
<data name="BUT_DLall.Text" xml:space="preserve">
|
||||
<value>Descargar todos los Logs</value>
|
||||
</data>
|
||||
<data name="BUT_redokml.Text" xml:space="preserve">
|
||||
<value>Recrear KML</value>
|
||||
</data>
|
||||
<data name="BUT_DLthese.Text" xml:space="preserve">
|
||||
<value>Descargar este Log</value>
|
||||
</data>
|
||||
<data name="BUT_clearlogs.Text" xml:space="preserve">
|
||||
<value>Limpiar Logs</value>
|
||||
</data>
|
||||
<data name="BUT_firstperson.Text" xml:space="preserve">
|
||||
<value>KML Primera Persona</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="BUT_loadlog.Text" xml:space="preserve">
|
||||
<value>Cargar un Log</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Mostrar Log</value>
|
||||
</data>
|
||||
<data name="Graphit.Text" xml:space="preserve">
|
||||
<value>Gráfico de estos datos</value>
|
||||
</data>
|
||||
<data name="Graphit.ToolTip" xml:space="preserve">
|
||||
<value>Gráficos de la celda actual puso de relieve</value>
|
||||
</data>
|
||||
<data name="BUT_loadlog.ToolTip" xml:space="preserve">
|
||||
<value>Cargar un archivo diferente de Log</value>
|
||||
</data>
|
||||
<data name="BUT_cleargraph.ToolTip" xml:space="preserve">
|
||||
<value>Borrar todos los datos del gráfico</value>
|
||||
</data>
|
||||
<data name="BUT_cleargraph.Text" xml:space="preserve">
|
||||
<value>Limpiar Gráfico</value>
|
||||
</data>
|
||||
</root>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,13 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace ArdupilotMega
|
||||
{
|
||||
partial class MAVLink
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -760,19 +760,19 @@ namespace ArdupilotMega
|
||||
byte[] buffer = port.download(20);
|
||||
port.Close();
|
||||
|
||||
if (buffer[0] != 'A' || buffer[1] != 'P') // this is the apvar header
|
||||
if ((buffer[0] == 'A' || buffer[0] == 'P') && (buffer[1] == 'A' || buffer[1] == 'P')) // this is the apvar header
|
||||
{
|
||||
Console.WriteLine("Valid eeprom contents");
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("You dont appear to have uploaded a firmware yet,\n\nPlease goto the firmware page and upload one.");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Valid eeprom contents");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
MessageBox.Show("Can not establish a connection\n\n" + ex.ToString());
|
||||
//MessageBox.Show("Can not establish a connection\n\n" + ex.ToString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1632,9 +1632,9 @@ namespace ArdupilotMega
|
||||
MainV2.instance.Invoke((MethodInvoker)delegate
|
||||
{
|
||||
loadinglabel.Text = text;
|
||||
});
|
||||
|
||||
Application.DoEvents();
|
||||
Application.DoEvents();
|
||||
});
|
||||
}
|
||||
|
||||
private static void checkForUpdate()
|
||||
@@ -1881,7 +1881,6 @@ namespace ArdupilotMega
|
||||
|
||||
while (dataStream.CanRead)
|
||||
{
|
||||
Application.DoEvents();
|
||||
try
|
||||
{
|
||||
if (dt.Second != DateTime.Now.Second)
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace ArdupilotMega.Mavlink
|
||||
{
|
||||
class MavlinkCRC
|
||||
{
|
||||
const int X25_INIT_CRC = 0xffff;
|
||||
const int X25_VALIDATE_CRC = 0xf0b8;
|
||||
|
||||
public static ushort crc_accumulate(byte b, ushort crc)
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
byte ch = (byte)(b ^ (byte)(crc & 0x00ff));
|
||||
ch = (byte)(ch ^ (ch << 4));
|
||||
return (ushort)((crc >> 8) ^ (ch << 8) ^ (ch << 3) ^ (ch >> 4));
|
||||
}
|
||||
}
|
||||
|
||||
public static ushort crc_calculate(byte[] pBuffer, int length)
|
||||
{
|
||||
if (length < 1)
|
||||
{
|
||||
return 0xffff;
|
||||
}
|
||||
// For a "message" of length bytes contained in the unsigned char array
|
||||
// pointed to by pBuffer, calculate the CRC
|
||||
// crcCalculate(unsigned char* pBuffer, int length, unsigned short* checkConst) < not needed
|
||||
|
||||
ushort crcTmp;
|
||||
int i;
|
||||
|
||||
crcTmp = X25_INIT_CRC;
|
||||
|
||||
for (i = 1; i < length; i++) // skips header U
|
||||
{
|
||||
crcTmp = crc_accumulate(pBuffer[i], crcTmp);
|
||||
//Console.WriteLine(crcTmp + " " + pBuffer[i] + " " + length);
|
||||
}
|
||||
|
||||
return (crcTmp);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Log</value>
|
||||
</data>
|
||||
<data name="BUT_redokml.Text" xml:space="preserve">
|
||||
<value>Crear KML</value>
|
||||
</data>
|
||||
<data name="BUT_humanreadable.Text" xml:space="preserve">
|
||||
<value>Convertir a Texto</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -34,5 +34,5 @@ using System.Resources;
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.37")]
|
||||
[assembly: AssemblyFileVersion("1.1.38")]
|
||||
[assembly: NeutralResourcesLanguageAttribute("")]
|
||||
+164
-173
File diff suppressed because it is too large.
Load diff
Binary file not shown.
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="textBox1.Text" xml:space="preserve">
|
||||
<value>Lo que esto hace. 1. se las actuales coordenadas GPS de un GPS NMEA. 2. envía un WP modo guiado a la AP cada 2 segundos. Como Usar 1. conectar con la AP. 2. el despegue, el modo de prueba guiada está trabajando. 3. abrir este y escoja su puerto com, y la velocidad de su NMEA GPS. 4. ahora debe estar siguiéndote.</value>
|
||||
</data>
|
||||
</root>
|
||||
File diff suppressed because it is too large.
Load diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0"?>
|
||||
<PropertyList>
|
||||
<!--Airframe-->
|
||||
<path>plus_quad2.ac</path>
|
||||
<offsets>
|
||||
<z-m>0.0</z-m>
|
||||
<y-m>0</y-m>
|
||||
<x-m>0.0</x-m>
|
||||
<pitch-deg>0</pitch-deg>
|
||||
<heading-deg>180</heading-deg>
|
||||
</offsets>
|
||||
<!--Propeller Right-->
|
||||
<animation>
|
||||
<type>noshadow</type>
|
||||
<object-name>prop0</object-name>
|
||||
</animation>
|
||||
<animation>
|
||||
<type>spin</type>
|
||||
<object-name>prop0</object-name>
|
||||
<property>/controls/engines/engine[0]/throttle</property>
|
||||
<factor>12000</factor>
|
||||
<axis>
|
||||
<x1-m>0.000</x1-m>
|
||||
<y1-m>-0.288</y1-m>
|
||||
<z1-m>0.046</z1-m>
|
||||
<x2-m>0.000</x2-m>
|
||||
<y2-m>-0.288</y2-m>
|
||||
<z2-m>0.012</z2-m>
|
||||
</axis>
|
||||
</animation>
|
||||
<!--Propeller Left-->
|
||||
<animation>
|
||||
<type>noshadow</type>
|
||||
<object-name>prop1</object-name>
|
||||
</animation>
|
||||
<animation>
|
||||
<type>spin</type>
|
||||
<object-name>prop1</object-name>
|
||||
<property>/controls/engines/engine[1]/throttle</property>
|
||||
<factor>12000</factor>
|
||||
<axis>
|
||||
<x1-m>0.000</x1-m>
|
||||
<y1-m>0.288</y1-m>
|
||||
<z1-m>0.046</z1-m>
|
||||
<x2-m>0.000</x2-m>
|
||||
<y2-m>0.288</y2-m>
|
||||
<z2-m>0.012</z2-m>
|
||||
</axis>
|
||||
</animation>
|
||||
<!--Propeller Front-->
|
||||
<animation>
|
||||
<type>noshadow</type>
|
||||
<object-name>prop2</object-name>
|
||||
</animation>
|
||||
<animation>
|
||||
<type>spin</type>
|
||||
<object-name>prop2</object-name>
|
||||
<property>/controls/engines/engine[2]/throttle</property>
|
||||
<factor>12000</factor>
|
||||
<axis>
|
||||
<x1-m>0.288</x1-m>
|
||||
<y1-m>0.000</y1-m>
|
||||
<z1-m>0.046</z1-m>
|
||||
<x2-m>0.288</x2-m>
|
||||
<y2-m>0.000</y2-m>
|
||||
<z2-m>0.012</z2-m>
|
||||
</axis>
|
||||
</animation>
|
||||
<!--Propeller Back-->
|
||||
<animation>
|
||||
<type>noshadow</type>
|
||||
<object-name>prop3</object-name>
|
||||
</animation>
|
||||
<animation>
|
||||
<type>spin</type>
|
||||
<object-name>prop3</object-name>
|
||||
<property>/controls/engines/engine[3]/throttle</property>
|
||||
<factor>12000</factor>
|
||||
<axis>
|
||||
<x1-m>-0.288</x1-m>
|
||||
<y1-m>0.000</y1-m>
|
||||
<z1-m>0.046</z1-m>
|
||||
<x2-m>-0.288</x2-m>
|
||||
<y2-m>0.000</y2-m>
|
||||
<z2-m>0.012</z2-m>
|
||||
</axis>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,40 @@
|
||||
round10 = func(v) {
|
||||
if (v == nil) return 0;
|
||||
return 0.1*int(v*10);
|
||||
}
|
||||
|
||||
round100 = func(v) {
|
||||
if (v == nil) return 0;
|
||||
return 0.01*int(v*100);
|
||||
}
|
||||
|
||||
var update_quad = func( ) {
|
||||
asl_ft = getprop("/position/altitude-ft");
|
||||
ground = getprop("/position/ground-elev-ft");
|
||||
agl_m = (asl_ft - ground) * 0.3048;
|
||||
|
||||
setprop("/apm/altitude", round10(agl_m));
|
||||
|
||||
setprop("/apm/pitch", round10(getprop("/orientation/pitch-deg")));
|
||||
setprop("/apm/roll", round10(getprop("/orientation/roll-deg")));
|
||||
setprop("/apm/heading", round10(getprop("/orientation/heading-deg")));
|
||||
|
||||
# airspeed-kt is actually in feet per second (FDM NET bug)
|
||||
setprop("/apm/airspeed", round10(0.3048*getprop("/velocities/airspeed-kt")));
|
||||
|
||||
setprop("/apm/motor_right", round10(getprop("/engines/engine[0]/rpm")/10.0));
|
||||
setprop("/apm/motor_left", round10(getprop("/engines/engine[1]/rpm")/10.0));
|
||||
setprop("/apm/motor_front", round10(getprop("/engines/engine[2]/rpm")/10.0));
|
||||
setprop("/apm/motor_back", round10(getprop("/engines/engine[3]/rpm")/10.0));
|
||||
}
|
||||
|
||||
var main_loop = func {
|
||||
update_quad();
|
||||
settimer(main_loop, 0);
|
||||
}
|
||||
|
||||
|
||||
setlistener("/sim/signals/fdm-initialized",
|
||||
func {
|
||||
main_loop();
|
||||
});
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user