mirror of https://github.com/ArduPilot/ardupilot
Mission Planner 1.2.13
remove some mavlink 0.9 code add arm/disarm button. Not yet implemented AC and AP Side. modify heli setup screen modify failsafe screen fix old firmware under mono workaround mono crash. modify planner wp storage tweak log dl screen add change alt button modify tlog wp extractor, multiple extractions speed up srtm reading fix lang edit.
This commit is contained in:
parent
939ee1f4a9
commit
09d8a8a2d1
|
@ -376,6 +376,12 @@
|
||||||
<Compile Include="Controls\ToolStripConnectionControl.cs">
|
<Compile Include="Controls\ToolStripConnectionControl.cs">
|
||||||
<SubType>Component</SubType>
|
<SubType>Component</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Controls\ModifyandSet.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Controls\ModifyandSet.Designer.cs">
|
||||||
|
<DependentUpon>ModifyandSet.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Controls\ValuesControl.cs">
|
<Compile Include="Controls\ValuesControl.cs">
|
||||||
<SubType>UserControl</SubType>
|
<SubType>UserControl</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@ -635,7 +641,6 @@
|
||||||
<DependentUpon>Simulation.cs</DependentUpon>
|
<DependentUpon>Simulation.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="CurrentState.cs" />
|
<Compile Include="CurrentState.cs" />
|
||||||
<Compile Include="Mavlink\MAVLinkTypes0.9.cs" />
|
|
||||||
<Compile Include="ElevationProfile.cs">
|
<Compile Include="ElevationProfile.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@ -728,6 +733,9 @@
|
||||||
<EmbeddedResource Include="Controls\RangeControl.resx">
|
<EmbeddedResource Include="Controls\RangeControl.resx">
|
||||||
<DependentUpon>RangeControl.cs</DependentUpon>
|
<DependentUpon>RangeControl.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Controls\ModifyandSet.resx">
|
||||||
|
<DependentUpon>ModifyandSet.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Controls\ValuesControl.resx">
|
<EmbeddedResource Include="Controls\ValuesControl.resx">
|
||||||
<DependentUpon>ValuesControl.cs</DependentUpon>
|
<DependentUpon>ValuesControl.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
|
|
@ -1,9 +1,51 @@
|
||||||
* Mission Planner 1.2.8
|
* Mission Planner 1.2.12
|
||||||
|
add arduino chip detect
|
||||||
|
fix apm2,2.5 dialog test
|
||||||
|
add write timeout. this will stop planner hangs on bad serial devices.
|
||||||
|
change quickview decimal places to 0.00
|
||||||
|
fix map clicking issue.
|
||||||
|
fix wind direction wrapping
|
||||||
|
add airspeed use
|
||||||
|
modify firmware screen from Marooned
|
||||||
|
major flightdata tab change.
|
||||||
|
add save/load polygon from file
|
||||||
|
add some error handling dialogs
|
||||||
|
|
||||||
|
|
||||||
|
* Mission Planner 1.2.11
|
||||||
|
Fix ac crosstrack display
|
||||||
|
tweak ap_mount
|
||||||
|
speed up Terminal
|
||||||
|
|
||||||
|
|
||||||
|
* Mission Planner 1.2.10
|
||||||
|
add useritems to HUD
|
||||||
|
change hdop scale
|
||||||
|
fix posible follow me bug (, vs .)
|
||||||
|
fix posible friendly params bug (, vs .)
|
||||||
|
tweak flightdata log playback timming
|
||||||
|
fix gridv2 bug. if no waypoint had been done, the grid wold fail
|
||||||
|
tweak some mission upload potential issues
|
||||||
|
add ability to get param list from a log (from startup)
|
||||||
|
add ability to get the first wp list in a log, if wps where received in that log.
|
||||||
|
tweak video capture library timing
|
||||||
|
|
||||||
|
|
||||||
|
* Mission Planner 1.2.9
|
||||||
|
add est distance traveled
|
||||||
|
add est flight time
|
||||||
|
AP_Mount now updated
|
||||||
|
add expermental firmware options.
|
||||||
|
fix hud avi record framerate
|
||||||
|
add 2 direction wp circle
|
||||||
|
tweak gridv2
|
||||||
|
|
||||||
|
|
||||||
|
* Mission Planner 1.2.8
|
||||||
fix mjpeg stream from VLC.
|
fix mjpeg stream from VLC.
|
||||||
add grid mode V2
|
add grid mode V2
|
||||||
fix hdop scaling
|
fix hdop scaling
|
||||||
|
|
||||||
|
|
||||||
* Mission Planner 1.2.7
|
* Mission Planner 1.2.7
|
||||||
add wind from ap
|
add wind from ap
|
||||||
add wp every x m in grid mode
|
add wp every x m in grid mode
|
||||||
|
@ -11,6 +53,7 @@ fix hil problem
|
||||||
fix control-s
|
fix control-s
|
||||||
update mavlink format
|
update mavlink format
|
||||||
|
|
||||||
|
|
||||||
* Mission Planner 1.2.6
|
* Mission Planner 1.2.6
|
||||||
add tracker location option.
|
add tracker location option.
|
||||||
fix current sensor screen
|
fix current sensor screen
|
||||||
|
@ -18,6 +61,7 @@ add more right click flight planner options.
|
||||||
make some connecting error messages more detailed.
|
make some connecting error messages more detailed.
|
||||||
add partial microdrones protocol output
|
add partial microdrones protocol output
|
||||||
|
|
||||||
|
|
||||||
* Mission Planner 1.2.5
|
* Mission Planner 1.2.5
|
||||||
add experimental antenna tracker find
|
add experimental antenna tracker find
|
||||||
add new apparam eeprom reader
|
add new apparam eeprom reader
|
||||||
|
@ -29,6 +73,7 @@ move some functions to the right click menu
|
||||||
add xplanes data in/out setup to be automatic.
|
add xplanes data in/out setup to be automatic.
|
||||||
add better mission upload handeling.
|
add better mission upload handeling.
|
||||||
|
|
||||||
|
|
||||||
* Mission Planner 1.2.4
|
* Mission Planner 1.2.4
|
||||||
remove geofence tab
|
remove geofence tab
|
||||||
add guided alt remeber
|
add guided alt remeber
|
||||||
|
|
|
@ -159,7 +159,9 @@ namespace ArdupilotMega.Controls
|
||||||
public float groundalt { get; set; }
|
public float groundalt { get; set; }
|
||||||
|
|
||||||
[System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")]
|
[System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")]
|
||||||
public int status { get; set; }
|
public bool status { get; set; }
|
||||||
|
bool statuslast = false;
|
||||||
|
DateTime armedtimer = DateTime.MinValue;
|
||||||
|
|
||||||
public struct Custom
|
public struct Custom
|
||||||
{
|
{
|
||||||
|
@ -172,8 +174,7 @@ namespace ArdupilotMega.Controls
|
||||||
|
|
||||||
public Hashtable CustomItems = new Hashtable();
|
public Hashtable CustomItems = new Hashtable();
|
||||||
|
|
||||||
int statuslast = 0;
|
|
||||||
DateTime armedtimer = DateTime.MinValue;
|
|
||||||
|
|
||||||
public bool bgon = true;
|
public bool bgon = true;
|
||||||
public bool hudon = true;
|
public bool hudon = true;
|
||||||
|
@ -852,7 +853,7 @@ namespace ArdupilotMega.Controls
|
||||||
armedtimer = DateTime.Now;
|
armedtimer = DateTime.Now;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status == 3) // not armed
|
if (status == false) // not armed
|
||||||
{
|
{
|
||||||
//if ((armedtimer.AddSeconds(8) > DateTime.Now))
|
//if ((armedtimer.AddSeconds(8) > DateTime.Now))
|
||||||
{
|
{
|
||||||
|
@ -860,7 +861,7 @@ namespace ArdupilotMega.Controls
|
||||||
statuslast = status;
|
statuslast = status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (status == 4) // armed
|
else if (status == true) // armed
|
||||||
{
|
{
|
||||||
if ((armedtimer.AddSeconds(8) > DateTime.Now))
|
if ((armedtimer.AddSeconds(8) > DateTime.Now))
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
namespace ArdupilotMega.Controls
|
||||||
|
{
|
||||||
|
partial class ModifyandSet
|
||||||
|
{
|
||||||
|
/// <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.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.myButton1 = new ArdupilotMega.Controls.MyButton();
|
||||||
|
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
|
||||||
|
this.flowLayoutPanel1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// numericUpDown1
|
||||||
|
//
|
||||||
|
this.numericUpDown1.Location = new System.Drawing.Point(3, 3);
|
||||||
|
this.numericUpDown1.Maximum = new decimal(new int[] {
|
||||||
|
1000,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.numericUpDown1.Name = "numericUpDown1";
|
||||||
|
this.numericUpDown1.Size = new System.Drawing.Size(47, 20);
|
||||||
|
this.numericUpDown1.TabIndex = 0;
|
||||||
|
this.numericUpDown1.Value = new decimal(new int[] {
|
||||||
|
1000,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);
|
||||||
|
//
|
||||||
|
// myButton1
|
||||||
|
//
|
||||||
|
this.myButton1.Location = new System.Drawing.Point(56, 3);
|
||||||
|
this.myButton1.Name = "myButton1";
|
||||||
|
this.myButton1.Size = new System.Drawing.Size(52, 23);
|
||||||
|
this.myButton1.TabIndex = 1;
|
||||||
|
this.myButton1.Text = "Set to This";
|
||||||
|
this.myButton1.UseVisualStyleBackColor = true;
|
||||||
|
this.myButton1.Click += new System.EventHandler(this.myButton1_Click);
|
||||||
|
//
|
||||||
|
// flowLayoutPanel1
|
||||||
|
//
|
||||||
|
this.flowLayoutPanel1.Controls.Add(this.numericUpDown1);
|
||||||
|
this.flowLayoutPanel1.Controls.Add(this.myButton1);
|
||||||
|
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||||
|
this.flowLayoutPanel1.Size = new System.Drawing.Size(114, 29);
|
||||||
|
this.flowLayoutPanel1.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// ModifyandSet
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.flowLayoutPanel1);
|
||||||
|
this.Name = "ModifyandSet";
|
||||||
|
this.Size = new System.Drawing.Size(114, 29);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
|
||||||
|
this.flowLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.NumericUpDown numericUpDown1;
|
||||||
|
private MyButton myButton1;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
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.Controls
|
||||||
|
{
|
||||||
|
public partial class ModifyandSet : UserControl
|
||||||
|
{
|
||||||
|
[System.ComponentModel.Browsable(true)]
|
||||||
|
public NumericUpDown NumericUpDown { get; set; }
|
||||||
|
[System.ComponentModel.Browsable(true)]
|
||||||
|
public MyButton Button { get; set; }
|
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)]
|
||||||
|
public String ButtonText { get { return Button.Text; } set { Button.Text = value; } }
|
||||||
|
[System.ComponentModel.Browsable(true)]
|
||||||
|
public Decimal Value { get { return NumericUpDown.Value; } set { NumericUpDown.Value = value; } }
|
||||||
|
|
||||||
|
public new event EventHandler Click;
|
||||||
|
public event EventHandler ValueChanged;
|
||||||
|
|
||||||
|
public ModifyandSet()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
NumericUpDown = numericUpDown1;
|
||||||
|
Button = myButton1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void myButton1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Click != null)
|
||||||
|
Click(sender, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (ValueChanged != null)
|
||||||
|
ValueChanged(sender, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,120 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
|
@ -12,7 +12,7 @@ using System.Drawing.Drawing2D;
|
||||||
|
|
||||||
namespace ArdupilotMega.Controls
|
namespace ArdupilotMega.Controls
|
||||||
{
|
{
|
||||||
class MyButton : Button
|
public class MyButton : Button
|
||||||
{
|
{
|
||||||
bool mouseover = false;
|
bool mouseover = false;
|
||||||
bool mousedown = false;
|
bool mousedown = false;
|
||||||
|
|
|
@ -217,8 +217,6 @@ namespace ArdupilotMega
|
||||||
PointLatLngAlt _trackerloc = new PointLatLngAlt();
|
PointLatLngAlt _trackerloc = new PointLatLngAlt();
|
||||||
internal PointLatLngAlt TrackerLocation { get { if (_trackerloc.Lng != 0) return _trackerloc; return HomeLocation; } set { _trackerloc = value; } }
|
internal PointLatLngAlt TrackerLocation { get { if (_trackerloc.Lng != 0) return _trackerloc; return HomeLocation; } set { _trackerloc = value; } }
|
||||||
|
|
||||||
internal PointLatLngAlt GuidedModeWP = new PointLatLngAlt();
|
|
||||||
|
|
||||||
public float DistToMAV
|
public float DistToMAV
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -279,7 +277,7 @@ namespace ArdupilotMega
|
||||||
public MainV2.Firmwares firmware = MainV2.Firmwares.ArduPlane;
|
public MainV2.Firmwares firmware = MainV2.Firmwares.ArduPlane;
|
||||||
public float freemem { get; set; }
|
public float freemem { get; set; }
|
||||||
public float brklevel { get; set; }
|
public float brklevel { get; set; }
|
||||||
public int armed { get; set; }
|
public bool armed { get; set; }
|
||||||
|
|
||||||
// 3dr radio
|
// 3dr radio
|
||||||
public float rssi { get; set; }
|
public float rssi { get; set; }
|
||||||
|
@ -494,7 +492,7 @@ namespace ArdupilotMega
|
||||||
{
|
{
|
||||||
var hb = bytearray.ByteArrayToStructure<MAVLink.mavlink_heartbeat_t>(6);
|
var hb = bytearray.ByteArrayToStructure<MAVLink.mavlink_heartbeat_t>(6);
|
||||||
|
|
||||||
armed = (hb.base_mode & (byte)MAVLink.MAV_MODE_FLAG.SAFETY_ARMED) == (byte)MAVLink.MAV_MODE_FLAG.SAFETY_ARMED ? 4 : 3;
|
armed = (hb.base_mode & (byte)MAVLink.MAV_MODE_FLAG.SAFETY_ARMED) == (byte)MAVLink.MAV_MODE_FLAG.SAFETY_ARMED;
|
||||||
|
|
||||||
string oldmode = mode;
|
string oldmode = mode;
|
||||||
|
|
||||||
|
@ -764,7 +762,6 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
//MAVLink.packets[MAVLink.MAVLINK_MSG_ID_ATTITUDE] = null;
|
//MAVLink.packets[MAVLink.MAVLINK_MSG_ID_ATTITUDE] = null;
|
||||||
}
|
}
|
||||||
#if MAVLINK10
|
|
||||||
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW_INT];
|
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW_INT];
|
||||||
if (bytearray != null)
|
if (bytearray != null)
|
||||||
{
|
{
|
||||||
|
@ -789,28 +786,6 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
//MAVLink.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW] = null;
|
//MAVLink.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW] = null;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
|
|
||||||
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW];
|
|
||||||
if (bytearray != null)
|
|
||||||
{
|
|
||||||
var gps = bytearray.ByteArrayToStructure<MAVLink.mavlink_gps_raw_t>(6);
|
|
||||||
|
|
||||||
lat = gps.lat;
|
|
||||||
lng = gps.lon;
|
|
||||||
// alt = gps.alt; // using vfr as includes baro calc
|
|
||||||
|
|
||||||
gpsstatus = gps.fix_type;
|
|
||||||
// Console.WriteLine("gpsfix {0}",gpsstatus);
|
|
||||||
|
|
||||||
gpshdop = gps.eph;
|
|
||||||
|
|
||||||
groundspeed = gps.v;
|
|
||||||
groundcourse = gps.hdg;
|
|
||||||
|
|
||||||
//MAVLink.packets[MAVLink.MAVLINK_MSG_ID_GPS_RAW] = null;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_STATUS];
|
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GPS_STATUS];
|
||||||
if (bytearray != null)
|
if (bytearray != null)
|
||||||
|
@ -845,7 +820,7 @@ namespace ArdupilotMega
|
||||||
lat = loc.lat / 10000000.0f;
|
lat = loc.lat / 10000000.0f;
|
||||||
lng = loc.lon / 10000000.0f;
|
lng = loc.lon / 10000000.0f;
|
||||||
}
|
}
|
||||||
#if MAVLINK10
|
|
||||||
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_MISSION_CURRENT];
|
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_MISSION_CURRENT];
|
||||||
if (bytearray != null)
|
if (bytearray != null)
|
||||||
{
|
{
|
||||||
|
@ -862,36 +837,6 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
//MAVLink.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT] = null;
|
//MAVLink.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT] = null;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
|
|
||||||
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_GLOBAL_POSITION];
|
|
||||||
if (bytearray != null)
|
|
||||||
{
|
|
||||||
var loc = bytearray.ByteArrayToStructure<MAVLink.mavlink_global_position_t>(6);
|
|
||||||
alt = loc.alt;
|
|
||||||
lat = loc.lat;
|
|
||||||
lng = loc.lon;
|
|
||||||
}
|
|
||||||
|
|
||||||
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT];
|
|
||||||
if (bytearray != null)
|
|
||||||
{
|
|
||||||
var wpcur = bytearray.ByteArrayToStructure<MAVLink.mavlink_waypoint_current_t>(6);
|
|
||||||
|
|
||||||
int oldwp = (int)wpno;
|
|
||||||
|
|
||||||
wpno = wpcur.seq;
|
|
||||||
|
|
||||||
if (oldwp != wpno && MainV2.speechEnable && MainV2.speechEngine != null && MainV2.getConfig("speechwaypointenabled") == "True")
|
|
||||||
{
|
|
||||||
MainV2.speechEngine.SpeakAsync(Common.speechConversion(MainV2.getConfig("speechwaypoint")));
|
|
||||||
}
|
|
||||||
|
|
||||||
//MAVLink.packets[ArdupilotMega.MAVLink.MAVLINK_MSG_ID_WAYPOINT_CURRENT] = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT];
|
bytearray = mavinterface.packets[MAVLink.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT];
|
||||||
|
|
||||||
|
|
|
@ -162,8 +162,6 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
MainV2.comPort.setGuidedModeWP(gotohere);
|
MainV2.comPort.setGuidedModeWP(gotohere);
|
||||||
|
|
||||||
MainV2.cs.GuidedModeWP = new PointLatLngAlt(gotohere);
|
|
||||||
|
|
||||||
MainV2.giveComport = false;
|
MainV2.giveComport = false;
|
||||||
}
|
}
|
||||||
catch { MainV2.giveComport = false; }
|
catch { MainV2.giveComport = false; }
|
||||||
|
|
|
@ -137,7 +137,8 @@
|
||||||
resources.GetString("CMB_batmonsensortype.Items"),
|
resources.GetString("CMB_batmonsensortype.Items"),
|
||||||
resources.GetString("CMB_batmonsensortype.Items1"),
|
resources.GetString("CMB_batmonsensortype.Items1"),
|
||||||
resources.GetString("CMB_batmonsensortype.Items2"),
|
resources.GetString("CMB_batmonsensortype.Items2"),
|
||||||
resources.GetString("CMB_batmonsensortype.Items3")});
|
resources.GetString("CMB_batmonsensortype.Items3"),
|
||||||
|
resources.GetString("CMB_batmonsensortype.Items4")});
|
||||||
resources.ApplyResources(this.CMB_batmonsensortype, "CMB_batmonsensortype");
|
resources.ApplyResources(this.CMB_batmonsensortype, "CMB_batmonsensortype");
|
||||||
this.CMB_batmonsensortype.Name = "CMB_batmonsensortype";
|
this.CMB_batmonsensortype.Name = "CMB_batmonsensortype";
|
||||||
this.CMB_batmonsensortype.SelectedIndexChanged += new System.EventHandler(this.CMB_batmonsensortype_SelectedIndexChanged);
|
this.CMB_batmonsensortype.SelectedIndexChanged += new System.EventHandler(this.CMB_batmonsensortype_SelectedIndexChanged);
|
||||||
|
|
|
@ -468,6 +468,9 @@
|
||||||
<data name="CMB_batmonsensortype.Items3" xml:space="preserve">
|
<data name="CMB_batmonsensortype.Items3" xml:space="preserve">
|
||||||
<value>3: AttoPilot 180A</value>
|
<value>3: AttoPilot 180A</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="CMB_batmonsensortype.Items4" xml:space="preserve">
|
||||||
|
<value>4: 3DR IV Sensor</value>
|
||||||
|
</data>
|
||||||
<data name="CMB_batmonsensortype.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="CMB_batmonsensortype.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>160, 68</value>
|
<value>160, 68</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -50,10 +50,19 @@
|
||||||
this.horizontalProgressBar2 = new ArdupilotMega.HorizontalProgressBar();
|
this.horizontalProgressBar2 = new ArdupilotMega.HorizontalProgressBar();
|
||||||
this.horizontalProgressBar1 = new ArdupilotMega.HorizontalProgressBar();
|
this.horizontalProgressBar1 = new ArdupilotMega.HorizontalProgressBar();
|
||||||
this.lbl_currentmode = new System.Windows.Forms.Label();
|
this.lbl_currentmode = new System.Windows.Forms.Label();
|
||||||
this.mavlinkCheckBox1 = new ArdupilotMega.Controls.MavlinkCheckBox();
|
this.mavlinkCheckBoxthr_fs = new ArdupilotMega.Controls.MavlinkCheckBox();
|
||||||
this.mavlinkNumericUpDown1 = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
this.mavlinkNumericUpDownthr_fs_value = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
|
this.LNK_wiki = new System.Windows.Forms.LinkLabel();
|
||||||
|
this.mavlinkCheckBoxgcs_fs = new ArdupilotMega.Controls.MavlinkCheckBox();
|
||||||
|
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||||
|
this.mavlinkCheckBoxshort_fs = new ArdupilotMega.Controls.MavlinkCheckBox();
|
||||||
|
this.mavlinkCheckBoxlong_fs = new ArdupilotMega.Controls.MavlinkCheckBox();
|
||||||
|
this.mavlinkCheckBoxthr_fs_action = new ArdupilotMega.Controls.MavlinkCheckBox();
|
||||||
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDownthr_fs_value)).BeginInit();
|
||||||
|
this.groupBox1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// currentStateBindingSource
|
// currentStateBindingSource
|
||||||
|
@ -300,31 +309,110 @@
|
||||||
resources.ApplyResources(this.lbl_currentmode, "lbl_currentmode");
|
resources.ApplyResources(this.lbl_currentmode, "lbl_currentmode");
|
||||||
this.lbl_currentmode.Name = "lbl_currentmode";
|
this.lbl_currentmode.Name = "lbl_currentmode";
|
||||||
//
|
//
|
||||||
// mavlinkCheckBox1
|
// mavlinkCheckBoxthr_fs
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.mavlinkCheckBox1, "mavlinkCheckBox1");
|
resources.ApplyResources(this.mavlinkCheckBoxthr_fs, "mavlinkCheckBoxthr_fs");
|
||||||
this.mavlinkCheckBox1.Name = "mavlinkCheckBox1";
|
this.mavlinkCheckBoxthr_fs.Name = "mavlinkCheckBoxthr_fs";
|
||||||
this.mavlinkCheckBox1.OffValue = 0F;
|
this.mavlinkCheckBoxthr_fs.OffValue = 0F;
|
||||||
this.mavlinkCheckBox1.OnValue = 1F;
|
this.mavlinkCheckBoxthr_fs.OnValue = 1F;
|
||||||
this.mavlinkCheckBox1.param = null;
|
this.mavlinkCheckBoxthr_fs.param = null;
|
||||||
this.mavlinkCheckBox1.ParamName = null;
|
this.mavlinkCheckBoxthr_fs.ParamName = null;
|
||||||
this.mavlinkCheckBox1.UseVisualStyleBackColor = true;
|
this.toolTip1.SetToolTip(this.mavlinkCheckBoxthr_fs, resources.GetString("mavlinkCheckBoxthr_fs.ToolTip"));
|
||||||
|
this.mavlinkCheckBoxthr_fs.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// mavlinkNumericUpDown1
|
// mavlinkNumericUpDownthr_fs_value
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.mavlinkNumericUpDown1, "mavlinkNumericUpDown1");
|
resources.ApplyResources(this.mavlinkNumericUpDownthr_fs_value, "mavlinkNumericUpDownthr_fs_value");
|
||||||
this.mavlinkNumericUpDown1.Max = 1F;
|
this.mavlinkNumericUpDownthr_fs_value.Max = 1F;
|
||||||
this.mavlinkNumericUpDown1.Min = 0F;
|
this.mavlinkNumericUpDownthr_fs_value.Min = 0F;
|
||||||
this.mavlinkNumericUpDown1.Name = "mavlinkNumericUpDown1";
|
this.mavlinkNumericUpDownthr_fs_value.Name = "mavlinkNumericUpDownthr_fs_value";
|
||||||
this.mavlinkNumericUpDown1.param = null;
|
this.mavlinkNumericUpDownthr_fs_value.param = null;
|
||||||
this.mavlinkNumericUpDown1.ParamName = null;
|
this.mavlinkNumericUpDownthr_fs_value.ParamName = null;
|
||||||
|
this.toolTip1.SetToolTip(this.mavlinkNumericUpDownthr_fs_value, resources.GetString("mavlinkNumericUpDownthr_fs_value.ToolTip"));
|
||||||
|
//
|
||||||
|
// LNK_wiki
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.LNK_wiki, "LNK_wiki");
|
||||||
|
this.LNK_wiki.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
|
||||||
|
this.LNK_wiki.LinkColor = System.Drawing.Color.CornflowerBlue;
|
||||||
|
this.LNK_wiki.Name = "LNK_wiki";
|
||||||
|
this.LNK_wiki.TabStop = true;
|
||||||
|
this.LNK_wiki.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LNK_wiki_LinkClicked);
|
||||||
|
//
|
||||||
|
// mavlinkCheckBoxgcs_fs
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkCheckBoxgcs_fs, "mavlinkCheckBoxgcs_fs");
|
||||||
|
this.mavlinkCheckBoxgcs_fs.Name = "mavlinkCheckBoxgcs_fs";
|
||||||
|
this.mavlinkCheckBoxgcs_fs.OffValue = 0F;
|
||||||
|
this.mavlinkCheckBoxgcs_fs.OnValue = 1F;
|
||||||
|
this.mavlinkCheckBoxgcs_fs.param = null;
|
||||||
|
this.mavlinkCheckBoxgcs_fs.ParamName = null;
|
||||||
|
this.toolTip1.SetToolTip(this.mavlinkCheckBoxgcs_fs, resources.GetString("mavlinkCheckBoxgcs_fs.ToolTip"));
|
||||||
|
this.mavlinkCheckBoxgcs_fs.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// toolTip1
|
||||||
|
//
|
||||||
|
this.toolTip1.AutoPopDelay = 20000;
|
||||||
|
this.toolTip1.InitialDelay = 500;
|
||||||
|
this.toolTip1.ReshowDelay = 100;
|
||||||
|
//
|
||||||
|
// mavlinkCheckBoxshort_fs
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkCheckBoxshort_fs, "mavlinkCheckBoxshort_fs");
|
||||||
|
this.mavlinkCheckBoxshort_fs.Name = "mavlinkCheckBoxshort_fs";
|
||||||
|
this.mavlinkCheckBoxshort_fs.OffValue = 0F;
|
||||||
|
this.mavlinkCheckBoxshort_fs.OnValue = 1F;
|
||||||
|
this.mavlinkCheckBoxshort_fs.param = null;
|
||||||
|
this.mavlinkCheckBoxshort_fs.ParamName = null;
|
||||||
|
this.toolTip1.SetToolTip(this.mavlinkCheckBoxshort_fs, resources.GetString("mavlinkCheckBoxshort_fs.ToolTip"));
|
||||||
|
this.mavlinkCheckBoxshort_fs.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// mavlinkCheckBoxlong_fs
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkCheckBoxlong_fs, "mavlinkCheckBoxlong_fs");
|
||||||
|
this.mavlinkCheckBoxlong_fs.Name = "mavlinkCheckBoxlong_fs";
|
||||||
|
this.mavlinkCheckBoxlong_fs.OffValue = 0F;
|
||||||
|
this.mavlinkCheckBoxlong_fs.OnValue = 1F;
|
||||||
|
this.mavlinkCheckBoxlong_fs.param = null;
|
||||||
|
this.mavlinkCheckBoxlong_fs.ParamName = null;
|
||||||
|
this.toolTip1.SetToolTip(this.mavlinkCheckBoxlong_fs, resources.GetString("mavlinkCheckBoxlong_fs.ToolTip"));
|
||||||
|
this.mavlinkCheckBoxlong_fs.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// mavlinkCheckBoxthr_fs_action
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkCheckBoxthr_fs_action, "mavlinkCheckBoxthr_fs_action");
|
||||||
|
this.mavlinkCheckBoxthr_fs_action.Name = "mavlinkCheckBoxthr_fs_action";
|
||||||
|
this.mavlinkCheckBoxthr_fs_action.OffValue = 0F;
|
||||||
|
this.mavlinkCheckBoxthr_fs_action.OnValue = 1F;
|
||||||
|
this.mavlinkCheckBoxthr_fs_action.param = null;
|
||||||
|
this.mavlinkCheckBoxthr_fs_action.ParamName = null;
|
||||||
|
this.toolTip1.SetToolTip(this.mavlinkCheckBoxthr_fs_action, resources.GetString("mavlinkCheckBoxthr_fs_action.ToolTip"));
|
||||||
|
this.mavlinkCheckBoxthr_fs_action.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// groupBox1
|
||||||
|
//
|
||||||
|
this.groupBox1.Controls.Add(this.label3);
|
||||||
|
this.groupBox1.Controls.Add(this.mavlinkCheckBoxthr_fs);
|
||||||
|
this.groupBox1.Controls.Add(this.mavlinkCheckBoxthr_fs_action);
|
||||||
|
this.groupBox1.Controls.Add(this.mavlinkNumericUpDownthr_fs_value);
|
||||||
|
this.groupBox1.Controls.Add(this.mavlinkCheckBoxlong_fs);
|
||||||
|
this.groupBox1.Controls.Add(this.mavlinkCheckBoxgcs_fs);
|
||||||
|
this.groupBox1.Controls.Add(this.mavlinkCheckBoxshort_fs);
|
||||||
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
|
this.groupBox1.Name = "groupBox1";
|
||||||
|
this.groupBox1.TabStop = false;
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label3, "label3");
|
||||||
|
this.label3.Name = "label3";
|
||||||
//
|
//
|
||||||
// ConfigFailSafe
|
// ConfigFailSafe
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.Controls.Add(this.mavlinkNumericUpDown1);
|
this.Controls.Add(this.groupBox1);
|
||||||
this.Controls.Add(this.mavlinkCheckBox1);
|
this.Controls.Add(this.LNK_wiki);
|
||||||
this.Controls.Add(this.lbl_currentmode);
|
this.Controls.Add(this.lbl_currentmode);
|
||||||
this.Controls.Add(this.label2);
|
this.Controls.Add(this.label2);
|
||||||
this.Controls.Add(this.label1);
|
this.Controls.Add(this.label1);
|
||||||
|
@ -346,7 +434,9 @@
|
||||||
this.Controls.Add(this.horizontalProgressBar1);
|
this.Controls.Add(this.horizontalProgressBar1);
|
||||||
this.Name = "ConfigFailSafe";
|
this.Name = "ConfigFailSafe";
|
||||||
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDownthr_fs_value)).EndInit();
|
||||||
|
this.groupBox1.ResumeLayout(false);
|
||||||
|
this.groupBox1.PerformLayout();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
|
@ -374,7 +464,15 @@
|
||||||
private HorizontalProgressBar horizontalProgressBar2;
|
private HorizontalProgressBar horizontalProgressBar2;
|
||||||
private HorizontalProgressBar horizontalProgressBar1;
|
private HorizontalProgressBar horizontalProgressBar1;
|
||||||
private System.Windows.Forms.Label lbl_currentmode;
|
private System.Windows.Forms.Label lbl_currentmode;
|
||||||
private Controls.MavlinkCheckBox mavlinkCheckBox1;
|
private Controls.MavlinkCheckBox mavlinkCheckBoxthr_fs;
|
||||||
private Controls.MavlinkNumericUpDown mavlinkNumericUpDown1;
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDownthr_fs_value;
|
||||||
|
private System.Windows.Forms.LinkLabel LNK_wiki;
|
||||||
|
private Controls.MavlinkCheckBox mavlinkCheckBoxgcs_fs;
|
||||||
|
private System.Windows.Forms.ToolTip toolTip1;
|
||||||
|
private Controls.MavlinkCheckBox mavlinkCheckBoxshort_fs;
|
||||||
|
private Controls.MavlinkCheckBox mavlinkCheckBoxlong_fs;
|
||||||
|
private Controls.MavlinkCheckBox mavlinkCheckBoxthr_fs_action;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox1;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,20 +8,19 @@ using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using ArdupilotMega.Controls.BackstageView;
|
using ArdupilotMega.Controls.BackstageView;
|
||||||
using ArdupilotMega.Controls;
|
using ArdupilotMega.Controls;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace ArdupilotMega.GCSViews.ConfigurationView
|
namespace ArdupilotMega.GCSViews.ConfigurationView
|
||||||
{
|
{
|
||||||
public partial class ConfigFailSafe : UserControl, IActivate, IDeactivate
|
public partial class ConfigFailSafe : UserControl, IActivate, IDeactivate
|
||||||
{
|
{
|
||||||
Timer timer = new Timer();
|
Timer timer = new Timer();
|
||||||
|
//
|
||||||
|
|
||||||
public ConfigFailSafe()
|
public ConfigFailSafe()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
mavlinkCheckBox1.setup(1, 0, "THR_FAILSAFE", MainV2.comPort.param);
|
|
||||||
mavlinkNumericUpDown1.setup(800, 1200, 1, 1, "THR_FS_VALUE", MainV2.comPort.param);
|
|
||||||
|
|
||||||
// setup rc update
|
// setup rc update
|
||||||
timer.Tick += new EventHandler(timer_Tick);
|
timer.Tick += new EventHandler(timer_Tick);
|
||||||
}
|
}
|
||||||
|
@ -43,11 +42,23 @@ namespace ArdupilotMega.GCSViews.ConfigurationView
|
||||||
|
|
||||||
public void Activate()
|
public void Activate()
|
||||||
{
|
{
|
||||||
|
mavlinkCheckBoxthr_fs.setup(1, 0, "THR_FAILSAFE", MainV2.comPort.param, mavlinkNumericUpDownthr_fs_value);
|
||||||
|
mavlinkNumericUpDownthr_fs_value.setup(800, 1200, 1, 1, "THR_FS_VALUE", MainV2.comPort.param);
|
||||||
|
mavlinkCheckBoxthr_fs_action.setup(1, 0, "THR_FS_ACTION",MainV2.comPort.param);
|
||||||
|
mavlinkCheckBoxgcs_fs.setup(1, 0, "FS_GCS_ENABL", MainV2.comPort.param);
|
||||||
|
mavlinkCheckBoxshort_fs.setup(1, 0, "FS_SHORT_ACTN", MainV2.comPort.param);
|
||||||
|
mavlinkCheckBoxlong_fs.setup(1, 0, "FS_LONG_ACTN", MainV2.comPort.param);
|
||||||
|
|
||||||
timer.Enabled = true;
|
timer.Enabled = true;
|
||||||
timer.Interval = 100;
|
timer.Interval = 100;
|
||||||
timer.Start();
|
timer.Start();
|
||||||
|
|
||||||
CustomMessageBox.Show("Ensure your props are not on the Plane/Quad","FailSafe",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
|
CustomMessageBox.Show("Ensure your props are not on the Plane/Quad","FailSafe",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void LNK_wiki_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||||
|
{
|
||||||
|
Process.Start(new ProcessStartInfo("http://code.google.com/p/ardupilot-mega/wiki/APM2xFailsafe"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,7 +199,7 @@
|
||||||
<value>horizontalProgressBar9</value>
|
<value>horizontalProgressBar9</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar9.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar9.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar9.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar9.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -223,7 +223,7 @@
|
||||||
<value>horizontalProgressBar10</value>
|
<value>horizontalProgressBar10</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar10.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar10.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar10.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar10.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -247,7 +247,7 @@
|
||||||
<value>horizontalProgressBar11</value>
|
<value>horizontalProgressBar11</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar11.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar11.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar11.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar11.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -271,7 +271,7 @@
|
||||||
<value>horizontalProgressBar12</value>
|
<value>horizontalProgressBar12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar12.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar12.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar12.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar12.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
<value>horizontalProgressBar13</value>
|
<value>horizontalProgressBar13</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar13.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar13.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar13.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar13.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -319,7 +319,7 @@
|
||||||
<value>horizontalProgressBar14</value>
|
<value>horizontalProgressBar14</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar14.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar14.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar14.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar14.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -343,7 +343,7 @@
|
||||||
<value>horizontalProgressBar15</value>
|
<value>horizontalProgressBar15</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar15.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar15.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar15.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar15.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -367,7 +367,7 @@
|
||||||
<value>horizontalProgressBar16</value>
|
<value>horizontalProgressBar16</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar16.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar16.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar16.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar16.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -391,7 +391,7 @@
|
||||||
<value>horizontalProgressBar8</value>
|
<value>horizontalProgressBar8</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar8.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar8.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar8.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar8.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -415,7 +415,7 @@
|
||||||
<value>horizontalProgressBar7</value>
|
<value>horizontalProgressBar7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar7.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar7.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar7.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar7.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -439,7 +439,7 @@
|
||||||
<value>horizontalProgressBar6</value>
|
<value>horizontalProgressBar6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar6.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar6.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar6.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar6.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -463,7 +463,7 @@
|
||||||
<value>horizontalProgressBar5</value>
|
<value>horizontalProgressBar5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar5.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar5.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar5.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar5.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -487,7 +487,7 @@
|
||||||
<value>horizontalProgressBar4</value>
|
<value>horizontalProgressBar4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar4.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar4.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar4.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar4.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -511,7 +511,7 @@
|
||||||
<value>horizontalProgressBar3</value>
|
<value>horizontalProgressBar3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar3.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar3.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar3.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar3.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -535,7 +535,7 @@
|
||||||
<value>horizontalProgressBar2</value>
|
<value>horizontalProgressBar2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar2.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar2.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar2.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar2.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -559,7 +559,7 @@
|
||||||
<value>horizontalProgressBar1</value>
|
<value>horizontalProgressBar1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar1.Type" xml:space="preserve">
|
<data name=">>horizontalProgressBar1.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.HorizontalProgressBar, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>horizontalProgressBar1.Parent" xml:space="preserve">
|
<data name=">>horizontalProgressBar1.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -577,7 +577,7 @@
|
||||||
<value>473, 21</value>
|
<value>473, 21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lbl_currentmode.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="lbl_currentmode.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>275, 50</value>
|
<value>215, 50</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lbl_currentmode.TabIndex" type="System.Int32, mscorlib">
|
<data name="lbl_currentmode.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>140</value>
|
<value>140</value>
|
||||||
|
@ -600,58 +600,293 @@
|
||||||
<data name=">>lbl_currentmode.ZOrder" xml:space="preserve">
|
<data name=">>lbl_currentmode.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkCheckBox1.AutoSize" type="System.Boolean, mscorlib">
|
<data name="mavlinkCheckBoxthr_fs.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkCheckBox1.Enabled" type="System.Boolean, mscorlib">
|
<data name="mavlinkCheckBoxthr_fs.Enabled" type="System.Boolean, mscorlib">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkCheckBox1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="mavlinkCheckBoxthr_fs.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>556, 94</value>
|
<value>6, 19</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkCheckBox1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="mavlinkCheckBoxthr_fs.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>103, 17</value>
|
<value>103, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkCheckBox1.TabIndex" type="System.Int32, mscorlib">
|
<data name="mavlinkCheckBoxthr_fs.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>141</value>
|
<value>141</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkCheckBox1.Text" xml:space="preserve">
|
<data name="mavlinkCheckBoxthr_fs.Text" xml:space="preserve">
|
||||||
<value>Throttle FailSafe</value>
|
<value>Throttle FailSafe</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mavlinkCheckBox1.Name" xml:space="preserve">
|
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>mavlinkCheckBox1</value>
|
<value>214, 17</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs.ToolTip" xml:space="preserve">
|
||||||
|
<value>Enable Failsafe on low throttle pwm</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mavlinkCheckBox1.Type" xml:space="preserve">
|
<data name=">>mavlinkCheckBoxthr_fs.Name" xml:space="preserve">
|
||||||
<value>ArdupilotMega.Controls.MavlinkCheckBox, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>mavlinkCheckBoxthr_fs</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mavlinkCheckBox1.Parent" xml:space="preserve">
|
<data name=">>mavlinkCheckBoxthr_fs.Type" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>ArdupilotMega.Controls.MavlinkCheckBox, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mavlinkCheckBox1.ZOrder" xml:space="preserve">
|
<data name=">>mavlinkCheckBoxthr_fs.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxthr_fs.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkNumericUpDown1.Enabled" type="System.Boolean, mscorlib">
|
<data name="mavlinkNumericUpDownthr_fs_value.Enabled" type="System.Boolean, mscorlib">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkNumericUpDown1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="mavlinkNumericUpDownthr_fs_value.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>556, 118</value>
|
<value>42, 42</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkNumericUpDown1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="mavlinkNumericUpDownthr_fs_value.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>120, 20</value>
|
<value>103, 20</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mavlinkNumericUpDown1.TabIndex" type="System.Int32, mscorlib">
|
<data name="mavlinkNumericUpDownthr_fs_value.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>142</value>
|
<value>142</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mavlinkNumericUpDown1.Name" xml:space="preserve">
|
<data name="mavlinkNumericUpDownthr_fs_value.ToolTip" xml:space="preserve">
|
||||||
<value>mavlinkNumericUpDown1</value>
|
<value>Trigger Throttle Pwm</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mavlinkNumericUpDown1.Type" xml:space="preserve">
|
<data name=">>mavlinkNumericUpDownthr_fs_value.Name" xml:space="preserve">
|
||||||
<value>ArdupilotMega.Controls.MavlinkNumericUpDown, ArdupilotMegaPlanner10, Version=1.1.4640.13049, Culture=neutral, PublicKeyToken=null</value>
|
<value>mavlinkNumericUpDownthr_fs_value</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mavlinkNumericUpDown1.Parent" xml:space="preserve">
|
<data name=">>mavlinkNumericUpDownthr_fs_value.Type" xml:space="preserve">
|
||||||
|
<value>ArdupilotMega.Controls.MavlinkNumericUpDown, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkNumericUpDownthr_fs_value.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkNumericUpDownthr_fs_value.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="LNK_wiki.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Top, Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="LNK_wiki.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="LNK_wiki.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>657, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="LNK_wiki.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>28, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="LNK_wiki.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>143</value>
|
||||||
|
</data>
|
||||||
|
<data name="LNK_wiki.Text" xml:space="preserve">
|
||||||
|
<value>Wiki</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>LNK_wiki.Name" xml:space="preserve">
|
||||||
|
<value>LNK_wiki</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>LNK_wiki.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>LNK_wiki.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mavlinkNumericUpDown1.ZOrder" xml:space="preserve">
|
<data name=">>LNK_wiki.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxgcs_fs.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxgcs_fs.Enabled" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxgcs_fs.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxgcs_fs.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>6, 92</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxgcs_fs.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>89, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxgcs_fs.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>144</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxgcs_fs.Text" xml:space="preserve">
|
||||||
|
<value>GCS FailSafe</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxgcs_fs.ToolTip" xml:space="preserve">
|
||||||
|
<value>Enable Failsafe on GCS loss of communication</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxgcs_fs.Name" xml:space="preserve">
|
||||||
|
<value>mavlinkCheckBoxgcs_fs</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxgcs_fs.Type" xml:space="preserve">
|
||||||
|
<value>ArdupilotMega.Controls.MavlinkCheckBox, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxgcs_fs.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxgcs_fs.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxshort_fs.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxshort_fs.Enabled" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxshort_fs.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxshort_fs.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>6, 115</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxshort_fs.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>127, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxshort_fs.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>145</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxshort_fs.Text" xml:space="preserve">
|
||||||
|
<value>FailSafe Short (1 sec)</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxshort_fs.ToolTip" xml:space="preserve">
|
||||||
|
<value>Off, no Action, On, RTL</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxshort_fs.Name" xml:space="preserve">
|
||||||
|
<value>mavlinkCheckBoxshort_fs</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxshort_fs.Type" xml:space="preserve">
|
||||||
|
<value>ArdupilotMega.Controls.MavlinkCheckBox, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxshort_fs.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxshort_fs.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxlong_fs.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxlong_fs.Enabled" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxlong_fs.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxlong_fs.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>6, 138</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxlong_fs.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>132, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxlong_fs.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>146</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxlong_fs.Text" xml:space="preserve">
|
||||||
|
<value>FailSafe Long (20 sec)</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxlong_fs.ToolTip" xml:space="preserve">
|
||||||
|
<value>Off, no Action, On, RTL</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxlong_fs.Name" xml:space="preserve">
|
||||||
|
<value>mavlinkCheckBoxlong_fs</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxlong_fs.Type" xml:space="preserve">
|
||||||
|
<value>ArdupilotMega.Controls.MavlinkCheckBox, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxlong_fs.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxlong_fs.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs_action.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs_action.Enabled" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs_action.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs_action.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>6, 69</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs_action.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>134, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs_action.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>147</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs_action.Text" xml:space="preserve">
|
||||||
|
<value>Throttle Failsafe Action</value>
|
||||||
|
</data>
|
||||||
|
<data name="mavlinkCheckBoxthr_fs_action.ToolTip" xml:space="preserve">
|
||||||
|
<value>Arducopter Auto: Off, no Action, On, RTL
|
||||||
|
Arducopter Other: if have gps, RTL, Otherwise Land</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxthr_fs_action.Name" xml:space="preserve">
|
||||||
|
<value>mavlinkCheckBoxthr_fs_action</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxthr_fs_action.Type" xml:space="preserve">
|
||||||
|
<value>ArdupilotMega.Controls.MavlinkCheckBox, ArdupilotMegaPlanner10, Version=1.1.4646.37607, Culture=neutral, PublicKeyToken=null</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxthr_fs_action.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>mavlinkCheckBoxthr_fs_action.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>6, 48</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>30, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>148</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>Pwm</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Name" xml:space="preserve">
|
||||||
|
<value>label3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>495, 76</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>170, 167</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>148</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>FailSafe Options</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Name" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
@ -661,7 +896,7 @@
|
||||||
<value>6, 13</value>
|
<value>6, 13</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>751, 478</value>
|
<value>688, 448</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>currentStateBindingSource.Name" xml:space="preserve">
|
<data name=">>currentStateBindingSource.Name" xml:space="preserve">
|
||||||
<value>currentStateBindingSource</value>
|
<value>currentStateBindingSource</value>
|
||||||
|
@ -669,6 +904,12 @@
|
||||||
<data name=">>currentStateBindingSource.Type" xml:space="preserve">
|
<data name=">>currentStateBindingSource.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>toolTip1.Name" xml:space="preserve">
|
||||||
|
<value>toolTip1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>toolTip1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
<value>ConfigFailSafe</value>
|
<value>ConfigFailSafe</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -83,7 +83,7 @@ namespace ArdupilotMega.GCSViews.ConfigurationView
|
||||||
CHK_revch3.Checked = MainV2.comPort.param["RC3_REV"].ToString() == "-1";
|
CHK_revch3.Checked = MainV2.comPort.param["RC3_REV"].ToString() == "-1";
|
||||||
CHK_revch4.Checked = MainV2.comPort.param["RC4_REV"].ToString() == "-1";
|
CHK_revch4.Checked = MainV2.comPort.param["RC4_REV"].ToString() == "-1";
|
||||||
}
|
}
|
||||||
catch (Exception ex) { /*CustomMessageBox.Show("Missing RC rev Param " + ex.ToString());*/ }
|
catch {}//(Exception ex) { CustomMessageBox.Show("Missing RC rev Param " + ex.ToString()); }
|
||||||
startup = false;
|
startup = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -140,6 +140,12 @@
|
||||||
resources.ApplyResources(this.RawValue, "RawValue");
|
resources.ApplyResources(this.RawValue, "RawValue");
|
||||||
this.RawValue.Name = "RawValue";
|
this.RawValue.Name = "RawValue";
|
||||||
//
|
//
|
||||||
|
// toolTip1
|
||||||
|
//
|
||||||
|
this.toolTip1.AutoPopDelay = 20000;
|
||||||
|
this.toolTip1.InitialDelay = 500;
|
||||||
|
this.toolTip1.ReshowDelay = 100;
|
||||||
|
//
|
||||||
// ConfigRawParams
|
// ConfigRawParams
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
|
|
|
@ -142,7 +142,7 @@
|
||||||
<value>BUT_compare</value>
|
<value>BUT_compare</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_compare.Type" xml:space="preserve">
|
<data name=">>BUT_compare.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4491.33622, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner10, Version=1.1.4646.35335, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_compare.Parent" xml:space="preserve">
|
<data name=">>BUT_compare.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -172,7 +172,7 @@
|
||||||
<value>BUT_rerequestparams</value>
|
<value>BUT_rerequestparams</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_rerequestparams.Type" xml:space="preserve">
|
<data name=">>BUT_rerequestparams.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4491.33622, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner10, Version=1.1.4646.35335, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_rerequestparams.Parent" xml:space="preserve">
|
<data name=">>BUT_rerequestparams.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -202,7 +202,7 @@
|
||||||
<value>BUT_writePIDS</value>
|
<value>BUT_writePIDS</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_writePIDS.Type" xml:space="preserve">
|
<data name=">>BUT_writePIDS.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4491.33622, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner10, Version=1.1.4646.35335, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_writePIDS.Parent" xml:space="preserve">
|
<data name=">>BUT_writePIDS.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -235,7 +235,7 @@
|
||||||
<value>BUT_save</value>
|
<value>BUT_save</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_save.Type" xml:space="preserve">
|
<data name=">>BUT_save.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4491.33622, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner10, Version=1.1.4646.35335, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_save.Parent" xml:space="preserve">
|
<data name=">>BUT_save.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -268,7 +268,7 @@
|
||||||
<value>BUT_load</value>
|
<value>BUT_load</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_load.Type" xml:space="preserve">
|
<data name=">>BUT_load.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner, Version=1.1.4491.33622, Culture=neutral, PublicKeyToken=null</value>
|
<value>ArdupilotMega.Controls.MyButton, ArdupilotMegaPlanner10, Version=1.1.4646.35335, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>BUT_load.Parent" xml:space="preserve">
|
<data name=">>BUT_load.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -397,6 +397,6 @@
|
||||||
<value>ConfigRawParams</value>
|
<value>ConfigRawParams</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>$this.Type" xml:space="preserve">
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
<value>ArdupilotMega.Controls.BackstageView.BackStageViewContentPanel, ArdupilotMegaPlanner, Version=1.1.4491.33622, Culture=neutral, PublicKeyToken=null</value>
|
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -33,14 +33,12 @@
|
||||||
this.groupBox5 = new System.Windows.Forms.GroupBox();
|
this.groupBox5 = new System.Windows.Forms.GroupBox();
|
||||||
this.H_SWASH_TYPE = new System.Windows.Forms.RadioButton();
|
this.H_SWASH_TYPE = new System.Windows.Forms.RadioButton();
|
||||||
this.CCPM = new System.Windows.Forms.RadioButton();
|
this.CCPM = new System.Windows.Forms.RadioButton();
|
||||||
this.BUT_swash_manual = new ArdupilotMega.Controls.MyButton();
|
|
||||||
this.label41 = new System.Windows.Forms.Label();
|
this.label41 = new System.Windows.Forms.Label();
|
||||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||||
this.label46 = new System.Windows.Forms.Label();
|
this.label46 = new System.Windows.Forms.Label();
|
||||||
this.label45 = new System.Windows.Forms.Label();
|
this.label45 = new System.Windows.Forms.Label();
|
||||||
this.H_GYR_ENABLE = new System.Windows.Forms.CheckBox();
|
this.H_GYR_ENABLE = new System.Windows.Forms.CheckBox();
|
||||||
this.H_GYR_GAIN = new System.Windows.Forms.TextBox();
|
this.H_GYR_GAIN = new System.Windows.Forms.TextBox();
|
||||||
this.BUT_HS4save = new ArdupilotMega.Controls.MyButton();
|
|
||||||
this.label21 = new System.Windows.Forms.Label();
|
this.label21 = new System.Windows.Forms.Label();
|
||||||
this.H_COL_MIN = new System.Windows.Forms.TextBox();
|
this.H_COL_MIN = new System.Windows.Forms.TextBox();
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
@ -60,9 +58,7 @@
|
||||||
this.label37 = new System.Windows.Forms.Label();
|
this.label37 = new System.Windows.Forms.Label();
|
||||||
this.label36 = new System.Windows.Forms.Label();
|
this.label36 = new System.Windows.Forms.Label();
|
||||||
this.label26 = new System.Windows.Forms.Label();
|
this.label26 = new System.Windows.Forms.Label();
|
||||||
this.H_PIT_MAX = new System.Windows.Forms.TextBox();
|
|
||||||
this.label25 = new System.Windows.Forms.Label();
|
this.label25 = new System.Windows.Forms.Label();
|
||||||
this.H_ROL_MAX = new System.Windows.Forms.TextBox();
|
|
||||||
this.label23 = new System.Windows.Forms.Label();
|
this.label23 = new System.Windows.Forms.Label();
|
||||||
this.label22 = new System.Windows.Forms.Label();
|
this.label22 = new System.Windows.Forms.Label();
|
||||||
this.label20 = new System.Windows.Forms.Label();
|
this.label20 = new System.Windows.Forms.Label();
|
||||||
|
@ -75,15 +71,27 @@
|
||||||
this.HS2_REV = new System.Windows.Forms.CheckBox();
|
this.HS2_REV = new System.Windows.Forms.CheckBox();
|
||||||
this.HS1_REV = new System.Windows.Forms.CheckBox();
|
this.HS1_REV = new System.Windows.Forms.CheckBox();
|
||||||
this.label17 = new System.Windows.Forms.Label();
|
this.label17 = new System.Windows.Forms.Label();
|
||||||
this.HS4 = new ArdupilotMega.HorizontalProgressBar2();
|
|
||||||
this.currentStateBindingSource = new System.Windows.Forms.BindingSource(this.components);
|
|
||||||
this.HS3 = new ArdupilotMega.VerticalProgressBar2();
|
|
||||||
this.Gservoloc = new AGaugeApp.AGauge();
|
|
||||||
this.label44 = new System.Windows.Forms.Label();
|
this.label44 = new System.Windows.Forms.Label();
|
||||||
this.label43 = new System.Windows.Forms.Label();
|
this.label43 = new System.Windows.Forms.Label();
|
||||||
this.label42 = new System.Windows.Forms.Label();
|
this.label42 = new System.Windows.Forms.Label();
|
||||||
this.HS4_TRIM = new System.Windows.Forms.NumericUpDown();
|
this.HS4_TRIM = new System.Windows.Forms.NumericUpDown();
|
||||||
this.HS4_REV = new System.Windows.Forms.CheckBox();
|
this.HS4_REV = new System.Windows.Forms.CheckBox();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.mavlinkNumericUpDown3max = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
|
this.mavlinkNumericUpDown3min = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
|
this.mavlinkNumericUpDown2max = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
|
this.mavlinkNumericUpDown2min = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
|
this.mavlinkNumericUpDown1max = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
|
this.mavlinkNumericUpDown1min = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
|
this.BUT_swash_manual = new ArdupilotMega.Controls.MyButton();
|
||||||
|
this.BUT_HS4save = new ArdupilotMega.Controls.MyButton();
|
||||||
|
this.HS4 = new ArdupilotMega.HorizontalProgressBar2();
|
||||||
|
this.currentStateBindingSource = new System.Windows.Forms.BindingSource(this.components);
|
||||||
|
this.HS3 = new ArdupilotMega.VerticalProgressBar2();
|
||||||
|
this.Gservoloc = new AGaugeApp.AGauge();
|
||||||
|
this.mavlinkNumericUpDownrollmax = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
|
this.mavlinkNumericUpDownpitchmax = new ArdupilotMega.Controls.MavlinkNumericUpDown();
|
||||||
this.groupBox5.SuspendLayout();
|
this.groupBox5.SuspendLayout();
|
||||||
this.groupBox3.SuspendLayout();
|
this.groupBox3.SuspendLayout();
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
|
@ -91,8 +99,16 @@
|
||||||
((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.HS1_TRIM)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.HS1_TRIM)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.HS4_TRIM)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.HS4_TRIM)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown3max)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown3min)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown2max)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown2min)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown1max)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown1min)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDownrollmax)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDownpitchmax)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// groupBox5
|
// groupBox5
|
||||||
|
@ -118,13 +134,6 @@
|
||||||
this.CCPM.TabStop = true;
|
this.CCPM.TabStop = true;
|
||||||
this.CCPM.UseVisualStyleBackColor = true;
|
this.CCPM.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// BUT_swash_manual
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.BUT_swash_manual, "BUT_swash_manual");
|
|
||||||
this.BUT_swash_manual.Name = "BUT_swash_manual";
|
|
||||||
this.BUT_swash_manual.UseVisualStyleBackColor = true;
|
|
||||||
this.BUT_swash_manual.Click += new System.EventHandler(this.BUT_swash_manual_Click);
|
|
||||||
//
|
|
||||||
// label41
|
// label41
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label41, "label41");
|
resources.ApplyResources(this.label41, "label41");
|
||||||
|
@ -163,13 +172,6 @@
|
||||||
this.H_GYR_GAIN.Name = "H_GYR_GAIN";
|
this.H_GYR_GAIN.Name = "H_GYR_GAIN";
|
||||||
this.H_GYR_GAIN.Validating += new System.ComponentModel.CancelEventHandler(this.GYR_GAIN__Validating);
|
this.H_GYR_GAIN.Validating += new System.ComponentModel.CancelEventHandler(this.GYR_GAIN__Validating);
|
||||||
//
|
//
|
||||||
// BUT_HS4save
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.BUT_HS4save, "BUT_HS4save");
|
|
||||||
this.BUT_HS4save.Name = "BUT_HS4save";
|
|
||||||
this.BUT_HS4save.UseVisualStyleBackColor = true;
|
|
||||||
this.BUT_HS4save.Click += new System.EventHandler(this.BUT_HS4save_Click);
|
|
||||||
//
|
|
||||||
// label21
|
// label21
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label21, "label21");
|
resources.ApplyResources(this.label21, "label21");
|
||||||
|
@ -335,23 +337,11 @@
|
||||||
resources.ApplyResources(this.label26, "label26");
|
resources.ApplyResources(this.label26, "label26");
|
||||||
this.label26.Name = "label26";
|
this.label26.Name = "label26";
|
||||||
//
|
//
|
||||||
// H_PIT_MAX
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.H_PIT_MAX, "H_PIT_MAX");
|
|
||||||
this.H_PIT_MAX.Name = "H_PIT_MAX";
|
|
||||||
this.H_PIT_MAX.Validating += new System.ComponentModel.CancelEventHandler(this.PIT_MAX__Validating);
|
|
||||||
//
|
|
||||||
// label25
|
// label25
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label25, "label25");
|
resources.ApplyResources(this.label25, "label25");
|
||||||
this.label25.Name = "label25";
|
this.label25.Name = "label25";
|
||||||
//
|
//
|
||||||
// H_ROL_MAX
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.H_ROL_MAX, "H_ROL_MAX");
|
|
||||||
this.H_ROL_MAX.Name = "H_ROL_MAX";
|
|
||||||
this.H_ROL_MAX.Validating += new System.ComponentModel.CancelEventHandler(this.ROL_MAX__Validating);
|
|
||||||
//
|
|
||||||
// label23
|
// label23
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label23, "label23");
|
resources.ApplyResources(this.label23, "label23");
|
||||||
|
@ -421,6 +411,127 @@
|
||||||
resources.ApplyResources(this.label17, "label17");
|
resources.ApplyResources(this.label17, "label17");
|
||||||
this.label17.Name = "label17";
|
this.label17.Name = "label17";
|
||||||
//
|
//
|
||||||
|
// label44
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label44, "label44");
|
||||||
|
this.label44.Name = "label44";
|
||||||
|
//
|
||||||
|
// label43
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label43, "label43");
|
||||||
|
this.label43.Name = "label43";
|
||||||
|
//
|
||||||
|
// label42
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label42, "label42");
|
||||||
|
this.label42.Name = "label42";
|
||||||
|
//
|
||||||
|
// HS4_TRIM
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.HS4_TRIM, "HS4_TRIM");
|
||||||
|
this.HS4_TRIM.Maximum = new decimal(new int[] {
|
||||||
|
2000,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.HS4_TRIM.Minimum = new decimal(new int[] {
|
||||||
|
1000,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.HS4_TRIM.Name = "HS4_TRIM";
|
||||||
|
this.HS4_TRIM.Value = new decimal(new int[] {
|
||||||
|
1500,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.HS4_TRIM.ValueChanged += new System.EventHandler(this.HS4_TRIM_ValueChanged);
|
||||||
|
//
|
||||||
|
// HS4_REV
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.HS4_REV, "HS4_REV");
|
||||||
|
this.HS4_REV.Name = "HS4_REV";
|
||||||
|
this.HS4_REV.UseVisualStyleBackColor = true;
|
||||||
|
this.HS4_REV.CheckedChanged += new System.EventHandler(this.HS4_REV_CheckedChanged);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label1, "label1");
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label2, "label2");
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
//
|
||||||
|
// mavlinkNumericUpDown3max
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkNumericUpDown3max, "mavlinkNumericUpDown3max");
|
||||||
|
this.mavlinkNumericUpDown3max.Max = 1F;
|
||||||
|
this.mavlinkNumericUpDown3max.Min = 0F;
|
||||||
|
this.mavlinkNumericUpDown3max.Name = "mavlinkNumericUpDown3max";
|
||||||
|
this.mavlinkNumericUpDown3max.param = null;
|
||||||
|
this.mavlinkNumericUpDown3max.ParamName = null;
|
||||||
|
//
|
||||||
|
// mavlinkNumericUpDown3min
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkNumericUpDown3min, "mavlinkNumericUpDown3min");
|
||||||
|
this.mavlinkNumericUpDown3min.Max = 1F;
|
||||||
|
this.mavlinkNumericUpDown3min.Min = 0F;
|
||||||
|
this.mavlinkNumericUpDown3min.Name = "mavlinkNumericUpDown3min";
|
||||||
|
this.mavlinkNumericUpDown3min.param = null;
|
||||||
|
this.mavlinkNumericUpDown3min.ParamName = null;
|
||||||
|
//
|
||||||
|
// mavlinkNumericUpDown2max
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkNumericUpDown2max, "mavlinkNumericUpDown2max");
|
||||||
|
this.mavlinkNumericUpDown2max.Max = 1F;
|
||||||
|
this.mavlinkNumericUpDown2max.Min = 0F;
|
||||||
|
this.mavlinkNumericUpDown2max.Name = "mavlinkNumericUpDown2max";
|
||||||
|
this.mavlinkNumericUpDown2max.param = null;
|
||||||
|
this.mavlinkNumericUpDown2max.ParamName = null;
|
||||||
|
//
|
||||||
|
// mavlinkNumericUpDown2min
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkNumericUpDown2min, "mavlinkNumericUpDown2min");
|
||||||
|
this.mavlinkNumericUpDown2min.Max = 1F;
|
||||||
|
this.mavlinkNumericUpDown2min.Min = 0F;
|
||||||
|
this.mavlinkNumericUpDown2min.Name = "mavlinkNumericUpDown2min";
|
||||||
|
this.mavlinkNumericUpDown2min.param = null;
|
||||||
|
this.mavlinkNumericUpDown2min.ParamName = null;
|
||||||
|
//
|
||||||
|
// mavlinkNumericUpDown1max
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkNumericUpDown1max, "mavlinkNumericUpDown1max");
|
||||||
|
this.mavlinkNumericUpDown1max.Max = 1F;
|
||||||
|
this.mavlinkNumericUpDown1max.Min = 0F;
|
||||||
|
this.mavlinkNumericUpDown1max.Name = "mavlinkNumericUpDown1max";
|
||||||
|
this.mavlinkNumericUpDown1max.param = null;
|
||||||
|
this.mavlinkNumericUpDown1max.ParamName = null;
|
||||||
|
//
|
||||||
|
// mavlinkNumericUpDown1min
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.mavlinkNumericUpDown1min, "mavlinkNumericUpDown1min");
|
||||||
|
this.mavlinkNumericUpDown1min.Max = 1F;
|
||||||
|
this.mavlinkNumericUpDown1min.Min = 0F;
|
||||||
|
this.mavlinkNumericUpDown1min.Name = "mavlinkNumericUpDown1min";
|
||||||
|
this.mavlinkNumericUpDown1min.param = null;
|
||||||
|
this.mavlinkNumericUpDown1min.ParamName = null;
|
||||||
|
//
|
||||||
|
// BUT_swash_manual
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.BUT_swash_manual, "BUT_swash_manual");
|
||||||
|
this.BUT_swash_manual.Name = "BUT_swash_manual";
|
||||||
|
this.BUT_swash_manual.UseVisualStyleBackColor = true;
|
||||||
|
this.BUT_swash_manual.Click += new System.EventHandler(this.BUT_swash_manual_Click);
|
||||||
|
//
|
||||||
|
// BUT_HS4save
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.BUT_HS4save, "BUT_HS4save");
|
||||||
|
this.BUT_HS4save.Name = "BUT_HS4save";
|
||||||
|
this.BUT_HS4save.UseVisualStyleBackColor = true;
|
||||||
|
this.BUT_HS4save.Click += new System.EventHandler(this.BUT_HS4save_Click);
|
||||||
|
//
|
||||||
// HS4
|
// HS4
|
||||||
//
|
//
|
||||||
this.HS4.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(68)))), ((int)(((byte)(69)))));
|
this.HS4.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(68)))), ((int)(((byte)(69)))));
|
||||||
|
@ -600,53 +711,38 @@
|
||||||
this.Gservoloc.Value2 = 180F;
|
this.Gservoloc.Value2 = 180F;
|
||||||
this.Gservoloc.Value3 = 0F;
|
this.Gservoloc.Value3 = 0F;
|
||||||
//
|
//
|
||||||
// label44
|
// mavlinkNumericUpDownrollmax
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label44, "label44");
|
resources.ApplyResources(this.mavlinkNumericUpDownrollmax, "mavlinkNumericUpDownrollmax");
|
||||||
this.label44.Name = "label44";
|
this.mavlinkNumericUpDownrollmax.Max = 1F;
|
||||||
|
this.mavlinkNumericUpDownrollmax.Min = 0F;
|
||||||
|
this.mavlinkNumericUpDownrollmax.Name = "mavlinkNumericUpDownrollmax";
|
||||||
|
this.mavlinkNumericUpDownrollmax.param = null;
|
||||||
|
this.mavlinkNumericUpDownrollmax.ParamName = null;
|
||||||
//
|
//
|
||||||
// label43
|
// mavlinkNumericUpDownpitchmax
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label43, "label43");
|
resources.ApplyResources(this.mavlinkNumericUpDownpitchmax, "mavlinkNumericUpDownpitchmax");
|
||||||
this.label43.Name = "label43";
|
this.mavlinkNumericUpDownpitchmax.Max = 1F;
|
||||||
//
|
this.mavlinkNumericUpDownpitchmax.Min = 0F;
|
||||||
// label42
|
this.mavlinkNumericUpDownpitchmax.Name = "mavlinkNumericUpDownpitchmax";
|
||||||
//
|
this.mavlinkNumericUpDownpitchmax.param = null;
|
||||||
resources.ApplyResources(this.label42, "label42");
|
this.mavlinkNumericUpDownpitchmax.ParamName = null;
|
||||||
this.label42.Name = "label42";
|
|
||||||
//
|
|
||||||
// HS4_TRIM
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.HS4_TRIM, "HS4_TRIM");
|
|
||||||
this.HS4_TRIM.Maximum = new decimal(new int[] {
|
|
||||||
2000,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0});
|
|
||||||
this.HS4_TRIM.Minimum = new decimal(new int[] {
|
|
||||||
1000,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0});
|
|
||||||
this.HS4_TRIM.Name = "HS4_TRIM";
|
|
||||||
this.HS4_TRIM.Value = new decimal(new int[] {
|
|
||||||
1500,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0});
|
|
||||||
this.HS4_TRIM.ValueChanged += new System.EventHandler(this.HS4_TRIM_ValueChanged);
|
|
||||||
//
|
|
||||||
// HS4_REV
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.HS4_REV, "HS4_REV");
|
|
||||||
this.HS4_REV.Name = "HS4_REV";
|
|
||||||
this.HS4_REV.UseVisualStyleBackColor = true;
|
|
||||||
this.HS4_REV.CheckedChanged += new System.EventHandler(this.HS4_REV_CheckedChanged);
|
|
||||||
//
|
//
|
||||||
// ConfigTradHeli
|
// ConfigTradHeli
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.mavlinkNumericUpDownpitchmax);
|
||||||
|
this.Controls.Add(this.mavlinkNumericUpDownrollmax);
|
||||||
|
this.Controls.Add(this.label2);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Controls.Add(this.mavlinkNumericUpDown3max);
|
||||||
|
this.Controls.Add(this.mavlinkNumericUpDown3min);
|
||||||
|
this.Controls.Add(this.mavlinkNumericUpDown2max);
|
||||||
|
this.Controls.Add(this.mavlinkNumericUpDown2min);
|
||||||
|
this.Controls.Add(this.mavlinkNumericUpDown1max);
|
||||||
|
this.Controls.Add(this.mavlinkNumericUpDown1min);
|
||||||
this.Controls.Add(this.label44);
|
this.Controls.Add(this.label44);
|
||||||
this.Controls.Add(this.label43);
|
this.Controls.Add(this.label43);
|
||||||
this.Controls.Add(this.label42);
|
this.Controls.Add(this.label42);
|
||||||
|
@ -666,9 +762,7 @@
|
||||||
this.Controls.Add(this.label37);
|
this.Controls.Add(this.label37);
|
||||||
this.Controls.Add(this.label36);
|
this.Controls.Add(this.label36);
|
||||||
this.Controls.Add(this.label26);
|
this.Controls.Add(this.label26);
|
||||||
this.Controls.Add(this.H_PIT_MAX);
|
|
||||||
this.Controls.Add(this.label25);
|
this.Controls.Add(this.label25);
|
||||||
this.Controls.Add(this.H_ROL_MAX);
|
|
||||||
this.Controls.Add(this.label23);
|
this.Controls.Add(this.label23);
|
||||||
this.Controls.Add(this.label22);
|
this.Controls.Add(this.label22);
|
||||||
this.Controls.Add(this.label20);
|
this.Controls.Add(this.label20);
|
||||||
|
@ -696,8 +790,16 @@
|
||||||
((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.HS1_TRIM)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.HS1_TRIM)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.HS4_TRIM)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.HS4_TRIM)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown3max)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown3min)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown2max)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown2min)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown1max)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDown1min)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDownrollmax)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.mavlinkNumericUpDownpitchmax)).EndInit();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
|
@ -735,9 +837,7 @@
|
||||||
private System.Windows.Forms.Label label37;
|
private System.Windows.Forms.Label label37;
|
||||||
private System.Windows.Forms.Label label36;
|
private System.Windows.Forms.Label label36;
|
||||||
private System.Windows.Forms.Label label26;
|
private System.Windows.Forms.Label label26;
|
||||||
private System.Windows.Forms.TextBox H_PIT_MAX;
|
|
||||||
private System.Windows.Forms.Label label25;
|
private System.Windows.Forms.Label label25;
|
||||||
private System.Windows.Forms.TextBox H_ROL_MAX;
|
|
||||||
private System.Windows.Forms.Label label23;
|
private System.Windows.Forms.Label label23;
|
||||||
private System.Windows.Forms.Label label22;
|
private System.Windows.Forms.Label label22;
|
||||||
private System.Windows.Forms.Label label20;
|
private System.Windows.Forms.Label label20;
|
||||||
|
@ -759,5 +859,15 @@
|
||||||
private System.Windows.Forms.Label label42;
|
private System.Windows.Forms.Label label42;
|
||||||
private System.Windows.Forms.NumericUpDown HS4_TRIM;
|
private System.Windows.Forms.NumericUpDown HS4_TRIM;
|
||||||
private System.Windows.Forms.CheckBox HS4_REV;
|
private System.Windows.Forms.CheckBox HS4_REV;
|
||||||
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDown1min;
|
||||||
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDown1max;
|
||||||
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDown2max;
|
||||||
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDown2min;
|
||||||
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDown3max;
|
||||||
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDown3min;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDownrollmax;
|
||||||
|
private Controls.MavlinkNumericUpDown mavlinkNumericUpDownpitchmax;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -383,6 +383,16 @@ namespace ArdupilotMega.GCSViews.ConfigurationView
|
||||||
timer.Interval = 100;
|
timer.Interval = 100;
|
||||||
timer.Start();
|
timer.Start();
|
||||||
|
|
||||||
|
mavlinkNumericUpDown1min.setup(800,1400,1,1,"HS1_MIN",MainV2.comPort.param);
|
||||||
|
mavlinkNumericUpDown1max.setup(1600,2200,1,1,"HS1_MAX",MainV2.comPort.param);
|
||||||
|
mavlinkNumericUpDown2min.setup(800, 1400, 1, 1, "HS2_MIN", MainV2.comPort.param);
|
||||||
|
mavlinkNumericUpDown2max.setup(1600, 2200, 1, 1, "HS2_MAX", MainV2.comPort.param);
|
||||||
|
mavlinkNumericUpDown3min.setup(800, 1400, 1, 1, "HS3_MIN", MainV2.comPort.param);
|
||||||
|
mavlinkNumericUpDown3max.setup(1600, 2200, 1, 1, "HS3_MAX", MainV2.comPort.param);
|
||||||
|
|
||||||
|
mavlinkNumericUpDownpitchmax.setup(10, 65, 100, 1, "H_PIT_MAX", MainV2.comPort.param);
|
||||||
|
mavlinkNumericUpDownrollmax.setup(10, 65, 100, 1, "H_ROL_MAX", MainV2.comPort.param);
|
||||||
|
|
||||||
startup = true;
|
startup = true;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -10,6 +10,8 @@ using log4net;
|
||||||
using ArdupilotMega.Arduino;
|
using ArdupilotMega.Arduino;
|
||||||
using ArdupilotMega.Utilities;
|
using ArdupilotMega.Utilities;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Net.Security;
|
||||||
|
using System.Security.Cryptography.X509Certificates;
|
||||||
|
|
||||||
namespace ArdupilotMega.GCSViews
|
namespace ArdupilotMega.GCSViews
|
||||||
{
|
{
|
||||||
|
@ -84,9 +86,13 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
software temp = new software();
|
software temp = new software();
|
||||||
|
|
||||||
|
// this is for mono to a ssl server
|
||||||
|
//ServicePointManager.CertificatePolicy = new NoCheckCertificatePolicy();
|
||||||
|
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback((sender1, certificate, chain, policyErrors) => { return true; });
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
log.Info("url: "+firmwareurl);
|
||||||
using (XmlTextReader xmlreader = new XmlTextReader(firmwareurl))
|
using (XmlTextReader xmlreader = new XmlTextReader(firmwareurl))
|
||||||
{
|
{
|
||||||
while (xmlreader.Read())
|
while (xmlreader.Read())
|
||||||
|
@ -147,6 +153,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
log.Error(ex);
|
||||||
CustomMessageBox.Show("Failed to get Firmware List : " + ex.Message);
|
CustomMessageBox.Show("Failed to get Firmware List : " + ex.Message);
|
||||||
}
|
}
|
||||||
log.Info("FW load done");
|
log.Info("FW load done");
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
this.components = new System.ComponentModel.Container();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FlightData));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FlightData));
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
this.contextMenuStripMap = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.contextMenuStripMap = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.goHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.goHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.flyToHereAltToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.flyToHereAltToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
@ -35,6 +35,8 @@
|
||||||
this.quickView2 = new ArdupilotMega.Controls.QuickView();
|
this.quickView2 = new ArdupilotMega.Controls.QuickView();
|
||||||
this.quickView1 = new ArdupilotMega.Controls.QuickView();
|
this.quickView1 = new ArdupilotMega.Controls.QuickView();
|
||||||
this.tabActions = new System.Windows.Forms.TabPage();
|
this.tabActions = new System.Windows.Forms.TabPage();
|
||||||
|
this.modifyandSetAlt = new ArdupilotMega.Controls.ModifyandSet();
|
||||||
|
this.BUT_ARM = new ArdupilotMega.Controls.MyButton();
|
||||||
this.BUT_script = new ArdupilotMega.Controls.MyButton();
|
this.BUT_script = new ArdupilotMega.Controls.MyButton();
|
||||||
this.BUT_joystick = new ArdupilotMega.Controls.MyButton();
|
this.BUT_joystick = new ArdupilotMega.Controls.MyButton();
|
||||||
this.BUT_quickmanual = new ArdupilotMega.Controls.MyButton();
|
this.BUT_quickmanual = new ArdupilotMega.Controls.MyButton();
|
||||||
|
@ -229,7 +231,7 @@
|
||||||
this.hud1.opengl = true;
|
this.hud1.opengl = true;
|
||||||
this.hud1.pitch = 0F;
|
this.hud1.pitch = 0F;
|
||||||
this.hud1.roll = 0F;
|
this.hud1.roll = 0F;
|
||||||
this.hud1.status = 0;
|
this.hud1.status = false;
|
||||||
this.hud1.streamjpg = null;
|
this.hud1.streamjpg = null;
|
||||||
this.hud1.targetalt = 0F;
|
this.hud1.targetalt = 0F;
|
||||||
this.hud1.targetheading = 0F;
|
this.hud1.targetheading = 0F;
|
||||||
|
@ -384,10 +386,13 @@
|
||||||
this.quickView1.Name = "quickView1";
|
this.quickView1.Name = "quickView1";
|
||||||
this.quickView1.number = 0D;
|
this.quickView1.number = 0D;
|
||||||
this.quickView1.numberColor = System.Drawing.Color.FromArgb(((int)(((byte)(209)))), ((int)(((byte)(151)))), ((int)(((byte)(248)))));
|
this.quickView1.numberColor = System.Drawing.Color.FromArgb(((int)(((byte)(209)))), ((int)(((byte)(151)))), ((int)(((byte)(248)))));
|
||||||
|
this.toolTip1.SetToolTip(this.quickView1, resources.GetString("quickView1.ToolTip"));
|
||||||
this.quickView1.DoubleClick += new System.EventHandler(this.quickView_DoubleClick);
|
this.quickView1.DoubleClick += new System.EventHandler(this.quickView_DoubleClick);
|
||||||
//
|
//
|
||||||
// tabActions
|
// tabActions
|
||||||
//
|
//
|
||||||
|
this.tabActions.Controls.Add(this.modifyandSetAlt);
|
||||||
|
this.tabActions.Controls.Add(this.BUT_ARM);
|
||||||
this.tabActions.Controls.Add(this.BUT_script);
|
this.tabActions.Controls.Add(this.BUT_script);
|
||||||
this.tabActions.Controls.Add(this.BUT_joystick);
|
this.tabActions.Controls.Add(this.BUT_joystick);
|
||||||
this.tabActions.Controls.Add(this.BUT_quickmanual);
|
this.tabActions.Controls.Add(this.BUT_quickmanual);
|
||||||
|
@ -407,6 +412,26 @@
|
||||||
this.tabActions.Name = "tabActions";
|
this.tabActions.Name = "tabActions";
|
||||||
this.tabActions.UseVisualStyleBackColor = true;
|
this.tabActions.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// modifyandSetAlt
|
||||||
|
//
|
||||||
|
this.modifyandSetAlt.ButtonText = "Change Alt";
|
||||||
|
resources.ApplyResources(this.modifyandSetAlt, "modifyandSetAlt");
|
||||||
|
this.modifyandSetAlt.Name = "modifyandSetAlt";
|
||||||
|
this.modifyandSetAlt.Value = new decimal(new int[] {
|
||||||
|
100,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.modifyandSetAlt.Click += new System.EventHandler(this.modifyandSetAlt_Click);
|
||||||
|
//
|
||||||
|
// BUT_ARM
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.BUT_ARM, "BUT_ARM");
|
||||||
|
this.BUT_ARM.Name = "BUT_ARM";
|
||||||
|
this.toolTip1.SetToolTip(this.BUT_ARM, resources.GetString("BUT_ARM.ToolTip"));
|
||||||
|
this.BUT_ARM.UseVisualStyleBackColor = true;
|
||||||
|
this.BUT_ARM.Click += new System.EventHandler(this.BUT_ARM_Click);
|
||||||
|
//
|
||||||
// BUT_script
|
// BUT_script
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.BUT_script, "BUT_script");
|
resources.ApplyResources(this.BUT_script, "BUT_script");
|
||||||
|
@ -1243,8 +1268,8 @@
|
||||||
//
|
//
|
||||||
// dataGridViewImageColumn1
|
// dataGridViewImageColumn1
|
||||||
//
|
//
|
||||||
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||||
this.dataGridViewImageColumn1.DefaultCellStyle = dataGridViewCellStyle1;
|
this.dataGridViewImageColumn1.DefaultCellStyle = dataGridViewCellStyle3;
|
||||||
resources.ApplyResources(this.dataGridViewImageColumn1, "dataGridViewImageColumn1");
|
resources.ApplyResources(this.dataGridViewImageColumn1, "dataGridViewImageColumn1");
|
||||||
this.dataGridViewImageColumn1.Image = global::ArdupilotMega.Properties.Resources.up;
|
this.dataGridViewImageColumn1.Image = global::ArdupilotMega.Properties.Resources.up;
|
||||||
this.dataGridViewImageColumn1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch;
|
this.dataGridViewImageColumn1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch;
|
||||||
|
@ -1252,8 +1277,8 @@
|
||||||
//
|
//
|
||||||
// dataGridViewImageColumn2
|
// dataGridViewImageColumn2
|
||||||
//
|
//
|
||||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||||
this.dataGridViewImageColumn2.DefaultCellStyle = dataGridViewCellStyle2;
|
this.dataGridViewImageColumn2.DefaultCellStyle = dataGridViewCellStyle4;
|
||||||
resources.ApplyResources(this.dataGridViewImageColumn2, "dataGridViewImageColumn2");
|
resources.ApplyResources(this.dataGridViewImageColumn2, "dataGridViewImageColumn2");
|
||||||
this.dataGridViewImageColumn2.Image = global::ArdupilotMega.Properties.Resources.down;
|
this.dataGridViewImageColumn2.Image = global::ArdupilotMega.Properties.Resources.down;
|
||||||
this.dataGridViewImageColumn2.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch;
|
this.dataGridViewImageColumn2.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Stretch;
|
||||||
|
@ -1412,5 +1437,8 @@
|
||||||
private Crom.Controls.Docking.DockContainer dockContainer1;
|
private Crom.Controls.Docking.DockContainer dockContainer1;
|
||||||
private System.Windows.Forms.ContextMenuStrip contextMenuStripDockContainer;
|
private System.Windows.Forms.ContextMenuStrip contextMenuStripDockContainer;
|
||||||
private System.Windows.Forms.ToolStripMenuItem resetToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem resetToolStripMenuItem;
|
||||||
|
private Controls.MyButton BUT_ARM;
|
||||||
|
private Controls.ModifyandSet modifyandSetAlt;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -68,13 +68,12 @@ namespace ArdupilotMega.GCSViews
|
||||||
internal static GMapOverlay kmlpolygons;
|
internal static GMapOverlay kmlpolygons;
|
||||||
internal static GMapOverlay geofence;
|
internal static GMapOverlay geofence;
|
||||||
|
|
||||||
Dictionary<Guid, Form> formguids = new Dictionary<Guid,Form>();
|
Dictionary<Guid, Form> formguids = new Dictionary<Guid, Form>();
|
||||||
|
|
||||||
bool huddropout = false;
|
bool huddropout = false;
|
||||||
bool huddropoutresize = false;
|
bool huddropoutresize = false;
|
||||||
|
|
||||||
private DockStateSerializer _serializer = null;
|
private DockStateSerializer _serializer = null;
|
||||||
DockableFormInfo dockhud;
|
|
||||||
|
|
||||||
List<PointLatLng> trackPoints = new List<PointLatLng>();
|
List<PointLatLng> trackPoints = new List<PointLatLng>();
|
||||||
|
|
||||||
|
@ -99,8 +98,11 @@ namespace ArdupilotMega.GCSViews
|
||||||
threadrun = 0;
|
threadrun = 0;
|
||||||
MainV2.comPort.logreadmode = false;
|
MainV2.comPort.logreadmode = false;
|
||||||
MainV2.config["FlightSplitter"] = hud1.Width;
|
MainV2.config["FlightSplitter"] = hud1.Width;
|
||||||
_serializer.Save();
|
if (!MainV2.MONO)
|
||||||
SaveWindowLayout();
|
{
|
||||||
|
_serializer.Save();
|
||||||
|
SaveWindowLayout();
|
||||||
|
}
|
||||||
System.Threading.Thread.Sleep(100);
|
System.Threading.Thread.Sleep(100);
|
||||||
base.Dispose(disposing);
|
base.Dispose(disposing);
|
||||||
}
|
}
|
||||||
|
@ -230,25 +232,31 @@ namespace ArdupilotMega.GCSViews
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
|
||||||
SetupDocking();
|
if (MainV2.MONO)
|
||||||
|
|
||||||
if (File.Exists(_serializer.SavePath) == true)
|
|
||||||
{
|
{
|
||||||
try
|
MainH.Dock = DockStyle.Fill;
|
||||||
{
|
MainH.Visible = true;
|
||||||
_serializer.Load(true, GetFormFromGuid);
|
|
||||||
}
|
|
||||||
catch { }
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetupDocking();
|
||||||
|
|
||||||
cleanupDocks();
|
if (File.Exists(_serializer.SavePath) == true)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_serializer.Load(true, GetFormFromGuid);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetupDocking()
|
void SetupDocking()
|
||||||
{
|
{
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
|
|
||||||
dockhud = CreateFormAndGuid(dockContainer1, hud1, "fd_hud_guid");
|
DockableFormInfo dockhud = CreateFormAndGuid(dockContainer1, hud1, "fd_hud_guid");
|
||||||
DockableFormInfo dockmap = CreateFormAndGuid(dockContainer1, tableMap, "fd_map_guid");
|
DockableFormInfo dockmap = CreateFormAndGuid(dockContainer1, tableMap, "fd_map_guid");
|
||||||
DockableFormInfo dockquick = CreateFormAndGuid(dockContainer1, tabQuick, "fd_quick_guid");
|
DockableFormInfo dockquick = CreateFormAndGuid(dockContainer1, tabQuick, "fd_quick_guid");
|
||||||
DockableFormInfo dockactions = CreateFormAndGuid(dockContainer1, tabActions, "fd_actions_guid");
|
DockableFormInfo dockactions = CreateFormAndGuid(dockContainer1, tabActions, "fd_actions_guid");
|
||||||
|
@ -256,7 +264,6 @@ namespace ArdupilotMega.GCSViews
|
||||||
DockableFormInfo dockstatus = CreateFormAndGuid(dockContainer1, tabStatus, "fd_status_guid");
|
DockableFormInfo dockstatus = CreateFormAndGuid(dockContainer1, tabStatus, "fd_status_guid");
|
||||||
DockableFormInfo docktlogs = CreateFormAndGuid(dockContainer1, tabTLogs, "fd_tlogs_guid");
|
DockableFormInfo docktlogs = CreateFormAndGuid(dockContainer1, tabTLogs, "fd_tlogs_guid");
|
||||||
|
|
||||||
|
|
||||||
dockContainer1.DockForm(dockmap, DockStyle.Fill, zDockMode.Outer);
|
dockContainer1.DockForm(dockmap, DockStyle.Fill, zDockMode.Outer);
|
||||||
dockContainer1.DockForm(dockquick, DockStyle.Right, zDockMode.Outer);
|
dockContainer1.DockForm(dockquick, DockStyle.Right, zDockMode.Outer);
|
||||||
dockContainer1.DockForm(dockhud, DockStyle.Left, zDockMode.Outer);
|
dockContainer1.DockForm(dockhud, DockStyle.Left, zDockMode.Outer);
|
||||||
|
@ -275,6 +282,8 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
dockContainer1.SetHeight(dockhud, hud1.Height);
|
dockContainer1.SetHeight(dockhud, hud1.Height);
|
||||||
|
|
||||||
|
dockContainer1.SetWidth(dockguages, 110);
|
||||||
|
|
||||||
this.ResumeLayout();
|
this.ResumeLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -289,7 +298,6 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
info.ShowContextMenuButton = false;
|
info.ShowContextMenuButton = false;
|
||||||
}
|
}
|
||||||
dockContainer1.Invalidate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SaveWindowLayout()
|
void SaveWindowLayout()
|
||||||
|
@ -319,7 +327,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
object fieldValue;
|
object fieldValue;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fieldValue = field.GetValue(thisBoxed,null); // Get value
|
fieldValue = field.GetValue(thisBoxed, null); // Get value
|
||||||
}
|
}
|
||||||
catch { continue; }
|
catch { continue; }
|
||||||
|
|
||||||
|
@ -329,10 +337,30 @@ namespace ArdupilotMega.GCSViews
|
||||||
xmlwriter.WriteElementString(field.Name, fieldValue.ToString());
|
xmlwriter.WriteElementString(field.Name, fieldValue.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
// DockableContainer dockcont = info as DockableContainer;
|
thisBoxed = info.DockableForm;
|
||||||
|
test = thisBoxed.GetType();
|
||||||
|
|
||||||
|
foreach (var field in test.GetProperties())
|
||||||
|
{
|
||||||
|
// field.Name has the field's name.
|
||||||
|
object fieldValue;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fieldValue = field.GetValue(thisBoxed, null); // Get value
|
||||||
|
|
||||||
|
|
||||||
|
// Get the TypeCode enumeration. Multiple types get mapped to a common typecode.
|
||||||
|
TypeCode typeCode = Type.GetTypeCode(fieldValue.GetType());
|
||||||
|
|
||||||
|
xmlwriter.WriteElementString(field.Name, fieldValue.ToString());
|
||||||
|
}
|
||||||
|
catch { continue; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// DockableContainer dockcont = info as DockableContainer;
|
||||||
|
|
||||||
|
// dockContainer1.
|
||||||
|
|
||||||
// dockContainer1.
|
|
||||||
|
|
||||||
xmlwriter.WriteEndElement();
|
xmlwriter.WriteEndElement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -342,11 +370,12 @@ namespace ArdupilotMega.GCSViews
|
||||||
xmlwriter.Close();
|
xmlwriter.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
DockableFormInfo CreateFormAndGuid(DockContainer dock, Control ctl, string configguidref)
|
DockableFormInfo CreateFormAndGuid(DockContainer dock, Control ctl, string configguidref)
|
||||||
{
|
{
|
||||||
Guid gu = GetOrCreateGuid(configguidref);
|
Guid gu = GetOrCreateGuid(configguidref);
|
||||||
Form frm;
|
Form frm;
|
||||||
if (formguids.ContainsKey(gu))
|
|
||||||
|
if (formguids.ContainsKey(gu) && !formguids[gu].IsDisposed)
|
||||||
{
|
{
|
||||||
frm = formguids[gu];
|
frm = formguids[gu];
|
||||||
}
|
}
|
||||||
|
@ -355,9 +384,18 @@ namespace ArdupilotMega.GCSViews
|
||||||
frm = CreateFormFromControl(ctl);
|
frm = CreateFormFromControl(ctl);
|
||||||
frm.AutoScroll = true;
|
frm.AutoScroll = true;
|
||||||
formguids[gu] = frm;
|
formguids[gu] = frm;
|
||||||
}
|
}
|
||||||
|
|
||||||
return dock.Add(frm, Crom.Controls.Docking.zAllowedDock.All, gu);
|
frm.FormBorderStyle = FormBorderStyle.SizableToolWindow;
|
||||||
|
frm.TopLevel = false;
|
||||||
|
|
||||||
|
DockableFormInfo answer = dock.Add(frm, Crom.Controls.Docking.zAllowedDock.All, gu);
|
||||||
|
|
||||||
|
answer.ShowCloseButton = false;
|
||||||
|
|
||||||
|
answer.ShowContextMenuButton = false;
|
||||||
|
|
||||||
|
return answer;
|
||||||
}
|
}
|
||||||
|
|
||||||
Guid GetOrCreateGuid(string configname)
|
Guid GetOrCreateGuid(string configname)
|
||||||
|
@ -367,7 +405,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
MainV2.config[configname] = Guid.NewGuid().ToString();
|
MainV2.config[configname] = Guid.NewGuid().ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Guid(MainV2.config[configname].ToString());
|
return new Guid(MainV2.config[configname].ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
Form GetFormFromGuid(Guid id)
|
Form GetFormFromGuid(Guid id)
|
||||||
|
@ -418,7 +456,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
{
|
{
|
||||||
newform.Text = "Hud";
|
newform.Text = "Hud";
|
||||||
}
|
}
|
||||||
if (ctl is myGMAP)
|
if (ctl is myGMAP)
|
||||||
{
|
{
|
||||||
newform.Text = "Map";
|
newform.Text = "Map";
|
||||||
}
|
}
|
||||||
|
@ -433,7 +471,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
// localise it
|
// localise it
|
||||||
Control tabStatus = sender as Control;
|
Control tabStatus = sender as Control;
|
||||||
|
|
||||||
// tabStatus.SuspendLayout();
|
// tabStatus.SuspendLayout();
|
||||||
|
|
||||||
//foreach (Control temp in tabStatus.Controls)
|
//foreach (Control temp in tabStatus.Controls)
|
||||||
{
|
{
|
||||||
|
@ -517,7 +555,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
tabStatus.Width = x;
|
tabStatus.Width = x;
|
||||||
|
|
||||||
// tabStatus.ResumeLayout();
|
// tabStatus.ResumeLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Activate()
|
public void Activate()
|
||||||
|
@ -550,7 +588,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
hud1.Enabled = false;
|
hud1.Enabled = false;
|
||||||
hud1.Visible = false;
|
hud1.Visible = false;
|
||||||
}
|
}
|
||||||
// hud1.Location = new Point(-1000,-1000);
|
// hud1.Location = new Point(-1000,-1000);
|
||||||
|
|
||||||
ZedGraphTimer.Stop();
|
ZedGraphTimer.Stop();
|
||||||
}
|
}
|
||||||
|
@ -718,7 +756,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
LogPlayBackSpeed = 0.01;
|
LogPlayBackSpeed = 0.01;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ts = Math.Min((act / LogPlayBackSpeed),1000);
|
ts = Math.Min((act / LogPlayBackSpeed), 1000);
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
|
||||||
|
@ -759,7 +797,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
tunning = DateTime.Now;
|
tunning = DateTime.Now;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (MainV2.comPort.logplaybackfile != null && MainV2.comPort.logplaybackfile.BaseStream.Position == MainV2.comPort.logplaybackfile.BaseStream.Length)
|
if (MainV2.comPort.logplaybackfile != null && MainV2.comPort.logplaybackfile.BaseStream.Position == MainV2.comPort.logplaybackfile.BaseStream.Length)
|
||||||
{
|
{
|
||||||
|
@ -779,18 +817,18 @@ namespace ArdupilotMega.GCSViews
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Console.WriteLine(DateTime.Now.Millisecond);
|
// Console.WriteLine(DateTime.Now.Millisecond);
|
||||||
updateBindingSource();
|
updateBindingSource();
|
||||||
// Console.WriteLine(DateTime.Now.Millisecond + " done ");
|
// Console.WriteLine(DateTime.Now.Millisecond + " done ");
|
||||||
|
|
||||||
if (ArdupilotMega.Controls.OpenGLtest.instance != null)
|
if (ArdupilotMega.Controls.OpenGLtest.instance != null)
|
||||||
{
|
{
|
||||||
ArdupilotMega.Controls.OpenGLtest.instance.rpy = new OpenTK.Vector3(MainV2.cs.roll,MainV2.cs.pitch,MainV2.cs.yaw);
|
ArdupilotMega.Controls.OpenGLtest.instance.rpy = new OpenTK.Vector3(MainV2.cs.roll, MainV2.cs.pitch, MainV2.cs.yaw);
|
||||||
ArdupilotMega.Controls.OpenGLtest.instance.LocationCenter = new PointLatLngAlt(MainV2.cs.lat,MainV2.cs.lng,MainV2.cs.alt,"here");
|
ArdupilotMega.Controls.OpenGLtest.instance.LocationCenter = new PointLatLngAlt(MainV2.cs.lat, MainV2.cs.lng, MainV2.cs.alt, "here");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tunning.AddMilliseconds(50) < DateTime.Now && CB_tuning.Checked == true)
|
if (tunning.AddMilliseconds(50) < DateTime.Now && CB_tuning.Checked == true)
|
||||||
|
@ -847,12 +885,12 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
if (route.Points.Count > int.Parse(MainV2.config["NUM_tracklength"].ToString()))
|
if (route.Points.Count > int.Parse(MainV2.config["NUM_tracklength"].ToString()))
|
||||||
{
|
{
|
||||||
// trackPoints.RemoveRange(0, trackPoints.Count - int.Parse(MainV2.config["NUM_tracklength"].ToString()));
|
// trackPoints.RemoveRange(0, trackPoints.Count - int.Parse(MainV2.config["NUM_tracklength"].ToString()));
|
||||||
route.Points.RemoveRange(0, route.Points.Count - int.Parse(MainV2.config["NUM_tracklength"].ToString()));
|
route.Points.RemoveRange(0, route.Points.Count - int.Parse(MainV2.config["NUM_tracklength"].ToString()));
|
||||||
}
|
}
|
||||||
if (MainV2.cs.lat != 0)
|
if (MainV2.cs.lat != 0)
|
||||||
{
|
{
|
||||||
// trackPoints.Add(currentloc);
|
// trackPoints.Add(currentloc);
|
||||||
route.Points.Add(currentloc);
|
route.Points.Add(currentloc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -880,26 +918,28 @@ namespace ArdupilotMega.GCSViews
|
||||||
//Console.WriteLine("Doing FD WP's");
|
//Console.WriteLine("Doing FD WP's");
|
||||||
updateMissionRouteMarkers();
|
updateMissionRouteMarkers();
|
||||||
|
|
||||||
if (MainV2.comPort.logreadmode && MainV2.comPort.logplaybackfile != null)
|
foreach (MAVLink.mavlink_mission_item_t plla in MainV2.comPort.wps.Values)
|
||||||
{
|
{
|
||||||
FlightPlanner.pointlist.Clear();
|
if (plla.x == 0 || plla.y == 0)
|
||||||
FlightPlanner.pointlist.AddRange(MainV2.comPort.wps);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (PointLatLngAlt plla in FlightPlanner.pointlist)
|
|
||||||
{
|
|
||||||
if (plla == null)
|
|
||||||
break;
|
|
||||||
if (plla.Lng == 0 || plla.Lat == 0)
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (plla.Tag.StartsWith("ROI"))
|
if (plla.command == (byte)MAVLink.MAV_CMD.ROI)
|
||||||
{
|
{
|
||||||
addpolygonmarkerred(plla.Tag, plla.Lng, plla.Lat, (int)plla.Alt, plla.color, routes);
|
addpolygonmarkerred(plla.seq.ToString(), plla.y, plla.x, (int)plla.z, Color.Red, routes);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
addpolygonmarker(plla.Tag, plla.Lng, plla.Lat, (int)plla.Alt,plla.color,polygons);
|
string tag = plla.seq.ToString();
|
||||||
|
if (plla.seq == 0 && plla.current != 2)
|
||||||
|
{
|
||||||
|
tag = "Home";
|
||||||
|
}
|
||||||
|
if (plla.current == 2)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
addpolygonmarker(tag, plla.y, plla.x, (int)plla.z, Color.White, polygons);
|
||||||
}
|
}
|
||||||
|
|
||||||
RegeneratePolygon();
|
RegeneratePolygon();
|
||||||
|
@ -915,12 +955,12 @@ namespace ArdupilotMega.GCSViews
|
||||||
if (routes.Markers.Count != 1)
|
if (routes.Markers.Count != 1)
|
||||||
{
|
{
|
||||||
routes.Markers.Clear();
|
routes.Markers.Clear();
|
||||||
routes.Markers.Add( new GMapMarkerCross(currentloc));
|
routes.Markers.Add(new GMapMarkerCross(currentloc));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MainV2.cs.mode.ToLower() == "guided" && MainV2.cs.GuidedModeWP != null && MainV2.cs.GuidedModeWP.Lat != 0)
|
if (MainV2.cs.mode.ToLower() == "guided" && MainV2.comPort.GuidedMode.x != 0)
|
||||||
{
|
{
|
||||||
addpolygonmarker("Guided Mode", MainV2.cs.GuidedModeWP.Lng, MainV2.cs.GuidedModeWP.Lat, (int)MainV2.cs.GuidedModeWP.Alt, Color.Blue, routes);
|
addpolygonmarker("Guided Mode", MainV2.comPort.GuidedMode.y, MainV2.comPort.GuidedMode.x, (int)MainV2.comPort.GuidedMode.z, Color.Blue, routes);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
|
if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
|
||||||
|
@ -999,7 +1039,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
{
|
{
|
||||||
if (playing)
|
if (playing)
|
||||||
{
|
{
|
||||||
if (BUT_playlog.Text == "Pause")
|
if (BUT_playlog.Text == "Pause")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
|
this.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
|
||||||
|
@ -1091,18 +1131,18 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
GMapMarkerRect mBorders = new GMapMarkerRect(point);
|
GMapMarkerRect mBorders = new GMapMarkerRect(point);
|
||||||
{
|
{
|
||||||
|
|
||||||
mBorders.InnerMarker = m;
|
mBorders.InnerMarker = m;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
mBorders.wprad = (int)(float.Parse(ArdupilotMega.MainV2.config["TXT_WPRad"].ToString()) / MainV2.cs.multiplierdist);
|
mBorders.wprad = (int)(float.Parse(ArdupilotMega.MainV2.config["TXT_WPRad"].ToString()) / MainV2.cs.multiplierdist);
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
mBorders.MainMap = gMapControl1;
|
mBorders.MainMap = gMapControl1;
|
||||||
if (color.HasValue)
|
if (color.HasValue)
|
||||||
{
|
{
|
||||||
mBorders.Color = color.Value;
|
mBorders.Color = color.Value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
overlay.Markers.Add(m);
|
overlay.Markers.Add(m);
|
||||||
|
@ -1284,7 +1324,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
private void BUT_clear_track_Click(object sender, EventArgs e)
|
private void BUT_clear_track_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (route !=null)
|
if (route != null)
|
||||||
route.Points.Clear();
|
route.Points.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1308,7 +1348,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
{
|
{
|
||||||
((Button)sender).Enabled = false;
|
((Button)sender).Enabled = false;
|
||||||
#if MAVLINK10
|
#if MAVLINK10
|
||||||
comPort.doCommand((MAVLink.MAV_CMD)Enum.Parse(typeof(MAVLink.MAV_CMD), CMB_action.Text),1,0,1,0,0,0,0);
|
comPort.doCommand((MAVLink.MAV_CMD)Enum.Parse(typeof(MAVLink.MAV_CMD), CMB_action.Text), 1, 0, 1, 0, 0, 0, 0);
|
||||||
#else
|
#else
|
||||||
comPort.doAction((MAVLink.MAV_ACTION)Enum.Parse(typeof(MAVLink.MAV_ACTION), "MAV_ACTION_" + CMB_action.Text));
|
comPort.doAction((MAVLink.MAV_ACTION)Enum.Parse(typeof(MAVLink.MAV_ACTION), "MAV_ACTION_" + CMB_action.Text));
|
||||||
#endif
|
#endif
|
||||||
|
@ -1387,11 +1427,11 @@ namespace ArdupilotMega.GCSViews
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MainV2.cs.GuidedModeWP.Alt == 0)
|
if (MainV2.comPort.GuidedMode.z == 0)
|
||||||
{
|
{
|
||||||
flyToHereAltToolStripMenuItem_Click(null, null);
|
flyToHereAltToolStripMenuItem_Click(null, null);
|
||||||
|
|
||||||
if (MainV2.cs.GuidedModeWP.Alt == 0)
|
if (MainV2.comPort.GuidedMode.z == 0)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1404,15 +1444,13 @@ namespace ArdupilotMega.GCSViews
|
||||||
Locationwp gotohere = new Locationwp();
|
Locationwp gotohere = new Locationwp();
|
||||||
|
|
||||||
gotohere.id = (byte)MAVLink.MAV_CMD.WAYPOINT;
|
gotohere.id = (byte)MAVLink.MAV_CMD.WAYPOINT;
|
||||||
gotohere.alt = (float)(MainV2.cs.GuidedModeWP.Alt); // back to m
|
gotohere.alt = (float)(MainV2.comPort.GuidedMode.z); // back to m
|
||||||
gotohere.lat = (float)(gotolocation.Lat);
|
gotohere.lat = (float)(gotolocation.Lat);
|
||||||
gotohere.lng = (float)(gotolocation.Lng);
|
gotohere.lng = (float)(gotolocation.Lng);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
MainV2.comPort.setGuidedModeWP(gotohere);
|
MainV2.comPort.setGuidedModeWP(gotohere);
|
||||||
|
|
||||||
MainV2.cs.GuidedModeWP = new PointLatLngAlt(gotohere.lat, gotohere.lng, gotohere.alt, "Guided Mode");
|
|
||||||
}
|
}
|
||||||
catch (Exception ex) { MainV2.giveComport = false; CustomMessageBox.Show("Error sending command : " + ex.Message); }
|
catch (Exception ex) { MainV2.giveComport = false; CustomMessageBox.Show("Error sending command : " + ex.Message); }
|
||||||
|
|
||||||
|
@ -1450,8 +1488,8 @@ namespace ArdupilotMega.GCSViews
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FlightData_ParentChanged(object sender, EventArgs e)
|
private void FlightData_ParentChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (MainV2.cam != null)
|
if (MainV2.cam != null)
|
||||||
{
|
{
|
||||||
|
@ -1528,7 +1566,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// BUT_clear_track_Click(sender, e);
|
// BUT_clear_track_Click(sender, e);
|
||||||
MainV2.comPort.logreadmode = true;
|
MainV2.comPort.logreadmode = true;
|
||||||
list1.Clear();
|
list1.Clear();
|
||||||
list2.Clear();
|
list2.Clear();
|
||||||
|
@ -1665,11 +1703,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
((Button)sender).Enabled = false;
|
((Button)sender).Enabled = false;
|
||||||
#if MAVLINK10
|
MainV2.comPort.setMode("Auto");
|
||||||
MainV2.comPort.setMode("Auto");
|
|
||||||
#else
|
|
||||||
comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_SET_AUTO);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
catch { CustomMessageBox.Show("The Command failed to execute"); }
|
catch { CustomMessageBox.Show("The Command failed to execute"); }
|
||||||
((Button)sender).Enabled = true;
|
((Button)sender).Enabled = true;
|
||||||
|
@ -1680,11 +1714,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
((Button)sender).Enabled = false;
|
((Button)sender).Enabled = false;
|
||||||
#if MAVLINK10
|
MainV2.comPort.setMode("RTL");
|
||||||
MainV2.comPort.setMode("RTL");
|
|
||||||
#else
|
|
||||||
comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_RETURN);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
catch { CustomMessageBox.Show("The Command failed to execute"); }
|
catch { CustomMessageBox.Show("The Command failed to execute"); }
|
||||||
((Button)sender).Enabled = true;
|
((Button)sender).Enabled = true;
|
||||||
|
@ -1695,14 +1725,11 @@ namespace ArdupilotMega.GCSViews
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
((Button)sender).Enabled = false;
|
((Button)sender).Enabled = false;
|
||||||
#if MAVLINK10
|
|
||||||
if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
|
if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
|
||||||
MainV2.comPort.setMode("Manual");
|
MainV2.comPort.setMode("Manual");
|
||||||
if (MainV2.cs.firmware == MainV2.Firmwares.ArduCopter2)
|
if (MainV2.cs.firmware == MainV2.Firmwares.ArduCopter2)
|
||||||
MainV2.comPort.setMode("Stabilize");
|
MainV2.comPort.setMode("Stabilize");
|
||||||
#else
|
|
||||||
comPort.doAction(MAVLink.MAV_ACTION.MAV_ACTION_SET_MANUAL);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
catch { CustomMessageBox.Show("The Command failed to execute"); }
|
catch { CustomMessageBox.Show("The Command failed to execute"); }
|
||||||
((Button)sender).Enabled = true;
|
((Button)sender).Enabled = true;
|
||||||
|
@ -1745,7 +1772,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
void dropout_FormClosed(object sender, FormClosedEventArgs e)
|
void dropout_FormClosed(object sender, FormClosedEventArgs e)
|
||||||
{
|
{
|
||||||
dockhud.DockableForm.Controls.Add(hud1);
|
GetFormFromGuid(GetOrCreateGuid("fd_hud_guid")).Controls.Add(hud1);
|
||||||
huddropout = false;
|
huddropout = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2024,7 +2051,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
{
|
{
|
||||||
HUD.Custom cust = new HUD.Custom();
|
HUD.Custom cust = new HUD.Custom();
|
||||||
|
|
||||||
string prefix = ((CheckBox)sender).Name +": ";
|
string prefix = ((CheckBox)sender).Name + ": ";
|
||||||
if (MainV2.config["hud1_useritem_" + ((CheckBox)sender).Name] != null)
|
if (MainV2.config["hud1_useritem_" + ((CheckBox)sender).Name] != null)
|
||||||
prefix = (string)MainV2.config["hud1_useritem_" + ((CheckBox)sender).Name];
|
prefix = (string)MainV2.config["hud1_useritem_" + ((CheckBox)sender).Name];
|
||||||
|
|
||||||
|
@ -2328,11 +2355,11 @@ print 'Roll complete'
|
||||||
|
|
||||||
";
|
";
|
||||||
|
|
||||||
// CustomMessageBox.Show("This is Very ALPHA");
|
// CustomMessageBox.Show("This is Very ALPHA");
|
||||||
|
|
||||||
Form scriptedit = new Form();
|
Form scriptedit = new Form();
|
||||||
|
|
||||||
scriptedit.Size = new System.Drawing.Size(500,500);
|
scriptedit.Size = new System.Drawing.Size(500, 500);
|
||||||
|
|
||||||
TextBox tb = new TextBox();
|
TextBox tb = new TextBox();
|
||||||
|
|
||||||
|
@ -2341,8 +2368,8 @@ print 'Roll complete'
|
||||||
tb.ScrollBars = ScrollBars.Both;
|
tb.ScrollBars = ScrollBars.Both;
|
||||||
tb.Multiline = true;
|
tb.Multiline = true;
|
||||||
|
|
||||||
tb.Location = new Point(0,0);
|
tb.Location = new Point(0, 0);
|
||||||
tb.Size = new System.Drawing.Size(scriptedit.Size.Width-30,scriptedit.Size.Height-30);
|
tb.Size = new System.Drawing.Size(scriptedit.Size.Width - 30, scriptedit.Size.Height - 30);
|
||||||
|
|
||||||
scriptedit.Controls.Add(tb);
|
scriptedit.Controls.Add(tb);
|
||||||
|
|
||||||
|
@ -2485,7 +2512,7 @@ print 'Roll complete'
|
||||||
|
|
||||||
// set databinding for value
|
// set databinding for value
|
||||||
((QuickView)((CheckBox)sender).Tag).DataBindings.Clear();
|
((QuickView)((CheckBox)sender).Tag).DataBindings.Clear();
|
||||||
((QuickView)((CheckBox)sender).Tag).DataBindings.Add(new System.Windows.Forms.Binding("number",this.bindingSource1, ((CheckBox)sender).Name, true));
|
((QuickView)((CheckBox)sender).Tag).DataBindings.Add(new System.Windows.Forms.Binding("number", this.bindingSource1, ((CheckBox)sender).Name, true));
|
||||||
|
|
||||||
// close selection form
|
// close selection form
|
||||||
((Form)((CheckBox)sender).Parent).Close();
|
((Form)((CheckBox)sender).Parent).Close();
|
||||||
|
@ -2520,11 +2547,11 @@ print 'Roll complete'
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
MainV2.cs.GuidedModeWP.Alt = intalt;
|
MainV2.comPort.GuidedMode.z = intalt;
|
||||||
|
|
||||||
if (MainV2.cs.mode == "Guided")
|
if (MainV2.cs.mode == "Guided")
|
||||||
{
|
{
|
||||||
MainV2.comPort.setGuidedModeWP(new Locationwp() { alt = (float)MainV2.cs.GuidedModeWP.Alt, lat = (float)MainV2.cs.GuidedModeWP.Lat, lng = (float)MainV2.cs.GuidedModeWP.Lng });
|
MainV2.comPort.setGuidedModeWP(new Locationwp() { alt = (float)MainV2.comPort.GuidedMode.z, lat = (float)MainV2.comPort.GuidedMode.x, lng = (float)MainV2.comPort.GuidedMode.y });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2545,7 +2572,7 @@ print 'Roll complete'
|
||||||
splitContainer1.Panel2.Controls.Add(but);
|
splitContainer1.Panel2.Controls.Add(but);
|
||||||
splitContainer1.Panel2.Controls.Add(sc.Control);
|
splitContainer1.Panel2.Controls.Add(sc.Control);
|
||||||
ThemeManager.ApplyThemeTo(sc.Control);
|
ThemeManager.ApplyThemeTo(sc.Control);
|
||||||
|
|
||||||
sc.Control.Dock = DockStyle.Fill;
|
sc.Control.Dock = DockStyle.Fill;
|
||||||
sc.Control.Visible = true;
|
sc.Control.Visible = true;
|
||||||
|
|
||||||
|
@ -2598,11 +2625,11 @@ print 'Roll complete'
|
||||||
|
|
||||||
private void hud1_Resize(object sender, EventArgs e)
|
private void hud1_Resize(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Console.WriteLine("HUD resize "+ hud1.Width + " " + hud1.Height);
|
//Console.WriteLine("HUD resize "+ hud1.Width + " " + hud1.Height);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// dockContainer1.SetHeight(dockhud, hud1.Height);
|
// dockContainer1.SetHeight(dockhud, hud1.Height);
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
@ -2611,8 +2638,25 @@ print 'Roll complete'
|
||||||
{
|
{
|
||||||
dockContainer1.Clear();
|
dockContainer1.Clear();
|
||||||
SetupDocking();
|
SetupDocking();
|
||||||
cleanupDocks();
|
|
||||||
this.Refresh();
|
this.Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void BUT_ARM_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!MainV2.comPort.BaseStream.IsOpen)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// arm the MAV
|
||||||
|
MainV2.comPort.doARM(MainV2.cs.armed);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void modifyandSetAlt_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int newalt = (int)modifyandSetAlt.Value;
|
||||||
|
|
||||||
|
MainV2.comPort.setNewWPAlt(new Locationwp() { alt = newalt });
|
||||||
|
|
||||||
|
//MainV2.comPort.setNextWPTargetAlt((ushort)MainV2.cs.wpno, newalt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -38,7 +38,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
bool polygongridmode = false;
|
bool polygongridmode = false;
|
||||||
Hashtable param = new Hashtable();
|
Hashtable param = new Hashtable();
|
||||||
|
|
||||||
public static List<PointLatLngAlt> pointlist = new List<PointLatLngAlt>(); // used to calc distance
|
List<PointLatLngAlt> pointlist = new List<PointLatLngAlt>(); // used to calc distance
|
||||||
static public Object thisLock = new Object();
|
static public Object thisLock = new Object();
|
||||||
private ComponentResourceManager rm = new ComponentResourceManager(typeof(FlightPlanner));
|
private ComponentResourceManager rm = new ComponentResourceManager(typeof(FlightPlanner));
|
||||||
|
|
||||||
|
@ -925,7 +925,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
// this is to share the current mission with the data tab
|
// this is to share the current mission with the data tab
|
||||||
pointlist = new List<PointLatLngAlt>();
|
pointlist = new List<PointLatLngAlt>();
|
||||||
|
|
||||||
System.Diagnostics.Debug.WriteLine(DateTime.Now);
|
System.Diagnostics.Debug.WriteLine(DateTime.Now);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -1921,7 +1921,7 @@ namespace ArdupilotMega.GCSViews
|
||||||
MainMap.Invalidate(false);
|
MainMap.Invalidate(false);
|
||||||
|
|
||||||
int answer;
|
int answer;
|
||||||
if (int.TryParse(item.Tag.ToString(), out answer))
|
if (item.Tag != null && int.TryParse(item.Tag.ToString(), out answer))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -2782,9 +2782,9 @@ namespace ArdupilotMega.GCSViews
|
||||||
routes.Markers.Add(new GMapMarkerQuad(currentloc, MainV2.cs.yaw, MainV2.cs.groundcourse, MainV2.cs.nav_bearing));
|
routes.Markers.Add(new GMapMarkerQuad(currentloc, MainV2.cs.yaw, MainV2.cs.groundcourse, MainV2.cs.nav_bearing));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MainV2.cs.mode.ToLower() == "guided" && MainV2.cs.GuidedModeWP != null && MainV2.cs.GuidedModeWP.Lat != 0)
|
if (MainV2.cs.mode.ToLower() == "guided" && MainV2.comPort.GuidedMode.x != 0)
|
||||||
{
|
{
|
||||||
addpolygonmarker("Guided Mode", MainV2.cs.GuidedModeWP.Lng, MainV2.cs.GuidedModeWP.Lat, (int)MainV2.cs.GuidedModeWP.Alt, Color.Red, routes);
|
addpolygonmarker("Guided Mode", MainV2.comPort.GuidedMode.y, MainV2.comPort.GuidedMode.x, (int)MainV2.comPort.GuidedMode.z, Color.Blue, routes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -565,10 +565,8 @@ namespace ArdupilotMega.GCSViews
|
||||||
|
|
||||||
DateTime lastdata = DateTime.MinValue;
|
DateTime lastdata = DateTime.MinValue;
|
||||||
|
|
||||||
#if MAVLINK10
|
|
||||||
// set enable hil status flag - sends base_mode = 0
|
// set enable hil status flag - sends base_mode = 0
|
||||||
MainV2.comPort.setMode(new MAVLink.mavlink_set_mode_t() { target_system = MainV2.comPort.sysid }, MAVLink.MAV_MODE_FLAG.HIL_ENABLED);
|
MainV2.comPort.setMode(new MAVLink.mavlink_set_mode_t() { target_system = MainV2.comPort.sysid }, MAVLink.MAV_MODE_FLAG.HIL_ENABLED);
|
||||||
#endif
|
|
||||||
|
|
||||||
while (threadrun == 1)
|
while (threadrun == 1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -62,6 +62,23 @@ namespace ArdupilotMega
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void waitandsleep(int time)
|
||||||
|
{
|
||||||
|
DateTime start = DateTime.Now;
|
||||||
|
|
||||||
|
while ((DateTime.Now - start).TotalMilliseconds < time)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (comPort.BytesToRead > 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch { threadrun = false; return; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void readandsleep(int time)
|
private void readandsleep(int time)
|
||||||
{
|
{
|
||||||
DateTime start = DateTime.Now;
|
DateTime start = DateTime.Now;
|
||||||
|
@ -85,12 +102,15 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
comPort = MainV2.comPort.BaseStream;
|
comPort = MainV2.comPort.BaseStream;
|
||||||
|
|
||||||
//comPort.ReceivedBytesThreshold = 50;
|
|
||||||
//comPort.ReadBufferSize = 1024 * 1024;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
comPort.toggleDTR();
|
comPort.toggleDTR();
|
||||||
//comPort.Open();
|
|
||||||
|
comPort.DiscardInBuffer();
|
||||||
|
|
||||||
|
// 10 sec
|
||||||
|
waitandsleep(10000);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -104,7 +124,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
threadrun = true;
|
threadrun = true;
|
||||||
|
|
||||||
readandsleep(2500);
|
readandsleep(100);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -1106,7 +1106,6 @@ namespace ArdupilotMega
|
||||||
MainV2.cs.linkqualitygcs = (ushort)(MainV2.cs.linkqualitygcs * 0.8f);
|
MainV2.cs.linkqualitygcs = (ushort)(MainV2.cs.linkqualitygcs * 0.8f);
|
||||||
linkqualitytime = DateTime.Now;
|
linkqualitytime = DateTime.Now;
|
||||||
|
|
||||||
int checkthis;
|
|
||||||
GCSViews.FlightData.myhud.Invalidate();
|
GCSViews.FlightData.myhud.Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1118,7 +1117,7 @@ namespace ArdupilotMega
|
||||||
{
|
{
|
||||||
type = (byte)MAVLink.MAV_TYPE.GCS,
|
type = (byte)MAVLink.MAV_TYPE.GCS,
|
||||||
autopilot = (byte)MAVLink.MAV_AUTOPILOT.ARDUPILOTMEGA,
|
autopilot = (byte)MAVLink.MAV_AUTOPILOT.ARDUPILOTMEGA,
|
||||||
mavlink_version = 3
|
mavlink_version = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
comPort.sendPacket(htb);
|
comPort.sendPacket(htb);
|
||||||
|
@ -1474,11 +1473,9 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
SharpKml.Dom.CoordinateCollection coords = new SharpKml.Dom.CoordinateCollection();
|
SharpKml.Dom.CoordinateCollection coords = new SharpKml.Dom.CoordinateCollection();
|
||||||
|
|
||||||
foreach (var point in GCSViews.FlightPlanner.pointlist)
|
foreach (var point in MainV2.comPort.wps.Values)
|
||||||
{
|
{
|
||||||
if (point != null)
|
coords.Add(new SharpKml.Base.Vector(point.x, point.y, point.z));
|
||||||
coords.Add(new SharpKml.Base.Vector(point.Lat, point.Lng, point.Alt));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SharpKml.Dom.LineString ls = new SharpKml.Dom.LineString();
|
SharpKml.Dom.LineString ls = new SharpKml.Dom.LineString();
|
||||||
|
@ -1716,8 +1713,8 @@ namespace ArdupilotMega
|
||||||
{
|
{
|
||||||
var fi = new FileInfo(path);
|
var fi = new FileInfo(path);
|
||||||
|
|
||||||
string LocalVersion = "";
|
Version LocalVersion = new Version();
|
||||||
string WebVersion = "";
|
Version WebVersion = new Version();
|
||||||
|
|
||||||
if (File.Exists(path))
|
if (File.Exists(path))
|
||||||
{
|
{
|
||||||
|
@ -1725,7 +1722,7 @@ namespace ArdupilotMega
|
||||||
{
|
{
|
||||||
using (StreamReader sr = new StreamReader(fs))
|
using (StreamReader sr = new StreamReader(fs))
|
||||||
{
|
{
|
||||||
LocalVersion = sr.ReadLine();
|
LocalVersion = new Version(sr.ReadLine());
|
||||||
sr.Close();
|
sr.Close();
|
||||||
}
|
}
|
||||||
fs.Close();
|
fs.Close();
|
||||||
|
@ -1734,7 +1731,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
|
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
|
||||||
{
|
{
|
||||||
WebVersion = sr.ReadLine();
|
WebVersion = new Version(sr.ReadLine());
|
||||||
|
|
||||||
sr.Close();
|
sr.Close();
|
||||||
}
|
}
|
||||||
|
@ -1743,7 +1740,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
log.Info("New file Check: local " + LocalVersion + " vs Remote " + WebVersion);
|
log.Info("New file Check: local " + LocalVersion + " vs Remote " + WebVersion);
|
||||||
|
|
||||||
if (LocalVersion != WebVersion)
|
if (LocalVersion < WebVersion)
|
||||||
{
|
{
|
||||||
updateFound = true;
|
updateFound = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,15 +47,15 @@ namespace ArdupilotMega
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// storage for whole paramater list
|
/// storage for whole paramater list
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Hashtable param { get; set; }
|
public Hashtable param { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// storage of a previous packet recevied of a specific type
|
/// storage of a previous packet recevied of a specific type
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public byte[][] packets { get; set; }
|
public byte[][] packets { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// used to calc packets per second on any single message type - used for stream rate comparaison
|
/// used to calc packets per second on any single message type - used for stream rate comparaison
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public double[] packetspersecond { get; set; }
|
public double[] packetspersecond { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// time last seen a packet of a type
|
/// time last seen a packet of a type
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -95,7 +95,7 @@ namespace ArdupilotMega
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// time seen of last mavlink packet
|
/// time seen of last mavlink packet
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime lastvalidpacket { get; set; }
|
public DateTime lastvalidpacket { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// old log support
|
/// old log support
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -112,7 +112,11 @@ namespace ArdupilotMega
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// used as a snapshot of what is loaded on the ap atm. - derived from the stream
|
/// used as a snapshot of what is loaded on the ap atm. - derived from the stream
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public PointLatLngAlt[] wps { get; set; }
|
public Dictionary<int, mavlink_mission_item_t> wps = new Dictionary<int, mavlink_mission_item_t>();
|
||||||
|
/// <summary>
|
||||||
|
/// Store the guided mode wp location
|
||||||
|
/// </summary>
|
||||||
|
public mavlink_mission_item_t GuidedMode = new mavlink_mission_item_t();
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// turns on console packet display
|
/// turns on console packet display
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -157,7 +161,6 @@ namespace ArdupilotMega
|
||||||
this.oldlogformat = false;
|
this.oldlogformat = false;
|
||||||
this.mavlinkversion = 0;
|
this.mavlinkversion = 0;
|
||||||
this.aptype = 0;
|
this.aptype = 0;
|
||||||
this.wps = new PointLatLngAlt[200];
|
|
||||||
this.debugmavlink = false;
|
this.debugmavlink = false;
|
||||||
this.logreadmode = false;
|
this.logreadmode = false;
|
||||||
this.lastlogread = DateTime.MinValue;
|
this.lastlogread = DateTime.MinValue;
|
||||||
|
@ -547,7 +550,7 @@ namespace ArdupilotMega
|
||||||
}
|
}
|
||||||
catch { } // been getting errors from this. people must have it open twice.
|
catch { } // been getting errors from this. people must have it open twice.
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Write(string line)
|
public bool Write(string line)
|
||||||
|
@ -581,7 +584,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
MainV2.giveComport = true;
|
MainV2.giveComport = true;
|
||||||
|
|
||||||
var req = new mavlink_param_set_t {target_system = sysid, target_component = compid};
|
var req = new mavlink_param_set_t { target_system = sysid, target_component = compid };
|
||||||
|
|
||||||
byte[] temp = Encoding.ASCII.GetBytes(paramname);
|
byte[] temp = Encoding.ASCII.GetBytes(paramname);
|
||||||
|
|
||||||
|
@ -744,13 +747,13 @@ namespace ArdupilotMega
|
||||||
MainV2.giveComport = false;
|
MainV2.giveComport = false;
|
||||||
if (packets > 0 && param_total == 1)
|
if (packets > 0 && param_total == 1)
|
||||||
{
|
{
|
||||||
throw new Exception("Timeout on read - getParamList\n"+packets+" Packets where received, but no paramater packets where received\n");
|
throw new Exception("Timeout on read - getParamList\n" + packets + " Packets where received, but no paramater packets where received\n");
|
||||||
}
|
}
|
||||||
if (packets == 0)
|
if (packets == 0)
|
||||||
{
|
{
|
||||||
throw new Exception("Timeout on read - getParamList\nNo Packets where received\n");
|
throw new Exception("Timeout on read - getParamList\nNo Packets where received\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new Exception("Timeout on read - getParamList\nReceived: " + got.Count + " of " + param_total + " after 6 retrys\n\nPlease Check\n1. Link Speed\n2. Link Quality\n3. Hardware hasn't hung");
|
throw new Exception("Timeout on read - getParamList\nReceived: " + got.Count + " of " + param_total + " after 6 retrys\n\nPlease Check\n1. Link Speed\n2. Link Quality\n3. Hardware hasn't hung");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -761,7 +764,7 @@ namespace ArdupilotMega
|
||||||
if (buffer.Length > 5)
|
if (buffer.Length > 5)
|
||||||
{
|
{
|
||||||
packets++;
|
packets++;
|
||||||
// stopwatch.Start();
|
// stopwatch.Start();
|
||||||
if (buffer[5] == MAVLINK_MSG_ID_PARAM_VALUE)
|
if (buffer[5] == MAVLINK_MSG_ID_PARAM_VALUE)
|
||||||
{
|
{
|
||||||
restart = DateTime.Now;
|
restart = DateTime.Now;
|
||||||
|
@ -809,7 +812,7 @@ namespace ArdupilotMega
|
||||||
this.frmProgressReporter.UpdateProgressAndStatus((got.Count * 100) / param_total, "Got param " + paramID);
|
this.frmProgressReporter.UpdateProgressAndStatus((got.Count * 100) / param_total, "Got param " + paramID);
|
||||||
|
|
||||||
// we have them all - lets escape eq total = 176 index = 0-175
|
// we have them all - lets escape eq total = 176 index = 0-175
|
||||||
if (par.param_index == (param_total -1))
|
if (par.param_index == (param_total - 1))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -817,8 +820,8 @@ namespace ArdupilotMega
|
||||||
//Console.WriteLine(DateTime.Now + " PC paramlist " + buffer[5] + " want " + MAVLINK_MSG_ID_PARAM_VALUE + " btr " + BaseStream.BytesToRead);
|
//Console.WriteLine(DateTime.Now + " PC paramlist " + buffer[5] + " want " + MAVLINK_MSG_ID_PARAM_VALUE + " btr " + BaseStream.BytesToRead);
|
||||||
}
|
}
|
||||||
//stopwatch.Stop();
|
//stopwatch.Stop();
|
||||||
// Console.WriteLine("Time elapsed: {0}", stopwatch.Elapsed);
|
// Console.WriteLine("Time elapsed: {0}", stopwatch.Elapsed);
|
||||||
// Console.WriteLine(DateTime.Now.Millisecond + " gp4 " + BaseStream.BytesToRead);
|
// Console.WriteLine(DateTime.Now.Millisecond + " gp4 " + BaseStream.BytesToRead);
|
||||||
}
|
}
|
||||||
} while (got.Count < param_total);
|
} while (got.Count < param_total);
|
||||||
|
|
||||||
|
@ -836,6 +839,70 @@ namespace ArdupilotMega
|
||||||
return param;
|
return param;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float GetParam(string name)
|
||||||
|
{
|
||||||
|
return GetParam(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public float GetParam(int index)
|
||||||
|
{
|
||||||
|
return GetParam("", index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get param by either index or name
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="index"></param>
|
||||||
|
/// <param name="name"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
internal float GetParam(string name = "", int index = -1)
|
||||||
|
{
|
||||||
|
if (name == "" && index == -1)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
MainV2.giveComport = true;
|
||||||
|
byte[] buffer;
|
||||||
|
|
||||||
|
mavlink_param_request_list_t req = new mavlink_param_request_list_t();
|
||||||
|
req.target_system = sysid;
|
||||||
|
req.target_component = compid;
|
||||||
|
|
||||||
|
generatePacket(MAVLINK_MSG_ID_PARAM_REQUEST_READ, req);
|
||||||
|
|
||||||
|
DateTime start = DateTime.Now;
|
||||||
|
int retrys = 3;
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
if (!(start.AddMilliseconds(200) > DateTime.Now))
|
||||||
|
{
|
||||||
|
if (retrys > 0)
|
||||||
|
{
|
||||||
|
log.Info("GetParam Retry " + retrys);
|
||||||
|
generatePacket(MAVLINK_MSG_ID_PARAM_REQUEST_READ, req);
|
||||||
|
start = DateTime.Now;
|
||||||
|
retrys--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
MainV2.giveComport = false;
|
||||||
|
throw new Exception("Timeout on read - GetParam");
|
||||||
|
}
|
||||||
|
|
||||||
|
buffer = readPacket();
|
||||||
|
if (buffer.Length > 5)
|
||||||
|
{
|
||||||
|
if (buffer[5] == MAVLINK_MSG_ID_PARAM_VALUE)
|
||||||
|
{
|
||||||
|
MainV2.giveComport = false;
|
||||||
|
|
||||||
|
mavlink_param_value_t par = buffer.ByteArrayToStructure<mavlink_param_value_t>(6);
|
||||||
|
|
||||||
|
return par.param_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void modifyParamForDisplay(bool fromapm, string paramname, ref float value)
|
public static void modifyParamForDisplay(bool fromapm, string paramname, ref float value)
|
||||||
{
|
{
|
||||||
if (paramname.ToUpper().EndsWith("_IMAX") || paramname.ToUpper().EndsWith("ALT_HOLD_RTL") || paramname.ToUpper().EndsWith("APPROACH_ALT") || paramname.ToUpper().EndsWith("TRIM_ARSPD_CM")
|
if (paramname.ToUpper().EndsWith("_IMAX") || paramname.ToUpper().EndsWith("ALT_HOLD_RTL") || paramname.ToUpper().EndsWith("APPROACH_ALT") || paramname.ToUpper().EndsWith("TRIM_ARSPD_CM")
|
||||||
|
@ -896,21 +963,12 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
public void setWPACK()
|
public void setWPACK()
|
||||||
{
|
{
|
||||||
#if MAVLINK10
|
|
||||||
MAVLink.mavlink_mission_ack_t req = new MAVLink.mavlink_mission_ack_t();
|
MAVLink.mavlink_mission_ack_t req = new MAVLink.mavlink_mission_ack_t();
|
||||||
req.target_system = sysid;
|
req.target_system = sysid;
|
||||||
req.target_component = compid;
|
req.target_component = compid;
|
||||||
req.type = 0;
|
req.type = 0;
|
||||||
|
|
||||||
generatePacket(MAVLINK_MSG_ID_MISSION_ACK, req);
|
generatePacket(MAVLINK_MSG_ID_MISSION_ACK, req);
|
||||||
#else
|
|
||||||
MAVLink.mavlink_waypoint_ack_t req = new MAVLink.mavlink_waypoint_ack_t();
|
|
||||||
req.target_system = sysid;
|
|
||||||
req.target_component = compid;
|
|
||||||
req.type = 0;
|
|
||||||
|
|
||||||
generatePacket(MAVLINK_MSG_ID_WAYPOINT_ACK, req);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool setWPCurrent(ushort index)
|
public bool setWPCurrent(ushort index)
|
||||||
|
@ -965,6 +1023,11 @@ namespace ArdupilotMega
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool doARM(bool armit)
|
||||||
|
{
|
||||||
|
return doCommand(MAV_CMD.COMPONENT_ARM_DISARM, armit ? 1 : 0, 0, 0, 0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
public bool doCommand(MAV_CMD actionid, float p1, float p2, float p3, float p4, float p5, float p6, float p7)
|
public bool doCommand(MAV_CMD actionid, float p1, float p2, float p3, float p4, float p5, float p6, float p7)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -976,6 +1039,11 @@ namespace ArdupilotMega
|
||||||
req.target_system = sysid;
|
req.target_system = sysid;
|
||||||
req.target_component = compid;
|
req.target_component = compid;
|
||||||
|
|
||||||
|
if (actionid == MAV_CMD.COMPONENT_ARM_DISARM)
|
||||||
|
{
|
||||||
|
req.target_component = (byte)MAV_COMPONENT.MAV_COMP_ID_SYSTEM_CONTROL;
|
||||||
|
}
|
||||||
|
|
||||||
req.command = (ushort)actionid;
|
req.command = (ushort)actionid;
|
||||||
|
|
||||||
req.param1 = p1;
|
req.param1 = p1;
|
||||||
|
@ -1691,7 +1759,7 @@ namespace ArdupilotMega
|
||||||
/// <param name="wp_total"></param>
|
/// <param name="wp_total"></param>
|
||||||
public void setWPTotal(ushort wp_total)
|
public void setWPTotal(ushort wp_total)
|
||||||
{
|
{
|
||||||
#if MAVLINK10
|
#if MAVLINK10
|
||||||
MainV2.giveComport = true;
|
MainV2.giveComport = true;
|
||||||
mavlink_mission_count_t req = new mavlink_mission_count_t();
|
mavlink_mission_count_t req = new mavlink_mission_count_t();
|
||||||
|
|
||||||
|
@ -1736,6 +1804,9 @@ namespace ArdupilotMega
|
||||||
param["WP_TOTAL"] = (float)wp_total - 1;
|
param["WP_TOTAL"] = (float)wp_total - 1;
|
||||||
if (param["CMD_TOTAL"] != null)
|
if (param["CMD_TOTAL"] != null)
|
||||||
param["CMD_TOTAL"] = (float)wp_total - 1;
|
param["CMD_TOTAL"] = (float)wp_total - 1;
|
||||||
|
|
||||||
|
wps.Clear();
|
||||||
|
|
||||||
MainV2.giveComport = false;
|
MainV2.giveComport = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1809,14 +1880,10 @@ namespace ArdupilotMega
|
||||||
/// <param name="index">wp no</param>
|
/// <param name="index">wp no</param>
|
||||||
/// <param name="frame">global or relative</param>
|
/// <param name="frame">global or relative</param>
|
||||||
/// <param name="current">0 = no , 2 = guided mode</param>
|
/// <param name="current">0 = no , 2 = guided mode</param>
|
||||||
public MAV_MISSION_RESULT setWP(Locationwp loc, ushort index, MAV_FRAME frame, byte current)
|
public MAV_MISSION_RESULT setWP(Locationwp loc, ushort index, MAV_FRAME frame, byte current = 0)
|
||||||
{
|
{
|
||||||
MainV2.giveComport = true;
|
MainV2.giveComport = true;
|
||||||
#if MAVLINK10
|
|
||||||
mavlink_mission_item_t req = new mavlink_mission_item_t();
|
mavlink_mission_item_t req = new mavlink_mission_item_t();
|
||||||
#else
|
|
||||||
mavlink_waypoint_t req = new mavlink_waypoint_t();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
req.target_system = sysid;
|
req.target_system = sysid;
|
||||||
req.target_component = compid; // MAVLINK_MSG_ID_MISSION_ITEM
|
req.target_component = compid; // MAVLINK_MSG_ID_MISSION_ITEM
|
||||||
|
@ -1835,68 +1902,14 @@ namespace ArdupilotMega
|
||||||
req.param2 = loc.p2;
|
req.param2 = loc.p2;
|
||||||
req.param3 = loc.p3;
|
req.param3 = loc.p3;
|
||||||
req.param4 = loc.p4;
|
req.param4 = loc.p4;
|
||||||
/*
|
|
||||||
if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
|
|
||||||
{
|
|
||||||
switch (loc.id)
|
|
||||||
{ // Switch to map APM command fields inot MAVLink command fields
|
|
||||||
case (byte)MAV_CMD.LOITER_TURNS:
|
|
||||||
case (byte)MAV_CMD.TAKEOFF:
|
|
||||||
req.param1 = loc.p1;
|
|
||||||
break;
|
|
||||||
case (byte)MAV_CMD.DO_SET_HOME:
|
|
||||||
req.param1 = loc.p1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case (byte)MAV_CMD.CONDITION_CHANGE_ALT:
|
|
||||||
req.param1 = loc.lat;
|
|
||||||
req.x = 0;
|
|
||||||
req.y = 0;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case (byte)MAV_CMD.LOITER_TIME:
|
|
||||||
req.param1 = loc.p1 * 10; // APM loiter time is in ten second increments
|
|
||||||
break;
|
|
||||||
|
|
||||||
case (byte)MAV_CMD.CONDITION_DELAY:
|
|
||||||
case (byte)MAV_CMD.CONDITION_DISTANCE:
|
|
||||||
req.param1 = loc.lat;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case (byte)MAV_CMD.DO_JUMP:
|
|
||||||
req.param2 = loc.lat;
|
|
||||||
req.param1 = loc.p1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case (byte)MAV_CMD.DO_REPEAT_SERVO:
|
|
||||||
req.param4 = loc.lng;
|
|
||||||
goto case (byte)MAV_CMD.DO_CHANGE_SPEED;
|
|
||||||
case (byte)MAV_CMD.DO_REPEAT_RELAY:
|
|
||||||
case (byte)MAV_CMD.DO_CHANGE_SPEED:
|
|
||||||
req.param3 = loc.lat;
|
|
||||||
req.param2 = loc.alt;
|
|
||||||
req.param1 = loc.p1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case (byte)MAV_CMD.DO_SET_PARAMETER:
|
|
||||||
case (byte)MAV_CMD.DO_SET_RELAY:
|
|
||||||
case (byte)MAV_CMD.DO_SET_SERVO:
|
|
||||||
req.param2 = loc.alt;
|
|
||||||
req.param1 = loc.p1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
req.seq = index;
|
req.seq = index;
|
||||||
|
|
||||||
log.InfoFormat("setWP {6} frame {0} cmd {1} p1 {2} x {3} y {4} z {5}", req.frame, req.command, req.param1, req.x, req.y, req.z, index);
|
log.InfoFormat("setWP {6} frame {0} cmd {1} p1 {2} x {3} y {4} z {5}", req.frame, req.command, req.param1, req.x, req.y, req.z, index);
|
||||||
|
|
||||||
// request
|
// request
|
||||||
#if MAVLINK10
|
|
||||||
generatePacket(MAVLINK_MSG_ID_MISSION_ITEM, req);
|
generatePacket(MAVLINK_MSG_ID_MISSION_ITEM, req);
|
||||||
#else
|
|
||||||
generatePacket(MAVLINK_MSG_ID_WAYPOINT, req);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
DateTime start = DateTime.Now;
|
DateTime start = DateTime.Now;
|
||||||
int retrys = 10;
|
int retrys = 10;
|
||||||
|
@ -1908,11 +1921,8 @@ namespace ArdupilotMega
|
||||||
if (retrys > 0)
|
if (retrys > 0)
|
||||||
{
|
{
|
||||||
log.Info("setWP Retry " + retrys);
|
log.Info("setWP Retry " + retrys);
|
||||||
#if MAVLINK10
|
generatePacket(MAVLINK_MSG_ID_MISSION_ITEM, req);
|
||||||
generatePacket(MAVLINK_MSG_ID_MISSION_ITEM, req);
|
|
||||||
#else
|
|
||||||
generatePacket(MAVLINK_MSG_ID_WAYPOINT, req);
|
|
||||||
#endif
|
|
||||||
start = DateTime.Now;
|
start = DateTime.Now;
|
||||||
retrys--;
|
retrys--;
|
||||||
continue;
|
continue;
|
||||||
|
@ -1923,11 +1933,24 @@ namespace ArdupilotMega
|
||||||
byte[] buffer = readPacket();
|
byte[] buffer = readPacket();
|
||||||
if (buffer.Length > 5)
|
if (buffer.Length > 5)
|
||||||
{
|
{
|
||||||
#if MAVLINK10
|
|
||||||
if (buffer[5] == MAVLINK_MSG_ID_MISSION_ACK)
|
if (buffer[5] == MAVLINK_MSG_ID_MISSION_ACK)
|
||||||
{
|
{
|
||||||
var ans = buffer.ByteArrayToStructure<mavlink_mission_ack_t>(6);
|
var ans = buffer.ByteArrayToStructure<mavlink_mission_ack_t>(6);
|
||||||
log.Info("set wp " + index + " ACK 47 : " + buffer[5] + " ans " + Enum.Parse(typeof(MAV_MISSION_RESULT), ans.type.ToString()));
|
log.Info("set wp " + index + " ACK 47 : " + buffer[5] + " ans " + Enum.Parse(typeof(MAV_MISSION_RESULT), ans.type.ToString()));
|
||||||
|
|
||||||
|
if (req.current == 2)
|
||||||
|
{
|
||||||
|
GuidedMode = req;
|
||||||
|
}
|
||||||
|
else if (req.current == 3)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wps[req.seq] = req;
|
||||||
|
}
|
||||||
|
|
||||||
return (MAV_MISSION_RESULT)ans.type;
|
return (MAV_MISSION_RESULT)ans.type;
|
||||||
}
|
}
|
||||||
else if (buffer[5] == MAVLINK_MSG_ID_MISSION_REQUEST)
|
else if (buffer[5] == MAVLINK_MSG_ID_MISSION_REQUEST)
|
||||||
|
@ -1938,6 +1961,19 @@ namespace ArdupilotMega
|
||||||
log.Info("set wp doing " + index + " req " + ans.seq + " REQ 40 : " + buffer[5]);
|
log.Info("set wp doing " + index + " req " + ans.seq + " REQ 40 : " + buffer[5]);
|
||||||
MainV2.giveComport = false;
|
MainV2.giveComport = false;
|
||||||
|
|
||||||
|
if (req.current == 2)
|
||||||
|
{
|
||||||
|
GuidedMode = req;
|
||||||
|
}
|
||||||
|
else if (req.current == 3)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wps[req.seq] = req;
|
||||||
|
}
|
||||||
|
|
||||||
return MAV_MISSION_RESULT.MAV_MISSION_ACCEPTED;
|
return MAV_MISSION_RESULT.MAV_MISSION_ACCEPTED;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1950,37 +1986,40 @@ namespace ArdupilotMega
|
||||||
{
|
{
|
||||||
//Console.WriteLine(DateTime.Now + " PC setwp " + buffer[5]);
|
//Console.WriteLine(DateTime.Now + " PC setwp " + buffer[5]);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
if (buffer[5] == MAVLINK_MSG_ID_WAYPOINT_ACK)
|
|
||||||
{ //mavlink_waypoint_request_t
|
|
||||||
log.Info("set wp " + index + " ACK 47 : " + buffer[5]);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if (buffer[5] == MAVLINK_MSG_ID_WAYPOINT_REQUEST)
|
|
||||||
{
|
|
||||||
mavlink_waypoint_request_t ans = buffer.ByteArrayToStructure<mavlink_waypoint_request_t>(6);
|
|
||||||
|
|
||||||
if (ans.seq == (index + 1))
|
|
||||||
{
|
|
||||||
log.Info("set wp doing " + index + " req " + ans.seq + " REQ 40 : " + buffer[5]);
|
|
||||||
MainV2.giveComport = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
log.InfoFormat("set wp fail doing " + index + " req " + ans.seq + " ACK 47 or REQ 40 : " + buffer[5] + " seq {0} ts {1} tc {2}", req.seq, req.target_system, req.target_component);
|
|
||||||
//break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//Console.WriteLine(DateTime.Now + " PC setwp " + buffer[5]);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// return MAV_MISSION_RESULT.MAV_MISSION_INVALID;
|
// return MAV_MISSION_RESULT.MAV_MISSION_INVALID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNextWPTargetAlt(ushort wpno, float alt)
|
||||||
|
{
|
||||||
|
// get the existing wp
|
||||||
|
Locationwp current = getWP(wpno);
|
||||||
|
|
||||||
|
mavlink_mission_write_partial_list_t req = new mavlink_mission_write_partial_list_t();
|
||||||
|
req.target_system = sysid;
|
||||||
|
req.target_component = compid;
|
||||||
|
|
||||||
|
req.start_index = (short)wpno;
|
||||||
|
req.end_index = (short)wpno;
|
||||||
|
|
||||||
|
// change the alt
|
||||||
|
current.alt = alt;
|
||||||
|
|
||||||
|
// send a request to update single point
|
||||||
|
generatePacket(MAVLINK_MSG_ID_MISSION_WRITE_PARTIAL_LIST, req);
|
||||||
|
Thread.Sleep(10);
|
||||||
|
generatePacket(MAVLINK_MSG_ID_MISSION_WRITE_PARTIAL_LIST, req);
|
||||||
|
|
||||||
|
MAV_FRAME frame = (current.options & 0x1) == 0 ? MAV_FRAME.GLOBAL : MAV_FRAME.GLOBAL_RELATIVE_ALT;
|
||||||
|
|
||||||
|
//send the point with new alt
|
||||||
|
setWP(current, wpno, MAV_FRAME.GLOBAL_RELATIVE_ALT, 0);
|
||||||
|
|
||||||
|
// set the point as current to reload the modified command
|
||||||
|
setWPCurrent(wpno);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setGuidedModeWP(Locationwp gotohere)
|
public void setGuidedModeWP(Locationwp gotohere)
|
||||||
|
@ -1992,7 +2031,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
gotohere.id =(byte)MAV_CMD.WAYPOINT;
|
gotohere.id = (byte)MAV_CMD.WAYPOINT;
|
||||||
|
|
||||||
MAV_MISSION_RESULT ans = MainV2.comPort.setWP(gotohere, 0, MAVLink.MAV_FRAME.GLOBAL_RELATIVE_ALT, (byte)2);
|
MAV_MISSION_RESULT ans = MainV2.comPort.setWP(gotohere, 0, MAVLink.MAV_FRAME.GLOBAL_RELATIVE_ALT, (byte)2);
|
||||||
|
|
||||||
|
@ -2004,6 +2043,24 @@ namespace ArdupilotMega
|
||||||
MainV2.giveComport = false;
|
MainV2.giveComport = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setNewWPAlt(Locationwp gotohere)
|
||||||
|
{
|
||||||
|
MainV2.giveComport = true;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
gotohere.id = (byte)MAV_CMD.WAYPOINT;
|
||||||
|
|
||||||
|
MAV_MISSION_RESULT ans = MainV2.comPort.setWP(gotohere, 0, MAVLink.MAV_FRAME.GLOBAL_RELATIVE_ALT, (byte)3);
|
||||||
|
|
||||||
|
if (ans != MAV_MISSION_RESULT.MAV_MISSION_ACCEPTED)
|
||||||
|
throw new Exception("Alt Change Failed");
|
||||||
|
}
|
||||||
|
catch (Exception ex) { log.Error(ex); }
|
||||||
|
|
||||||
|
MainV2.giveComport = false;
|
||||||
|
}
|
||||||
|
|
||||||
public void setMountConfigure(MAV_MOUNT_MODE mountmode, bool stabroll, bool stabpitch, bool stabyaw)
|
public void setMountConfigure(MAV_MOUNT_MODE mountmode, bool stabroll, bool stabpitch, bool stabyaw)
|
||||||
{
|
{
|
||||||
mavlink_mount_configure_t req = new mavlink_mount_configure_t();
|
mavlink_mount_configure_t req = new mavlink_mount_configure_t();
|
||||||
|
@ -2046,7 +2103,6 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
public void setMode(string modein)
|
public void setMode(string modein)
|
||||||
{
|
{
|
||||||
#if MAVLINK10
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
MAVLink.mavlink_set_mode_t mode = new MAVLink.mavlink_set_mode_t();
|
MAVLink.mavlink_set_mode_t mode = new MAVLink.mavlink_set_mode_t();
|
||||||
|
@ -2057,38 +2113,15 @@ namespace ArdupilotMega
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { System.Windows.Forms.MessageBox.Show("Failed to change Modes"); }
|
catch { System.Windows.Forms.MessageBox.Show("Failed to change Modes"); }
|
||||||
#else
|
|
||||||
try
|
|
||||||
{
|
|
||||||
MAVLink.mavlink_set_nav_mode_t navmode = new MAVLink.mavlink_set_nav_mode_t();
|
|
||||||
|
|
||||||
MAVLink.mavlink_set_mode_t mode = new MAVLink.mavlink_set_mode_t();
|
|
||||||
|
|
||||||
if (translateMode(modein, ref navmode, ref mode))
|
|
||||||
{
|
|
||||||
generatePacket((byte)MAVLink.MAVLINK_MSG_ID_SET_NAV_MODE, navmode);
|
|
||||||
System.Threading.Thread.Sleep(10);
|
|
||||||
generatePacket((byte)MAVLink.MAVLINK_MSG_ID_SET_MODE, mode);
|
|
||||||
System.Threading.Thread.Sleep(10);
|
|
||||||
generatePacket((byte)MAVLink.MAVLINK_MSG_ID_SET_NAV_MODE, navmode);
|
|
||||||
System.Threading.Thread.Sleep(10);
|
|
||||||
generatePacket((byte)MAVLink.MAVLINK_MSG_ID_SET_MODE, mode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch { System.Windows.Forms.CustomMessageBox.Show("Failed to change Modes"); }
|
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMode(mavlink_set_mode_t mode, MAV_MODE_FLAG base_mode = 0)
|
public void setMode(mavlink_set_mode_t mode, MAV_MODE_FLAG base_mode = 0)
|
||||||
{
|
{
|
||||||
#if MAVLINK10
|
|
||||||
mode.base_mode |= (byte)base_mode;
|
mode.base_mode |= (byte)base_mode;
|
||||||
|
|
||||||
generatePacket((byte)MAVLink.MAVLINK_MSG_ID_SET_MODE, mode);
|
generatePacket((byte)MAVLink.MAVLINK_MSG_ID_SET_MODE, mode);
|
||||||
System.Threading.Thread.Sleep(10);
|
System.Threading.Thread.Sleep(10);
|
||||||
generatePacket((byte)MAVLink.MAVLINK_MSG_ID_SET_MODE, mode);
|
generatePacket((byte)MAVLink.MAVLINK_MSG_ID_SET_MODE, mode);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -2175,7 +2208,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
DateTime to = DateTime.Now.AddMilliseconds(BaseStream.ReadTimeout);
|
DateTime to = DateTime.Now.AddMilliseconds(BaseStream.ReadTimeout);
|
||||||
|
|
||||||
// Console.WriteLine(DateTime.Now.Millisecond + " SR1a " + BaseStream.BytesToRead);
|
// Console.WriteLine(DateTime.Now.Millisecond + " SR1a " + BaseStream.BytesToRead);
|
||||||
|
|
||||||
while (BaseStream.BytesToRead <= 0)
|
while (BaseStream.BytesToRead <= 0)
|
||||||
{
|
{
|
||||||
|
@ -2240,7 +2273,7 @@ namespace ArdupilotMega
|
||||||
int read = BaseStream.Read(buffer, 1, 5);
|
int read = BaseStream.Read(buffer, 1, 5);
|
||||||
count = read;
|
count = read;
|
||||||
if (rawlogfile != null && rawlogfile.BaseStream.CanWrite)
|
if (rawlogfile != null && rawlogfile.BaseStream.CanWrite)
|
||||||
rawlogfile.Write(buffer,1,read);
|
rawlogfile.Write(buffer, 1, read);
|
||||||
}
|
}
|
||||||
|
|
||||||
// packet length
|
// packet length
|
||||||
|
@ -2354,20 +2387,12 @@ namespace ArdupilotMega
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
log.InfoFormat("Mavlink Bad Packet (Len Fail) len {0} pkno {1}", buffer.Length, buffer[5]);
|
log.InfoFormat("Mavlink Bad Packet (Len Fail) len {0} pkno {1}", buffer.Length, buffer[5]);
|
||||||
#if MAVLINK10
|
if (buffer.Length == 11 && buffer[0] == 'U' && buffer[5] == 0)
|
||||||
if (buffer.Length == 11 && buffer[0] == 'U' && buffer[5] == 0){
|
|
||||||
string message ="Mavlink 0.9 Heartbeat, Please upgrade your AP, This planner is for Mavlink 1.0\n\n";
|
|
||||||
System.Windows.Forms.CustomMessageBox.Show(message);
|
|
||||||
throw new Exception(message);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
if (buffer.Length == 17 && buffer[0] == 254 && buffer[5] == 0)
|
|
||||||
{
|
{
|
||||||
string message = "Mavlink 1.0 Heartbeat, Please Upgrade your Mission Planner, This planner is for Mavlink 0.9\n\n";
|
string message = "Mavlink 0.9 Heartbeat, Please upgrade your AP, This planner is for Mavlink 1.0\n\n";
|
||||||
System.Windows.Forms.CustomMessageBox.Show(message);
|
System.Windows.Forms.CustomMessageBox.Show(message);
|
||||||
throw new Exception(message);
|
throw new Exception(message);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
return new byte[0];
|
return new byte[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2393,7 +2418,7 @@ namespace ArdupilotMega
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
byte packetSeqNo = buffer[2];
|
byte packetSeqNo = buffer[2];
|
||||||
int expectedPacketSeqNo = ((recvpacketcount + 1) % 0x100);
|
int expectedPacketSeqNo = ((recvpacketcount + 1) % 0x100);
|
||||||
|
@ -2428,7 +2453,7 @@ namespace ArdupilotMega
|
||||||
recvpacketcount = packetSeqNo;
|
recvpacketcount = packetSeqNo;
|
||||||
}
|
}
|
||||||
WhenPacketReceived.OnNext(1);
|
WhenPacketReceived.OnNext(1);
|
||||||
// Console.WriteLine(DateTime.Now.Millisecond);
|
// Console.WriteLine(DateTime.Now.Millisecond);
|
||||||
}
|
}
|
||||||
|
|
||||||
//MAVLINK_MSG_ID_GPS_STATUS
|
//MAVLINK_MSG_ID_GPS_STATUS
|
||||||
|
@ -2481,10 +2506,11 @@ namespace ArdupilotMega
|
||||||
logfile.Write(datearray, 0, datearray.Length);
|
logfile.Write(datearray, 0, datearray.Length);
|
||||||
logfile.Write(buffer, 0, buffer.Length);
|
logfile.Write(buffer, 0, buffer.Length);
|
||||||
|
|
||||||
if (buffer[5] == 0) {// flush on heartbeat - 1 seconds
|
if (buffer[5] == 0)
|
||||||
|
{// flush on heartbeat - 1 seconds
|
||||||
logfile.BaseStream.Flush();
|
logfile.BaseStream.Flush();
|
||||||
rawlogfile.BaseStream.Flush();
|
rawlogfile.BaseStream.Flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2498,7 +2524,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
// Console.Write((DateTime.Now - start).TotalMilliseconds.ToString("00.000") + "\t" + temp.Length + " \r");
|
// Console.Write((DateTime.Now - start).TotalMilliseconds.ToString("00.000") + "\t" + temp.Length + " \r");
|
||||||
|
|
||||||
// Console.WriteLine(DateTime.Now.Millisecond + " SR4 " + BaseStream.BytesToRead);
|
// Console.WriteLine(DateTime.Now.Millisecond + " SR4 " + BaseStream.BytesToRead);
|
||||||
|
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
@ -2509,32 +2535,28 @@ namespace ArdupilotMega
|
||||||
/// <param name="buffer">packet</param>
|
/// <param name="buffer">packet</param>
|
||||||
void getWPsfromstream(ref byte[] buffer)
|
void getWPsfromstream(ref byte[] buffer)
|
||||||
{
|
{
|
||||||
#if MAVLINK10
|
|
||||||
if (buffer[5] == MAVLINK_MSG_ID_MISSION_COUNT)
|
if (buffer[5] == MAVLINK_MSG_ID_MISSION_COUNT)
|
||||||
{
|
{
|
||||||
// clear old
|
// clear old
|
||||||
wps = new PointLatLngAlt[wps.Length];
|
wps.Clear();
|
||||||
|
//new PointLatLngAlt[wps.Length];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffer[5] == MAVLink.MAVLINK_MSG_ID_MISSION_ITEM)
|
if (buffer[5] == MAVLink.MAVLINK_MSG_ID_MISSION_ITEM)
|
||||||
{
|
{
|
||||||
mavlink_mission_item_t wp = buffer.ByteArrayToStructure<mavlink_mission_item_t>(6);
|
mavlink_mission_item_t wp = buffer.ByteArrayToStructure<mavlink_mission_item_t>(6);
|
||||||
#else
|
|
||||||
|
|
||||||
if (buffer[5] == MAVLINK_MSG_ID_WAYPOINT_COUNT)
|
if (wp.current == 2)
|
||||||
{
|
{
|
||||||
// clear old
|
// guide mode wp
|
||||||
wps = new PointLatLngAlt[wps.Length];
|
GuidedMode = wp;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wps[wp.seq] = wp;
|
||||||
|
}
|
||||||
|
|
||||||
if (buffer[5] == MAVLink.MAVLINK_MSG_ID_WAYPOINT)
|
Console.WriteLine("WP # {7} cmd {8} p1 {0} p2 {1} p3 {2} p4 {3} x {4} y {5} z {6}", wp.param1, wp.param2, wp.param3, wp.param4, wp.x, wp.y, wp.z, wp.seq, wp.command);
|
||||||
{
|
|
||||||
mavlink_waypoint_t wp = buffer.ByteArrayToStructure<mavlink_waypoint_t>(6);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
wps[wp.seq] = new PointLatLngAlt(wp.x, wp.y, wp.z, wp.seq.ToString());
|
|
||||||
|
|
||||||
Console.WriteLine("WP # {7} cmd {8} p1 {0} p2 {1} p3 {2} p4 {3} x {4} y {5} z {6}",wp.param1,wp.param2,wp.param3,wp.param4,wp.x,wp.y,wp.z,wp.seq,wp.command);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2715,7 +2737,8 @@ namespace ArdupilotMega
|
||||||
}
|
}
|
||||||
|
|
||||||
// set ap type for log file playback
|
// set ap type for log file playback
|
||||||
if (temp[5] == 0) {
|
if (temp[5] == 0)
|
||||||
|
{
|
||||||
mavlink_heartbeat_t hb = temp.ByteArrayToStructure<mavlink_heartbeat_t>(6);
|
mavlink_heartbeat_t hb = temp.ByteArrayToStructure<mavlink_heartbeat_t>(6);
|
||||||
|
|
||||||
mavlinkversion = hb.mavlink_version;
|
mavlinkversion = hb.mavlink_version;
|
||||||
|
@ -2726,9 +2749,6 @@ namespace ArdupilotMega
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if MAVLINK10
|
|
||||||
|
|
||||||
public static bool translateMode(string modein, ref MAVLink.mavlink_set_mode_t mode)
|
public static bool translateMode(string modein, ref MAVLink.mavlink_set_mode_t mode)
|
||||||
{
|
{
|
||||||
//MAVLink09.mavlink_set_mode_t mode = new MAVLink09.mavlink_set_mode_t();
|
//MAVLink09.mavlink_set_mode_t mode = new MAVLink09.mavlink_set_mode_t();
|
||||||
|
@ -2752,7 +2772,7 @@ namespace ArdupilotMega
|
||||||
mode.custom_mode = (uint)EnumTranslator.GetValue<Common.apmmodes>(modein);
|
mode.custom_mode = (uint)EnumTranslator.GetValue<Common.apmmodes>(modein);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
MessageBox.Show("No Mode Changed " + modein);
|
MessageBox.Show("No Mode Changed " + modein);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2772,7 +2792,7 @@ namespace ArdupilotMega
|
||||||
mode.custom_mode = (uint)EnumTranslator.GetValue<Common.ac2modes>(modein);
|
mode.custom_mode = (uint)EnumTranslator.GetValue<Common.ac2modes>(modein);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
MessageBox.Show("No Mode Changed " + modein);
|
MessageBox.Show("No Mode Changed " + modein);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2781,136 +2801,7 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
|
||||||
public static bool translateMode(string modein, ref MAVLink.mavlink_set_nav_mode_t navmode, ref MAVLink.mavlink_set_mode_t mode)
|
|
||||||
{
|
|
||||||
|
|
||||||
//MAVLink.mavlink_set_nav_mode_t navmode = new MAVLink.mavlink_set_nav_mode_t();
|
|
||||||
navmode.target = MainV2.comPort.sysid;
|
|
||||||
navmode.nav_mode = 255;
|
|
||||||
|
|
||||||
//MAVLink.mavlink_set_mode_t mode = new MAVLink.mavlink_set_mode_t();
|
|
||||||
mode.target = MainV2.comPort.sysid;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (Common.getModes() == typeof(Common.apmmodes))
|
|
||||||
{
|
|
||||||
switch (EnumTranslator.GetValue<Common.apmmodes>(modein))
|
|
||||||
{
|
|
||||||
case (int)Common.apmmodes.MANUAL:
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_MANUAL;
|
|
||||||
break;
|
|
||||||
case (int)Common.apmmodes.GUIDED:
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_GUIDED;
|
|
||||||
break;
|
|
||||||
case (int)Common.apmmodes.STABILIZE:
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_TEST1;
|
|
||||||
break;
|
|
||||||
// AUTO MODES
|
|
||||||
case (int)Common.apmmodes.AUTO:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_WAYPOINT;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
case (int)Common.apmmodes.RTL:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_RETURNING;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
case (int)Common.apmmodes.LOITER:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_LOITER;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
// FBW
|
|
||||||
case (int)Common.apmmodes.FLY_BY_WIRE_A:
|
|
||||||
navmode.nav_mode = (byte)1;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_TEST2;
|
|
||||||
break;
|
|
||||||
case (int)Common.apmmodes.FLY_BY_WIRE_B:
|
|
||||||
navmode.nav_mode = (byte)2;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_TEST2;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
CustomMessageBox.Show("No Mode Changed " + modein);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (Common.getModes() == typeof(Common.aprovermodes))
|
|
||||||
{
|
|
||||||
switch (EnumTranslator.GetValue<Common.aprovermodes>(modein))
|
|
||||||
{
|
|
||||||
case (int)Common.aprovermodes.MANUAL:
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_MANUAL;
|
|
||||||
break;
|
|
||||||
case (int)Common.aprovermodes.GUIDED:
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_GUIDED;
|
|
||||||
break;
|
|
||||||
case (int)Common.aprovermodes.LEARNING:
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_TEST1;
|
|
||||||
break;
|
|
||||||
// AUTO MODES
|
|
||||||
case (int)Common.aprovermodes.AUTO:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_WAYPOINT;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
case (int)Common.aprovermodes.RTL:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_RETURNING;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
case (int)Common.aprovermodes.LOITER:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_LOITER;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
// FBW
|
|
||||||
case (int)Common.aprovermodes.FLY_BY_WIRE_A:
|
|
||||||
navmode.nav_mode = (byte)1;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_TEST2;
|
|
||||||
break;
|
|
||||||
case (int)Common.aprovermodes.FLY_BY_WIRE_B:
|
|
||||||
navmode.nav_mode = (byte)2;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_TEST2;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
CustomMessageBox.Show("No Mode Changed " + modein);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (Common.getModes() == typeof(Common.ac2modes))
|
|
||||||
{
|
|
||||||
switch (EnumTranslator.GetValue<Common.ac2modes>(modein))
|
|
||||||
{
|
|
||||||
case (int)Common.ac2modes.GUIDED:
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_GUIDED;
|
|
||||||
break;
|
|
||||||
case (int)Common.ac2modes.STABILIZE:
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_MANUAL;
|
|
||||||
break;
|
|
||||||
// AUTO MODES
|
|
||||||
case (int)Common.ac2modes.AUTO:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_WAYPOINT;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
case (int)Common.ac2modes.RTL:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_RETURNING;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
case (int)Common.ac2modes.LOITER:
|
|
||||||
navmode.nav_mode = (byte)MAVLink.MAV_NAV.MAV_NAV_LOITER;
|
|
||||||
mode.mode = (byte)MAVLink.MAV_MODE.MAV_MODE_AUTO;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
CustomMessageBox.Show("No Mode Changed " + modein);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch { System.Windows.Forms.CustomMessageBox.Show("Failed to find Mode"); return false; }
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if MAVLINK10
|
|
||||||
public void setAPType()
|
public void setAPType()
|
||||||
{
|
{
|
||||||
switch (aptype)
|
switch (aptype)
|
||||||
|
@ -2928,24 +2819,6 @@ namespace ArdupilotMega
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
public void setAPType()
|
|
||||||
{
|
|
||||||
switch (aptype)
|
|
||||||
{
|
|
||||||
case MAVLink.MAV_TYPE.MAV_FIXED_WING:
|
|
||||||
MainV2.cs.firmware = MainV2.Firmwares.ArduPlane;
|
|
||||||
break;
|
|
||||||
case MAVLink.MAV_TYPE.MAV_QUADROTOR:
|
|
||||||
MainV2.cs.firmware = MainV2.Firmwares.ArduCopter2;
|
|
||||||
break;
|
|
||||||
case MAVLink.MAV_TYPE.MAV_GROUND:
|
|
||||||
MainV2.cs.firmware = MainV2.Firmwares.ArduRover;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1333,6 +1333,8 @@ namespace ArdupilotMega
|
||||||
foreach (string logfile in openFileDialog1.FileNames)
|
foreach (string logfile in openFileDialog1.FileNames)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
int wplists = 0;
|
||||||
|
|
||||||
MAVLink mine = new MAVLink();
|
MAVLink mine = new MAVLink();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -1344,17 +1346,28 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
mine.packets.Initialize(); // clear
|
mine.packets.Initialize(); // clear
|
||||||
|
|
||||||
StreamWriter sw = new StreamWriter(Path.GetDirectoryName(logfile) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(logfile) + ".txt");
|
while (mine.logplaybackfile.BaseStream.Position < mine.logplaybackfile.BaseStream.Length)
|
||||||
|
{
|
||||||
|
// bar moves to 100 % in this step
|
||||||
|
progressBar1.Value = (int)((float)mine.logplaybackfile.BaseStream.Position / (float)mine.logplaybackfile.BaseStream.Length * 100.0f / 1.0f);
|
||||||
|
|
||||||
// bar moves to 100 % in this step
|
progressBar1.Refresh();
|
||||||
progressBar1.Value = (int)((float)mine.logplaybackfile.BaseStream.Position / (float)mine.logplaybackfile.BaseStream.Length * 100.0f / 1.0f);
|
//Application.DoEvents();
|
||||||
|
byte count = 0;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
count = mine.getWPCount();
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
progressBar1.Refresh();
|
if (count == 0)
|
||||||
//Application.DoEvents();
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
sw.WriteLine("QGC WPL 110");
|
StreamWriter sw = new StreamWriter(Path.GetDirectoryName(logfile) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(logfile) + "-" + wplists + ".txt");
|
||||||
|
|
||||||
byte count = mine.getWPCount();
|
sw.WriteLine("QGC WPL 110");
|
||||||
for (ushort a = 0; a < count; a++)
|
for (ushort a = 0; a < count; a++)
|
||||||
{
|
{
|
||||||
Locationwp wp = mine.getWP(a);
|
Locationwp wp = mine.getWP(a);
|
||||||
|
@ -1375,8 +1388,10 @@ namespace ArdupilotMega
|
||||||
sw.Write("\t" + 1);
|
sw.Write("\t" + 1);
|
||||||
sw.WriteLine("");
|
sw.WriteLine("");
|
||||||
}
|
}
|
||||||
|
|
||||||
sw.Close();
|
sw.Close();
|
||||||
|
wplists++;
|
||||||
|
}
|
||||||
|
|
||||||
progressBar1.Value = 100;
|
progressBar1.Value = 100;
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:difx="http://schemas.microsoft.com/wix/DifxAppExtension">
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:difx="http://schemas.microsoft.com/wix/DifxAppExtension">
|
||||||
|
|
||||||
|
|
||||||
<Product Id="*" Name="APM Planner" Language="1033" Version="1.2.11" Manufacturer="Michael Oborne" UpgradeCode="{625389D7-EB3C-4d77-A5F6-A285CF99437D}">
|
<Product Id="*" Name="APM Planner" Language="1033" Version="1.2.12" Manufacturer="Michael Oborne" UpgradeCode="{625389D7-EB3C-4d77-A5F6-A285CF99437D}">
|
||||||
|
|
||||||
<Package Description="APM Planner Installer" Comments="Apm Planner Installer" Manufacturer="Michael Oborne" InstallerVersion="200" Compressed="yes" />
|
<Package Description="APM Planner Installer" Comments="Apm Planner Installer" Manufacturer="Michael Oborne" InstallerVersion="200" Compressed="yes" />
|
||||||
|
|
||||||
|
|
||||||
<Upgrade Id="{625389D7-EB3C-4d77-A5F6-A285CF99437D}">
|
<Upgrade Id="{625389D7-EB3C-4d77-A5F6-A285CF99437D}">
|
||||||
<UpgradeVersion OnlyDetect="yes" Minimum="1.2.11" Property="NEWERVERSIONDETECTED" IncludeMinimum="no" />
|
<UpgradeVersion OnlyDetect="yes" Minimum="1.2.12" Property="NEWERVERSIONDETECTED" IncludeMinimum="no" />
|
||||||
<UpgradeVersion OnlyDetect="no" Maximum="1.2.11" Property="OLDERVERSIONBEINGUPGRADED" IncludeMaximum="no" />
|
<UpgradeVersion OnlyDetect="no" Maximum="1.2.12" Property="OLDERVERSIONBEINGUPGRADED" IncludeMaximum="no" />
|
||||||
</Upgrade>
|
</Upgrade>
|
||||||
|
|
||||||
<InstallExecuteSequence>
|
<InstallExecuteSequence>
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<Permission User="Everyone" GenericAll="yes" />
|
<Permission User="Everyone" GenericAll="yes" />
|
||||||
</CreateFolder>
|
</CreateFolder>
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="_comp1" Guid="14edd85b-dc50-435c-9790-c20549b31302">
|
<Component Id="_comp1" Guid="00bc1eab-4a5f-41c6-93e6-29f385b08237">
|
||||||
<File Id="_2" Source="..\bin\release\.gdbinit" />
|
<File Id="_2" Source="..\bin\release\.gdbinit" />
|
||||||
<File Id="_3" Source="..\bin\release\.gitignore" />
|
<File Id="_3" Source="..\bin\release\.gitignore" />
|
||||||
<File Id="_4" Source="..\bin\release\aerosim3.91.txt" />
|
<File Id="_4" Source="..\bin\release\aerosim3.91.txt" />
|
||||||
|
@ -61,197 +61,201 @@
|
||||||
<File Id="_28" Source="..\bin\release\BSE.Windows.Forms.pdb" />
|
<File Id="_28" Source="..\bin\release\BSE.Windows.Forms.pdb" />
|
||||||
<File Id="_29" Source="..\bin\release\BSE.Windows.Forms.xml" />
|
<File Id="_29" Source="..\bin\release\BSE.Windows.Forms.xml" />
|
||||||
<File Id="_30" Source="..\bin\release\Core.dll" />
|
<File Id="_30" Source="..\bin\release\Core.dll" />
|
||||||
<File Id="_31" Source="..\bin\release\cygstdc++-6.dll" />
|
<File Id="_31" Source="..\bin\release\Crom.Controls.dll" />
|
||||||
<File Id="_32" Source="..\bin\release\cygwin1.dll" />
|
<File Id="_32" Source="..\bin\release\Crom.Controls.pdb" />
|
||||||
<File Id="_33" Source="..\bin\release\dataflashlog.xml" />
|
<File Id="_33" Source="..\bin\release\cygstdc++-6.dll" />
|
||||||
<File Id="_34" Source="..\bin\release\DirectShowLib-2005.dll" />
|
<File Id="_34" Source="..\bin\release\cygwin1.dll" />
|
||||||
<File Id="_35" Source="..\bin\release\eeprom.bin" />
|
<File Id="_35" Source="..\bin\release\dataflashlog.xml" />
|
||||||
<File Id="_36" Source="..\bin\release\GMap.NET.Core.dll" />
|
<File Id="_36" Source="..\bin\release\DirectShowLib-2005.dll" />
|
||||||
<File Id="_37" Source="..\bin\release\GMap.NET.Core.pdb" />
|
<File Id="_37" Source="..\bin\release\eeprom.bin" />
|
||||||
<File Id="_38" Source="..\bin\release\GMap.NET.WindowsForms.dll" />
|
<File Id="_38" Source="..\bin\release\GMap.NET.Core.dll" />
|
||||||
<File Id="_39" Source="..\bin\release\GMap.NET.WindowsForms.pdb" />
|
<File Id="_39" Source="..\bin\release\GMap.NET.Core.pdb" />
|
||||||
<File Id="_40" Source="..\bin\release\hud.html" />
|
<File Id="_40" Source="..\bin\release\GMap.NET.WindowsForms.dll" />
|
||||||
<File Id="_41" Source="..\bin\release\ICSharpCode.SharpZipLib.dll" />
|
<File Id="_41" Source="..\bin\release\GMap.NET.WindowsForms.pdb" />
|
||||||
<File Id="_42" Source="..\bin\release\Ionic.Zip.Reduced.dll" />
|
<File Id="_42" Source="..\bin\release\hud.html" />
|
||||||
<File Id="_43" Source="..\bin\release\IronPython.dll" />
|
<File Id="_43" Source="..\bin\release\ICSharpCode.SharpZipLib.dll" />
|
||||||
<File Id="_44" Source="..\bin\release\IronPython.Modules.dll" />
|
<File Id="_44" Source="..\bin\release\Ionic.Zip.Reduced.dll" />
|
||||||
<File Id="_45" Source="..\bin\release\JSBSim.exe" />
|
<File Id="_45" Source="..\bin\release\IronPython.dll" />
|
||||||
<File Id="_46" Source="..\bin\release\KMLib.dll" />
|
<File Id="_46" Source="..\bin\release\IronPython.Modules.dll" />
|
||||||
<File Id="_47" Source="..\bin\release\log4net.dll" />
|
<File Id="_47" Source="..\bin\release\JSBSim.exe" />
|
||||||
<File Id="_48" Source="..\bin\release\mavcmd.xml" />
|
<File Id="_48" Source="..\bin\release\KMLib.dll" />
|
||||||
<File Id="_49" Source="..\bin\release\MAVLink.xml" />
|
<File Id="_49" Source="..\bin\release\log4net.dll" />
|
||||||
<File Id="_50" Source="..\bin\release\MetaDataExtractor.dll" />
|
<File Id="_50" Source="..\bin\release\mavcmd.xml" />
|
||||||
<File Id="_51" Source="..\bin\release\Microsoft.DirectX.dll" />
|
<File Id="_51" Source="..\bin\release\MAVLink.xml" />
|
||||||
<File Id="_52" Source="..\bin\release\Microsoft.Dynamic.dll" />
|
<File Id="_52" Source="..\bin\release\MetaDataExtractor.dll" />
|
||||||
<File Id="_53" Source="..\bin\release\Microsoft.Scripting.Core.dll" />
|
<File Id="_53" Source="..\bin\release\Microsoft.DirectX.DirectInput.dll" />
|
||||||
<File Id="_54" Source="..\bin\release\Microsoft.Scripting.Debugging.dll" />
|
<File Id="_54" Source="..\bin\release\Microsoft.DirectX.dll" />
|
||||||
<File Id="_55" Source="..\bin\release\Microsoft.Scripting.dll" />
|
<File Id="_55" Source="..\bin\release\Microsoft.Dynamic.dll" />
|
||||||
<File Id="_56" Source="..\bin\release\Microsoft.Scripting.ExtensionAttribute.dll" />
|
<File Id="_56" Source="..\bin\release\Microsoft.Scripting.Core.dll" />
|
||||||
<File Id="_57" Source="..\bin\release\netDxf.dll" />
|
<File Id="_57" Source="..\bin\release\Microsoft.Scripting.Debugging.dll" />
|
||||||
<File Id="_58" Source="..\bin\release\OpenTK.Compatibility.dll" />
|
<File Id="_58" Source="..\bin\release\Microsoft.Scripting.dll" />
|
||||||
<File Id="_59" Source="..\bin\release\OpenTK.dll" />
|
<File Id="_59" Source="..\bin\release\Microsoft.Scripting.ExtensionAttribute.dll" />
|
||||||
<File Id="_60" Source="..\bin\release\OpenTK.dll.config" />
|
<File Id="_60" Source="..\bin\release\netDxf.dll" />
|
||||||
<File Id="_61" Source="..\bin\release\OpenTK.GLControl.dll" />
|
<File Id="_61" Source="..\bin\release\OpenTK.Compatibility.dll" />
|
||||||
<File Id="_62" Source="..\bin\release\ParameterMetaData.xml" />
|
<File Id="_62" Source="..\bin\release\OpenTK.dll" />
|
||||||
<File Id="_63" Source="..\bin\release\quadhil.xml" />
|
<File Id="_63" Source="..\bin\release\OpenTK.dll.config" />
|
||||||
<File Id="_64" Source="..\bin\release\runme" />
|
<File Id="_64" Source="..\bin\release\OpenTK.GLControl.dll" />
|
||||||
<File Id="_65" Source="..\bin\release\serialsent.raw" />
|
<File Id="_65" Source="..\bin\release\ParameterMetaData.xml" />
|
||||||
<File Id="_66" Source="..\bin\release\SharpKml.dll" />
|
<File Id="_66" Source="..\bin\release\quadhil.xml" />
|
||||||
<File Id="_67" Source="..\bin\release\SharpKml.pdb" />
|
<File Id="_67" Source="..\bin\release\Release.zip" />
|
||||||
<File Id="_68" Source="..\bin\release\SharpKml.xml" />
|
<File Id="_68" Source="..\bin\release\runme" />
|
||||||
<File Id="_69" Source="..\bin\release\System.Data.SQLite.dll" />
|
<File Id="_69" Source="..\bin\release\serialsent.raw" />
|
||||||
<File Id="_70" Source="..\bin\release\System.Reactive.dll" />
|
<File Id="_70" Source="..\bin\release\SharpKml.dll" />
|
||||||
<File Id="_71" Source="..\bin\release\System.Reactive.xml" />
|
<File Id="_71" Source="..\bin\release\SharpKml.pdb" />
|
||||||
<File Id="_72" Source="..\bin\release\System.Speech.dll" />
|
<File Id="_72" Source="..\bin\release\SharpKml.xml" />
|
||||||
<File Id="_73" Source="..\bin\release\Transitions.dll" />
|
<File Id="_73" Source="..\bin\release\System.Data.SQLite.dll" />
|
||||||
<File Id="_74" Source="..\bin\release\Updater.exe" />
|
<File Id="_74" Source="..\bin\release\System.Reactive.dll" />
|
||||||
<File Id="_75" Source="..\bin\release\Updater.exe.config" />
|
<File Id="_75" Source="..\bin\release\System.Reactive.xml" />
|
||||||
<File Id="_76" Source="..\bin\release\Updater.pdb" />
|
<File Id="_76" Source="..\bin\release\System.Speech.dll" />
|
||||||
<File Id="_77" Source="..\bin\release\version.exe" />
|
<File Id="_77" Source="..\bin\release\Transitions.dll" />
|
||||||
<File Id="_78" Source="..\bin\release\version.txt" />
|
<File Id="_78" Source="..\bin\release\Updater.exe" />
|
||||||
<File Id="_79" Source="..\bin\release\ZedGraph.dll" />
|
<File Id="_79" Source="..\bin\release\Updater.exe.config" />
|
||||||
|
<File Id="_80" Source="..\bin\release\Updater.pdb" />
|
||||||
|
<File Id="_81" Source="..\bin\release\version.exe" />
|
||||||
|
<File Id="_82" Source="..\bin\release\version.txt" />
|
||||||
|
<File Id="_83" Source="..\bin\release\ZedGraph.dll" />
|
||||||
</Component>
|
</Component>
|
||||||
<Directory Id="aircraft79" Name="aircraft">
|
<Directory Id="aircraft83" Name="aircraft">
|
||||||
<Component Id="_comp80" Guid="626e4768-abf0-4b69-bd4c-a203dba6a6a6">
|
<Component Id="_comp84" Guid="8739c9c5-9787-44cd-bcde-35025a1b5820">
|
||||||
<File Id="_81" Source="..\bin\release\aircraft\placeholder.txt" />
|
<File Id="_85" Source="..\bin\release\aircraft\placeholder.txt" />
|
||||||
</Component>
|
</Component>
|
||||||
<Directory Id="arducopter81" Name="arducopter">
|
<Directory Id="arducopter85" Name="arducopter">
|
||||||
<Component Id="_comp82" Guid="2d01715e-d29d-4f10-bd83-ec9c9a91e44d">
|
<Component Id="_comp86" Guid="e01e29a2-4aca-4800-986a-25b7dfd5657e">
|
||||||
<File Id="_83" Source="..\bin\release\aircraft\arducopter\arducopter-set.xml" />
|
<File Id="_87" Source="..\bin\release\aircraft\arducopter\arducopter-set.xml" />
|
||||||
<File Id="_84" Source="..\bin\release\aircraft\arducopter\arducopter.jpg" />
|
<File Id="_88" Source="..\bin\release\aircraft\arducopter\arducopter.jpg" />
|
||||||
<File Id="_85" Source="..\bin\release\aircraft\arducopter\arducopter.xml" />
|
<File Id="_89" Source="..\bin\release\aircraft\arducopter\arducopter.xml" />
|
||||||
<File Id="_86" Source="..\bin\release\aircraft\arducopter\initfile.xml" />
|
<File Id="_90" Source="..\bin\release\aircraft\arducopter\initfile.xml" />
|
||||||
<File Id="_87" Source="..\bin\release\aircraft\arducopter\plus_quad2-set.xml" />
|
<File Id="_91" Source="..\bin\release\aircraft\arducopter\plus_quad2-set.xml" />
|
||||||
<File Id="_88" Source="..\bin\release\aircraft\arducopter\plus_quad2.xml" />
|
<File Id="_92" Source="..\bin\release\aircraft\arducopter\plus_quad2.xml" />
|
||||||
<File Id="_89" Source="..\bin\release\aircraft\arducopter\quad.nas" />
|
<File Id="_93" Source="..\bin\release\aircraft\arducopter\quad.nas" />
|
||||||
<File Id="_90" Source="..\bin\release\aircraft\arducopter\README" />
|
<File Id="_94" Source="..\bin\release\aircraft\arducopter\README" />
|
||||||
</Component>
|
</Component>
|
||||||
<Directory Id="data90" Name="data">
|
<Directory Id="data94" Name="data">
|
||||||
<Component Id="_comp91" Guid="35c92295-3274-4062-83b2-f9b57e04dc98">
|
<Component Id="_comp95" Guid="bb75ec93-e59c-437b-b6e0-2310376d997e">
|
||||||
<File Id="_92" Source="..\bin\release\aircraft\arducopter\data\arducopter_half_step.txt" />
|
<File Id="_96" Source="..\bin\release\aircraft\arducopter\data\arducopter_half_step.txt" />
|
||||||
<File Id="_93" Source="..\bin\release\aircraft\arducopter\data\arducopter_step.txt" />
|
<File Id="_97" Source="..\bin\release\aircraft\arducopter\data\arducopter_step.txt" />
|
||||||
<File Id="_94" Source="..\bin\release\aircraft\arducopter\data\rw_generic_pylon.ac" />
|
<File Id="_98" Source="..\bin\release\aircraft\arducopter\data\rw_generic_pylon.ac" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="Engines94" Name="Engines">
|
<Directory Id="Engines98" Name="Engines">
|
||||||
<Component Id="_comp95" Guid="79cc8885-7ed4-4900-8001-8e8fec577e1f">
|
<Component Id="_comp99" Guid="149a1e9f-9cdf-4976-97e3-b7aed7457824">
|
||||||
<File Id="_96" Source="..\bin\release\aircraft\arducopter\Engines\a2830-12.xml" />
|
<File Id="_100" Source="..\bin\release\aircraft\arducopter\Engines\a2830-12.xml" />
|
||||||
<File Id="_97" Source="..\bin\release\aircraft\arducopter\Engines\prop10x4.5.xml" />
|
<File Id="_101" Source="..\bin\release\aircraft\arducopter\Engines\prop10x4.5.xml" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="Models97" Name="Models">
|
<Directory Id="Models101" Name="Models">
|
||||||
<Component Id="_comp98" Guid="823617c4-8c7a-4185-b6a4-ef3afa9cf058">
|
<Component Id="_comp102" Guid="4f421295-b0b3-4545-874b-e83a43a18106">
|
||||||
<File Id="_99" Source="..\bin\release\aircraft\arducopter\Models\arducopter.ac" />
|
<File Id="_103" Source="..\bin\release\aircraft\arducopter\Models\arducopter.ac" />
|
||||||
<File Id="_100" Source="..\bin\release\aircraft\arducopter\Models\arducopter.xml" />
|
<File Id="_104" Source="..\bin\release\aircraft\arducopter\Models\arducopter.xml" />
|
||||||
<File Id="_101" Source="..\bin\release\aircraft\arducopter\Models\plus_quad.ac" />
|
<File Id="_105" Source="..\bin\release\aircraft\arducopter\Models\plus_quad.ac" />
|
||||||
<File Id="_102" Source="..\bin\release\aircraft\arducopter\Models\plus_quad2.ac" />
|
<File Id="_106" Source="..\bin\release\aircraft\arducopter\Models\plus_quad2.ac" />
|
||||||
<File Id="_103" Source="..\bin\release\aircraft\arducopter\Models\plus_quad2.xml" />
|
<File Id="_107" Source="..\bin\release\aircraft\arducopter\Models\plus_quad2.xml" />
|
||||||
<File Id="_104" Source="..\bin\release\aircraft\arducopter\Models\quad.3ds" />
|
<File Id="_108" Source="..\bin\release\aircraft\arducopter\Models\quad.3ds" />
|
||||||
<File Id="_105" Source="..\bin\release\aircraft\arducopter\Models\shareware_output.3ds" />
|
<File Id="_109" Source="..\bin\release\aircraft\arducopter\Models\shareware_output.3ds" />
|
||||||
<File Id="_106" Source="..\bin\release\aircraft\arducopter\Models\Untitled.ac" />
|
<File Id="_110" Source="..\bin\release\aircraft\arducopter\Models\Untitled.ac" />
|
||||||
<File Id="_107" Source="..\bin\release\aircraft\arducopter\Models\Y6_test.ac" />
|
<File Id="_111" Source="..\bin\release\aircraft\arducopter\Models\Y6_test.ac" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="Rascal107" Name="Rascal">
|
<Directory Id="Rascal111" Name="Rascal">
|
||||||
<Component Id="_comp108" Guid="d62d5f01-c08a-4dee-a4e1-07f1d7259a88">
|
<Component Id="_comp112" Guid="f6974dca-c2f9-4093-817a-cd99a6247423">
|
||||||
<File Id="_109" Source="..\bin\release\aircraft\Rascal\Rascal-keyboard.xml" />
|
<File Id="_113" Source="..\bin\release\aircraft\Rascal\Rascal-keyboard.xml" />
|
||||||
<File Id="_110" Source="..\bin\release\aircraft\Rascal\Rascal-submodels.xml" />
|
<File Id="_114" Source="..\bin\release\aircraft\Rascal\Rascal-submodels.xml" />
|
||||||
<File Id="_111" Source="..\bin\release\aircraft\Rascal\Rascal.xml" />
|
<File Id="_115" Source="..\bin\release\aircraft\Rascal\Rascal.xml" />
|
||||||
<File Id="_112" Source="..\bin\release\aircraft\Rascal\Rascal110-JSBSim-set.xml" />
|
<File Id="_116" Source="..\bin\release\aircraft\Rascal\Rascal110-JSBSim-set.xml" />
|
||||||
<File Id="_113" Source="..\bin\release\aircraft\Rascal\Rascal110-JSBSim.xml" />
|
<File Id="_117" Source="..\bin\release\aircraft\Rascal\Rascal110-JSBSim.xml" />
|
||||||
<File Id="_114" Source="..\bin\release\aircraft\Rascal\Rascal110-splash.rgb" />
|
<File Id="_118" Source="..\bin\release\aircraft\Rascal\Rascal110-splash.rgb" />
|
||||||
<File Id="_115" Source="..\bin\release\aircraft\Rascal\README.Rascal" />
|
<File Id="_119" Source="..\bin\release\aircraft\Rascal\README.Rascal" />
|
||||||
<File Id="_116" Source="..\bin\release\aircraft\Rascal\reset_CMAC.xml" />
|
<File Id="_120" Source="..\bin\release\aircraft\Rascal\reset_CMAC.xml" />
|
||||||
<File Id="_117" Source="..\bin\release\aircraft\Rascal\thumbnail.jpg" />
|
<File Id="_121" Source="..\bin\release\aircraft\Rascal\thumbnail.jpg" />
|
||||||
</Component>
|
</Component>
|
||||||
<Directory Id="Engines117" Name="Engines">
|
<Directory Id="Engines121" Name="Engines">
|
||||||
<Component Id="_comp118" Guid="261e663c-9ac0-4808-b8dd-56e21ded8ecf">
|
<Component Id="_comp122" Guid="0832588c-7450-4add-a90f-182138f6c304">
|
||||||
<File Id="_119" Source="..\bin\release\aircraft\Rascal\Engines\18x8.xml" />
|
<File Id="_123" Source="..\bin\release\aircraft\Rascal\Engines\18x8.xml" />
|
||||||
<File Id="_120" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml" />
|
<File Id="_124" Source="..\bin\release\aircraft\Rascal\Engines\Zenoah_G-26A.xml" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="Models120" Name="Models">
|
<Directory Id="Models124" Name="Models">
|
||||||
<Component Id="_comp121" Guid="c1a6789d-950d-4d95-9cc7-a501c8011c3d">
|
<Component Id="_comp125" Guid="7576d9f1-61c7-4573-ac79-45bc35ee7e63">
|
||||||
<File Id="_122" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb" />
|
<File Id="_126" Source="..\bin\release\aircraft\Rascal\Models\Rascal.rgb" />
|
||||||
<File Id="_123" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac" />
|
<File Id="_127" Source="..\bin\release\aircraft\Rascal\Models\Rascal110-000-013.ac" />
|
||||||
<File Id="_124" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml" />
|
<File Id="_128" Source="..\bin\release\aircraft\Rascal\Models\Rascal110.xml" />
|
||||||
<File Id="_125" Source="..\bin\release\aircraft\Rascal\Models\smoke.png" />
|
<File Id="_129" Source="..\bin\release\aircraft\Rascal\Models\smoke.png" />
|
||||||
<File Id="_126" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml" />
|
<File Id="_130" Source="..\bin\release\aircraft\Rascal\Models\smokeW.xml" />
|
||||||
<File Id="_127" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac" />
|
<File Id="_131" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.ac" />
|
||||||
<File Id="_128" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml" />
|
<File Id="_132" Source="..\bin\release\aircraft\Rascal\Models\Trajectory-Marker.xml" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="Systems128" Name="Systems">
|
<Directory Id="Systems132" Name="Systems">
|
||||||
<Component Id="_comp129" Guid="d0209c82-a212-4fdb-a21c-595ebef257e2">
|
<Component Id="_comp133" Guid="f0c415a8-601d-417a-9590-831c5f77c1df">
|
||||||
<File Id="_130" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml" />
|
<File Id="_134" Source="..\bin\release\aircraft\Rascal\Systems\110-autopilot.xml" />
|
||||||
<File Id="_131" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas" />
|
<File Id="_135" Source="..\bin\release\aircraft\Rascal\Systems\airdata.nas" />
|
||||||
<File Id="_132" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml" />
|
<File Id="_136" Source="..\bin\release\aircraft\Rascal\Systems\electrical.xml" />
|
||||||
<File Id="_133" Source="..\bin\release\aircraft\Rascal\Systems\main.nas" />
|
<File Id="_137" Source="..\bin\release\aircraft\Rascal\Systems\main.nas" />
|
||||||
<File Id="_134" Source="..\bin\release\aircraft\Rascal\Systems\ugear.nas" />
|
<File Id="_138" Source="..\bin\release\aircraft\Rascal\Systems\ugear.nas" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
</Directory>
|
</Directory>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="Driver134" Name="Driver">
|
<Directory Id="Driver138" Name="Driver">
|
||||||
<Component Id="_comp135" Guid="2b339b16-e81e-4446-a577-89186b2add10">
|
<Component Id="_comp139" Guid="c0b8d7b1-9907-4b02-891d-1e94033c8224">
|
||||||
<File Id="_136" Source="..\bin\release\Driver\Arduino MEGA 2560.inf" />
|
<File Id="_140" Source="..\bin\release\Driver\Arduino MEGA 2560.inf" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="es_ES136" Name="es-ES">
|
<Directory Id="es_ES140" Name="es-ES">
|
||||||
<Component Id="_comp137" Guid="84622c60-6bc5-4536-b534-3ca384e85739">
|
<Component Id="_comp141" Guid="ac064042-354b-4bff-b59c-84697790dc85">
|
||||||
<File Id="_138" Source="..\bin\release\es-ES\ArdupilotMegaPlanner10.resources.dll" />
|
<File Id="_142" Source="..\bin\release\es-ES\ArdupilotMegaPlanner10.resources.dll" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="fr138" Name="fr">
|
<Directory Id="fr142" Name="fr">
|
||||||
<Component Id="_comp139" Guid="db29830b-f195-4683-98e5-1a29dd1f90db">
|
<Component Id="_comp143" Guid="e9d71399-7e31-437c-823a-37717df08c03">
|
||||||
<File Id="_140" Source="..\bin\release\fr\ArdupilotMegaPlanner10.resources.dll" />
|
<File Id="_144" Source="..\bin\release\fr\ArdupilotMegaPlanner10.resources.dll" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="it_IT140" Name="it-IT">
|
<Directory Id="it_IT144" Name="it-IT">
|
||||||
<Component Id="_comp141" Guid="d948fc7b-ad86-4be1-8491-a9ce57665c0d">
|
<Component Id="_comp145" Guid="a7816e99-06df-42d8-9444-b55c8d754ec6">
|
||||||
<File Id="_142" Source="..\bin\release\it-IT\ArdupilotMegaPlanner10.resources.dll" />
|
<File Id="_146" Source="..\bin\release\it-IT\ArdupilotMegaPlanner10.resources.dll" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="jsbsim142" Name="jsbsim">
|
<Directory Id="jsbsim146" Name="jsbsim">
|
||||||
<Component Id="_comp143" Guid="c2527e3e-d37f-4c08-b35f-89eda4d628e9">
|
<Component Id="_comp147" Guid="c61734d9-4dd2-4384-9b57-53c045c9606a">
|
||||||
<File Id="_144" Source="..\bin\release\jsbsim\fgout.xml" />
|
<File Id="_148" Source="..\bin\release\jsbsim\fgout.xml" />
|
||||||
<File Id="_145" Source="..\bin\release\jsbsim\rascal_test.xml" />
|
<File Id="_149" Source="..\bin\release\jsbsim\rascal_test.xml" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="m3u145" Name="m3u">
|
<Directory Id="m3u149" Name="m3u">
|
||||||
<Component Id="_comp146" Guid="b68d9497-a452-413d-8624-6526c7a039e7">
|
<Component Id="_comp150" Guid="6c79ba31-05ec-4f32-8cf1-c8e708ab8ea5">
|
||||||
<File Id="_147" Source="..\bin\release\m3u\both.m3u" />
|
<File Id="_151" Source="..\bin\release\m3u\both.m3u" />
|
||||||
<File Id="_148" Source="..\bin\release\m3u\GeoRefnetworklink.kml" />
|
<File Id="_152" Source="..\bin\release\m3u\GeoRefnetworklink.kml" />
|
||||||
<File Id="_149" Source="..\bin\release\m3u\hud.m3u" />
|
<File Id="_153" Source="..\bin\release\m3u\hud.m3u" />
|
||||||
<File Id="_150" Source="..\bin\release\m3u\map.m3u" />
|
<File Id="_154" Source="..\bin\release\m3u\map.m3u" />
|
||||||
<File Id="_151" Source="..\bin\release\m3u\networklink.kml" />
|
<File Id="_155" Source="..\bin\release\m3u\networklink.kml" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="pl151" Name="pl">
|
<Directory Id="pl155" Name="pl">
|
||||||
<Component Id="_comp152" Guid="359b6787-5f88-437f-bd66-a46fe5fa218f">
|
<Component Id="_comp156" Guid="58491486-881f-4490-92ab-03f5e1606db0">
|
||||||
<File Id="_153" Source="..\bin\release\pl\ArdupilotMegaPlanner10.resources.dll" />
|
<File Id="_157" Source="..\bin\release\pl\ArdupilotMegaPlanner10.resources.dll" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="Resources153" Name="Resources">
|
<Directory Id="Resources157" Name="Resources">
|
||||||
<Component Id="_comp154" Guid="b0c6b2d3-2d5d-4fd5-ab20-24c95a20fe8c">
|
<Component Id="_comp158" Guid="5fe1820a-7c50-4a0f-9f77-b7adb699b565">
|
||||||
<File Id="_155" Source="..\bin\release\Resources\MAVCmd.txt" />
|
<File Id="_159" Source="..\bin\release\Resources\MAVCmd.txt" />
|
||||||
<File Id="_156" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf" />
|
<File Id="_160" Source="..\bin\release\Resources\Welcome_to_Michael_Oborne.rtf" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="ru_RU156" Name="ru-RU">
|
<Directory Id="ru_RU160" Name="ru-RU">
|
||||||
<Component Id="_comp157" Guid="e10eddb8-431c-40f2-9e22-70824b73ef02">
|
<Component Id="_comp161" Guid="dd56a5d8-4f93-488a-b6ee-dd6299ea8b22">
|
||||||
<File Id="_158" Source="..\bin\release\ru-RU\ArdupilotMegaPlanner10.resources.dll" />
|
<File Id="_162" Source="..\bin\release\ru-RU\ArdupilotMegaPlanner10.resources.dll" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="zh_Hans158" Name="zh-Hans">
|
<Directory Id="zh_Hans162" Name="zh-Hans">
|
||||||
<Component Id="_comp159" Guid="c2bffeb8-3994-49ae-9fec-03ff68237f0a">
|
<Component Id="_comp163" Guid="af6ea193-4ca9-461f-9060-ea5f65dc5396">
|
||||||
<File Id="_160" Source="..\bin\release\zh-Hans\ArdupilotMegaPlanner10.resources.dll" />
|
<File Id="_164" Source="..\bin\release\zh-Hans\ArdupilotMegaPlanner10.resources.dll" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="zh_TW160" Name="zh-TW">
|
<Directory Id="zh_TW164" Name="zh-TW">
|
||||||
<Component Id="_comp161" Guid="3f203723-7fc9-48f5-af76-4ecb6cce7f35">
|
<Component Id="_comp165" Guid="2e9a21fc-2d73-4de2-98d8-75341c0140c6">
|
||||||
<File Id="_162" Source="..\bin\release\zh-TW\ArdupilotMegaPlanner10.resources.dll" />
|
<File Id="_166" Source="..\bin\release\zh-TW\ArdupilotMegaPlanner10.resources.dll" />
|
||||||
</Component>
|
</Component>
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
|
@ -295,26 +299,26 @@
|
||||||
<ComponentRef Id="InstallDirPermissions" />
|
<ComponentRef Id="InstallDirPermissions" />
|
||||||
|
|
||||||
<ComponentRef Id="_comp1" />
|
<ComponentRef Id="_comp1" />
|
||||||
<ComponentRef Id="_comp80" />
|
<ComponentRef Id="_comp84" />
|
||||||
<ComponentRef Id="_comp82" />
|
<ComponentRef Id="_comp86" />
|
||||||
<ComponentRef Id="_comp91" />
|
|
||||||
<ComponentRef Id="_comp95" />
|
<ComponentRef Id="_comp95" />
|
||||||
<ComponentRef Id="_comp98" />
|
<ComponentRef Id="_comp99" />
|
||||||
<ComponentRef Id="_comp108" />
|
<ComponentRef Id="_comp102" />
|
||||||
<ComponentRef Id="_comp118" />
|
<ComponentRef Id="_comp112" />
|
||||||
<ComponentRef Id="_comp121" />
|
<ComponentRef Id="_comp122" />
|
||||||
<ComponentRef Id="_comp129" />
|
<ComponentRef Id="_comp125" />
|
||||||
<ComponentRef Id="_comp135" />
|
<ComponentRef Id="_comp133" />
|
||||||
<ComponentRef Id="_comp137" />
|
|
||||||
<ComponentRef Id="_comp139" />
|
<ComponentRef Id="_comp139" />
|
||||||
<ComponentRef Id="_comp141" />
|
<ComponentRef Id="_comp141" />
|
||||||
<ComponentRef Id="_comp143" />
|
<ComponentRef Id="_comp143" />
|
||||||
<ComponentRef Id="_comp146" />
|
<ComponentRef Id="_comp145" />
|
||||||
<ComponentRef Id="_comp152" />
|
<ComponentRef Id="_comp147" />
|
||||||
<ComponentRef Id="_comp154" />
|
<ComponentRef Id="_comp150" />
|
||||||
<ComponentRef Id="_comp157" />
|
<ComponentRef Id="_comp156" />
|
||||||
<ComponentRef Id="_comp159" />
|
<ComponentRef Id="_comp158" />
|
||||||
<ComponentRef Id="_comp161" />
|
<ComponentRef Id="_comp161" />
|
||||||
|
<ComponentRef Id="_comp163" />
|
||||||
|
<ComponentRef Id="_comp165" />
|
||||||
|
|
||||||
|
|
||||||
<ComponentRef Id="ApplicationShortcut" />
|
<ComponentRef Id="ApplicationShortcut" />
|
||||||
|
|
|
@ -253,6 +253,8 @@ namespace ArdupilotMega.Controls
|
||||||
|
|
||||||
sw.Start();
|
sw.Start();
|
||||||
|
|
||||||
|
zoom = 11;
|
||||||
|
|
||||||
getImage();
|
getImage();
|
||||||
|
|
||||||
sw.Stop();
|
sw.Stop();
|
||||||
|
@ -261,7 +263,7 @@ namespace ArdupilotMega.Controls
|
||||||
|
|
||||||
sw.Start();
|
sw.Start();
|
||||||
|
|
||||||
double increment = step * 1;
|
double increment = step * 5;
|
||||||
|
|
||||||
double cleanup = area.Bottom % increment;
|
double cleanup = area.Bottom % increment;
|
||||||
double cleanup2 = area.Left % increment;
|
double cleanup2 = area.Left % increment;
|
||||||
|
@ -274,12 +276,12 @@ namespace ArdupilotMega.Controls
|
||||||
{
|
{
|
||||||
int heightl = srtm.getAltitude(z, area.Right + area.Left - x, 20);
|
int heightl = srtm.getAltitude(z, area.Right + area.Left - x, 20);
|
||||||
|
|
||||||
// Console.WriteLine(x + " " + z);
|
// Console.WriteLine(x + " " + z);
|
||||||
|
|
||||||
GL.Color3(Color.White);
|
GL.Color3(Color.White);
|
||||||
|
|
||||||
|
|
||||||
// int heightl = 0;
|
// int heightl = 0;
|
||||||
|
|
||||||
double scale2 = (Math.Abs(x - area.Left) / area.WidthLng);// / (float)_terrain.Width;
|
double scale2 = (Math.Abs(x - area.Left) / area.WidthLng);// / (float)_terrain.Width;
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,10 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
//Common.linearRegression();
|
//Common.linearRegression();
|
||||||
|
|
||||||
//Console.WriteLine(srtm.getAltitude(-35.115676879882812, 117.94178754638671,20));
|
Console.WriteLine(srtm.getAltitude(-35.115676879882812, 117.94178754638671,20));
|
||||||
|
|
||||||
|
// Console.ReadLine();
|
||||||
|
// return;
|
||||||
/*
|
/*
|
||||||
Arduino.ArduinoSTKv2 comport = new Arduino.ArduinoSTKv2();
|
Arduino.ArduinoSTKv2 comport = new Arduino.ArduinoSTKv2();
|
||||||
|
|
||||||
|
|
|
@ -34,5 +34,5 @@ using System.Resources;
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.1.*")]
|
[assembly: AssemblyVersion("1.1.*")]
|
||||||
[assembly: AssemblyFileVersion("1.2.12")]
|
[assembly: AssemblyFileVersion("1.2.13")]
|
||||||
[assembly: NeutralResourcesLanguageAttribute("")]
|
[assembly: NeutralResourcesLanguageAttribute("")]
|
||||||
|
|
|
@ -251,7 +251,7 @@ namespace resedit
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
thisAssembly = Assembly.LoadFile(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + ci + Path.DirectorySeparatorChar + "ArdupilotMegaPlanner.resources.dll");
|
thisAssembly = Assembly.LoadFile(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + ci + Path.DirectorySeparatorChar + "ArdupilotMegaPlanner10.resources.dll");
|
||||||
}
|
}
|
||||||
catch { return; }
|
catch { return; }
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,6 @@
|
||||||
<F5>Yaw IN</F5>
|
<F5>Yaw IN</F5>
|
||||||
<F6>Yaw</F6>
|
<F6>Yaw</F6>
|
||||||
<F7>Nav Yaw</F7>
|
<F7>Nav Yaw</F7>
|
||||||
<F8>Roll I</F8>
|
|
||||||
<F9>Pitch I</F9>
|
|
||||||
</ATT>
|
</ATT>
|
||||||
<NTUN>
|
<NTUN>
|
||||||
<F1>WP Dist</F1>
|
<F1>WP Dist</F1>
|
||||||
|
@ -32,20 +30,16 @@
|
||||||
<F6>Nav Roll</F6>
|
<F6>Nav Roll</F6>
|
||||||
<F7>X Speed</F7>
|
<F7>X Speed</F7>
|
||||||
<F8>Y Speed</F8>
|
<F8>Y Speed</F8>
|
||||||
<F9>Nav Lon I</F9>
|
|
||||||
<F10>Nav Lat I</F10>
|
|
||||||
</NTUN>
|
</NTUN>
|
||||||
<CTUN>
|
<CTUN>
|
||||||
<F1>Thr in</F1>
|
<F1>Thr IN</F1>
|
||||||
<F2>Sonar Alt</F2>
|
<F2>Sonar Alt</F2>
|
||||||
<F3>Baro Alt</F3>
|
<F3>Baro Alt</F3>
|
||||||
<F4>WP Alt</F4>
|
<F4>WP Alt</F4>
|
||||||
<F5>Nav Throttle</F5>
|
<F5>Nav Throttle</F5>
|
||||||
<F6>Angle Boost</F6>
|
<F6>Angle boost</F6>
|
||||||
<F7>Climb Rate</F7>
|
<F7>Climb Rate</F7>
|
||||||
<F8>Throttle Out</F8>
|
<F8>Throttle Out</F8>
|
||||||
<F9>Alt Hold Int</F9>
|
|
||||||
<F10>Thr iInt</F10>
|
|
||||||
</CTUN>
|
</CTUN>
|
||||||
<PM>
|
<PM>
|
||||||
<F1>Gyro Saturation</F1>
|
<F1>Gyro Saturation</F1>
|
||||||
|
|
|
@ -27,19 +27,21 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
static Hashtable filecache = new Hashtable();
|
static Hashtable filecache = new Hashtable();
|
||||||
|
|
||||||
|
static Dictionary<string, short[,]> cache = new Dictionary<string, short[,]>();
|
||||||
|
|
||||||
public static int getAltitude(double lat, double lng, double zoom)
|
public static int getAltitude(double lat, double lng, double zoom)
|
||||||
{
|
{
|
||||||
short alt = 0;
|
short alt = 0;
|
||||||
|
|
||||||
lat += 1 / 1199.0;
|
//lat += 1 / 1199.0;
|
||||||
//lng -= 1 / 1201f;
|
//lng -= 1 / 1201f;
|
||||||
|
|
||||||
// lat -35.115676879882812 double
|
// lat -35.115676879882812 double
|
||||||
// lng 117.94178754638671 double
|
// lng 117.94178754638671 double
|
||||||
// alt 70 short
|
// alt 70 short
|
||||||
|
|
||||||
int x = (int)Math.Floor(lng);
|
int x = (lng < 0) ? (int)(lng-1) : (int)lng;//(int)Math.Floor(lng);
|
||||||
int y = (int)Math.Floor(lat);
|
int y = (lat < 0) ? (int)(lat - 1) : (int)lat; ;//(int)Math.Floor(lat);
|
||||||
|
|
||||||
string ns;
|
string ns;
|
||||||
if (y > 0)
|
if (y > 0)
|
||||||
|
@ -63,47 +65,65 @@ namespace ArdupilotMega
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
if (filecache.ContainsKey(datadirectory + Path.DirectorySeparatorChar + filename) || File.Exists(datadirectory + Path.DirectorySeparatorChar + filename))
|
if (cache.ContainsKey(filename) || File.Exists(datadirectory + Path.DirectorySeparatorChar + filename))
|
||||||
{ // srtm hgt files
|
{ // srtm hgt files
|
||||||
//FileStream fs = new FileStream(datadirectory + Path.DirectorySeparatorChar + filename, FileMode.Open, FileAccess.Read, FileShare.Read);
|
|
||||||
|
|
||||||
MemoryStream fs = readFile(datadirectory + Path.DirectorySeparatorChar + filename);
|
int size = -1;
|
||||||
|
|
||||||
|
if (!cache.ContainsKey(filename))
|
||||||
|
{
|
||||||
|
FileStream fs = new FileStream(datadirectory + Path.DirectorySeparatorChar + filename, FileMode.Open, FileAccess.Read, FileShare.Read);
|
||||||
|
|
||||||
|
if (fs.Length == (1201 * 1201 * 2))
|
||||||
|
{
|
||||||
|
size = 1201;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
size = 3601;
|
||||||
|
}
|
||||||
|
|
||||||
|
byte[] altbytes = new byte[2];
|
||||||
|
short[,] altdata = new short[size, size];
|
||||||
|
|
||||||
|
|
||||||
|
int altlat = 0;
|
||||||
|
int altlng = 0;
|
||||||
|
|
||||||
|
while (fs.Read(altbytes, 0, 2) != 0)
|
||||||
|
{
|
||||||
|
altdata[altlat, altlng] = (short)((altbytes[0] << 8) + altbytes[1]);
|
||||||
|
|
||||||
|
altlat++;
|
||||||
|
if (altlat >= size)
|
||||||
|
{
|
||||||
|
altlng++;
|
||||||
|
altlat = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.Close();
|
||||||
|
|
||||||
|
cache[filename] = altdata;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cache[filename].Length == (1201 * 1201))
|
||||||
|
{
|
||||||
|
size = 1201;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
size = 3601;
|
||||||
|
}
|
||||||
|
|
||||||
int posx = 0;
|
int posx = 0;
|
||||||
int row = 0;
|
int row = 0;
|
||||||
|
|
||||||
if (fs.Length <= (1201 * 1201 * 2))
|
posx = (int)(((float)(lng - x)) * (size * 1));
|
||||||
{
|
row = (int)(((float)(lat - y)) * (size * 1));
|
||||||
posx = (int)(((float)(lng - x)) * (1201 * 2));
|
row = size - row;
|
||||||
row = (int)(((float)(lat - y)) * 1201) * (1201 * 2);
|
|
||||||
row = (1201 * 1201 * 2) - row;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
posx = (int)(((float)(lng - x)) * (3601 * 2));
|
|
||||||
row = (int)(((float)(lat - y)) * 3601) * (3601 * 2);
|
|
||||||
row = (3601 * 3601 * 2) - row;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (posx % 2 == 1)
|
return cache[filename][posx, row];
|
||||||
{
|
|
||||||
posx--;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Console.WriteLine(filename + " row " + row + " posx" + posx);
|
|
||||||
|
|
||||||
byte[] data = new byte[2];
|
|
||||||
|
|
||||||
fs.Seek((int)(row + posx), SeekOrigin.Begin);
|
|
||||||
fs.Read(data, 0, data.Length);
|
|
||||||
|
|
||||||
//fs.Close();
|
|
||||||
|
|
||||||
//Array.Reverse(data);
|
|
||||||
|
|
||||||
alt = (short)((data[0] << 8) + data[1]) ;//BitConverter.ToInt16(data, 0);
|
|
||||||
|
|
||||||
return alt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
string filename2 = "srtm_" + Math.Round((lng + 2.5 + 180) / 5, 0).ToString("00") + "_" + Math.Round((60 - lat + 2.5) / 5, 0).ToString("00") + ".asc";
|
string filename2 = "srtm_" + Math.Round((lng + 2.5 + 180) / 5, 0).ToString("00") + "_" + Math.Round((60 - lat + 2.5) / 5, 0).ToString("00") + ".asc";
|
||||||
|
|
|
@ -249,7 +249,7 @@
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(685, 285);
|
this.ClientSize = new System.Drawing.Size(685, 507);
|
||||||
this.Controls.Add(this.myButton1);
|
this.Controls.Add(this.myButton1);
|
||||||
this.Controls.Add(this.BUT_paramgen);
|
this.Controls.Add(this.BUT_paramgen);
|
||||||
this.Controls.Add(this.BUT_follow_me);
|
this.Controls.Add(this.BUT_follow_me);
|
||||||
|
|
|
@ -31,11 +31,11 @@ namespace ArdupilotMega
|
||||||
|
|
||||||
if (System.Diagnostics.Debugger.IsAttached) {
|
if (System.Diagnostics.Debugger.IsAttached) {
|
||||||
|
|
||||||
// ArdupilotMega.Controls.OpenGLtest ogl = new Controls.OpenGLtest();
|
ArdupilotMega.Controls.OpenGLtest ogl = new Controls.OpenGLtest();
|
||||||
|
|
||||||
// this.Controls.Add(ogl);
|
this.Controls.Add(ogl);
|
||||||
|
|
||||||
// ogl.Dock = DockStyle.Fill;
|
ogl.Dock = DockStyle.Fill;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue