From 39640e8d944bd059390fa8c559d34af096c12261 Mon Sep 17 00:00:00 2001 From: Michael Oborne Date: Sat, 17 Sep 2011 21:22:07 +0800 Subject: [PATCH] APM Planner 1.0.69 prep for ac2 2.0.43 - simple mode modify some scaling in Config add hud speed warning. add link quality and time to HUD fix ac2 logs, relative alt. prep for mavlink 1.0 add time to tlog > plain text conversion --- .../ArdupilotMegaPlanner/ArdupilotMega.csproj | 1 + Tools/ArdupilotMegaPlanner/Common.cs | 13 +- Tools/ArdupilotMegaPlanner/CurrentState.cs | 19 +- .../GCSViews/Configuration.Designer.cs | 63 +- .../GCSViews/Configuration.resx | 10694 ++++++++-------- .../GCSViews/FlightData.cs | 13 +- .../GCSViews/FlightPlanner.cs | 4 +- Tools/ArdupilotMegaPlanner/HUD.cs | 138 +- Tools/ArdupilotMegaPlanner/Log.cs | 13 +- Tools/ArdupilotMegaPlanner/MAVLink.cs | 220 +- Tools/ArdupilotMegaPlanner/MAVLinkTypes.cs | 1918 +-- .../ArdupilotMegaPlanner/MAVLinkTypesenum.cs | 154 +- Tools/ArdupilotMegaPlanner/MainV2.cs | 28 +- Tools/ArdupilotMegaPlanner/MavlinkLog.cs | 5 +- .../Properties/AssemblyInfo.cs | 2 +- .../Resources/MAVParam.txt | 14 +- .../Setup/Setup.Designer.cs | 402 +- Tools/ArdupilotMegaPlanner/Setup/Setup.cs | 11 + Tools/ArdupilotMegaPlanner/Setup/Setup.resx | 3117 +++-- .../bin/Release/GCSViews/Configuration.resx | 10694 ++++++++-------- .../bin/Release/dataflashlog.xml | 12 +- Tools/ArdupilotMegaPlanner/dataflashlog.xml | 12 +- Tools/ArdupilotMegaPlanner/georefimage.cs | 127 + Tools/ArdupilotMegaPlanner/hudold.cs | 1149 ++ .../mavlinklist-xml-dontuse.pl | 132 + Tools/ArdupilotMegaPlanner/mavlinklist.pl | 133 +- Tools/ArdupilotMegaPlanner/srtm.cs | 161 +- 27 files changed, 16161 insertions(+), 13088 deletions(-) create mode 100644 Tools/ArdupilotMegaPlanner/georefimage.cs create mode 100644 Tools/ArdupilotMegaPlanner/hudold.cs create mode 100644 Tools/ArdupilotMegaPlanner/mavlinklist-xml-dontuse.pl diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj index ddfdd3e8d6..b75096d41e 100644 --- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj +++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj @@ -188,6 +188,7 @@ Component + diff --git a/Tools/ArdupilotMegaPlanner/Common.cs b/Tools/ArdupilotMegaPlanner/Common.cs index a9c7314de0..ccd82ba138 100644 --- a/Tools/ArdupilotMegaPlanner/Common.cs +++ b/Tools/ArdupilotMegaPlanner/Common.cs @@ -240,13 +240,12 @@ namespace ArdupilotMega { STABILIZE = 0, // hold level position ACRO = 1, // rate control - SIMPLE = 2, // - ALT_HOLD = 3, // AUTO control - AUTO = 4, // AUTO control - GUIDED = 5, // AUTO control - LOITER = 6, // Hold a single location - RTL = 7, // AUTO control - CIRCLE = 8 + ALT_HOLD = 2, // AUTO control + AUTO = 3, // AUTO control + GUIDED = 4, // AUTO control + LOITER = 5, // Hold a single location + RTL = 6, // AUTO control + CIRCLE = 7 } public static bool translateMode(string modein, ref MAVLink.__mavlink_set_nav_mode_t navmode, ref MAVLink.__mavlink_set_mode_t mode) diff --git a/Tools/ArdupilotMegaPlanner/CurrentState.cs b/Tools/ArdupilotMegaPlanner/CurrentState.cs index 71db65033b..8cf6af287d 100644 --- a/Tools/ArdupilotMegaPlanner/CurrentState.cs +++ b/Tools/ArdupilotMegaPlanner/CurrentState.cs @@ -65,7 +65,7 @@ namespace ArdupilotMega public float gz { get; set; } // calced turn rate - public float turnrate { get { if (groundspeed == 0) return 0; return (roll * 9.8f) / groundspeed; } } + public float turnrate { get { if (groundspeed <= 1) return 0; return (roll * 9.8f) / groundspeed; } } //radio public float ch1in { get; set; } @@ -101,17 +101,17 @@ namespace ArdupilotMega //nav state public float nav_roll { get; set; } public float nav_pitch { get; set; } - public short nav_bearing { get; set; } - public short target_bearing { get; set; } - public ushort wp_dist { get { return (ushort)(_wpdist * multiplierdist); } set { _wpdist = value; } } + public float nav_bearing { get; set; } + public float target_bearing { get; set; } + public float wp_dist { get { return (_wpdist * multiplierdist); } set { _wpdist = value; } } public float alt_error { get { return _alt_error * multiplierdist; } set { _alt_error = value; } } public float ber_error { get { return (target_bearing - yaw); } set { } } public float aspd_error { get { return _aspd_error * multiplierspeed; } set { _aspd_error = value; } } public float xtrack_error { get; set; } - public int wpno { get; set; } + public float wpno { get; set; } public string mode { get; set; } public float climbrate { get; set; } - ushort _wpdist; + float _wpdist; float _aspd_error; float _alt_error; @@ -150,7 +150,8 @@ namespace ArdupilotMega public float brklevel { get; set; } // stats - public ushort packetdrop { get; set; } + public ushort packetdropremote { get; set; } + public ushort linkqualitygcs { get; set; } // requested stream rates public byte rateattitude { get; set; } @@ -361,7 +362,7 @@ namespace ArdupilotMega battery_voltage = sysstatus.vbat; battery_remaining = sysstatus.battery_remaining; - packetdrop = sysstatus.packet_drop; + packetdropremote = sysstatus.packet_drop; if (oldmode != mode && MainV2.speechenable && MainV2.getConfig("speechmodeenabled") == "True") { @@ -468,7 +469,7 @@ namespace ArdupilotMega wpcur = (ArdupilotMega.MAVLink.__mavlink_waypoint_current_t)(temp); - int oldwp = wpno; + int oldwp = (int)wpno; wpno = wpcur.seq; diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.Designer.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.Designer.cs index 82d0c1de51..a93b411f51 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.Designer.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.Designer.cs @@ -30,8 +30,8 @@ { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Configuration)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); this.Params = new System.Windows.Forms.DataGridView(); this.Command = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Value = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -167,9 +167,6 @@ this.label21 = new System.Windows.Forms.Label(); this.THR_HOLD_P = new System.Windows.Forms.DomainUpDown(); this.label22 = new System.Windows.Forms.Label(); - this.groupBox18 = new System.Windows.Forms.GroupBox(); - this.PITCH_MAX = new System.Windows.Forms.DomainUpDown(); - this.label27 = new System.Windows.Forms.Label(); this.groupBox19 = new System.Windows.Forms.GroupBox(); this.HLD_LAT_IMAX = new System.Windows.Forms.DomainUpDown(); this.label28 = new System.Windows.Forms.Label(); @@ -285,7 +282,6 @@ this.groupBox4.SuspendLayout(); this.groupBox6.SuspendLayout(); this.groupBox7.SuspendLayout(); - this.groupBox18.SuspendLayout(); this.groupBox19.SuspendLayout(); this.groupBox20.SuspendLayout(); this.groupBox21.SuspendLayout(); @@ -302,14 +298,14 @@ this.Params.AllowUserToAddRows = false; this.Params.AllowUserToDeleteRows = false; resources.ApplyResources(this.Params, "Params"); - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle3.BackColor = System.Drawing.Color.Maroon; - dataGridViewCellStyle3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - dataGridViewCellStyle3.ForeColor = System.Drawing.Color.White; - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.Params.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.Maroon; + dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle1.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.Params.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; this.Params.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.Params.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Command, @@ -318,14 +314,14 @@ this.mavScale, this.RawValue}); this.Params.Name = "Params"; - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.ActiveCaption; - dataGridViewCellStyle4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.Params.RowHeadersDefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.ActiveCaption; + dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.Params.RowHeadersDefaultCellStyle = dataGridViewCellStyle2; this.Params.RowHeadersVisible = false; this.Params.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.Params_CellValueChanged); // @@ -990,7 +986,6 @@ this.TabAC2.Controls.Add(this.groupBox4); this.TabAC2.Controls.Add(this.groupBox6); this.TabAC2.Controls.Add(this.groupBox7); - this.TabAC2.Controls.Add(this.groupBox18); this.TabAC2.Controls.Add(this.groupBox19); this.TabAC2.Controls.Add(this.groupBox20); this.TabAC2.Controls.Add(this.groupBox21); @@ -1157,24 +1152,6 @@ resources.ApplyResources(this.label22, "label22"); this.label22.Name = "label22"; // - // groupBox18 - // - this.groupBox18.Controls.Add(this.PITCH_MAX); - this.groupBox18.Controls.Add(this.label27); - resources.ApplyResources(this.groupBox18, "groupBox18"); - this.groupBox18.Name = "groupBox18"; - this.groupBox18.TabStop = false; - // - // PITCH_MAX - // - resources.ApplyResources(this.PITCH_MAX, "PITCH_MAX"); - this.PITCH_MAX.Name = "PITCH_MAX"; - // - // label27 - // - resources.ApplyResources(this.label27, "label27"); - this.label27.Name = "label27"; - // // groupBox19 // this.groupBox19.Controls.Add(this.HLD_LAT_IMAX); @@ -1887,7 +1864,6 @@ this.groupBox4.ResumeLayout(false); this.groupBox6.ResumeLayout(false); this.groupBox7.ResumeLayout(false); - this.groupBox18.ResumeLayout(false); this.groupBox19.ResumeLayout(false); this.groupBox20.ResumeLayout(false); this.groupBox21.ResumeLayout(false); @@ -2031,9 +2007,6 @@ private System.Windows.Forms.Label label21; private System.Windows.Forms.DomainUpDown THR_HOLD_P; private System.Windows.Forms.Label label22; - private System.Windows.Forms.GroupBox groupBox18; - private System.Windows.Forms.DomainUpDown PITCH_MAX; - private System.Windows.Forms.Label label27; private System.Windows.Forms.GroupBox groupBox19; private System.Windows.Forms.DomainUpDown HLD_LAT_IMAX; private System.Windows.Forms.Label label28; diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx index 8c4784c6d9..1ecdd308f8 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.resx @@ -192,6 +192,2421 @@ Top, Bottom, Left, Right + + 111, 82 + + + 78, 20 + + + 11 + + + THR_FS_VALUE + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 0 + + + NoControl + + + 6, 86 + + + 50, 13 + + + 12 + + + FS Value + + + label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + THR_MAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 2 + + + NoControl + + + 6, 63 + + + 27, 13 + + + 13 + + + Max + + + label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + THR_MIN + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 4 + + + NoControl + + + 6, 40 + + + 24, 13 + + + 14 + + + Min + + + label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + TRIM_THROTTLE + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 6 + + + NoControl + + + 6, 17 + + + 36, 13 + + + 15 + + + Cruise + + + label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 7 + + + 405, 217 + + + 195, 108 + + + 0 + + + Throttle 0-100% + + + groupBox3 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 0 + + + 111, 82 + + + 78, 20 + + + 0 + + + ARSPD_RATIO + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + NoControl + + + 6, 87 + + + 32, 13 + + + 1 + + + Ratio + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + 111, 59 + + + 78, 20 + + + 2 + + + ARSPD_FBW_MAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 2 + + + NoControl + + + 6, 59 + + + 53, 13 + + + 3 + + + FBW max + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 3 + + + 111, 36 + + + 78, 20 + + + 4 + + + ARSPD_FBW_MIN + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 4 + + + NoControl + + + 6, 40 + + + 50, 13 + + + 5 + + + FBW min + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + TRIM_ARSPD_CM + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 6 + + + NoControl + + + 6, 17 + + + 64, 13 + + + 6 + + + Cruise + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 7 + + + 406, 325 + + + 195, 108 + + + 1 + + + Airspeed m/s + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + LIM_PITCH_MIN + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 0 + + + NoControl + + + 6, 63 + + + 51, 13 + + + 10 + + + Pitch Min + + + label39 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 1 + + + 111, 36 + + + 78, 20 + + + 7 + + + LIM_PITCH_MAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 2 + + + NoControl + + + 6, 40 + + + 54, 13 + + + 11 + + + Pitch Max + + + label38 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 3 + + + 111, 13 + + + 78, 20 + + + 5 + + + LIM_ROLL_CD + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 4 + + + NoControl + + + 6, 17 + + + 55, 13 + + + 12 + + + Bank Max + + + label37 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 5 + + + 205, 325 + + + 195, 108 + + + 2 + + + Navigation Angles + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 2 + + + 111, 36 + + + 78, 20 + + + 7 + + + XTRK_ANGLE_CD + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox15 + + + 0 + + + NoControl + + + 6, 40 + + + 61, 13 + + + 8 + + + Entry Angle + + + label79 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox15 + + + 1 + + + 111, 13 + + + 78, 20 + + + 5 + + + XTRK_GAIN_SC + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox15 + + + 2 + + + NoControl + + + 6, 17 + + + 52, 13 + + + 9 + + + Gain (cm) + + + label80 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox15 + + + 3 + + + 4, 325 + + + 195, 108 + + + 3 + + + Xtrack Pids + + + groupBox15 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 3 + + + 111, 13 + + + 78, 20 + + + 13 + + + KFF_PTCH2THR + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 0 + + + NoControl + + + 6, 17 + + + 36, 13 + + + 14 + + + P to T + + + label83 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + KFF_RDDRMIX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 2 + + + NoControl + + + 6, 63 + + + 61, 13 + + + 15 + + + Rudder Mix + + + label78 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + KFF_PTCHCOMP + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 4 + + + NoControl + + + 6, 40 + + + 61, 13 + + + 16 + + + Pitch Comp + + + label81 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 5 + + + 205, 217 + + + 195, 108 + + + 4 + + + Other Mix's + + + groupBox16 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 4 + + + 111, 82 + + + 78, 20 + + + 11 + + + ENRGY2THR_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label73 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + ENRGY2THR_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label74 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + ENRGY2THR_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label75 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + ENRGY2THR_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label76 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 7 + + + 4, 217 + + + 195, 108 + + + 5 + + + Energy/Alt Pid + + + groupBox14 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 5 + + + 111, 82 + + + 78, 20 + + + 0 + + + ALT2PTCH_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 1 + + + INT_MAX + + + label69 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 1 + + + 111, 59 + + + 78, 20 + + + 2 + + + ALT2PTCH_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 3 + + + D + + + label70 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 3 + + + 111, 36 + + + 78, 20 + + + 4 + + + ALT2PTCH_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label71 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 5 + + + 111, 13 + + + 78, 20 + + + 6 + + + ALT2PTCH_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 7 + + + P + + + label72 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 7 + + + 406, 109 + + + 195, 108 + + + 6 + + + Nav Pitch Alt Pid + + + groupBox13 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 6 + + + 111, 82 + + + 78, 20 + + + 0 + + + ARSP2PTCH_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 1 + + + INT_MAX + + + label65 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 1 + + + 111, 59 + + + 78, 20 + + + 2 + + + ARSP2PTCH_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 3 + + + D + + + label66 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 3 + + + 111, 36 + + + 78, 20 + + + 4 + + + ARSP2PTCH_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label67 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 5 + + + 111, 13 + + + 78, 20 + + + 6 + + + ARSP2PTCH_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 7 + + + P + + + label68 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 7 + + + 205, 109 + + + 195, 108 + + + 7 + + + Nav Pitch AS Pid + + + groupBox12 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 7 + + + 111, 82 + + + 78, 20 + + + 11 + + + HDNG2RLL_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label61 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + HDNG2RLL_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label62 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + HDNG2RLL_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label63 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + HDNG2RLL_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label64 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 7 + + + 4, 109 + + + 195, 108 + + + 8 + + + Nav Roll Pid + + + groupBox11 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 8 + + + 111, 82 + + + 78, 20 + + + 11 + + + YW2SRV_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label57 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + YW2SRV_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label58 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + YW2SRV_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label59 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + YW2SRV_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label60 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 7 + + + 406, 1 + + + 195, 108 + + + 9 + + + Servo Yaw Pid + + + groupBox10 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 9 + + + 111, 82 + + + 78, 20 + + + 11 + + + PTCH2SRV_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label53 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + PTCH2SRV_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label54 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + PTCH2SRV_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label55 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + PTCH2SRV_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label56 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 7 + + + 205, 1 + + + 195, 108 + + + 10 + + + Servo Pitch Pid + + + groupBox9 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 10 + + + 111, 82 + + + 78, 20 + + + 11 + + + RLL2SRV_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label49 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + RLL2SRV_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label50 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + RLL2SRV_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label51 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + RLL2SRV_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label52 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 7 + + + 4, 1 + + + 195, 108 + + + 11 + + + Servo Roll Pid + + + groupBox8 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 11 + + + 4, 22 + + + 0, 0, 0, 0 + + + 722, 434 + + + 0 + + + APM 2.x + TabAPM2 @@ -204,6 +2619,1824 @@ 0 + + True + + + 3, 198 + + + 154, 17 + + + 13 + + + Lock Pitch and Roll Values + + + CHK_lockrollpitch + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 0 + + + 80, 86 + + + 78, 20 + + + 16 + + + WP_SPEED_MAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 0 + + + NoControl + + + 6, 89 + + + 54, 13 + + + 17 + + + m/s + + + label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 1 + + + 80, 63 + + + 78, 20 + + + 11 + + + NAV_LAT_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 2 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 3 + + + 80, 37 + + + 78, 20 + + + 7 + + + NAV_LAT_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 5 + + + 80, 13 + + + 78, 20 + + + 5 + + + NAV_LAT_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 6 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label16 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 7 + + + 534, 107 + + + 170, 108 + + + 0 + + + Nav WP + + + groupBox4 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 1 + + + 80, 86 + + + 78, 20 + + + 18 + + + XTRK_ANGLE_CD1 + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 0 + + + NoControl + + + 6, 89 + + + 82, 13 + + + 19 + + + Error Max + + + label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 1 + + + 80, 63 + + + 78, 20 + + + 11 + + + XTRACK_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 2 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 3 + + + 80, 37 + + + 78, 20 + + + 7 + + + XTRACK_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label17 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 5 + + + 80, 13 + + + 78, 20 + + + 5 + + + XTRACK_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 6 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label18 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 7 + + + 182, 241 + + + 170, 110 + + + 2 + + + Crosstrack Correction + + + groupBox6 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 2 + + + 80, 63 + + + 78, 20 + + + 11 + + + THR_HOLD_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label19 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + THR_HOLD_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label21 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + THR_HOLD_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label22 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 5 + + + 6, 241 + + + 170, 110 + + + 3 + + + Altitude Hold + + + groupBox7 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 3 + + + 80, 61 + + + 78, 20 + + + 11 + + + HLD_LAT_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 0 + + + NoControl + + + 6, 64 + + + 65, 13 + + + 12 + + + IMAX + + + label28 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + HLD_LAT_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label30 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + HLD_LAT_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label31 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 5 + + + 531, 6 + + + 170, 95 + + + 6 + + + Loiter + + + groupBox19 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 4 + + + 80, 63 + + + 78, 20 + + + 11 + + + STB_YAW_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label32 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + STB_YAW_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label34 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + STB_YAW_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label35 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 5 + + + 358, 6 + + + 170, 95 + + + 7 + + + Stabilize Yaw + + + groupBox20 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 5 + + + 80, 63 + + + 78, 20 + + + 11 + + + STB_PIT_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label36 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + STB_PIT_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label41 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + STB_PIT_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label42 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 5 + + + 182, 6 + + + 170, 95 + + + 8 + + + Stabilize Pitch + + + groupBox21 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 6 + + + 80, 63 + + + 78, 20 + + + 11 + + + STB_RLL_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label43 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + STB_RLL_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label45 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + STB_RLL_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label46 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 5 + + + 6, 6 + + + 170, 95 + + + 9 + + + Stabilize Roll + + + groupBox22 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 7 + + + 80, 63 + + + 78, 20 + + + 0 + + + RATE_YAW_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 1 + + + IMAX + + + label47 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 1 + + + 80, 37 + + + 78, 20 + + + 4 + + + RATE_YAW_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label77 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 3 + + + 80, 13 + + + 78, 20 + + + 6 + + + RATE_YAW_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 7 + + + P + + + label82 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 5 + + + 358, 107 + + + 170, 91 + + + 10 + + + Rate Yaw + + + groupBox23 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 8 + + + 80, 63 + + + 78, 20 + + + 0 + + + RATE_PIT_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 1 + + + IMAX + + + label84 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 1 + + + 80, 37 + + + 78, 20 + + + 4 + + + RATE_PIT_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label86 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 3 + + + 80, 13 + + + 78, 20 + + + 6 + + + RATE_PIT_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 7 + + + P + + + label87 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 5 + + + 182, 107 + + + 170, 91 + + + 11 + + + Rate Pitch + + + groupBox24 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 9 + + + 80, 63 + + + 78, 20 + + + 0 + + + RATE_RLL_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 0 + + + NoControl + + + 6, 66 + + + 68, 13 + + + 1 + + + IMAX + + + label88 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 1 + + + 80, 37 + + + 78, 20 + + + 4 + + + RATE_RLL_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label90 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 3 + + + 80, 13 + + + 78, 20 + + + 6 + + + RATE_RLL_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 7 + + + P + + + label91 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 5 + + + 6, 107 + + + 170, 91 + + + 12 + + + Rate Roll + + + groupBox25 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 10 + + + 4, 22 + + + 3, 3, 3, 3 + + + 722, 434 + + + 1 + + + AC2 + TabAC2 @@ -216,6 +4449,1072 @@ 1 + + NoControl + + + 30, 277 + + + 61, 13 + + + 37 + + + Waypoints + + + label24 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 0 + + + NoControl + + + 139, 276 + + + 177, 17 + + + 38 + + + Load Waypoints on connect? + + + CHK_loadwponconnect + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 1 + + + NoControl + + + 30, 252 + + + 103, 18 + + + 36 + + + Track Length + + + label23 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 2 + + + 139, 250 + + + 67, 20 + + + 35 + + + 17, 17 + + + On the Flight Data Tab + + + NUM_tracklength + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 3 + + + NoControl + + + 579, 67 + + + 102, 17 + + + 34 + + + Alt Warning + + + CHK_speechaltwarning + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 4 + + + NoControl + + + 30, 228 + + + 61, 13 + + + 0 + + + APM Reset + + + label108 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 5 + + + NoControl + + + 139, 227 + + + 163, 17 + + + 1 + + + Reset APM on USB Connect + + + CHK_resetapmonconnect + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 6 + + + Bottom, Left + + + NoControl + + + 33, 411 + + + 144, 17 + + + 2 + + + Mavlink Message Debug + + + CHK_mavdebug + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 7 + + + NoControl + + + 590, 203 + + + 22, 13 + + + 3 + + + RC + + + label107 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 8 + + + 0 + + + 1 + + + 3 + + + 10 + + + 621, 200 + + + 80, 21 + + + 4 + + + CMB_raterc + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 9 + + + NoControl + + + 425, 203 + + + 69, 13 + + + 5 + + + Mode/Status + + + label104 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 10 + + + NoControl + + + 280, 203 + + + 44, 13 + + + 6 + + + Position + + + label103 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 11 + + + NoControl + + + 136, 203 + + + 43, 13 + + + 7 + + + Attitude + + + label102 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 12 + + + NoControl + + + 27, 203 + + + 84, 13 + + + 8 + + + Telemetry Rates + + + label101 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 13 + + + 0 + + + 1 + + + 3 + + + 10 + + + 499, 200 + + + 80, 21 + + + 9 + + + CMB_ratestatus + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 14 + + + 0 + + + 1 + + + 3 + + + 10 + + + 334, 200 + + + 80, 21 + + + 10 + + + CMB_rateposition + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 15 + + + 0 + + + 1 + + + 3 + + + 10 + + + 188, 200 + + + 80, 21 + + + 11 + + + CMB_rateattitude + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 16 + + + NoControl + + + 283, 168 + + + 402, 13 + + + 12 + + + NOTE: The Configuration Tab will NOT display these units, as those are raw values. + + + + label99 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 17 + + + NoControl + + + 30, 176 + + + 65, 13 + + + 13 + + + Speed Units + + + label98 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 18 + + + NoControl + + + 30, 149 + + + 52, 13 + + + 14 + + + Dist Units + + + label97 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 19 + + + 139, 173 + + + 138, 21 + + + 15 + + + CMB_speedunits + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 20 + + + 139, 146 + + + 138, 21 + + + 16 + + + CMB_distunits + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 21 + + + NoControl + + + 30, 122 + + + 45, 13 + + + 17 + + + Joystick + + + label96 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 22 + + + NoControl + + + 30, 71 + + + 44, 13 + + + 18 + + + Speech + + + label95 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 23 + + + NoControl + + + 471, 67 + + + 102, 17 + + + 19 + + + Battery Warning + + + CHK_speechbattery + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 24 + + + NoControl + + + 378, 67 + + + 87, 17 + + + 20 + + + Time Interval + + + CHK_speechcustom + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 25 + + + NoControl + + + 322, 67 + + + 56, 17 + + + 21 + + + Mode + + + CHK_speechmode + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 26 + + + NoControl + + + 245, 67 + + + 71, 17 + + + 22 + + + Waypoint + + + CHK_speechwaypoint + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 27 + + + NoControl + + + 30, 47 + + + 57, 13 + + + 23 + + + OSD Color + + + label94 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 28 + + + 139, 40 + + + 138, 21 + + + 24 + + + CMB_osdcolor + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 29 + + + 139, 90 + + + 138, 21 + + + 25 + + + CMB_language + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 30 + + + NoControl + + + 30, 94 + + + 69, 13 + + + 26 + + + UI Language + + + label93 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 31 + + + NoControl + + + 139, 67 + + + 99, 17 + + + 27 + + + Enable Speech + + + CHK_enablespeech + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 32 + + + NoControl + + + 552, 15 + + + 125, 17 + + + 28 + + + Enable HUD Overlay + + + CHK_hudshow + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 33 + + + NoControl + + + 30, 16 + + + 100, 23 + + + 29 + + + Video Device + + + label92 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 34 + + + 139, 13 + + + 245, 21 + + + 30 + + + CMB_videosources + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 35 + + + NoControl + + + 139, 117 + + + 99, 23 + + + 31 + + + Joystick Setup + + + BUT_Joystick + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + TabPlanner + + + 36 + + + NoControl + + + 471, 11 + + + 75, 23 + + + 32 + + + Stop + + + BUT_videostop + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + TabPlanner + + + 37 + + + NoControl + + + 390, 11 + + + 75, 23 + + + 33 + + + Start + + + BUT_videostart + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + TabPlanner + + + 38 + + + 4, 22 + + + 3, 3, 3, 3 + + + 722, 434 + + + 2 + + + Planner + TabPlanner @@ -228,6 +5527,18 @@ 2 + + 4, 22 + + + 722, 434 + + + 3 + + + Setup + TabSetup @@ -270,5389 +5581,6 @@ 2 - - groupBox3 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 0 - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 1 - - - groupBox2 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 2 - - - groupBox15 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 3 - - - groupBox16 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 4 - - - groupBox14 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 5 - - - groupBox13 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 6 - - - groupBox12 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 7 - - - groupBox11 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 8 - - - groupBox10 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 9 - - - groupBox9 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 10 - - - groupBox8 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 11 - - - 4, 22 - - - 0, 0, 0, 0 - - - 722, 434 - - - 0 - - - APM 2.x - - - THR_FS_VALUE - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 0 - - - label5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 1 - - - THR_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 2 - - - label6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 3 - - - THR_MIN - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 4 - - - label7 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 5 - - - TRIM_THROTTLE - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 6 - - - label8 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 7 - - - 405, 217 - - - 195, 108 - - - 0 - - - Throttle 0-100% - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 50, 13 - - - 12 - - - FS Value - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 27, 13 - - - 13 - - - Max - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 24, 13 - - - 14 - - - Min - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 36, 13 - - - 15 - - - Cruise - - - ARSPD_RATIO - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - - - label1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 1 - - - ARSPD_FBW_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 2 - - - label2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 3 - - - ARSPD_FBW_MIN - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 4 - - - label3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 5 - - - TRIM_ARSPD_CM - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 6 - - - label4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 7 - - - 406, 325 - - - 195, 108 - - - 1 - - - Airspeed m/s - - - 111, 82 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 87 - - - 32, 13 - - - 1 - - - Ratio - - - 111, 59 - - - 78, 20 - - - 2 - - - NoControl - - - 6, 59 - - - 53, 13 - - - 3 - - - FBW max - - - 111, 36 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 50, 13 - - - 5 - - - FBW min - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 64, 13 - - - 6 - - - Cruise * 100 - - - LIM_PITCH_MIN - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 0 - - - label39 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 1 - - - LIM_PITCH_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 2 - - - label38 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 3 - - - LIM_ROLL_CD - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 4 - - - label37 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 5 - - - 205, 325 - - - 195, 108 - - - 2 - - - Navigation Angles *100 - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 51, 13 - - - 10 - - - Pitch Min - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 54, 13 - - - 11 - - - Pitch Max - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 55, 13 - - - 12 - - - Bank Max - - - XTRK_ANGLE_CD - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox15 - - - 0 - - - label79 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox15 - - - 1 - - - XTRK_GAIN_SC - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox15 - - - 2 - - - label80 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox15 - - - 3 - - - 4, 325 - - - 195, 108 - - - 3 - - - Xtrack Pids - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 61, 13 - - - 8 - - - Entry Angle - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 52, 13 - - - 9 - - - Gain (cm) - - - KFF_PTCH2THR - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 0 - - - label83 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 1 - - - KFF_RDDRMIX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 2 - - - label78 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 3 - - - KFF_PTCHCOMP - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 4 - - - label81 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 5 - - - 205, 217 - - - 195, 108 - - - 4 - - - Other Mix's - - - 111, 13 - - - 78, 20 - - - 13 - - - NoControl - - - 6, 17 - - - 36, 13 - - - 14 - - - P to T - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 61, 13 - - - 15 - - - Rudder Mix - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 61, 13 - - - 16 - - - Pitch Comp - - - ENRGY2THR_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 0 - - - label73 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 1 - - - ENRGY2THR_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 2 - - - label74 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 3 - - - ENRGY2THR_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 4 - - - label75 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 5 - - - ENRGY2THR_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 6 - - - label76 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 7 - - - 4, 217 - - - 195, 108 - - - 5 - - - Energy/Alt Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - ALT2PTCH_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 0 - - - label69 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 1 - - - ALT2PTCH_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 2 - - - label70 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 3 - - - ALT2PTCH_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 4 - - - label71 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 5 - - - ALT2PTCH_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 6 - - - label72 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 7 - - - 406, 109 - - - 195, 108 - - - 6 - - - Nav Pitch Alt Pid - - - 111, 82 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 1 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 2 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 3 - - - D - - - 111, 36 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 111, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 7 - - - P - - - ARSP2PTCH_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 0 - - - label65 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 1 - - - ARSP2PTCH_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 2 - - - label66 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 3 - - - ARSP2PTCH_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 4 - - - label67 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 5 - - - ARSP2PTCH_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 6 - - - label68 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 7 - - - 205, 109 - - - 195, 108 - - - 7 - - - Nav Pitch AS Pid - - - 111, 82 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 1 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 2 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 3 - - - D - - - 111, 36 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 111, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 7 - - - P - - - HDNG2RLL_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 0 - - - label61 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 1 - - - HDNG2RLL_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 2 - - - label62 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 3 - - - HDNG2RLL_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 4 - - - label63 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 5 - - - HDNG2RLL_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 6 - - - label64 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 7 - - - 4, 109 - - - 195, 108 - - - 8 - - - Nav Roll Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - YW2SRV_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 0 - - - label57 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 1 - - - YW2SRV_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 2 - - - label58 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 3 - - - YW2SRV_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 4 - - - label59 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 5 - - - YW2SRV_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 6 - - - label60 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 7 - - - 406, 1 - - - 195, 108 - - - 9 - - - Servo Yaw Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - PTCH2SRV_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 0 - - - label53 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 1 - - - PTCH2SRV_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 2 - - - label54 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 3 - - - PTCH2SRV_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 4 - - - label55 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 5 - - - PTCH2SRV_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 6 - - - label56 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 7 - - - 205, 1 - - - 195, 108 - - - 10 - - - Servo Pitch Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - RLL2SRV_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 0 - - - label49 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 1 - - - RLL2SRV_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 2 - - - label50 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 3 - - - RLL2SRV_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 4 - - - label51 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 5 - - - RLL2SRV_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 6 - - - label52 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 7 - - - 4, 1 - - - 195, 108 - - - 11 - - - Servo Roll Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - CHK_lockrollpitch - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 0 - - - groupBox4 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 1 - - - groupBox6 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 2 - - - groupBox7 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 3 - - - groupBox18 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 4 - - - groupBox19 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 5 - - - groupBox20 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 6 - - - groupBox21 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 7 - - - groupBox22 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 8 - - - groupBox23 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 9 - - - groupBox24 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 10 - - - groupBox25 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 11 - - - 4, 22 - - - 3, 3, 3, 3 - - - 722, 434 - - - 1 - - - AC2 - - - True - - - 3, 198 - - - 154, 17 - - - 13 - - - Lock Pitch and Roll Values - - - WP_SPEED_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 0 - - - label9 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 1 - - - NAV_LAT_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 2 - - - label13 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 3 - - - NAV_LAT_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 4 - - - label15 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 5 - - - NAV_LAT_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 6 - - - label16 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 7 - - - 534, 107 - - - 170, 108 - - - 0 - - - Nav WP - - - 80, 86 - - - 78, 20 - - - 16 - - - NoControl - - - 6, 89 - - - 54, 13 - - - 17 - - - cm/s - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - XTRK_ANGLE_CD1 - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 0 - - - label10 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 1 - - - XTRACK_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 2 - - - label11 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 3 - - - XTRACK_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 4 - - - label17 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 5 - - - XTRACK_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 6 - - - label18 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 7 - - - 182, 241 - - - 170, 110 - - - 2 - - - Crosstrack Correction - - - 80, 86 - - - 78, 20 - - - 18 - - - NoControl - - - 6, 89 - - - 82, 13 - - - 19 - - - Error Max * 100 - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - THR_HOLD_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 0 - - - label19 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 1 - - - THR_HOLD_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 2 - - - label21 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 3 - - - THR_HOLD_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 4 - - - label22 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 5 - - - 6, 241 - - - 170, 110 - - - 3 - - - Altitude Hold - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - PITCH_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox18 - - - 0 - - - label27 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox18 - - - 1 - - - 525, 241 - - - 176, 110 - - - 5 - - - Other Mix's - - - 94, 17 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 20 - - - 82, 13 - - - 10 - - - Pitch Max * 100 - - - HLD_LAT_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 0 - - - label28 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 1 - - - HLD_LAT_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 2 - - - label30 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 3 - - - HLD_LAT_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 4 - - - label31 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 5 - - - 531, 6 - - - 170, 95 - - - 6 - - - Loiter - - - 80, 61 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 64 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - STB_YAW_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 0 - - - label32 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 1 - - - STB_YAW_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 2 - - - label34 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 3 - - - STB_YAW_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 4 - - - label35 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 5 - - - 358, 6 - - - 170, 95 - - - 7 - - - Stabilize Yaw - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - STB_PIT_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 0 - - - label36 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 1 - - - STB_PIT_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 2 - - - label41 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 3 - - - STB_PIT_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 4 - - - label42 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 5 - - - 182, 6 - - - 170, 95 - - - 8 - - - Stabilize Pitch - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - STB_RLL_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 0 - - - label43 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 1 - - - STB_RLL_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 2 - - - label45 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 3 - - - STB_RLL_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 4 - - - label46 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 5 - - - 6, 6 - - - 170, 95 - - - 9 - - - Stabilize Roll - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - RATE_YAW_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 0 - - - label47 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 1 - - - RATE_YAW_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 2 - - - label77 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 3 - - - RATE_YAW_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 4 - - - label82 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 5 - - - 358, 107 - - - 170, 91 - - - 10 - - - Rate Yaw - - - 80, 63 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 1 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 80, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 7 - - - P - - - RATE_PIT_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 0 - - - label84 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 1 - - - RATE_PIT_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 2 - - - label86 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 3 - - - RATE_PIT_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 4 - - - label87 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 5 - - - 182, 107 - - - 170, 91 - - - 11 - - - Rate Pitch - - - 80, 63 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 1 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 80, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 7 - - - P - - - RATE_RLL_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 0 - - - label88 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 1 - - - RATE_RLL_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 2 - - - label90 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 3 - - - RATE_RLL_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 4 - - - label91 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 5 - - - 6, 107 - - - 170, 91 - - - 12 - - - Rate Roll - - - 80, 63 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 66 - - - 68, 13 - - - 1 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 80, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 7 - - - P - - - label24 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 0 - - - CHK_loadwponconnect - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 1 - - - label23 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 2 - - - NUM_tracklength - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 3 - - - CHK_speechaltwarning - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 4 - - - label108 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 5 - - - CHK_resetapmonconnect - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 6 - - - CHK_mavdebug - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 7 - - - label107 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 8 - - - CMB_raterc - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 9 - - - label104 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 10 - - - label103 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 11 - - - label102 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 12 - - - label101 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 13 - - - CMB_ratestatus - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 14 - - - CMB_rateposition - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 15 - - - CMB_rateattitude - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 16 - - - label99 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 17 - - - label98 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 18 - - - label97 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 19 - - - CMB_speedunits - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 20 - - - CMB_distunits - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 21 - - - label96 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 22 - - - label95 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 23 - - - CHK_speechbattery - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 24 - - - CHK_speechcustom - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 25 - - - CHK_speechmode - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 26 - - - CHK_speechwaypoint - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 27 - - - label94 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 28 - - - CMB_osdcolor - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 29 - - - CMB_language - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 30 - - - label93 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 31 - - - CHK_enablespeech - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 32 - - - CHK_hudshow - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 33 - - - label92 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 34 - - - CMB_videosources - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 35 - - - BUT_Joystick - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - TabPlanner - - - 36 - - - BUT_videostop - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - TabPlanner - - - 37 - - - BUT_videostart - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - TabPlanner - - - 38 - - - 4, 22 - - - 3, 3, 3, 3 - - - 722, 434 - - - 2 - - - Planner - - - NoControl - - - 30, 277 - - - 61, 13 - - - 37 - - - Waypoints - - - NoControl - - - 139, 276 - - - 177, 17 - - - 38 - - - Load Waypoints on connect? - - - NoControl - - - 30, 252 - - - 103, 18 - - - 36 - - - Track Length - - - 17, 17 - - - 139, 250 - - - 67, 20 - - - 35 - - - On the Flight Data Tab - - - NoControl - - - 579, 67 - - - 102, 17 - - - 34 - - - Alt Warning - - - NoControl - - - 30, 228 - - - 61, 13 - - - 0 - - - APM Reset - - - NoControl - - - 139, 227 - - - 163, 17 - - - 1 - - - Reset APM on USB Connect - - - Bottom, Left - - - NoControl - - - 33, 411 - - - 144, 17 - - - 2 - - - Mavlink Message Debug - - - NoControl - - - 590, 203 - - - 22, 13 - - - 3 - - - RC - - - 0 - - - 1 - - - 3 - - - 10 - - - 621, 200 - - - 80, 21 - - - 4 - - - NoControl - - - 425, 203 - - - 69, 13 - - - 5 - - - Mode/Status - - - NoControl - - - 280, 203 - - - 44, 13 - - - 6 - - - Position - - - NoControl - - - 136, 203 - - - 43, 13 - - - 7 - - - Attitude - - - NoControl - - - 27, 203 - - - 84, 13 - - - 8 - - - Telemetry Rates - - - 0 - - - 1 - - - 3 - - - 10 - - - 499, 200 - - - 80, 21 - - - 9 - - - 0 - - - 1 - - - 3 - - - 10 - - - 334, 200 - - - 80, 21 - - - 10 - - - 0 - - - 1 - - - 3 - - - 10 - - - 188, 200 - - - 80, 21 - - - 11 - - - NoControl - - - 283, 168 - - - 402, 13 - - - 12 - - - NOTE: The Configuration Tab will NOT display these units, as those are raw values. - - - - NoControl - - - 30, 176 - - - 65, 13 - - - 13 - - - Speed Units - - - NoControl - - - 30, 149 - - - 52, 13 - - - 14 - - - Dist Units - - - 139, 173 - - - 138, 21 - - - 15 - - - 139, 146 - - - 138, 21 - - - 16 - - - NoControl - - - 30, 122 - - - 45, 13 - - - 17 - - - Joystick - - - NoControl - - - 30, 71 - - - 44, 13 - - - 18 - - - Speech - - - NoControl - - - 471, 67 - - - 102, 17 - - - 19 - - - Battery Warning - - - NoControl - - - 378, 67 - - - 87, 17 - - - 20 - - - Time Interval - - - NoControl - - - 322, 67 - - - 56, 17 - - - 21 - - - Mode - - - NoControl - - - 245, 67 - - - 71, 17 - - - 22 - - - Waypoint - - - NoControl - - - 30, 47 - - - 57, 13 - - - 23 - - - OSD Color - - - 139, 40 - - - 138, 21 - - - 24 - - - 139, 90 - - - 138, 21 - - - 25 - - - NoControl - - - 30, 94 - - - 69, 13 - - - 26 - - - UI Language - - - NoControl - - - 139, 67 - - - 99, 17 - - - 27 - - - Enable Speech - - - NoControl - - - 552, 15 - - - 125, 17 - - - 28 - - - Enable HUD Overlay - - - NoControl - - - 30, 16 - - - 100, 23 - - - 29 - - - Video Device - - - 139, 13 - - - 245, 21 - - - 30 - - - NoControl - - - 139, 117 - - - 99, 23 - - - 31 - - - Joystick Setup - - - NoControl - - - 471, 11 - - - 75, 23 - - - 32 - - - Stop - - - NoControl - - - 390, 11 - - - 75, 23 - - - 33 - - - Start - - - 4, 22 - - - 722, 434 - - - 3 - - - Setup - Bottom, Left diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs index 5e8c541c78..77bae958ef 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs @@ -436,10 +436,13 @@ namespace ArdupilotMega.GCSViews { this.BeginInvoke((MethodInvoker)delegate() { - tracklog.Value = (int)(MainV2.comPort.logplaybackfile.BaseStream.Position / (double)MainV2.comPort.logplaybackfile.BaseStream.Length * 100); - - lbl_logpercent.Text = (MainV2.comPort.logplaybackfile.BaseStream.Position / (double)MainV2.comPort.logplaybackfile.BaseStream.Length).ToString("0.00%"); + try + { + tracklog.Value = (int)(MainV2.comPort.logplaybackfile.BaseStream.Position / (double)MainV2.comPort.logplaybackfile.BaseStream.Length * 100); + lbl_logpercent.Text = (MainV2.comPort.logplaybackfile.BaseStream.Position / (double)MainV2.comPort.logplaybackfile.BaseStream.Length).ToString("0.00%"); + } + catch { } }); } @@ -861,6 +864,8 @@ namespace ArdupilotMega.GCSViews if (MainV2.comPort.logplaybackfile != null) MainV2.comPort.logplaybackfile.BaseStream.Position = (long)(MainV2.comPort.logplaybackfile.BaseStream.Length * (tracklog.Value / 100.0)); + + updateLogPlayPosition(); } bool loaded = false; @@ -1223,7 +1228,7 @@ namespace ArdupilotMega.GCSViews // Get the TypeCode enumeration. Multiple types get mapped to a common typecode. TypeCode typeCode = Type.GetTypeCode(fieldValue.GetType()); - if (!(typeCode == TypeCode.Single || typeCode == TypeCode.Double || typeCode == TypeCode.Int32)) + if (!(typeCode == TypeCode.Single)) continue; CheckBox chk_box = new CheckBox(); diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs b/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs index e144fa180a..496882201c 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs @@ -1228,7 +1228,7 @@ namespace ArdupilotMega.GCSViews if (CHK_holdalt.Checked) { - port.setParam("ALT_HOLD_RTL", int.Parse(TXT_DefaultAlt.Text) / MainV2.cs.multiplierdist * 100); + port.setParam("ALT_HOLD_RTL", int.Parse(TXT_DefaultAlt.Text) / MainV2.cs.multiplierdist); } else { @@ -1360,7 +1360,7 @@ namespace ArdupilotMega.GCSViews } } - TXT_DefaultAlt.Text = ((float)param["ALT_HOLD_RTL"] * MainV2.cs.multiplierdist / 100).ToString("0"); + TXT_DefaultAlt.Text = ((float)param["ALT_HOLD_RTL"] * MainV2.cs.multiplierdist).ToString("0"); TXT_WPRad.Text = ((float)param["WP_RADIUS"] * MainV2.cs.multiplierdist).ToString("0"); try { diff --git a/Tools/ArdupilotMegaPlanner/HUD.cs b/Tools/ArdupilotMegaPlanner/HUD.cs index b95cd51577..7a993861c8 100644 --- a/Tools/ArdupilotMegaPlanner/HUD.cs +++ b/Tools/ArdupilotMegaPlanner/HUD.cs @@ -23,7 +23,7 @@ using OpenTK.Graphics; namespace hud { - public partial class HUD : GLControl + public class HUD : GLControl// : Graphics { object paintlock = new object(); object streamlock = new object(); @@ -38,7 +38,9 @@ namespace hud int[] charbitmaptexid = new int[6000]; int[] charwidth = new int[6000]; - int huddrawtime = 0; + public int huddrawtime = 0; + + public bool opengl = true; public HUD() { @@ -46,7 +48,7 @@ namespace hud return; InitializeComponent(); - graphicsObject = this; + //graphicsObject = this; //graphicsObject = Graphics.FromImage(objBitmap); } @@ -150,7 +152,6 @@ System.ComponentModel.Category("Values")] Bitmap objBitmap = new Bitmap(1024, 1024); int count = 0; DateTime countdate = DateTime.Now; - HUD graphicsObject; // Graphics DateTime starttime = DateTime.MinValue; @@ -225,14 +226,14 @@ System.ComponentModel.Category("Values")] { //GL.Enable(EnableCap.AlphaTest); - if (this.DesignMode) - { - e.Graphics.Clear(this.BackColor); - e.Graphics.Flush(); - return; + if (this.DesignMode) + { + e.Graphics.Clear(this.BackColor); + e.Graphics.Flush(); + return; } - - if ((DateTime.Now - starttime).TotalMilliseconds < 75 && (_bgimage == null)) + + if ((DateTime.Now - starttime).TotalMilliseconds < 75 && (_bgimage == null)) { //Console.WriteLine("ms "+(DateTime.Now - starttime).TotalMilliseconds); //e.Graphics.DrawImageUnscaled(objBitmap, 0, 0); @@ -241,35 +242,40 @@ System.ComponentModel.Category("Values")] starttime = DateTime.Now; - //Console.WriteLine(DateTime.Now.Millisecond); + if (Console.CursorLeft > 0) + { + //Console.WriteLine(" "+ Console.CursorLeft +" "); + } + + //Console.Write("HUD a "+(DateTime.Now - starttime).TotalMilliseconds); MakeCurrent(); - //GL.LoadIdentity(); - - //GL.ClearColor(Color.Red); + //Console.Write(" b " + (DateTime.Now - starttime).TotalMilliseconds); GL.Clear(ClearBufferMask.ColorBufferBit); - //GL.LoadIdentity(); + //Console.Write(" c " + (DateTime.Now - starttime).TotalMilliseconds); - //GL.Viewport(0, 0, Width, Height); + doPaint(e); - doPaint(); + //Console.Write(" d " + (DateTime.Now - starttime).TotalMilliseconds); this.SwapBuffers(); + //Console.Write(" e " + (DateTime.Now - starttime).TotalMilliseconds); + + count++; + + huddrawtime += (int)(DateTime.Now - starttime).TotalMilliseconds; + if (DateTime.Now.Second != countdate.Second) { countdate = DateTime.Now; - Console.WriteLine("HUD " + count + " hz drawtime " + huddrawtime); + Console.WriteLine("HUD " + count + " hz drawtime " + (huddrawtime / count)); count = 0; + huddrawtime = 0; } - huddrawtime = (int)(DateTime.Now - starttime).TotalMilliseconds; -#if DEBUG - //Console.WriteLine("HUD e " + (DateTime.Now - starttime).TotalMilliseconds + " " + DateTime.Now.Millisecond); -#endif - } void Clear(Color color) @@ -282,7 +288,7 @@ System.ComponentModel.Category("Values")] //graphicsObject.DrawArc(whitePen, arcrect, 180 + 45, 90); - void DrawArc(Pen penn,RectangleF rect, float start,float degrees) + public void DrawArc(Pen penn,RectangleF rect, float start,float degrees) { //GL.Disable(EnableCap.Texture2D); @@ -309,7 +315,7 @@ System.ComponentModel.Category("Values")] //GL.Enable(EnableCap.Texture2D); } - void DrawEllipse(Pen penn, Rectangle rect) + public void DrawEllipse(Pen penn, Rectangle rect) { //GL.Disable(EnableCap.Texture2D); @@ -340,7 +346,7 @@ System.ComponentModel.Category("Values")] int texture; Bitmap bitmap = new Bitmap(512,512); - void DrawImage(Image img, int x, int y, int width, int height) + public void DrawImage(Image img, int x, int y, int width, int height) { if (img == null) return; @@ -392,7 +398,7 @@ System.ComponentModel.Category("Values")] GL.Disable(EnableCap.Texture2D); } - void DrawPath(Pen penn,GraphicsPath gp) + public void DrawPath(Pen penn, GraphicsPath gp) { try { @@ -401,7 +407,7 @@ System.ComponentModel.Category("Values")] catch { } } - void FillPath(Brush brushh,GraphicsPath gp) + public void FillPath(Brush brushh, GraphicsPath gp) { try { @@ -410,32 +416,32 @@ System.ComponentModel.Category("Values")] catch { } } - void SetClip(Rectangle rect) + public void SetClip(Rectangle rect) { } - void ResetClip() + public void ResetClip() { } - void ResetTransform() + public void ResetTransform() { GL.LoadIdentity(); } - void RotateTransform(float angle) + public void RotateTransform(float angle) { GL.Rotate(angle,0,0,1); } - void TranslateTransform(float x, float y) + public void TranslateTransform(float x, float y) { GL.Translate(x, y, 0f); } - void FillPolygon(Brush brushh, Point[] list) + public void FillPolygon(Brush brushh, Point[] list) { //GL.Disable(EnableCap.Texture2D); @@ -456,7 +462,7 @@ System.ComponentModel.Category("Values")] //GL.Enable(EnableCap.Texture2D); } - void FillPolygon(Brush brushh, PointF[] list) + public void FillPolygon(Brush brushh, PointF[] list) { //GL.Disable(EnableCap.Texture2D); @@ -478,7 +484,7 @@ System.ComponentModel.Category("Values")] //graphicsObject.DrawPolygon(redPen, pointlist); - void DrawPolygon(Pen penn, Point[] list) + public void DrawPolygon(Pen penn, Point[] list) { //GL.Disable(EnableCap.Texture2D); @@ -499,7 +505,7 @@ System.ComponentModel.Category("Values")] //GL.Enable(EnableCap.Texture2D); } - void DrawPolygon(Pen penn, PointF[] list) + public void DrawPolygon(Pen penn, PointF[] list) { //GL.Disable(EnableCap.Texture2D); @@ -523,7 +529,7 @@ System.ComponentModel.Category("Values")] //graphicsObject.FillRectangle(linearBrush, bg); - void FillRectangle(Brush brushh,RectangleF rectf) + public void FillRectangle(Brush brushh, RectangleF rectf) { float x1 = rectf.X; float y1 = rectf.Y; @@ -571,12 +577,12 @@ System.ComponentModel.Category("Values")] //graphicsObject.DrawRectangle(transPen, bg.X,bg.Y,bg.Width,bg.Height); - void DrawRectangle(Pen penn, RectangleF rect) + public void DrawRectangle(Pen penn, RectangleF rect) { DrawRectangle(penn, rect.X, rect.Y, rect.Width, rect.Height); } - void DrawRectangle(Pen penn,double x1,double y1, double width,double height) + public void DrawRectangle(Pen penn, double x1, double y1, double width, double height) { //GL.Disable(EnableCap.Texture2D); @@ -597,7 +603,7 @@ System.ComponentModel.Category("Values")] //GL.Enable(EnableCap.Texture2D); } - void DrawLine(Pen penn,double x1,double y1, double x2,double y2) + public void DrawLine(Pen penn, double x1, double y1, double x2, double y2) { //GL.Disable(EnableCap.Texture2D); @@ -616,8 +622,13 @@ System.ComponentModel.Category("Values")] //GL.Enable(EnableCap.Texture2D); } - void doPaint() + void doPaint(object e) { + HUD graphicsObject = this; + //Graphics graphicsObject = ((PaintEventArgs)e).Graphics; + //graphicsObject.SmoothingMode = SmoothingMode.AntiAlias; + + try { graphicsObject.Clear(Color.Gray); @@ -1131,6 +1142,20 @@ System.ComponentModel.Category("Values")] drawstring(graphicsObject, mode, font, fontsize, whiteBrush, scrollbg.Left - 30, scrollbg.Bottom + 5); drawstring(graphicsObject, (int)disttowp + ">" + wpno, font, fontsize, whiteBrush, scrollbg.Left - 30, scrollbg.Bottom + fontsize + 2 + 10); + graphicsObject.DrawLine(greenPen, scrollbg.Left - 5, scrollbg.Top - (int)(fontsize * 2.2) - 2 - 20, scrollbg.Left - 5, scrollbg.Top - (int)(fontsize) - 2 - 20); + graphicsObject.DrawLine(greenPen, scrollbg.Left - 10, scrollbg.Top - (int)(fontsize * 2.2) - 2 - 15, scrollbg.Left - 10, scrollbg.Top - (int)(fontsize) - 2 - 20); + graphicsObject.DrawLine(greenPen, scrollbg.Left - 15, scrollbg.Top - (int)(fontsize * 2.2) - 2 - 10, scrollbg.Left - 15, scrollbg.Top - (int)(fontsize ) - 2 - 20); + + drawstring(graphicsObject, ArdupilotMega.MainV2.cs.linkqualitygcs.ToString("0") + "%", font, fontsize, whiteBrush, scrollbg.Left, scrollbg.Top - (int)(fontsize * 2.2) - 2 - 20); + if (ArdupilotMega.MainV2.cs.linkqualitygcs == 0) + { + graphicsObject.DrawLine(redPen, scrollbg.Left, scrollbg.Top - (int)(fontsize * 2.2) - 2 - 20, scrollbg.Left + 50, scrollbg.Top - (int)(fontsize * 2.2) - 2); + + graphicsObject.DrawLine(redPen, scrollbg.Left, scrollbg.Top - (int)(fontsize * 2.2) - 2, scrollbg.Left + 50, scrollbg.Top - (int)(fontsize * 2.2) - 2 - 20); + } + drawstring(graphicsObject, ArdupilotMega.MainV2.cs.datetime.ToString("HH:mm:ss"), font, fontsize, whiteBrush, scrollbg.Left - 20, scrollbg.Top - fontsize - 2 - 20); + + // battery graphicsObject.ResetTransform(); @@ -1191,8 +1216,6 @@ System.ComponentModel.Category("Values")] Console.WriteLine("hud error "+ex.ToString()); //MessageBox.Show(ex.ToString()); } - - count++; } protected override void OnPaintBackground(PaintEventArgs e) @@ -1355,6 +1378,31 @@ System.ComponentModel.Category("Values")] x += charwidth[charid] * scale; } } + + void drawstring(Graphics e, string text, Font font, float fontsize, Brush brush, float x, float y) + { + if (text == null || text == "") + return; + + pth.Reset(); + + + if (text != null) + pth.AddString(text, font.FontFamily, 0, fontsize + 5, new Point((int)x, (int)y), StringFormat.GenericTypographic); + + //Draw the edge + // this uses lots of cpu time + + //e.SmoothingMode = SmoothingMode.HighSpeed; + + e.DrawPath(P, pth); + + //Draw the face + + e.FillPath(brush, pth); + + //pth.Dispose(); + } protected override void OnResize(EventArgs e) { diff --git a/Tools/ArdupilotMegaPlanner/Log.cs b/Tools/ArdupilotMegaPlanner/Log.cs index e51d159de0..950c676b73 100644 --- a/Tools/ArdupilotMegaPlanner/Log.cs +++ b/Tools/ArdupilotMegaPlanner/Log.cs @@ -375,6 +375,13 @@ namespace ArdupilotMega { Color[] colours = { Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet, Color.Pink }; + AltitudeMode altmode = AltitudeMode.absolute; + + if (MainV2.cs.firmware == MainV2.Firmwares.ArduCopter2) + { + altmode = AltitudeMode.relativeToGround; // because of sonar, this is both right and wrong. right for sonar, wrong in terms of gps as the land slopes off. + } + KMLRoot kml = new KMLRoot(); Folder fldr = new Folder("Log"); @@ -397,7 +404,7 @@ namespace ArdupilotMega continue; LineString ls = new LineString(); - ls.AltitudeMode = AltitudeMode.absolute; + ls.AltitudeMode = altmode; ls.Extrude = true; //ls.Tessellate = true; @@ -484,7 +491,7 @@ namespace ArdupilotMega pmplane.visibility = false; Model model = mod.model; - model.AltitudeMode = AltitudeMode.absolute; + model.AltitudeMode = altmode; model.Scale.x = 2; model.Scale.y = 2; model.Scale.z = 2; @@ -506,7 +513,7 @@ namespace ArdupilotMega catch { } pmplane.Point = new KmlPoint((float)model.Location.longitude, (float)model.Location.latitude, (float)model.Location.altitude); - pmplane.Point.AltitudeMode = AltitudeMode.absolute; + pmplane.Point.AltitudeMode = altmode; Link link = new Link(); link.href = "block_plane_0.dae"; diff --git a/Tools/ArdupilotMegaPlanner/MAVLink.cs b/Tools/ArdupilotMegaPlanner/MAVLink.cs index 242b2818aa..1f00bcefb7 100644 --- a/Tools/ArdupilotMegaPlanner/MAVLink.cs +++ b/Tools/ArdupilotMegaPlanner/MAVLink.cs @@ -16,6 +16,9 @@ namespace ArdupilotMega { public ICommsSerial BaseStream = new SerialPort(); + /// + /// used for outbound packet sending + /// byte packetcount = 0; public byte sysid = 0; public byte compid = 0; @@ -29,6 +32,8 @@ namespace ArdupilotMega public DateTime lastvalidpacket = DateTime.Now; bool oldlogformat = false; + byte mavlinkversion = 0; + public PointLatLngAlt[] wps = new PointLatLngAlt[200]; public bool debugmavlink = false; @@ -45,7 +50,12 @@ namespace ArdupilotMega public int bps = 0; public DateTime bpstime = DateTime.Now; int recvpacketcount = 0; - int packetslost = 0; + + float synclost; + float packetslost = 0; + float packetsnotlost = 0; + DateTime packetlosttimer = DateTime.Now; + //Stopwatch stopwatch = new Stopwatch(); @@ -169,15 +179,25 @@ namespace ArdupilotMega if (buffer.Length > 5 && buffer1.Length > 5 && buffer[3] == buffer1[3] && buffer[4] == buffer1[4]) { + __mavlink_heartbeat_t hb = new __mavlink_heartbeat_t(); + + object temp = hb; + + MAVLink.ByteArrayToStructure(buffer, ref temp, 6); + + hb = (MAVLink.__mavlink_heartbeat_t)(temp); + + mavlinkversion = hb.mavlink_version; + sysid = buffer[3]; compid = buffer[4]; recvpacketcount = buffer[2]; - Console.WriteLine("ID " + sysid + " " + compid); + Console.WriteLine("ID sys " + sysid + " comp " + compid + " ver" + mavlinkversion); break; } } - frm.Controls[0].Text = "Getting Params.. (sysid " + sysid + ") "; + frm.Controls[0].Text = "Getting Params.. (sysid " + sysid + " compid "+compid+") "; frm.Refresh(); if (getparams == true) getParamList(); @@ -331,12 +351,28 @@ namespace ArdupilotMega /// struct of data public void generatePacket(byte messageType, object indata) { - byte[] data = StructureToByteArrayEndian(indata); + byte[] data; + + if (mavlinkversion == 3) + { + data = StructureToByteArray(indata); + } + else + { + data = StructureToByteArrayEndian(indata); + } //Console.WriteLine(DateTime.Now + " PC Doing req "+ messageType + " " + this.BytesToRead); byte[] packet = new byte[data.Length + 6 + 2]; - packet[0] = (byte)'U'; + if (mavlinkversion == 3) + { + packet[0] = 254; + } + else if (mavlinkversion == 2) + { + packet[0] = (byte)'U'; + } packet[1] = (byte)data.Length; packet[2] = packetcount; packet[3] = 255; // this is always 255 - MYGCS @@ -351,6 +387,12 @@ namespace ArdupilotMega } ushort checksum = crc_calculate(packet, packet[1] + 6); + + if (mavlinkversion == 3) + { + checksum = crc_accumulate(MAVLINK_MESSAGE_CRCS[messageType], checksum); + } + byte ck_a = (byte)(checksum & 0xFF); ///< High byte byte ck_b = (byte)(checksum >> 8); ///< Low byte @@ -425,6 +467,8 @@ namespace ArdupilotMega byte[] temp = ASCIIEncoding.ASCII.GetBytes(paramname); + modifyParamForDisplay(false, paramname, ref value); + Array.Resize(ref temp, 15); req.param_id = temp; @@ -458,7 +502,31 @@ namespace ArdupilotMega { if (buffer[5] == MAVLINK_MSG_ID_PARAM_VALUE) { - param[paramname] = req.param_value; + __mavlink_param_value_t par = new __mavlink_param_value_t(); + + object tempobj = par; + + ByteArrayToStructure(buffer, ref tempobj, 6); + + par = (__mavlink_param_value_t)tempobj; + + string st = System.Text.ASCIIEncoding.ASCII.GetString(par.param_id); + + int pos = st.IndexOf('\0'); + + if (pos != -1) + { + st = st.Substring(0, pos); + } + + if (st != paramname) + { + Console.WriteLine("MAVLINK bad param responce - {0} vs {1}",paramname,st); + continue; + } + + param[st] = (par.param_value); + MainV2.givecomport = false; //System.Threading.Thread.Sleep(100);//(int)(8.5 * 5)); // 8.5ms per byte return true; @@ -559,6 +627,8 @@ namespace ArdupilotMega st = st.Substring(0, pos); } + modifyParamForDisplay(true, st, ref par.param_value); + param[st] = (par.param_value); a++; @@ -575,17 +645,21 @@ namespace ArdupilotMega return param; } - public _param getParam() + void modifyParamForDisplay(bool fromapm, string paramname, ref float value) { - throw new Exception("getParam Not implemented"); - /* - _param temp = new _param(); - - temp.name = "none"; - temp.value = 0; - - return temp; - */ + if (paramname.ToUpper().EndsWith("_IMAX") || paramname.ToUpper().EndsWith("ALT_HOLD_RTL") || paramname.ToUpper().EndsWith("TRIM_ARSPD_CM") + || paramname.ToUpper().EndsWith("XTRK_ANGLE_CD") || paramname.ToUpper().EndsWith("LIM_PITCH_MAX") || paramname.ToUpper().EndsWith("LIM_PITCH_MIN") + || paramname.ToUpper().EndsWith("LIM_ROLL_CD") || paramname.ToUpper().EndsWith("PITCH_MAX") || paramname.ToUpper().EndsWith("WP_SPEED_MAX")) + { + if (fromapm) + { + value /= 100.0f; + } + else + { + value *= 100.0f; + } + } } /// @@ -1422,7 +1496,7 @@ namespace ArdupilotMega } catch (Exception e) { Console.WriteLine("MAVLink readpacket read error: " + e.Message); break; } - if (temp[0] != 'U' || lastbad[0] == 'I' && lastbad[1] == 'M') // out of sync + if (temp[0] != 254 && temp[0] != 'U' || lastbad[0] == 'I' && lastbad[1] == 'M') // out of sync { if (temp[0] >= 0x20 && temp[0] <= 127 || temp[0] == '\n') { @@ -1437,7 +1511,7 @@ namespace ArdupilotMega // reset count on valid packet readcount = 0; - if (temp[0] == 'U') + if (temp[0] == 'U' || temp[0] == 254) { length = temp[1] + 6 + 2 - 2; // data + header + checksum - U - length if (count >= 5 || logreadmode) @@ -1468,7 +1542,7 @@ namespace ArdupilotMega break; } System.Threading.Thread.Sleep(1); - //System.Windows.Forms.Application.DoEvents(); + System.Windows.Forms.Application.DoEvents(); to++; //Console.WriteLine("data " + 0 + " " + length + " aval " + BaseStream.BytesToRead); @@ -1493,7 +1567,7 @@ namespace ArdupilotMega if (bpstime.Second != DateTime.Now.Second && !logreadmode) { - Console.WriteLine("bps {0} loss {1} left {2}", bps1, packetslost, BaseStream.BytesToRead); + Console.WriteLine("bps {0} loss {1} left {2}", bps1, synclost, BaseStream.BytesToRead); bps2 = bps1; // prev sec bps1 = 0; // current sec bpstime = DateTime.Now; @@ -1505,11 +1579,16 @@ namespace ArdupilotMega if (temp.Length >= 5 && temp[3] == 255 && logreadmode) // gcs packet { - return new byte[0]; + return temp;// new byte[0]; } ushort crc = crc_calculate(temp, temp.Length - 2); + if (temp.Length > 5 && temp[0] == 254) + { + crc = crc_accumulate(MAVLINK_MESSAGE_CRCS[temp[5]], crc); + } + if (temp.Length < 5 || temp[temp.Length - 1] != (crc >> 8) || temp[temp.Length - 2] != (crc & 0xff)) { int packetno = 0; @@ -1523,13 +1602,35 @@ namespace ArdupilotMega try { - if (temp[0] == 'U' && temp.Length >= temp[1]) + if ((temp[0] == 'U' || temp[0] == 254) && temp.Length >= temp[1]) { if (temp[2] != ((recvpacketcount + 1) % 0x100)) { - Console.WriteLine("lost {0}", temp[2]); - packetslost++; // actualy sync loss's + synclost++; // actualy sync loss's + + if (temp[2] < ((recvpacketcount + 1) % 0x100)) + { + packetslost += 0x100 - recvpacketcount + temp[2]; + } + else + { + packetslost += temp[2] - recvpacketcount; + } + + Console.WriteLine("lost {0} pkts {1}", temp[2], (int)packetslost); } + + if (packetlosttimer.AddSeconds(10) < DateTime.Now) + { + packetlosttimer = DateTime.Now; + packetslost = (int)(packetslost *0.8f); + packetsnotlost = (int)(packetsnotlost *0.8f); + } + + MainV2.cs.linkqualitygcs = (ushort)((packetsnotlost / (packetsnotlost + packetslost)) * 100); + + packetsnotlost++; + recvpacketcount = temp[2]; //MAVLINK_MSG_ID_GPS_STATUS @@ -1679,6 +1780,8 @@ namespace ArdupilotMega lastlogread = date1; + MainV2.cs.datetime = lastlogread; + int length = 5; int a = 0; while (a < length) @@ -1758,6 +1861,34 @@ namespace ArdupilotMega } public static void ByteArrayToStructure(byte[] bytearray, ref object obj, int startoffset) + { + if (bytearray[0] == 'U') + { + ByteArrayToStructureEndian(bytearray, ref obj, startoffset); + } + else + { + int len = Marshal.SizeOf(obj); + + IntPtr i = Marshal.AllocHGlobal(len); + + // create structure from ptr + obj = Marshal.PtrToStructure(i, obj.GetType()); + + try + { + // copy byte array to ptr + Marshal.Copy(bytearray, startoffset, i, len); + } + catch (Exception ex) { Console.WriteLine("ByteArrayToStructure FAIL: error " + ex.ToString()); } + + obj = Marshal.PtrToStructure(i, obj.GetType()); + + Marshal.FreeHGlobal(i); + } + } + + public static void ByteArrayToStructureEndian(byte[] bytearray, ref object obj, int startoffset) { int len = Marshal.SizeOf(obj); @@ -1786,51 +1917,12 @@ namespace ArdupilotMega TypeCode typeCode = Type.GetTypeCode(fieldValue.GetType()); if (typeCode != TypeCode.Object) - {/* - switch (Marshal.SizeOf(fieldValue)) - { - case 1: - Marshal.WriteByte(i, reversestartoffset - 6, bytearray[reversestartoffset]); - break; - case 2: - byte[] temp = new byte[2]; - temp[0] = bytearray[reversestartoffset + 1]; - temp[1] = bytearray[reversestartoffset + 0]; - Marshal.WriteInt16(i, reversestartoffset - 6, BitConverter.ToInt16(temp, 0)); - break; - case 4: - byte[] temp2 = new byte[4]; - temp2[0] = bytearray[reversestartoffset + 3]; - temp2[1] = bytearray[reversestartoffset + 2]; - temp2[2] = bytearray[reversestartoffset + 1]; - temp2[3] = bytearray[reversestartoffset + 0]; - Marshal.WriteInt32(i, reversestartoffset - 6, BitConverter.ToInt32(temp2, 0)); - break; - case 8: - byte[] temp3 = new byte[8]; - temp3[0] = bytearray[reversestartoffset + 7]; - temp3[1] = bytearray[reversestartoffset + 6]; - temp3[2] = bytearray[reversestartoffset + 5]; - temp3[3] = bytearray[reversestartoffset + 4]; - temp3[4] = bytearray[reversestartoffset + 3]; - temp3[5] = bytearray[reversestartoffset + 2]; - temp3[6] = bytearray[reversestartoffset + 1]; - temp3[7] = bytearray[reversestartoffset + 0]; - Marshal.WriteInt64(i, reversestartoffset - 6, BitConverter.ToInt64(temp3, 0)); - break; - default: - Console.WriteLine("bytearraytostruct Bad value"); - break; - } */ + { Array.Reverse(temparray, reversestartoffset, Marshal.SizeOf(fieldValue)); reversestartoffset += Marshal.SizeOf(fieldValue); } else { - /* - for (int c = 0; c < ((byte[])fieldValue).Length;c++) - Marshal.WriteByte(i, c, bytearray[reversestartoffset + c]); - */ reversestartoffset += ((byte[])fieldValue).Length; } diff --git a/Tools/ArdupilotMegaPlanner/MAVLinkTypes.cs b/Tools/ArdupilotMegaPlanner/MAVLinkTypes.cs index 66c29af6a3..53ac881f15 100644 --- a/Tools/ArdupilotMegaPlanner/MAVLinkTypes.cs +++ b/Tools/ArdupilotMegaPlanner/MAVLinkTypes.cs @@ -7,864 +7,1346 @@ namespace ArdupilotMega { partial class MAVLink { - public const byte MAVLINK_MSG_ID_SENSOR_OFFSETS = 150; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_sensor_offsets_t - { - public short mag_ofs_x; ///< magnetometer X offset - public short mag_ofs_y; ///< magnetometer Y offset - public short mag_ofs_z; ///< magnetometer Z offset - public float mag_declination; ///< magnetic declination (radians) - public int raw_press; ///< raw pressure from barometer - public int raw_temp; ///< raw temperature from barometer - public float gyro_cal_x; ///< gyro X calibration - public float gyro_cal_y; ///< gyro Y calibration - public float gyro_cal_z; ///< gyro Z calibration - public float accel_cal_x; ///< accel X calibration - public float accel_cal_y; ///< accel Y calibration - public float accel_cal_z; ///< accel Z calibration - }; - - public const byte MAVLINK_MSG_ID_SET_MAG_OFFSETS = 151; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_set_mag_offsets_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public short mag_ofs_x; ///< magnetometer X offset - public short mag_ofs_y; ///< magnetometer Y offset - public short mag_ofs_z; ///< magnetometer Z offset - }; - + public byte[] MAVLINK_MESSAGE_LENGTHS = new byte[] {3, 4, 8, 14, 8, 28, 3, 32, 0, 2, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 19, 2, 23, 21, 0, 37, 26, 101, 26, 16, 32, 32, 37, 32, 11, 17, 17, 16, 18, 36, 4, 4, 2, 2, 4, 2, 2, 3, 14, 12, 18, 16, 8, 27, 25, 18, 18, 24, 24, 0, 0, 0, 26, 16, 36, 5, 6, 56, 26, 21, 18, 0, 0, 18, 20, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 14, 14, 51, 5}; + public byte[] MAVLINK_MESSAGE_CRCS = new byte[] {72, 39, 190, 92, 191, 217, 104, 119, 0, 219, 60, 186, 10, 0, 0, 0, 0, 0, 0, 0, 89, 159, 162, 121, 0, 149, 222, 110, 179, 136, 66, 126, 185, 147, 112, 252, 162, 215, 229, 128, 9, 106, 101, 213, 4, 229, 21, 214, 215, 14, 206, 50, 157, 126, 108, 213, 95, 5, 127, 0, 0, 0, 57, 126, 130, 119, 193, 191, 236, 158, 143, 0, 0, 104, 123, 131, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 29, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 224, 60, 106, 7}; public const byte MAVLINK_MSG_ID_MEMINFO = 152; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_meminfo_t { - public ushort brkval; ///< heap top - public ushort freemem; ///< free memory + public ushort brkval; ///< heap top + public ushort freemem; ///< free memory }; - public enum MAV_CMD - { - WAYPOINT = 16, - LOITER_UNLIM = 17, - LOITER_TURNS = 18, - LOITER_TIME = 19, - RETURN_TO_LAUNCH = 20, - LAND = 21, - TAKEOFF = 22, - ROI = 80, - PATHPLANNING = 81, - LAST = 95, - CONDITION_DELAY = 112, - CONDITION_CHANGE_ALT = 113, - CONDITION_DISTANCE = 114, - CONDITION_YAW = 115, - CONDITION_LAST = 159, - DO_SET_MODE = 176, - DO_JUMP = 177, - DO_CHANGE_SPEED = 178, - DO_SET_HOME = 179, - DO_SET_PARAMETER = 180, - DO_SET_RELAY = 181, - DO_REPEAT_RELAY = 182, - DO_SET_SERVO = 183, - DO_REPEAT_SERVO = 184, - DO_CONTROL_VIDEO = 200, - DO_SET_ROI = 201, - DO_LAST = 240, - PREFLIGHT_CALIBRATION = 241, - PREFLIGHT_STORAGE = 245, - }; - - public enum MAV_DATA_STREAM - { - MAV_DATA_STREAM_ALL = 0, - MAV_DATA_STREAM_RAW_SENSORS = 1, - MAV_DATA_STREAM_EXTENDED_STATUS = 2, - MAV_DATA_STREAM_RC_CHANNELS = 3, - MAV_DATA_STREAM_RAW_CONTROLLER = 4, - MAV_DATA_STREAM_POSITION = 6, - MAV_DATA_STREAM_EXTRA1 = 10, - MAV_DATA_STREAM_EXTRA2 = 11, - MAV_DATA_STREAM_EXTRA3 = 12, - }; - - public enum MAV_ROI - { - MAV_ROI_NONE = 0, - MAV_ROI_WPNEXT = 1, - MAV_ROI_WPINDEX = 2, - MAV_ROI_LOCATION = 3, - MAV_ROI_TARGET = 4, - }; - - public const byte MAVLINK_MSG_ID_HEARTBEAT = 0; + public const byte MAVLINK_MSG_ID_MEMINFO_LEN = 4; + public const byte MAVLINK_MSG_ID_152_LEN = 4; + public const byte MAVLINK_MSG_ID_SENSOR_OFFSETS = 150; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_heartbeat_t + public struct __mavlink_sensor_offsets_t { - public byte type; ///< Type of the MAV (quadrotor, helicopter, etc., up to 15 types, defined in MAV_TYPE ENUM) - public byte autopilot; ///< Type of the Autopilot: 0: Generic, 1: PIXHAWK, 2: SLUGS, 3: Ardupilot (up to 15 types), defined in MAV_AUTOPILOT_TYPE ENUM - public byte mavlink_version; ///< MAVLink version + public short mag_ofs_x; ///< magnetometer X offset + public short mag_ofs_y; ///< magnetometer Y offset + public short mag_ofs_z; ///< magnetometer Z offset + public float mag_declination; ///< magnetic declination (radians) + public int raw_press; ///< raw pressure from barometer + public int raw_temp; ///< raw temperature from barometer + public float gyro_cal_x; ///< gyro X calibration + public float gyro_cal_y; ///< gyro Y calibration + public float gyro_cal_z; ///< gyro Z calibration + public float accel_cal_x; ///< accel X calibration + public float accel_cal_y; ///< accel Y calibration + public float accel_cal_z; ///< accel Z calibration }; - public const byte MAVLINK_MSG_ID_BOOT = 1; + public const byte MAVLINK_MSG_ID_SENSOR_OFFSETS_LEN = 42; + public const byte MAVLINK_MSG_ID_150_LEN = 42; + public const byte MAVLINK_MSG_ID_SET_MAG_OFFSETS = 151; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_boot_t + public struct __mavlink_set_mag_offsets_t { - public uint version; ///< The onboard software version + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public short mag_ofs_x; ///< magnetometer X offset + public short mag_ofs_y; ///< magnetometer Y offset + public short mag_ofs_z; ///< magnetometer Z offset }; - public const byte MAVLINK_MSG_ID_SYSTEM_TIME = 2; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_system_time_t + public const byte MAVLINK_MSG_ID_SET_MAG_OFFSETS_LEN = 8; + public const byte MAVLINK_MSG_ID_151_LEN = 8; + public enum MAV_CMD { - public ulong time_usec; ///< Timestamp of the master clock in microseconds since UNIX epoch. + WAYPOINT=16, /* Navigate to waypoint. |Hold time in decimal seconds. (ignored by fixed wing, time to stay at waypoint for rotary wing)| Acceptance radius in meters (if the sphere with this radius is hit, the waypoint counts as reached)| 0 to pass through the WP, if > 0 radius in meters to pass by WP. Positive value for clockwise orbit, negative value for counter-clockwise orbit. Allows trajectory control.| Desired yaw angle at waypoint (rotary wing)| Latitude| Longitude| Altitude| */ + LOITER_UNLIM=17, /* Loiter around this waypoint an unlimited amount of time |Empty| Empty| Radius around waypoint, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude| */ + LOITER_TURNS=18, /* Loiter around this waypoint for X turns |Turns| Empty| Radius around waypoint, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude| */ + LOITER_TIME=19, /* Loiter around this waypoint for X seconds |Seconds (decimal)| Empty| Radius around waypoint, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude| */ + RETURN_TO_LAUNCH=20, /* Return to launch location |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + LAND=21, /* Land at location |Empty| Empty| Empty| Desired yaw angle.| Latitude| Longitude| Altitude| */ + TAKEOFF=22, /* Takeoff from ground / hand |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Empty| Yaw angle (if magnetometer present), ignored without magnetometer| Latitude| Longitude| Altitude| */ + ROI=80, /* Sets the region of interest (ROI) for a sensor set or the + vehicle itself. This can then be used by the vehicles control + system to control the vehicle attitude and the attitude of various + sensors such as cameras. |Region of intereset mode. (see MAV_ROI enum)| Waypoint index/ target ID. (see MAV_ROI enum)| ROI index (allows a vehicle to manage multiple ROI's)| Empty| x the location of the fixed ROI (see MAV_FRAME)| y| z| */ + PATHPLANNING=81, /* Control autonomous path planning on the MAV. |0: Disable local obstacle avoidance / local path planning (without resetting map), 1: Enable local path planning, 2: Enable and reset local path planning| 0: Disable full path planning (without resetting map), 1: Enable, 2: Enable and reset map/occupancy grid, 3: Enable and reset planned route, but not occupancy grid| Empty| Yaw angle at goal, in compass degrees, [0..360]| Latitude/X of goal| Longitude/Y of goal| Altitude/Z of goal| */ + LAST=95, /* NOP - This command is only used to mark the upper limit of the NAV/ACTION commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + CONDITION_DELAY=112, /* Delay mission state machine. |Delay in seconds (decimal)| Empty| Empty| Empty| Empty| Empty| Empty| */ + CONDITION_CHANGE_ALT=113, /* Ascend/descend at rate. Delay mission state machine until desired altitude reached. |Descent / Ascend rate (m/s)| Empty| Empty| Empty| Empty| Empty| Finish Altitude| */ + CONDITION_DISTANCE=114, /* Delay mission state machine until within desired distance of next NAV point. |Distance (meters)| Empty| Empty| Empty| Empty| Empty| Empty| */ + CONDITION_YAW=115, /* Reach a certain target angle. |target angle: [0-360], 0 is north| speed during yaw change:[deg per second]| direction: negative: counter clockwise, positive: clockwise [-1,1]| relative offset or absolute angle: [ 1,0]| Empty| Empty| Empty| */ + CONDITION_LAST=159, /* NOP - This command is only used to mark the upper limit of the CONDITION commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + DO_SET_MODE=176, /* Set system mode. |Mode, as defined by ENUM MAV_MODE| Empty| Empty| Empty| Empty| Empty| Empty| */ + DO_JUMP=177, /* Jump to the desired command in the mission list. Repeat this action only the specified number of times |Sequence number| Repeat count| Empty| Empty| Empty| Empty| Empty| */ + DO_CHANGE_SPEED=178, /* Change speed and/or throttle set points. |Speed type (0=Airspeed, 1=Ground Speed)| Speed (m/s, -1 indicates no change)| Throttle ( Percent, -1 indicates no change)| Empty| Empty| Empty| Empty| */ + DO_SET_HOME=179, /* Changes the home location either to the current location or a specified location. |Use current (1=use current location, 0=use specified location)| Empty| Empty| Empty| Latitude| Longitude| Altitude| */ + DO_SET_PARAMETER=180, /* Set a system parameter. Caution! Use of this command requires knowledge of the numeric enumeration value of the parameter. |Parameter number| Parameter value| Empty| Empty| Empty| Empty| Empty| */ + DO_SET_RELAY=181, /* Set a relay to a condition. |Relay number| Setting (1=on, 0=off, others possible depending on system hardware)| Empty| Empty| Empty| Empty| Empty| */ + DO_REPEAT_RELAY=182, /* Cycle a relay on and off for a desired number of cyles with a desired period. |Relay number| Cycle count| Cycle time (seconds, decimal)| Empty| Empty| Empty| Empty| */ + DO_SET_SERVO=183, /* Set a servo to a desired PWM value. |Servo number| PWM (microseconds, 1000 to 2000 typical)| Empty| Empty| Empty| Empty| Empty| */ + DO_REPEAT_SERVO=184, /* Cycle a between its nominal setting and a desired PWM for a desired number of cycles with a desired period. |Servo number| PWM (microseconds, 1000 to 2000 typical)| Cycle count| Cycle time (seconds)| Empty| Empty| Empty| */ + DO_CONTROL_VIDEO=200, /* Control onboard camera capturing. |Camera ID (-1 for all)| Transmission: 0: disabled, 1: enabled compressed, 2: enabled raw| Transmission mode: 0: video stream, >0: single images every n seconds (decimal)| Recording: 0: disabled, 1: enabled compressed, 2: enabled raw| Empty| Empty| Empty| */ + DO_SET_ROI=201, /* Sets the region of interest (ROI) for a sensor set or the + vehicle itself. This can then be used by the vehicles control + system to control the vehicle attitude and the attitude of various + devices such as cameras. + |Region of interest mode. (see MAV_ROI enum)| Waypoint index/ target ID. (see MAV_ROI enum)| ROI index (allows a vehicle to manage multiple cameras etc.)| Empty| x the location of the fixed ROI (see MAV_FRAME)| y| z| */ + DO_LAST=240, /* NOP - This command is only used to mark the upper limit of the DO commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + PREFLIGHT_CALIBRATION=241, /* Trigger calibration. This command will be only accepted if in pre-flight mode. |Gyro calibration: 0: no, 1: yes| Magnetometer calibration: 0: no, 1: yes| Ground pressure: 0: no, 1: yes| Radio calibration: 0: no, 1: yes| Empty| Empty| Empty| */ + PREFLIGHT_STORAGE=245, /* Request storage of different parameter values and logs. This command will be only accepted if in pre-flight mode. |Parameter storage: 0: READ FROM FLASH/EEPROM, 1: WRITE CURRENT TO FLASH/EEPROM| Mission storage: 0: READ FROM FLASH/EEPROM, 1: WRITE CURRENT TO FLASH/EEPROM| Reserved| Reserved| Empty| Empty| Empty| */ + ENUM_END=246, /* | */ }; - public const byte MAVLINK_MSG_ID_PING = 3; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_ping_t + public enum MAV_DATA_STREAM { - public uint seq; ///< PING sequence - public byte target_system; ///< 0: request ping from all receiving systems, if greater than 0: message is a ping response and number is the system id of the requesting system - public byte target_component; ///< 0: request ping from all receiving components, if greater than 0: message is a ping response and number is the system id of the requesting system - public ulong time; ///< Unix timestamp in microseconds + MAV_DATA_STREAM_ALL=0, /* Enable all data streams | */ + MAV_DATA_STREAM_RAW_SENSORS=1, /* Enable IMU_RAW, GPS_RAW, GPS_STATUS packets. | */ + MAV_DATA_STREAM_EXTENDED_STATUS=2, /* Enable GPS_STATUS, CONTROL_STATUS, AUX_STATUS | */ + MAV_DATA_STREAM_RC_CHANNELS=3, /* Enable RC_CHANNELS_SCALED, RC_CHANNELS_RAW, SERVO_OUTPUT_RAW | */ + MAV_DATA_STREAM_RAW_CONTROLLER=4, /* Enable ATTITUDE_CONTROLLER_OUTPUT, POSITION_CONTROLLER_OUTPUT, NAV_CONTROLLER_OUTPUT. | */ + MAV_DATA_STREAM_POSITION=6, /* Enable LOCAL_POSITION, GLOBAL_POSITION/GLOBAL_POSITION_INT messages. | */ + MAV_DATA_STREAM_EXTRA1=10, /* Dependent on the autopilot | */ + MAV_DATA_STREAM_EXTRA2=11, /* Dependent on the autopilot | */ + MAV_DATA_STREAM_EXTRA3=12, /* Dependent on the autopilot | */ + MAV_DATA_STREAM_ENUM_END=13, /* | */ }; - public const byte MAVLINK_MSG_ID_SYSTEM_TIME_UTC = 4; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_system_time_utc_t + public enum MAV_ROI { - public uint utc_date; ///< GPS UTC date ddmmyy - public uint utc_time; ///< GPS UTC time hhmmss - }; - - public const byte MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL = 5; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_change_operator_control_t - { - public byte target_system; ///< System the GCS requests control for - public byte control_request; ///< 0: request control of this MAV, 1: Release control of this MAV - public byte version; ///< 0: key as plaintext, 1-255: future, different hashing/encryption variants. The GCS should in general use the safest mode possible initially and then gradually move down the encryption level if it gets a NACK message indicating an encryption mismatch. - [MarshalAs(UnmanagedType.ByValArray, SizeConst=25)] - char passkey; ///< Password / Key, depending on version plaintext or encrypted. 25 or less characters, NULL terminated. The characters may involve A-Z, a-z, 0-9, and "!?,.-" - }; - - public const byte MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_ACK = 6; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_change_operator_control_ack_t - { - public byte gcs_system_id; ///< ID of the GCS this message - public byte control_request; ///< 0: request control of this MAV, 1: Release control of this MAV - public byte ack; ///< 0: ACK, 1: NACK: Wrong passkey, 2: NACK: Unsupported passkey encryption method, 3: NACK: Already under control - }; - - public const byte MAVLINK_MSG_ID_AUTH_KEY = 7; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_auth_key_t - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst=32)] - char key; ///< key - }; - - public const byte MAVLINK_MSG_ID_ACTION_ACK = 9; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_action_ack_t - { - public byte action; ///< The action id - public byte result; ///< 0: Action DENIED, 1: Action executed + MAV_ROI_NONE=0, /* No region of interest. | */ + MAV_ROI_WPNEXT=1, /* Point toward next waypoint. | */ + MAV_ROI_WPINDEX=2, /* Point toward given waypoint. | */ + MAV_ROI_LOCATION=3, /* Point toward fixed location. | */ + MAV_ROI_TARGET=4, /* Point toward of given id. | */ + MAV_ROI_ENUM_END=5, /* | */ }; public const byte MAVLINK_MSG_ID_ACTION = 10; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_action_t { - public byte target; ///< The system executing the action - public byte target_component; ///< The component executing the action - public byte action; ///< The action id + public byte target; ///< The system executing the action + public byte target_component; ///< The component executing the action + public byte action; ///< The action id }; - public const byte MAVLINK_MSG_ID_SET_MODE = 11; + public const byte MAVLINK_MSG_ID_ACTION_LEN = 3; + public const byte MAVLINK_MSG_ID_10_LEN = 3; + public const byte MAVLINK_MSG_ID_ACTION_ACK = 9; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_set_mode_t + public struct __mavlink_action_ack_t { - public byte target; ///< The system setting the mode - public byte mode; ///< The new mode - }; - - public const byte MAVLINK_MSG_ID_SET_NAV_MODE = 12; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_set_nav_mode_t - { - public byte target; ///< The system setting the mode - public byte nav_mode; ///< The new navigation mode - }; - - public const byte MAVLINK_MSG_ID_PARAM_REQUEST_READ = 20; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_param_request_read_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - [MarshalAs(UnmanagedType.ByValArray, SizeConst=15)] - public byte[] param_id; ///< Onboard parameter id - public short param_index; ///< Parameter index. Send -1 to use the param ID field as identifier - }; - - public const byte MAVLINK_MSG_ID_PARAM_REQUEST_LIST = 21; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_param_request_list_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - }; - - public const byte MAVLINK_MSG_ID_PARAM_VALUE = 22; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_param_value_t - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst=15)] - public byte[] param_id; ///< Onboard parameter id - public float param_value; ///< Onboard parameter value - public ushort param_count; ///< Total number of onboard parameters - public ushort param_index; ///< Index of this onboard parameter - }; - - public const byte MAVLINK_MSG_ID_PARAM_SET = 23; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_param_set_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - [MarshalAs(UnmanagedType.ByValArray, SizeConst=15)] - public byte[] param_id; ///< Onboard parameter id - public float param_value; ///< Onboard parameter value - }; - - public const byte MAVLINK_MSG_ID_GPS_RAW_INT = 25; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_gps_raw_int_t - { - public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public byte fix_type; ///< 0-1: no fix, 2: 2D fix, 3: 3D fix. Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix. - public int lat; ///< Latitude in 1E7 degrees - public int lon; ///< Longitude in 1E7 degrees - public int alt; ///< Altitude in 1E3 meters (millimeters) - public float eph; ///< GPS HDOP - public float epv; ///< GPS VDOP - public float v; ///< GPS ground speed (m/s) - public float hdg; ///< Compass heading in degrees, 0..360 degrees - }; - - public const byte MAVLINK_MSG_ID_SCALED_IMU = 26; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_scaled_imu_t - { - public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public short xacc; ///< X acceleration (mg) - public short yacc; ///< Y acceleration (mg) - public short zacc; ///< Z acceleration (mg) - public short xgyro; ///< Angular speed around X axis (millirad /sec) - public short ygyro; ///< Angular speed around Y axis (millirad /sec) - public short zgyro; ///< Angular speed around Z axis (millirad /sec) - public short xmag; ///< X Magnetic field (milli tesla) - public short ymag; ///< Y Magnetic field (milli tesla) - public short zmag; ///< Z Magnetic field (milli tesla) - }; - - public const byte MAVLINK_MSG_ID_GPS_STATUS = 27; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_gps_status_t - { - public byte satellites_visible; ///< Number of satellites visible - [MarshalAs(UnmanagedType.ByValArray, SizeConst=20)] - public byte[] satellite_prn; ///< Global satellite ID - [MarshalAs(UnmanagedType.ByValArray, SizeConst=20)] - public byte[] satellite_used; ///< 0: Satellite not used, 1: used for localization - [MarshalAs(UnmanagedType.ByValArray, SizeConst=20)] - public byte[] satellite_elevation; ///< Elevation (0: right on top of receiver, 90: on the horizon) of satellite - [MarshalAs(UnmanagedType.ByValArray, SizeConst=20)] - public byte[] satellite_azimuth; ///< Direction of satellite, 0: 0 deg, 255: 360 deg. - [MarshalAs(UnmanagedType.ByValArray, SizeConst=20)] - public byte[] satellite_snr; ///< Signal to noise ratio of satellite - }; - - public const byte MAVLINK_MSG_ID_RAW_IMU = 28; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_raw_imu_t - { - public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public short xacc; ///< X acceleration (raw) - public short yacc; ///< Y acceleration (raw) - public short zacc; ///< Z acceleration (raw) - public short xgyro; ///< Angular speed around X axis (raw) - public short ygyro; ///< Angular speed around Y axis (raw) - public short zgyro; ///< Angular speed around Z axis (raw) - public short xmag; ///< X Magnetic field (raw) - public short ymag; ///< Y Magnetic field (raw) - public short zmag; ///< Z Magnetic field (raw) - }; - - public const byte MAVLINK_MSG_ID_RAW_PRESSURE = 29; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_raw_pressure_t - { - public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public short press_abs; ///< Absolute pressure (raw) - public short press_diff1; ///< Differential pressure 1 (raw) - public short press_diff2; ///< Differential pressure 2 (raw) - public short temperature; ///< Raw Temperature measurement (raw) - }; - - public const byte MAVLINK_MSG_ID_SCALED_PRESSURE = 38; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_scaled_pressure_t - { - public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public float press_abs; ///< Absolute pressure (hectopascal) - public float press_diff; ///< Differential pressure 1 (hectopascal) - public short temperature; ///< Temperature measurement (0.01 degrees celsius) + public byte action; ///< The action id + public byte result; ///< 0: Action DENIED, 1: Action executed }; + public const byte MAVLINK_MSG_ID_ACTION_ACK_LEN = 2; + public const byte MAVLINK_MSG_ID_9_LEN = 2; public const byte MAVLINK_MSG_ID_ATTITUDE = 30; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_attitude_t { - public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public float roll; ///< Roll angle (rad) - public float pitch; ///< Pitch angle (rad) - public float yaw; ///< Yaw angle (rad) - public float rollspeed; ///< Roll angular speed (rad/s) - public float pitchspeed; ///< Pitch angular speed (rad/s) - public float yawspeed; ///< Yaw angular speed (rad/s) + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public float roll; ///< Roll angle (rad) + public float pitch; ///< Pitch angle (rad) + public float yaw; ///< Yaw angle (rad) + public float rollspeed; ///< Roll angular speed (rad/s) + public float pitchspeed; ///< Pitch angular speed (rad/s) + public float yawspeed; ///< Yaw angular speed (rad/s) }; - public const byte MAVLINK_MSG_ID_LOCAL_POSITION = 31; + public const byte MAVLINK_MSG_ID_ATTITUDE_LEN = 32; + public const byte MAVLINK_MSG_ID_30_LEN = 32; + public const byte MAVLINK_MSG_ID_ATTITUDE_CONTROLLER_OUTPUT = 60; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_local_position_t + public struct __mavlink_attitude_controller_output_t + { + public byte enabled; ///< 1: enabled, 0: disabled + public byte roll; ///< Attitude roll: -128: -100%, 127: +100% + public byte pitch; ///< Attitude pitch: -128: -100%, 127: +100% + public byte yaw; ///< Attitude yaw: -128: -100%, 127: +100% + public byte thrust; ///< Attitude thrust: -128: -100%, 127: +100% + + }; + + public const byte MAVLINK_MSG_ID_ATTITUDE_NEW = 30; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_attitude_new_t { public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public float x; ///< X Position - public float y; ///< Y Position - public float z; ///< Z Position - public float vx; ///< X Speed - public float vy; ///< Y Speed - public float vz; ///< Z Speed + public float roll; ///< Roll angle (rad) + public float pitch; ///< Pitch angle (rad) + public float yaw; ///< Yaw angle (rad) + public float rollspeed; ///< Roll angular speed (rad/s) + public float pitchspeed; ///< Pitch angular speed (rad/s) + public float yawspeed; ///< Yaw angular speed (rad/s) + + }; + + public const byte MAVLINK_MSG_ID_AUTH_KEY = 7; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_auth_key_t + { + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=32)] + char key; ///< key + }; + + public const byte MAVLINK_MSG_ID_AUTH_KEY_LEN = 32; + public const byte MAVLINK_MSG_ID_7_LEN = 32; + public const byte MAVLINK_MSG_ID_BOOT = 1; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_boot_t + { + public uint version; ///< The onboard software version + }; + + public const byte MAVLINK_MSG_ID_BOOT_LEN = 4; + public const byte MAVLINK_MSG_ID_1_LEN = 4; + public const byte MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL = 5; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_change_operator_control_t + { + public byte target_system; ///< System the GCS requests control for + public byte control_request; ///< 0: request control of this MAV, 1: Release control of this MAV + public byte version; ///< 0: key as plaintext, 1-255: future, different hashing/encryption variants. The GCS should in general use the safest mode possible initially and then gradually move down the encryption level if it gets a NACK message indicating an encryption mismatch. + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=25)] + char passkey; ///< Password / Key, depending on version plaintext or encrypted. 25 or less characters, NULL terminated. The characters may involve A-Z, a-z, 0-9, and "!?,.-" + }; + + public const byte MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_LEN = 28; + public const byte MAVLINK_MSG_ID_5_LEN = 28; + public const byte MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_ACK = 6; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_change_operator_control_ack_t + { + public byte gcs_system_id; ///< ID of the GCS this message + public byte control_request; ///< 0: request control of this MAV, 1: Release control of this MAV + public byte ack; ///< 0: ACK, 1: NACK: Wrong passkey, 2: NACK: Unsupported passkey encryption method, 3: NACK: Already under control + }; + + public const byte MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_ACK_LEN = 3; + public const byte MAVLINK_MSG_ID_6_LEN = 3; + public const byte MAVLINK_MSG_ID_COMMAND = 75; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_command_t + { + public byte target_system; ///< System which should execute the command + public byte target_component; ///< Component which should execute the command, 0 for all components + public byte command; ///< Command ID, as defined by MAV_CMD enum. + public byte confirmation; ///< 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command) + public float param1; ///< Parameter 1, as defined by MAV_CMD enum. + public float param2; ///< Parameter 2, as defined by MAV_CMD enum. + public float param3; ///< Parameter 3, as defined by MAV_CMD enum. + public float param4; ///< Parameter 4, as defined by MAV_CMD enum. + }; + + public const byte MAVLINK_MSG_ID_COMMAND_LEN = 20; + public const byte MAVLINK_MSG_ID_75_LEN = 20; + public const byte MAVLINK_MSG_ID_COMMAND_ACK = 76; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_command_ack_t + { + public float command; ///< Current airspeed in m/s + public float result; ///< 1: Action ACCEPTED and EXECUTED, 1: Action TEMPORARY REJECTED/DENIED, 2: Action PERMANENTLY DENIED, 3: Action UNKNOWN/UNSUPPORTED, 4: Requesting CONFIRMATION + }; + + public const byte MAVLINK_MSG_ID_COMMAND_ACK_LEN = 8; + public const byte MAVLINK_MSG_ID_76_LEN = 8; + public const byte MAVLINK_MSG_ID_CONTROL_STATUS = 52; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_control_status_t + { + public byte position_fix; ///< Position fix: 0: lost, 2: 2D position fix, 3: 3D position fix + public byte vision_fix; ///< Vision position fix: 0: lost, 1: 2D local position hold, 2: 2D global position fix, 3: 3D global position fix + public byte gps_fix; ///< GPS position fix: 0: no reception, 1: Minimum 1 satellite, but no position fix, 2: 2D position fix, 3: 3D position fix + public byte ahrs_health; ///< Attitude estimation health: 0: poor, 255: excellent + public byte control_att; ///< 0: Attitude control disabled, 1: enabled + public byte control_pos_xy; ///< 0: X, Y position control disabled, 1: enabled + public byte control_pos_z; ///< 0: Z position control disabled, 1: enabled + public byte control_pos_yaw; ///< 0: Yaw angle control disabled, 1: enabled + }; + + public const byte MAVLINK_MSG_ID_CONTROL_STATUS_LEN = 8; + public const byte MAVLINK_MSG_ID_52_LEN = 8; + public const byte MAVLINK_MSG_ID_DEBUG = 255; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_debug_t + { + public byte ind; ///< index of debug variable + public float value; ///< DEBUG value + }; + + public const byte MAVLINK_MSG_ID_DEBUG_LEN = 5; + public const byte MAVLINK_MSG_ID_255_LEN = 5; + public const byte MAVLINK_MSG_ID_DEBUG_VECT = 251; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_debug_vect_t + { + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=10)] + char name; ///< Name + public ulong usec; ///< Timestamp + public float x; ///< x + public float y; ///< y + public float z; ///< z + }; + + public const byte MAVLINK_MSG_ID_DEBUG_VECT_LEN = 30; + public const byte MAVLINK_MSG_ID_251_LEN = 30; + public const byte MAVLINK_MSG_ID_FULL_STATE = 67; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_full_state_t + { + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public float roll; ///< Roll angle (rad) + public float pitch; ///< Pitch angle (rad) + public float yaw; ///< Yaw angle (rad) + public float rollspeed; ///< Roll angular speed (rad/s) + public float pitchspeed; ///< Pitch angular speed (rad/s) + public float yawspeed; ///< Yaw angular speed (rad/s) + public int lat; ///< Latitude, expressed as * 1E7 + public int lon; ///< Longitude, expressed as * 1E7 + public int alt; ///< Altitude in meters, expressed as * 1000 (millimeters) + public short vx; ///< Ground X Speed (Latitude), expressed as m/s * 100 + public short vy; ///< Ground Y Speed (Longitude), expressed as m/s * 100 + public short vz; ///< Ground Z Speed (Altitude), expressed as m/s * 100 + public short xacc; ///< X acceleration (mg) + public short yacc; ///< Y acceleration (mg) + public short zacc; ///< Z acceleration (mg) + }; public const byte MAVLINK_MSG_ID_GLOBAL_POSITION = 33; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_global_position_t { - public ulong usec; ///< Timestamp (microseconds since unix epoch) - public float lat; ///< Latitude, in degrees - public float lon; ///< Longitude, in degrees - public float alt; ///< Absolute altitude, in meters - public float vx; ///< X Speed (in Latitude direction, positive: going north) - public float vy; ///< Y Speed (in Longitude direction, positive: going east) - public float vz; ///< Z Speed (in Altitude direction, positive: going up) + public ulong usec; ///< Timestamp (microseconds since unix epoch) + public float lat; ///< Latitude, in degrees + public float lon; ///< Longitude, in degrees + public float alt; ///< Absolute altitude, in meters + public float vx; ///< X Speed (in Latitude direction, positive: going north) + public float vy; ///< Y Speed (in Longitude direction, positive: going east) + public float vz; ///< Z Speed (in Altitude direction, positive: going up) }; - public const byte MAVLINK_MSG_ID_GPS_RAW = 32; + public const byte MAVLINK_MSG_ID_GLOBAL_POSITION_LEN = 32; + public const byte MAVLINK_MSG_ID_33_LEN = 32; + public const byte MAVLINK_MSG_ID_GLOBAL_POSITION_INT = 73; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_gps_raw_t + public struct __mavlink_global_position_int_t { - public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public byte fix_type; ///< 0-1: no fix, 2: 2D fix, 3: 3D fix. Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix. - public float lat; ///< Latitude in degrees - public float lon; ///< Longitude in degrees - public float alt; ///< Altitude in meters - public float eph; ///< GPS HDOP - public float epv; ///< GPS VDOP - public float v; ///< GPS ground speed - public float hdg; ///< Compass heading in degrees, 0..360 degrees - }; - - public const byte MAVLINK_MSG_ID_SYS_STATUS = 34; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_sys_status_t - { - public byte mode; ///< System mode, see MAV_MODE ENUM in mavlink/include/mavlink_types.h - public byte nav_mode; ///< Navigation mode, see MAV_NAV_MODE ENUM - public byte status; ///< System status flag, see MAV_STATUS ENUM - public ushort load; ///< Maximum usage in percent of the mainloop time, (0%: 0, 100%: 1000) should be always below 1000 - public ushort vbat; ///< Battery voltage, in millivolts (1 = 1 millivolt) - public ushort battery_remaining; ///< Remaining battery energy: (0%: 0, 100%: 1000) - public ushort packet_drop; ///< Dropped packets (packets that were corrupted on reception on the MAV) - }; - - public const byte MAVLINK_MSG_ID_RC_CHANNELS_RAW = 35; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_rc_channels_raw_t - { - public ushort chan1_raw; ///< RC channel 1 value, in microseconds - public ushort chan2_raw; ///< RC channel 2 value, in microseconds - public ushort chan3_raw; ///< RC channel 3 value, in microseconds - public ushort chan4_raw; ///< RC channel 4 value, in microseconds - public ushort chan5_raw; ///< RC channel 5 value, in microseconds - public ushort chan6_raw; ///< RC channel 6 value, in microseconds - public ushort chan7_raw; ///< RC channel 7 value, in microseconds - public ushort chan8_raw; ///< RC channel 8 value, in microseconds - public byte rssi; ///< Receive signal strength indicator, 0: 0%, 255: 100% - }; - - public const byte MAVLINK_MSG_ID_RC_CHANNELS_SCALED = 36; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_rc_channels_scaled_t - { - public short chan1_scaled; ///< RC channel 1 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 - public short chan2_scaled; ///< RC channel 2 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 - public short chan3_scaled; ///< RC channel 3 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 - public short chan4_scaled; ///< RC channel 4 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 - public short chan5_scaled; ///< RC channel 5 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 - public short chan6_scaled; ///< RC channel 6 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 - public short chan7_scaled; ///< RC channel 7 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 - public short chan8_scaled; ///< RC channel 8 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 - public byte rssi; ///< Receive signal strength indicator, 0: 0%, 255: 100% - }; - - public const byte MAVLINK_MSG_ID_SERVO_OUTPUT_RAW = 37; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_servo_output_raw_t - { - public ushort servo1_raw; ///< Servo output 1 value, in microseconds - public ushort servo2_raw; ///< Servo output 2 value, in microseconds - public ushort servo3_raw; ///< Servo output 3 value, in microseconds - public ushort servo4_raw; ///< Servo output 4 value, in microseconds - public ushort servo5_raw; ///< Servo output 5 value, in microseconds - public ushort servo6_raw; ///< Servo output 6 value, in microseconds - public ushort servo7_raw; ///< Servo output 7 value, in microseconds - public ushort servo8_raw; ///< Servo output 8 value, in microseconds - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT = 39; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public ushort seq; ///< Sequence - public byte frame; ///< The coordinate system of the waypoint. see MAV_FRAME in mavlink_types.h - public byte command; ///< The scheduled action for the waypoint. see MAV_COMMAND in common.xml MAVLink specs - public byte current; ///< false:0, true:1 - public byte autocontinue; ///< autocontinue to next wp - public float param1; ///< PARAM1 / For NAV command waypoints: Radius in which the waypoint is accepted as reached, in meters - public float param2; ///< PARAM2 / For NAV command waypoints: Time that the MAV should stay inside the PARAM1 radius before advancing, in milliseconds - public float param3; ///< PARAM3 / For LOITER command waypoints: Orbit to circle around the waypoint, in meters. If positive the orbit direction should be clockwise, if negative the orbit direction should be counter-clockwise. - public float param4; ///< PARAM4 / For NAV and LOITER command waypoints: Yaw orientation in degrees, [0..360] 0 = NORTH - public float x; ///< PARAM5 / local: x position, global: latitude - public float y; ///< PARAM6 / y position: global: longitude - public float z; ///< PARAM7 / z position: global: altitude - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT_REQUEST = 40; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_request_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public ushort seq; ///< Sequence - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT_SET_CURRENT = 41; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_set_current_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public ushort seq; ///< Sequence - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT_CURRENT = 42; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_current_t - { - public ushort seq; ///< Sequence - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT_REQUEST_LIST = 43; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_request_list_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT_COUNT = 44; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_count_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public ushort count; ///< Number of Waypoints in the Sequence - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT_CLEAR_ALL = 45; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_clear_all_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT_REACHED = 46; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_reached_t - { - public ushort seq; ///< Sequence - }; - - public const byte MAVLINK_MSG_ID_WAYPOINT_ACK = 47; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_waypoint_ack_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public byte type; ///< 0: OK, 1: Error - }; - - public const byte MAVLINK_MSG_ID_GPS_SET_GLOBAL_ORIGIN = 48; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_gps_set_global_origin_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public int latitude; ///< global position * 1E7 - public int longitude; ///< global position * 1E7 - public int altitude; ///< global position * 1000 + public int lat; ///< Latitude, expressed as * 1E7 + public int lon; ///< Longitude, expressed as * 1E7 + public int alt; ///< Altitude in meters, expressed as * 1000 (millimeters) + public short vx; ///< Ground X Speed (Latitude), expressed as m/s * 100 + public short vy; ///< Ground Y Speed (Longitude), expressed as m/s * 100 + public short vz; ///< Ground Z Speed (Altitude), expressed as m/s * 100 }; + public const byte MAVLINK_MSG_ID_GLOBAL_POSITION_INT_LEN = 18; + public const byte MAVLINK_MSG_ID_73_LEN = 18; public const byte MAVLINK_MSG_ID_GPS_LOCAL_ORIGIN_SET = 49; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_gps_local_origin_set_t { - public int latitude; ///< Latitude (WGS84), expressed as * 1E7 - public int longitude; ///< Longitude (WGS84), expressed as * 1E7 - public int altitude; ///< Altitude(WGS84), expressed as * 1000 + public int latitude; ///< Latitude (WGS84), expressed as * 1E7 + public int longitude; ///< Longitude (WGS84), expressed as * 1E7 + public int altitude; ///< Altitude(WGS84), expressed as * 1000 }; - public const byte MAVLINK_MSG_ID_LOCAL_POSITION_SETPOINT_SET = 50; + public const byte MAVLINK_MSG_ID_GPS_LOCAL_ORIGIN_SET_LEN = 12; + public const byte MAVLINK_MSG_ID_49_LEN = 12; + public const byte MAVLINK_MSG_ID_GPS_RAW = 32; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_local_position_setpoint_set_t + public struct __mavlink_gps_raw_t { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public float x; ///< x position - public float y; ///< y position - public float z; ///< z position - public float yaw; ///< Desired yaw angle + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public byte fix_type; ///< 0-1: no fix, 2: 2D fix, 3: 3D fix. Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix. + public float lat; ///< Latitude in degrees + public float lon; ///< Longitude in degrees + public float alt; ///< Altitude in meters + public float eph; ///< GPS HDOP + public float epv; ///< GPS VDOP + public float v; ///< GPS ground speed + public float hdg; ///< Compass heading in degrees, 0..360 degrees }; + public const byte MAVLINK_MSG_ID_GPS_RAW_LEN = 37; + public const byte MAVLINK_MSG_ID_32_LEN = 37; + public const byte MAVLINK_MSG_ID_GPS_RAW_INT = 25; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_gps_raw_int_t + { + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public byte fix_type; ///< 0-1: no fix, 2: 2D fix, 3: 3D fix. Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix. + public int lat; ///< Latitude in 1E7 degrees + public int lon; ///< Longitude in 1E7 degrees + public int alt; ///< Altitude in 1E3 meters (millimeters) + public float eph; ///< GPS HDOP + public float epv; ///< GPS VDOP + public float v; ///< GPS ground speed (m/s) + public float hdg; ///< Compass heading in degrees, 0..360 degrees + }; + + public const byte MAVLINK_MSG_ID_GPS_RAW_INT_LEN = 37; + public const byte MAVLINK_MSG_ID_25_LEN = 37; + public const byte MAVLINK_MSG_ID_GPS_SET_GLOBAL_ORIGIN = 48; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_gps_set_global_origin_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public int latitude; ///< global position * 1E7 + public int longitude; ///< global position * 1E7 + public int altitude; ///< global position * 1000 + }; + + public const byte MAVLINK_MSG_ID_GPS_SET_GLOBAL_ORIGIN_LEN = 14; + public const byte MAVLINK_MSG_ID_48_LEN = 14; + public const byte MAVLINK_MSG_ID_GPS_STATUS = 27; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_gps_status_t + { + public byte satellites_visible; ///< Number of satellites visible + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=20)] + public byte[] satellite_prn; ///< Global satellite ID + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=20)] + public byte[] satellite_used; ///< 0: Satellite not used, 1: used for localization + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=20)] + public byte[] satellite_elevation; ///< Elevation (0: right on top of receiver, 90: on the horizon) of satellite + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=20)] + public byte[] satellite_azimuth; ///< Direction of satellite, 0: 0 deg, 255: 360 deg. + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=20)] + public byte[] satellite_snr; ///< Signal to noise ratio of satellite + }; + + public const byte MAVLINK_MSG_ID_GPS_STATUS_LEN = 101; + public const byte MAVLINK_MSG_ID_27_LEN = 101; + public const byte MAVLINK_MSG_ID_HEARTBEAT = 0; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_heartbeat_t + { + public byte type; ///< Type of the MAV (quadrotor, helicopter, etc., up to 15 types, defined in MAV_TYPE ENUM) + public byte autopilot; ///< Type of the Autopilot: 0: Generic, 1: PIXHAWK, 2: SLUGS, 3: Ardupilot (up to 15 types), defined in MAV_AUTOPILOT_TYPE ENUM + public byte mavlink_version; ///< MAVLink version + }; + + public const byte MAVLINK_MSG_ID_HEARTBEAT_LEN = 3; + public const byte MAVLINK_MSG_ID_0_LEN = 3; + public const byte MAVLINK_MSG_ID_HIL_CONTROLS = 68; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_hil_controls_t + { + public ulong time_us; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public float roll_ailerons; ///< Control output -3 .. 1 + public float pitch_elevator; ///< Control output -1 .. 1 + public float yaw_rudder; ///< Control output -1 .. 1 + public float throttle; ///< Throttle 0 .. 1 + public byte mode; ///< System mode (MAV_MODE) + public byte nav_mode; ///< Navigation mode (MAV_NAV_MODE) + }; + + public const byte MAVLINK_MSG_ID_HIL_CONTROLS_LEN = 26; + public const byte MAVLINK_MSG_ID_68_LEN = 26; + public const byte MAVLINK_MSG_ID_HIL_STATE = 67; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_hil_state_t + { + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public float roll; ///< Roll angle (rad) + public float pitch; ///< Pitch angle (rad) + public float yaw; ///< Yaw angle (rad) + public float rollspeed; ///< Roll angular speed (rad/s) + public float pitchspeed; ///< Pitch angular speed (rad/s) + public float yawspeed; ///< Yaw angular speed (rad/s) + public int lat; ///< Latitude, expressed as * 1E7 + public int lon; ///< Longitude, expressed as * 1E7 + public int alt; ///< Altitude in meters, expressed as * 1000 (millimeters) + public short vx; ///< Ground X Speed (Latitude), expressed as m/s * 100 + public short vy; ///< Ground Y Speed (Longitude), expressed as m/s * 100 + public short vz; ///< Ground Z Speed (Altitude), expressed as m/s * 100 + public short xacc; ///< X acceleration (mg) + public short yacc; ///< Y acceleration (mg) + public short zacc; ///< Z acceleration (mg) + }; + + public const byte MAVLINK_MSG_ID_HIL_STATE_LEN = 56; + public const byte MAVLINK_MSG_ID_67_LEN = 56; + public const byte MAVLINK_MSG_ID_LOCAL_POSITION = 31; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_local_position_t + { + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public float x; ///< X Position + public float y; ///< Y Position + public float z; ///< Z Position + public float vx; ///< X Speed + public float vy; ///< Y Speed + public float vz; ///< Z Speed + }; + + public const byte MAVLINK_MSG_ID_LOCAL_POSITION_LEN = 32; + public const byte MAVLINK_MSG_ID_31_LEN = 32; public const byte MAVLINK_MSG_ID_LOCAL_POSITION_SETPOINT = 51; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_local_position_setpoint_t { - public float x; ///< x position - public float y; ///< y position - public float z; ///< z position - public float yaw; ///< Desired yaw angle + public float x; ///< x position + public float y; ///< y position + public float z; ///< z position + public float yaw; ///< Desired yaw angle }; - public const byte MAVLINK_MSG_ID_CONTROL_STATUS = 52; + public const byte MAVLINK_MSG_ID_LOCAL_POSITION_SETPOINT_LEN = 16; + public const byte MAVLINK_MSG_ID_51_LEN = 16; + public const byte MAVLINK_MSG_ID_LOCAL_POSITION_SETPOINT_SET = 50; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_control_status_t + public struct __mavlink_local_position_setpoint_set_t { - public byte position_fix; ///< Position fix: 0: lost, 2: 2D position fix, 3: 3D position fix - public byte vision_fix; ///< Vision position fix: 0: lost, 1: 2D local position hold, 2: 2D global position fix, 3: 3D global position fix - public byte gps_fix; ///< GPS position fix: 0: no reception, 1: Minimum 1 satellite, but no position fix, 2: 2D position fix, 3: 3D position fix - public byte ahrs_health; ///< Attitude estimation health: 0: poor, 255: excellent - public byte control_att; ///< 0: Attitude control disabled, 1: enabled - public byte control_pos_xy; ///< 0: X, Y position control disabled, 1: enabled - public byte control_pos_z; ///< 0: Z position control disabled, 1: enabled - public byte control_pos_yaw; ///< 0: Yaw angle control disabled, 1: enabled + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public float x; ///< x position + public float y; ///< y position + public float z; ///< z position + public float yaw; ///< Desired yaw angle }; - public const byte MAVLINK_MSG_ID_SAFETY_SET_ALLOWED_AREA = 53; + public const byte MAVLINK_MSG_ID_LOCAL_POSITION_SETPOINT_SET_LEN = 18; + public const byte MAVLINK_MSG_ID_50_LEN = 18; + public const byte MAVLINK_MSG_ID_MANUAL_CONTROL = 69; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_safety_set_allowed_area_t + public struct __mavlink_manual_control_t { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public byte frame; ///< Coordinate frame, as defined by MAV_FRAME enum in mavlink_types.h. Can be either global, GPS, right-handed with Z axis up or local, right handed, Z axis down. - public float p1x; ///< x position 1 / Latitude 1 - public float p1y; ///< y position 1 / Longitude 1 - public float p1z; ///< z position 1 / Altitude 1 - public float p2x; ///< x position 2 / Latitude 2 - public float p2y; ///< y position 2 / Longitude 2 - public float p2z; ///< z position 2 / Altitude 2 + public byte target; ///< The system to be controlled + public float roll; ///< roll + public float pitch; ///< pitch + public float yaw; ///< yaw + public float thrust; ///< thrust + public byte roll_manual; ///< roll control enabled auto:0, manual:1 + public byte pitch_manual; ///< pitch auto:0, manual:1 + public byte yaw_manual; ///< yaw auto:0, manual:1 + public byte thrust_manual; ///< thrust auto:0, manual:1 }; - public const byte MAVLINK_MSG_ID_SAFETY_ALLOWED_AREA = 54; + public const byte MAVLINK_MSG_ID_MANUAL_CONTROL_LEN = 21; + public const byte MAVLINK_MSG_ID_69_LEN = 21; + public const byte MAVLINK_MSG_ID_NAMED_VALUE_FLOAT = 252; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_safety_allowed_area_t + public struct __mavlink_named_value_float_t { - public byte frame; ///< Coordinate frame, as defined by MAV_FRAME enum in mavlink_types.h. Can be either global, GPS, right-handed with Z axis up or local, right handed, Z axis down. - public float p1x; ///< x position 1 / Latitude 1 - public float p1y; ///< y position 1 / Longitude 1 - public float p1z; ///< z position 1 / Altitude 1 - public float p2x; ///< x position 2 / Latitude 2 - public float p2y; ///< y position 2 / Longitude 2 - public float p2z; ///< z position 2 / Altitude 2 + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=10)] + char name; ///< Name of the debug variable + public float value; ///< Floating point value }; - public const byte MAVLINK_MSG_ID_SET_ROLL_PITCH_YAW_THRUST = 55; + public const byte MAVLINK_MSG_ID_NAMED_VALUE_FLOAT_LEN = 14; + public const byte MAVLINK_MSG_ID_252_LEN = 14; + public const byte MAVLINK_MSG_ID_NAMED_VALUE_INT = 253; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_set_roll_pitch_yaw_thrust_t + public struct __mavlink_named_value_int_t { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public float roll; ///< Desired roll angle in radians - public float pitch; ///< Desired pitch angle in radians - public float yaw; ///< Desired yaw angle in radians - public float thrust; ///< Collective thrust, normalized to 0 .. 1 - }; - - public const byte MAVLINK_MSG_ID_SET_ROLL_PITCH_YAW_SPEED_THRUST = 56; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_set_roll_pitch_yaw_speed_thrust_t - { - public byte target_system; ///< System ID - public byte target_component; ///< Component ID - public float roll_speed; ///< Desired roll angular speed in rad/s - public float pitch_speed; ///< Desired pitch angular speed in rad/s - public float yaw_speed; ///< Desired yaw angular speed in rad/s - public float thrust; ///< Collective thrust, normalized to 0 .. 1 - }; - - public const byte MAVLINK_MSG_ID_ROLL_PITCH_YAW_THRUST_SETPOINT = 57; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_roll_pitch_yaw_thrust_setpoint_t - { - public uint time_ms; ///< Timestamp in milliseconds since system boot - public float roll; ///< Desired roll angle in radians - public float pitch; ///< Desired pitch angle in radians - public float yaw; ///< Desired yaw angle in radians - public float thrust; ///< Collective thrust, normalized to 0 .. 1 - }; - - public const byte MAVLINK_MSG_ID_ROLL_PITCH_YAW_SPEED_THRUST_SETPOINT = 58; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_roll_pitch_yaw_speed_thrust_setpoint_t - { - public uint time_ms; ///< Timestamp in milliseconds since system boot - public float roll_speed; ///< Desired roll angular speed in rad/s - public float pitch_speed; ///< Desired pitch angular speed in rad/s - public float yaw_speed; ///< Desired yaw angular speed in rad/s - public float thrust; ///< Collective thrust, normalized to 0 .. 1 + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=10)] + char name; ///< Name of the debug variable + public int value; ///< Signed integer value }; + public const byte MAVLINK_MSG_ID_NAMED_VALUE_INT_LEN = 14; + public const byte MAVLINK_MSG_ID_253_LEN = 14; public const byte MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT = 62; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_nav_controller_output_t { - public float nav_roll; ///< Current desired roll in degrees - public float nav_pitch; ///< Current desired pitch in degrees - public short nav_bearing; ///< Current desired heading in degrees - public short target_bearing; ///< Bearing to current waypoint/target in degrees - public ushort wp_dist; ///< Distance to active waypoint in meters - public float alt_error; ///< Current altitude error in meters - public float aspd_error; ///< Current airspeed error in meters/second - public float xtrack_error; ///< Current crosstrack error on x-y plane in meters + public float nav_roll; ///< Current desired roll in degrees + public float nav_pitch; ///< Current desired pitch in degrees + public short nav_bearing; ///< Current desired heading in degrees + public short target_bearing; ///< Bearing to current waypoint/target in degrees + public ushort wp_dist; ///< Distance to active waypoint in meters + public float alt_error; ///< Current altitude error in meters + public float aspd_error; ///< Current airspeed error in meters/second + public float xtrack_error; ///< Current crosstrack error on x-y plane in meters + }; + + public const byte MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT_LEN = 26; + public const byte MAVLINK_MSG_ID_62_LEN = 26; + public const byte MAVLINK_MSG_ID_OBJECT_DETECTION_EVENT = 140; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_object_detection_event_t + { + public uint time; ///< Timestamp in milliseconds since system boot + public ushort object_id; ///< Object ID + public byte type; ///< Object type: 0: image, 1: letter, 2: ground vehicle, 3: air vehicle, 4: surface vehicle, 5: sub-surface vehicle, 6: human, 7: animal + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=20)] + char name; ///< Name of the object as defined by the detector + public byte quality; ///< Detection quality / confidence. 0: bad, 255: maximum confidence + public float bearing; ///< Angle of the object with respect to the body frame in NED coordinates in radians. 0: front + public float distance; ///< Ground distance in meters + }; + + public const byte MAVLINK_MSG_ID_OBJECT_DETECTION_EVENT_LEN = 36; + public const byte MAVLINK_MSG_ID_140_LEN = 36; + public const byte MAVLINK_MSG_ID_OPTICAL_FLOW = 100; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_optical_flow_t + { + public ulong time; ///< Timestamp (UNIX) + public byte sensor_id; ///< Sensor ID + public short flow_x; ///< Flow in pixels in x-sensor direction + public short flow_y; ///< Flow in pixels in y-sensor direction + public byte quality; ///< Optical flow quality / confidence. 0: bad, 255: maximum quality + public float ground_distance; ///< Ground distance in meters + }; + + public const byte MAVLINK_MSG_ID_OPTICAL_FLOW_LEN = 18; + public const byte MAVLINK_MSG_ID_100_LEN = 18; + public const byte MAVLINK_MSG_ID_PARAM_REQUEST_LIST = 21; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_param_request_list_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + }; + + public const byte MAVLINK_MSG_ID_PARAM_REQUEST_LIST_LEN = 2; + public const byte MAVLINK_MSG_ID_21_LEN = 2; + public const byte MAVLINK_MSG_ID_PARAM_REQUEST_READ = 20; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_param_request_read_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=15)] + public byte[] param_id; ///< Onboard parameter id + public short param_index; ///< Parameter index. Send -1 to use the param ID field as identifier + }; + + public const byte MAVLINK_MSG_ID_PARAM_REQUEST_READ_LEN = 19; + public const byte MAVLINK_MSG_ID_20_LEN = 19; + public const byte MAVLINK_MSG_ID_PARAM_SET = 23; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_param_set_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=15)] + public byte[] param_id; ///< Onboard parameter id + public float param_value; ///< Onboard parameter value + }; + + public const byte MAVLINK_MSG_ID_PARAM_SET_LEN = 21; + public const byte MAVLINK_MSG_ID_23_LEN = 21; + public const byte MAVLINK_MSG_ID_PARAM_VALUE = 22; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_param_value_t + { + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=15)] + public byte[] param_id; ///< Onboard parameter id + public float param_value; ///< Onboard parameter value + public ushort param_count; ///< Total number of onboard parameters + public ushort param_index; ///< Index of this onboard parameter + }; + + public const byte MAVLINK_MSG_ID_PARAM_VALUE_LEN = 23; + public const byte MAVLINK_MSG_ID_22_LEN = 23; + public const byte MAVLINK_MSG_ID_PING = 3; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_ping_t + { + public uint seq; ///< PING sequence + public byte target_system; ///< 0: request ping from all receiving systems, if greater than 0: message is a ping response and number is the system id of the requesting system + public byte target_component; ///< 0: request ping from all receiving components, if greater than 0: message is a ping response and number is the system id of the requesting system + public ulong time; ///< Unix timestamp in microseconds + }; + + public const byte MAVLINK_MSG_ID_PING_LEN = 14; + public const byte MAVLINK_MSG_ID_3_LEN = 14; + public const byte MAVLINK_MSG_ID_POSITION_CONTROLLER_OUTPUT = 61; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_position_controller_output_t + { + public byte enabled; ///< 1: enabled, 0: disabled + public byte x; ///< Position x: -128: -100%, 127: +100% + public byte y; ///< Position y: -128: -100%, 127: +100% + public byte z; ///< Position z: -128: -100%, 127: +100% + public byte yaw; ///< Position yaw: -128: -100%, 127: +100% + }; public const byte MAVLINK_MSG_ID_POSITION_TARGET = 63; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_position_target_t { - public float x; ///< x position - public float y; ///< y position - public float z; ///< z position - public float yaw; ///< yaw orientation in radians, 0 = NORTH + public float x; ///< x position + public float y; ///< y position + public float z; ///< z position + public float yaw; ///< yaw orientation in radians, 0 = NORTH }; - public const byte MAVLINK_MSG_ID_STATE_CORRECTION = 64; + public const byte MAVLINK_MSG_ID_POSITION_TARGET_LEN = 16; + public const byte MAVLINK_MSG_ID_63_LEN = 16; + public const byte MAVLINK_MSG_ID_RAW_IMU = 28; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_state_correction_t + public struct __mavlink_raw_imu_t { - public float xErr; ///< x position error - public float yErr; ///< y position error - public float zErr; ///< z position error - public float rollErr; ///< roll error (radians) - public float pitchErr; ///< pitch error (radians) - public float yawErr; ///< yaw error (radians) - public float vxErr; ///< x velocity - public float vyErr; ///< y velocity - public float vzErr; ///< z velocity + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public short xacc; ///< X acceleration (raw) + public short yacc; ///< Y acceleration (raw) + public short zacc; ///< Z acceleration (raw) + public short xgyro; ///< Angular speed around X axis (raw) + public short ygyro; ///< Angular speed around Y axis (raw) + public short zgyro; ///< Angular speed around Z axis (raw) + public short xmag; ///< X Magnetic field (raw) + public short ymag; ///< Y Magnetic field (raw) + public short zmag; ///< Z Magnetic field (raw) }; - public const byte MAVLINK_MSG_ID_SET_ALTITUDE = 65; + public const byte MAVLINK_MSG_ID_RAW_IMU_LEN = 26; + public const byte MAVLINK_MSG_ID_28_LEN = 26; + public const byte MAVLINK_MSG_ID_RAW_PRESSURE = 29; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_set_altitude_t + public struct __mavlink_raw_pressure_t { - public byte target; ///< The system setting the altitude - public uint mode; ///< The new altitude in meters - }; - - public const byte MAVLINK_MSG_ID_REQUEST_DATA_STREAM = 66; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_request_data_stream_t - { - public byte target_system; ///< The target requested to send the message stream. - public byte target_component; ///< The target requested to send the message stream. - public byte req_stream_id; ///< The ID of the requested message type - public ushort req_message_rate; ///< Update rate in Hertz - public byte start_stop; ///< 1 to start sending, 0 to stop sending. - }; - - public const byte MAVLINK_MSG_ID_HIL_STATE = 67; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_hil_state_t - { - public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) - public float roll; ///< Roll angle (rad) - public float pitch; ///< Pitch angle (rad) - public float yaw; ///< Yaw angle (rad) - public float rollspeed; ///< Roll angular speed (rad/s) - public float pitchspeed; ///< Pitch angular speed (rad/s) - public float yawspeed; ///< Yaw angular speed (rad/s) - public int lat; ///< Latitude, expressed as * 1E7 - public int lon; ///< Longitude, expressed as * 1E7 - public int alt; ///< Altitude in meters, expressed as * 1000 (millimeters) - public short vx; ///< Ground X Speed (Latitude), expressed as m/s * 100 - public short vy; ///< Ground Y Speed (Longitude), expressed as m/s * 100 - public short vz; ///< Ground Z Speed (Altitude), expressed as m/s * 100 - public short xacc; ///< X acceleration (mg) - public short yacc; ///< Y acceleration (mg) - public short zacc; ///< Z acceleration (mg) - }; - - public const byte MAVLINK_MSG_ID_HIL_CONTROLS = 68; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_hil_controls_t - { - }; - - public const byte MAVLINK_MSG_ID_MANUAL_CONTROL = 69; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_manual_control_t - { - public byte target; ///< The system to be controlled - public float roll; ///< roll - public float pitch; ///< pitch - public float yaw; ///< yaw - public float thrust; ///< thrust - public byte roll_manual; ///< roll control enabled auto:0, manual:1 - public byte pitch_manual; ///< pitch auto:0, manual:1 - public byte yaw_manual; ///< yaw auto:0, manual:1 - public byte thrust_manual; ///< thrust auto:0, manual:1 + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public short press_abs; ///< Absolute pressure (raw) + public short press_diff1; ///< Differential pressure 1 (raw) + public short press_diff2; ///< Differential pressure 2 (raw) + public short temperature; ///< Raw Temperature measurement (raw) }; + public const byte MAVLINK_MSG_ID_RAW_PRESSURE_LEN = 16; + public const byte MAVLINK_MSG_ID_29_LEN = 16; public const byte MAVLINK_MSG_ID_RC_CHANNELS_OVERRIDE = 70; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_rc_channels_override_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public ushort chan1_raw; ///< RC channel 1 value, in microseconds + public ushort chan2_raw; ///< RC channel 2 value, in microseconds + public ushort chan3_raw; ///< RC channel 3 value, in microseconds + public ushort chan4_raw; ///< RC channel 4 value, in microseconds + public ushort chan5_raw; ///< RC channel 5 value, in microseconds + public ushort chan6_raw; ///< RC channel 6 value, in microseconds + public ushort chan7_raw; ///< RC channel 7 value, in microseconds + public ushort chan8_raw; ///< RC channel 8 value, in microseconds + }; + + public const byte MAVLINK_MSG_ID_RC_CHANNELS_OVERRIDE_LEN = 18; + public const byte MAVLINK_MSG_ID_70_LEN = 18; + public const byte MAVLINK_MSG_ID_RC_CHANNELS_RAW = 35; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_rc_channels_raw_t + { + public ushort chan1_raw; ///< RC channel 1 value, in microseconds + public ushort chan2_raw; ///< RC channel 2 value, in microseconds + public ushort chan3_raw; ///< RC channel 3 value, in microseconds + public ushort chan4_raw; ///< RC channel 4 value, in microseconds + public ushort chan5_raw; ///< RC channel 5 value, in microseconds + public ushort chan6_raw; ///< RC channel 6 value, in microseconds + public ushort chan7_raw; ///< RC channel 7 value, in microseconds + public ushort chan8_raw; ///< RC channel 8 value, in microseconds + public byte rssi; ///< Receive signal strength indicator, 0: 0%, 255: 100% + }; + + public const byte MAVLINK_MSG_ID_RC_CHANNELS_RAW_LEN = 17; + public const byte MAVLINK_MSG_ID_35_LEN = 17; + public const byte MAVLINK_MSG_ID_RC_CHANNELS_SCALED = 36; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_rc_channels_scaled_t + { + public short chan1_scaled; ///< RC channel 1 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 + public short chan2_scaled; ///< RC channel 2 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 + public short chan3_scaled; ///< RC channel 3 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 + public short chan4_scaled; ///< RC channel 4 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 + public short chan5_scaled; ///< RC channel 5 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 + public short chan6_scaled; ///< RC channel 6 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 + public short chan7_scaled; ///< RC channel 7 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 + public short chan8_scaled; ///< RC channel 8 value scaled, (-100%) -10000, (0%) 0, (100%) 10000 + public byte rssi; ///< Receive signal strength indicator, 0: 0%, 255: 100% + }; + + public const byte MAVLINK_MSG_ID_RC_CHANNELS_SCALED_LEN = 17; + public const byte MAVLINK_MSG_ID_36_LEN = 17; + public const byte MAVLINK_MSG_ID_REQUEST_DATA_STREAM = 66; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_request_data_stream_t + { + public byte target_system; ///< The target requested to send the message stream. + public byte target_component; ///< The target requested to send the message stream. + public byte req_stream_id; ///< The ID of the requested message type + public ushort req_message_rate; ///< Update rate in Hertz + public byte start_stop; ///< 1 to start sending, 0 to stop sending. + }; + + public const byte MAVLINK_MSG_ID_REQUEST_DATA_STREAM_LEN = 6; + public const byte MAVLINK_MSG_ID_66_LEN = 6; + public const byte MAVLINK_MSG_ID_REQUEST_DYNAMIC_GYRO_CALIBRATION = 67; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_request_dynamic_gyro_calibration_t + { + public byte target_system; ///< The system which should auto-calibrate + public byte target_component; ///< The system component which should auto-calibrate + public float mode; ///< The current ground-truth rpm + public byte axis; ///< The axis to calibrate: 0 roll, 1 pitch, 2 yaw + public ushort time; ///< The time to average over in ms + + }; + + public const byte MAVLINK_MSG_ID_REQUEST_STATIC_CALIBRATION = 68; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_request_static_calibration_t + { + public byte target_system; ///< The system which should auto-calibrate + public byte target_component; ///< The system component which should auto-calibrate + public ushort time; ///< The time to average over in ms + + }; + + public const byte MAVLINK_MSG_ID_ROLL_PITCH_YAW_SPEED_THRUST_SETPOINT = 58; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_roll_pitch_yaw_speed_thrust_setpoint_t + { + public ulong time_us; ///< Timestamp in micro seconds since unix epoch + public float roll_speed; ///< Desired roll angular speed in rad/s + public float pitch_speed; ///< Desired pitch angular speed in rad/s + public float yaw_speed; ///< Desired yaw angular speed in rad/s + public float thrust; ///< Collective thrust, normalized to 0 .. 1 + }; + + public const byte MAVLINK_MSG_ID_ROLL_PITCH_YAW_SPEED_THRUST_SETPOINT_LEN = 24; + public const byte MAVLINK_MSG_ID_58_LEN = 24; + public const byte MAVLINK_MSG_ID_ROLL_PITCH_YAW_THRUST_SETPOINT = 57; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_roll_pitch_yaw_thrust_setpoint_t + { + public ulong time_us; ///< Timestamp in micro seconds since unix epoch + public float roll; ///< Desired roll angle in radians + public float pitch; ///< Desired pitch angle in radians + public float yaw; ///< Desired yaw angle in radians + public float thrust; ///< Collective thrust, normalized to 0 .. 1 + }; + + public const byte MAVLINK_MSG_ID_ROLL_PITCH_YAW_THRUST_SETPOINT_LEN = 24; + public const byte MAVLINK_MSG_ID_57_LEN = 24; + public const byte MAVLINK_MSG_ID_SAFETY_ALLOWED_AREA = 54; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_safety_allowed_area_t + { + public byte frame; ///< Coordinate frame, as defined by MAV_FRAME enum in mavlink_types.h. Can be either global, GPS, right-handed with Z axis up or local, right handed, Z axis down. + public float p1x; ///< x position 1 / Latitude 1 + public float p1y; ///< y position 1 / Longitude 1 + public float p1z; ///< z position 1 / Altitude 1 + public float p2x; ///< x position 2 / Latitude 2 + public float p2y; ///< y position 2 / Longitude 2 + public float p2z; ///< z position 2 / Altitude 2 + }; + + public const byte MAVLINK_MSG_ID_SAFETY_ALLOWED_AREA_LEN = 25; + public const byte MAVLINK_MSG_ID_54_LEN = 25; + public const byte MAVLINK_MSG_ID_SAFETY_SET_ALLOWED_AREA = 53; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_safety_set_allowed_area_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public byte frame; ///< Coordinate frame, as defined by MAV_FRAME enum in mavlink_types.h. Can be either global, GPS, right-handed with Z axis up or local, right handed, Z axis down. + public float p1x; ///< x position 1 / Latitude 1 + public float p1y; ///< y position 1 / Longitude 1 + public float p1z; ///< z position 1 / Altitude 1 + public float p2x; ///< x position 2 / Latitude 2 + public float p2y; ///< y position 2 / Longitude 2 + public float p2z; ///< z position 2 / Altitude 2 + }; + + public const byte MAVLINK_MSG_ID_SAFETY_SET_ALLOWED_AREA_LEN = 27; + public const byte MAVLINK_MSG_ID_53_LEN = 27; + public const byte MAVLINK_MSG_ID_SCALED_IMU = 26; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_scaled_imu_t + { + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public short xacc; ///< X acceleration (mg) + public short yacc; ///< Y acceleration (mg) + public short zacc; ///< Z acceleration (mg) + public short xgyro; ///< Angular speed around X axis (millirad /sec) + public short ygyro; ///< Angular speed around Y axis (millirad /sec) + public short zgyro; ///< Angular speed around Z axis (millirad /sec) + public short xmag; ///< X Magnetic field (milli tesla) + public short ymag; ///< Y Magnetic field (milli tesla) + public short zmag; ///< Z Magnetic field (milli tesla) + }; + + public const byte MAVLINK_MSG_ID_SCALED_IMU_LEN = 26; + public const byte MAVLINK_MSG_ID_26_LEN = 26; + public const byte MAVLINK_MSG_ID_SCALED_PRESSURE = 38; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_scaled_pressure_t + { + public ulong usec; ///< Timestamp (microseconds since UNIX epoch or microseconds since system boot) + public float press_abs; ///< Absolute pressure (hectopascal) + public float press_diff; ///< Differential pressure 1 (hectopascal) + public short temperature; ///< Temperature measurement (0.01 degrees celsius) + }; + + public const byte MAVLINK_MSG_ID_SCALED_PRESSURE_LEN = 18; + public const byte MAVLINK_MSG_ID_38_LEN = 18; + public const byte MAVLINK_MSG_ID_SERVO_OUTPUT_RAW = 37; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_servo_output_raw_t + { + public ushort servo1_raw; ///< Servo output 1 value, in microseconds + public ushort servo2_raw; ///< Servo output 2 value, in microseconds + public ushort servo3_raw; ///< Servo output 3 value, in microseconds + public ushort servo4_raw; ///< Servo output 4 value, in microseconds + public ushort servo5_raw; ///< Servo output 5 value, in microseconds + public ushort servo6_raw; ///< Servo output 6 value, in microseconds + public ushort servo7_raw; ///< Servo output 7 value, in microseconds + public ushort servo8_raw; ///< Servo output 8 value, in microseconds + }; + + public const byte MAVLINK_MSG_ID_SERVO_OUTPUT_RAW_LEN = 16; + public const byte MAVLINK_MSG_ID_37_LEN = 16; + public const byte MAVLINK_MSG_ID_SET_ALTITUDE = 65; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_set_altitude_t + { + public byte target; ///< The system setting the altitude + public uint mode; ///< The new altitude in meters + }; + + public const byte MAVLINK_MSG_ID_SET_ALTITUDE_LEN = 5; + public const byte MAVLINK_MSG_ID_65_LEN = 5; + public const byte MAVLINK_MSG_ID_SET_MODE = 11; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_set_mode_t + { + public byte target; ///< The system setting the mode + public byte mode; ///< The new mode + }; + + public const byte MAVLINK_MSG_ID_SET_MODE_LEN = 2; + public const byte MAVLINK_MSG_ID_11_LEN = 2; + public const byte MAVLINK_MSG_ID_SET_NAV_MODE = 12; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_set_nav_mode_t + { + public byte target; ///< The system setting the mode + public byte nav_mode; ///< The new navigation mode + }; + + public const byte MAVLINK_MSG_ID_SET_NAV_MODE_LEN = 2; + public const byte MAVLINK_MSG_ID_12_LEN = 2; + public const byte MAVLINK_MSG_ID_SET_ROLL_PITCH_YAW = 55; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_set_roll_pitch_yaw_t { public byte target_system; ///< System ID public byte target_component; ///< Component ID - public ushort chan1_raw; ///< RC channel 1 value, in microseconds - public ushort chan2_raw; ///< RC channel 2 value, in microseconds - public ushort chan3_raw; ///< RC channel 3 value, in microseconds - public ushort chan4_raw; ///< RC channel 4 value, in microseconds - public ushort chan5_raw; ///< RC channel 5 value, in microseconds - public ushort chan6_raw; ///< RC channel 6 value, in microseconds - public ushort chan7_raw; ///< RC channel 7 value, in microseconds - public ushort chan8_raw; ///< RC channel 8 value, in microseconds + public float roll; ///< Desired roll angle in radians + public float pitch; ///< Desired pitch angle in radians + public float yaw; ///< Desired yaw angle in radians + }; - public const byte MAVLINK_MSG_ID_GLOBAL_POSITION_INT = 73; + public const byte MAVLINK_MSG_ID_SET_ROLL_PITCH_YAW_SPEED = 56; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_global_position_int_t + public struct __mavlink_set_roll_pitch_yaw_speed_t { - public int lat; ///< Latitude, expressed as * 1E7 - public int lon; ///< Longitude, expressed as * 1E7 - public int alt; ///< Altitude in meters, expressed as * 1000 (millimeters) - public short vx; ///< Ground X Speed (Latitude), expressed as m/s * 100 - public short vy; ///< Ground Y Speed (Longitude), expressed as m/s * 100 - public short vz; ///< Ground Z Speed (Altitude), expressed as m/s * 100 + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public float roll_speed; ///< Desired roll angular speed in rad/s + public float pitch_speed; ///< Desired pitch angular speed in rad/s + public float yaw_speed; ///< Desired yaw angular speed in rad/s + }; - public const byte MAVLINK_MSG_ID_VFR_HUD = 74; + public const byte MAVLINK_MSG_ID_SET_ROLL_PITCH_YAW_SPEED_THRUST = 56; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_vfr_hud_t + public struct __mavlink_set_roll_pitch_yaw_speed_thrust_t { - public float airspeed; ///< Current airspeed in m/s - public float groundspeed; ///< Current ground speed in m/s - public short heading; ///< Current heading in degrees, in compass units (0..360, 0=north) - public ushort throttle; ///< Current throttle setting in integer percent, 0 to 100 - public float alt; ///< Current altitude (MSL), in meters - public float climb; ///< Current climb rate in meters/second + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public float roll_speed; ///< Desired roll angular speed in rad/s + public float pitch_speed; ///< Desired pitch angular speed in rad/s + public float yaw_speed; ///< Desired yaw angular speed in rad/s + public float thrust; ///< Collective thrust, normalized to 0 .. 1 }; - public const byte MAVLINK_MSG_ID_COMMAND = 75; + public const byte MAVLINK_MSG_ID_SET_ROLL_PITCH_YAW_SPEED_THRUST_LEN = 18; + public const byte MAVLINK_MSG_ID_56_LEN = 18; + public const byte MAVLINK_MSG_ID_SET_ROLL_PITCH_YAW_THRUST = 55; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_command_t + public struct __mavlink_set_roll_pitch_yaw_thrust_t { - public byte target_system; ///< System which should execute the command - public byte target_component; ///< Component which should execute the command, 0 for all components - public byte command; ///< Command ID, as defined by MAV_CMD enum. - public byte confirmation; ///< 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command) - public float param1; ///< Parameter 1, as defined by MAV_CMD enum. - public float param2; ///< Parameter 2, as defined by MAV_CMD enum. - public float param3; ///< Parameter 3, as defined by MAV_CMD enum. - public float param4; ///< Parameter 4, as defined by MAV_CMD enum. + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public float roll; ///< Desired roll angle in radians + public float pitch; ///< Desired pitch angle in radians + public float yaw; ///< Desired yaw angle in radians + public float thrust; ///< Collective thrust, normalized to 0 .. 1 }; - public const byte MAVLINK_MSG_ID_COMMAND_ACK = 76; + public const byte MAVLINK_MSG_ID_SET_ROLL_PITCH_YAW_THRUST_LEN = 18; + public const byte MAVLINK_MSG_ID_55_LEN = 18; + public const byte MAVLINK_MSG_ID_STATE_CORRECTION = 64; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_command_ack_t + public struct __mavlink_state_correction_t { - public float command; ///< Current airspeed in m/s - public float result; ///< 1: Action ACCEPTED and EXECUTED, 1: Action TEMPORARY REJECTED/DENIED, 2: Action PERMANENTLY DENIED, 3: Action UNKNOWN/UNSUPPORTED, 4: Requesting CONFIRMATION - }; - - public const byte MAVLINK_MSG_ID_DEBUG_VECT = 251; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_debug_vect_t - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst=10)] - char name; ///< Name - public ulong usec; ///< Timestamp - public float x; ///< x - public float y; ///< y - public float z; ///< z - }; - - public const byte MAVLINK_MSG_ID_NAMED_VALUE_FLOAT = 252; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_named_value_float_t - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst=10)] - char name; ///< Name of the debug variable - public float value; ///< Floating point value - }; - - public const byte MAVLINK_MSG_ID_NAMED_VALUE_INT = 253; - [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_named_value_int_t - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst=10)] - char name; ///< Name of the debug variable - public int value; ///< Signed integer value + public float xErr; ///< x position error + public float yErr; ///< y position error + public float zErr; ///< z position error + public float rollErr; ///< roll error (radians) + public float pitchErr; ///< pitch error (radians) + public float yawErr; ///< yaw error (radians) + public float vxErr; ///< x velocity + public float vyErr; ///< y velocity + public float vzErr; ///< z velocity }; + public const byte MAVLINK_MSG_ID_STATE_CORRECTION_LEN = 36; + public const byte MAVLINK_MSG_ID_64_LEN = 36; public const byte MAVLINK_MSG_ID_STATUSTEXT = 254; [StructLayout(LayoutKind.Sequential,Pack=1)] public struct __mavlink_statustext_t { - public byte severity; ///< Severity of status, 0 = info message, 255 = critical fault - [MarshalAs(UnmanagedType.ByValArray, SizeConst=50)] - public byte[] text; ///< Status text message, without null termination character + public byte severity; ///< Severity of status, 0 = info message, 255 = critical fault + [MarshalAs( + UnmanagedType.ByValArray, + SizeConst=50)] + public byte[] text; ///< Status text message, without null termination character }; - public const byte MAVLINK_MSG_ID_DEBUG = 255; + public const byte MAVLINK_MSG_ID_STATUSTEXT_LEN = 51; + public const byte MAVLINK_MSG_ID_254_LEN = 51; + public const byte MAVLINK_MSG_ID_SYSTEM_TIME = 2; + public const byte MAVLINK_MSG_ID_SYSTEM_TIME_UTC = 4; + public const byte MAVLINK_MSG_ID_SYS_STATUS = 34; [StructLayout(LayoutKind.Sequential,Pack=1)] - public struct __mavlink_debug_t + public struct __mavlink_sys_status_t { - public byte ind; ///< index of debug variable - public float value; ///< DEBUG value + public byte mode; ///< System mode, see MAV_MODE ENUM in mavlink/include/mavlink_types.h + public byte nav_mode; ///< Navigation mode, see MAV_NAV_MODE ENUM + public byte status; ///< System status flag, see MAV_STATUS ENUM + public ushort load; ///< Maximum usage in percent of the mainloop time, (0%: 0, 100%: 1000) should be always below 1000 + public ushort vbat; ///< Battery voltage, in millivolts (1 = 1 millivolt) + public ushort battery_remaining; ///< Remaining battery energy: (0%: 0, 100%: 1000) + public ushort packet_drop; ///< Dropped packets (packets that were corrupted on reception on the MAV) }; -Type[] mavstructs = new Type[] {typeof(__mavlink_heartbeat_t) ,typeof(__mavlink_boot_t) ,typeof(__mavlink_system_time_t) ,typeof(__mavlink_ping_t) ,typeof(__mavlink_system_time_utc_t) ,typeof(__mavlink_change_operator_control_t) ,typeof(__mavlink_change_operator_control_ack_t) ,typeof(__mavlink_auth_key_t) ,null ,typeof(__mavlink_action_ack_t) ,typeof(__mavlink_action_t) ,typeof(__mavlink_set_mode_t) ,typeof(__mavlink_set_nav_mode_t) ,null ,null ,null ,null ,null ,null ,null ,typeof(__mavlink_param_request_read_t) ,typeof(__mavlink_param_request_list_t) ,typeof(__mavlink_param_value_t) ,typeof(__mavlink_param_set_t) ,null ,typeof(__mavlink_gps_raw_int_t) ,typeof(__mavlink_scaled_imu_t) ,typeof(__mavlink_gps_status_t) ,typeof(__mavlink_raw_imu_t) ,typeof(__mavlink_raw_pressure_t) ,typeof(__mavlink_attitude_t) ,typeof(__mavlink_local_position_t) ,typeof(__mavlink_gps_raw_t) ,typeof(__mavlink_global_position_t) ,typeof(__mavlink_sys_status_t) ,typeof(__mavlink_rc_channels_raw_t) ,typeof(__mavlink_rc_channels_scaled_t) ,typeof(__mavlink_servo_output_raw_t) ,typeof(__mavlink_scaled_pressure_t) ,typeof(__mavlink_waypoint_t) ,typeof(__mavlink_waypoint_request_t) ,typeof(__mavlink_waypoint_set_current_t) ,typeof(__mavlink_waypoint_current_t) ,typeof(__mavlink_waypoint_request_list_t) ,typeof(__mavlink_waypoint_count_t) ,typeof(__mavlink_waypoint_clear_all_t) ,typeof(__mavlink_waypoint_reached_t) ,typeof(__mavlink_waypoint_ack_t) ,typeof(__mavlink_gps_set_global_origin_t) ,typeof(__mavlink_gps_local_origin_set_t) ,typeof(__mavlink_local_position_setpoint_set_t) ,typeof(__mavlink_local_position_setpoint_t) ,typeof(__mavlink_control_status_t) ,typeof(__mavlink_safety_set_allowed_area_t) ,typeof(__mavlink_safety_allowed_area_t) ,typeof(__mavlink_set_roll_pitch_yaw_thrust_t) ,typeof(__mavlink_set_roll_pitch_yaw_speed_thrust_t) ,typeof(__mavlink_roll_pitch_yaw_thrust_setpoint_t) ,typeof(__mavlink_roll_pitch_yaw_speed_thrust_setpoint_t) ,null ,null ,null ,typeof(__mavlink_nav_controller_output_t) ,typeof(__mavlink_position_target_t) ,typeof(__mavlink_state_correction_t) ,typeof(__mavlink_set_altitude_t) ,typeof(__mavlink_request_data_stream_t) ,typeof(__mavlink_hil_state_t) ,typeof(__mavlink_hil_controls_t) ,typeof(__mavlink_manual_control_t) ,typeof(__mavlink_rc_channels_override_t) ,null ,null ,typeof(__mavlink_global_position_int_t) ,typeof(__mavlink_vfr_hud_t) ,typeof(__mavlink_command_t) ,typeof(__mavlink_command_ack_t) ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,typeof(__mavlink_sensor_offsets_t) ,typeof(__mavlink_set_mag_offsets_t) ,typeof(__mavlink_meminfo_t) ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,typeof(__mavlink_debug_vect_t) ,typeof(__mavlink_named_value_float_t) ,typeof(__mavlink_named_value_int_t) ,typeof(__mavlink_statustext_t) ,typeof(__mavlink_debug_t) ,null ,}; + public const byte MAVLINK_MSG_ID_SYS_STATUS_LEN = 11; + public const byte MAVLINK_MSG_ID_34_LEN = 11; + public const byte MAVLINK_MSG_ID_VFR_HUD = 74; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_vfr_hud_t + { + public float airspeed; ///< Current airspeed in m/s + public float groundspeed; ///< Current ground speed in m/s + public short heading; ///< Current heading in degrees, in compass units (0..360, 0=north) + public ushort throttle; ///< Current throttle setting in integer percent, 0 to 100 + public float alt; ///< Current altitude (MSL), in meters + public float climb; ///< Current climb rate in meters/second + }; + + public const byte MAVLINK_MSG_ID_VFR_HUD_LEN = 20; + public const byte MAVLINK_MSG_ID_74_LEN = 20; + public const byte MAVLINK_MSG_ID_WAYPOINT = 39; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public ushort seq; ///< Sequence + public byte frame; ///< The coordinate system of the waypoint. see MAV_FRAME in mavlink_types.h + public byte command; ///< The scheduled action for the waypoint. see MAV_COMMAND in common.xml MAVLink specs + public byte current; ///< false:0, true:1 + public byte autocontinue; ///< autocontinue to next wp + public float param1; ///< PARAM1 / For NAV command waypoints: Radius in which the waypoint is accepted as reached, in meters + public float param2; ///< PARAM2 / For NAV command waypoints: Time that the MAV should stay inside the PARAM1 radius before advancing, in milliseconds + public float param3; ///< PARAM3 / For LOITER command waypoints: Orbit to circle around the waypoint, in meters. If positive the orbit direction should be clockwise, if negative the orbit direction should be counter-clockwise. + public float param4; ///< PARAM4 / For NAV and LOITER command waypoints: Yaw orientation in degrees, [0..360] 0 = NORTH + public float x; ///< PARAM5 / local: x position, global: latitude + public float y; ///< PARAM6 / y position: global: longitude + public float z; ///< PARAM7 / z position: global: altitude + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_LEN = 36; + public const byte MAVLINK_MSG_ID_39_LEN = 36; + public const byte MAVLINK_MSG_ID_WAYPOINT_ACK = 47; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_ack_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public byte type; ///< 0: OK, 1: Error + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_ACK_LEN = 3; + public const byte MAVLINK_MSG_ID_47_LEN = 3; + public const byte MAVLINK_MSG_ID_WAYPOINT_CLEAR_ALL = 45; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_clear_all_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_CLEAR_ALL_LEN = 2; + public const byte MAVLINK_MSG_ID_45_LEN = 2; + public const byte MAVLINK_MSG_ID_WAYPOINT_COUNT = 44; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_count_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public ushort count; ///< Number of Waypoints in the Sequence + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_COUNT_LEN = 4; + public const byte MAVLINK_MSG_ID_44_LEN = 4; + public const byte MAVLINK_MSG_ID_WAYPOINT_CURRENT = 42; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_current_t + { + public ushort seq; ///< Sequence + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_CURRENT_LEN = 2; + public const byte MAVLINK_MSG_ID_42_LEN = 2; + public const byte MAVLINK_MSG_ID_WAYPOINT_REACHED = 46; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_reached_t + { + public ushort seq; ///< Sequence + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_REACHED_LEN = 2; + public const byte MAVLINK_MSG_ID_46_LEN = 2; + public const byte MAVLINK_MSG_ID_WAYPOINT_REQUEST = 40; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_request_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public ushort seq; ///< Sequence + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_REQUEST_LEN = 4; + public const byte MAVLINK_MSG_ID_40_LEN = 4; + public const byte MAVLINK_MSG_ID_WAYPOINT_REQUEST_LIST = 43; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_request_list_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_REQUEST_LIST_LEN = 2; + public const byte MAVLINK_MSG_ID_43_LEN = 2; + public const byte MAVLINK_MSG_ID_WAYPOINT_SET_CURRENT = 41; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_set_current_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public ushort seq; ///< Sequence + }; + + public const byte MAVLINK_MSG_ID_WAYPOINT_SET_CURRENT_LEN = 4; + public const byte MAVLINK_MSG_ID_41_LEN = 4; + public const byte MAVLINK_MSG_ID_WAYPOINT_SET_GLOBAL_REFERENCE = 48; + [StructLayout(LayoutKind.Sequential,Pack=1)] + public struct __mavlink_waypoint_set_global_reference_t + { + public byte target_system; ///< System ID + public byte target_component; ///< Component ID + public float global_x; ///< global x position + public float global_y; ///< global y position + public float global_z; ///< global z position + public float global_yaw; ///< global yaw orientation in radians, 0 = NORTH + public float local_x; ///< local x position that matches the global x position + public float local_y; ///< local y position that matches the global y position + public float local_z; ///< local z position that matches the global z position + public float local_yaw; ///< local yaw that matches the global yaw orientation + + }; + + public enum MAV_CLASS + { + MAV_CLASS_GENERIC = 0, ///< Generic autopilot, full support for everything + MAV_CLASS_PIXHAWK = 1, ///< PIXHAWK autopilot, http://pixhawk.ethz.ch + MAV_CLASS_SLUGS = 2, ///< SLUGS autopilot, http://slugsuav.soe.ucsc.edu + MAV_CLASS_ARDUPILOTMEGA = 3, ///< ArduPilotMega / ArduCopter, http://diydrones.com + MAV_CLASS_OPENPILOT = 4, ///< OpenPilot, http://openpilot.org + MAV_CLASS_GENERIC_MISSION_WAYPOINTS_ONLY = 5, ///< Generic autopilot only supporting simple waypoints + MAV_CLASS_GENERIC_MISSION_NAVIGATION_ONLY = 6, ///< Generic autopilot supporting waypoints and other simple navigation commands + MAV_CLASS_GENERIC_MISSION_FULL = 7, ///< Generic autopilot supporting the full mission command set + MAV_CLASS_NONE = 8, ///< No valid autopilot + MAV_CLASS_NB ///< Number of autopilot classes + }; + + public enum MAV_ACTION + { + MAV_ACTION_HOLD = 0, + MAV_ACTION_MOTORS_START = 1, + MAV_ACTION_LAUNCH = 2, + MAV_ACTION_RETURN = 3, + MAV_ACTION_EMCY_LAND = 4, + MAV_ACTION_EMCY_KILL = 5, + MAV_ACTION_CONFIRM_KILL = 6, + MAV_ACTION_CONTINUE = 7, + MAV_ACTION_MOTORS_STOP = 8, + MAV_ACTION_HALT = 9, + MAV_ACTION_SHUTDOWN = 10, + MAV_ACTION_REBOOT = 11, + MAV_ACTION_SET_MANUAL = 12, + MAV_ACTION_SET_AUTO = 13, + MAV_ACTION_STORAGE_READ = 14, + MAV_ACTION_STORAGE_WRITE = 15, + MAV_ACTION_CALIBRATE_RC = 16, + MAV_ACTION_CALIBRATE_GYRO = 17, + MAV_ACTION_CALIBRATE_MAG = 18, + MAV_ACTION_CALIBRATE_ACC = 19, + MAV_ACTION_CALIBRATE_PRESSURE = 20, + MAV_ACTION_REC_START = 21, + MAV_ACTION_REC_PAUSE = 22, + MAV_ACTION_REC_STOP = 23, + MAV_ACTION_TAKEOFF = 24, + MAV_ACTION_NAVIGATE = 25, + MAV_ACTION_LAND = 26, + MAV_ACTION_LOITER = 27, + MAV_ACTION_SET_ORIGIN = 28, + MAV_ACTION_RELAY_ON = 29, + MAV_ACTION_RELAY_OFF = 30, + MAV_ACTION_GET_IMAGE = 31, + MAV_ACTION_VIDEO_START = 32, + MAV_ACTION_VIDEO_STOP = 33, + MAV_ACTION_RESET_MAP = 34, + MAV_ACTION_RESET_PLAN = 35, + MAV_ACTION_DELAY_BEFORE_COMMAND = 36, + MAV_ACTION_ASCEND_AT_RATE = 37, + MAV_ACTION_CHANGE_MODE = 38, + MAV_ACTION_LOITER_MAX_TURNS = 39, + MAV_ACTION_LOITER_MAX_TIME = 40, + MAV_ACTION_START_HILSIM = 41, + MAV_ACTION_STOP_HILSIM = 42, + MAV_ACTION_NB ///< Number of MAV actions + }; + + public enum MAV_MODE + { + MAV_MODE_UNINIT = 0, ///< System is in undefined state + MAV_MODE_LOCKED = 1, ///< Motors are blocked, system is safe + MAV_MODE_MANUAL = 2, ///< System is allowed to be active, under manual (RC) control + MAV_MODE_GUIDED = 3, ///< System is allowed to be active, under autonomous control, manual setpoint + MAV_MODE_AUTO = 4, ///< System is allowed to be active, under autonomous control and navigation + MAV_MODE_TEST1 = 5, ///< Generic test mode, for custom use + MAV_MODE_TEST2 = 6, ///< Generic test mode, for custom use + MAV_MODE_TEST3 = 7, ///< Generic test mode, for custom use + MAV_MODE_READY = 8, ///< System is ready, motors are unblocked, but controllers are inactive + MAV_MODE_RC_TRAINING = 9 ///< System is blocked, only RC valued are read and reported back + }; + + public enum MAV_STATE + { + MAV_STATE_UNINIT = 0, + MAV_STATE_BOOT, + MAV_STATE_CALIBRATING, + MAV_STATE_STANDBY, + MAV_STATE_ACTIVE, + MAV_STATE_CRITICAL, + MAV_STATE_EMERGENCY, + MAV_STATE_HILSIM, + MAV_STATE_POWEROFF + }; + + public enum MAV_NAV + { + MAV_NAV_GROUNDED = 0, + MAV_NAV_LIFTOFF, + MAV_NAV_HOLD, + MAV_NAV_WAYPOINT, + MAV_NAV_VECTOR, + MAV_NAV_RETURNING, + MAV_NAV_LANDING, + MAV_NAV_LOST, + MAV_NAV_LOITER, + MAV_NAV_FREE_DRIFT + }; + + public enum MAV_TYPE + { + MAV_GENERIC = 0, + MAV_FIXED_WING = 1, + MAV_QUADROTOR = 2, + MAV_COAXIAL = 3, + MAV_HELICOPTER = 4, + MAV_GROUND = 5, + OCU = 6, + MAV_AIRSHIP = 7, + MAV_FREE_BALLOON = 8, + MAV_ROCKET = 9, + UGV_GROUND_ROVER = 10, + UGV_SURFACE_SHIP = 11 + }; + + public enum MAV_AUTOPILOT_TYPE + { + MAV_AUTOPILOT_GENERIC = 0, + MAV_AUTOPILOT_PIXHAWK = 1, + MAV_AUTOPILOT_SLUGS = 2, + MAV_AUTOPILOT_ARDUPILOTMEGA = 3, + MAV_AUTOPILOT_NONE = 4 + }; + + public enum MAV_COMPONENT + { + MAV_COMP_ID_GPS, + MAV_COMP_ID_WAYPOINTPLANNER, + MAV_COMP_ID_BLOBTRACKER, + MAV_COMP_ID_PATHPLANNER, + MAV_COMP_ID_AIRSLAM, + MAV_COMP_ID_MAPPER, + MAV_COMP_ID_CAMERA, + MAV_COMP_ID_IMU = 200, + MAV_COMP_ID_IMU_2 = 201, + MAV_COMP_ID_IMU_3 = 202, + MAV_COMP_ID_UDP_BRIDGE = 240, + MAV_COMP_ID_UART_BRIDGE = 241, + MAV_COMP_ID_SYSTEM_CONTROL = 250 + }; + + public enum MAV_FRAME + { + MAV_FRAME_GLOBAL = 0, + MAV_FRAME_LOCAL = 1, + MAV_FRAME_MISSION = 2, + MAV_FRAME_GLOBAL_RELATIVE_ALT = 3, + MAV_FRAME_LOCAL_ENU = 4 + }; + +Type[] mavstructs = new Type[] {typeof( __mavlink_heartbeat_t) ,typeof( __mavlink_boot_t) ,null ,typeof( __mavlink_ping_t) ,null ,typeof( __mavlink_change_operator_control_t) ,typeof( __mavlink_change_operator_control_ack_t) ,typeof( __mavlink_auth_key_t) ,null ,typeof( __mavlink_action_ack_t) ,typeof( __mavlink_action_t) ,typeof( __mavlink_set_mode_t) ,typeof( __mavlink_set_nav_mode_t) ,null ,null ,null ,null ,null ,null ,null ,typeof( __mavlink_param_request_read_t) ,typeof( __mavlink_param_request_list_t) ,typeof( __mavlink_param_value_t) ,typeof( __mavlink_param_set_t) ,null ,typeof( __mavlink_gps_raw_int_t) ,typeof( __mavlink_scaled_imu_t) ,typeof( __mavlink_gps_status_t) ,typeof( __mavlink_raw_imu_t) ,typeof( __mavlink_raw_pressure_t) ,typeof( __mavlink_attitude_new_t ) ,typeof( __mavlink_local_position_t) ,typeof( __mavlink_gps_raw_t) ,typeof( __mavlink_global_position_t) ,typeof( __mavlink_sys_status_t) ,typeof( __mavlink_rc_channels_raw_t) ,typeof( __mavlink_rc_channels_scaled_t) ,typeof( __mavlink_servo_output_raw_t) ,typeof( __mavlink_scaled_pressure_t) ,typeof( __mavlink_waypoint_t) ,typeof( __mavlink_waypoint_request_t) ,typeof( __mavlink_waypoint_set_current_t) ,typeof( __mavlink_waypoint_current_t) ,typeof( __mavlink_waypoint_request_list_t) ,typeof( __mavlink_waypoint_count_t) ,typeof( __mavlink_waypoint_clear_all_t) ,typeof( __mavlink_waypoint_reached_t) ,typeof( __mavlink_waypoint_ack_t) ,typeof( __mavlink_waypoint_set_global_reference_t ) ,typeof( __mavlink_gps_local_origin_set_t) ,typeof( __mavlink_local_position_setpoint_set_t) ,typeof( __mavlink_local_position_setpoint_t) ,typeof( __mavlink_control_status_t) ,typeof( __mavlink_safety_set_allowed_area_t) ,typeof( __mavlink_safety_allowed_area_t) ,typeof( __mavlink_set_roll_pitch_yaw_thrust_t) ,typeof( __mavlink_set_roll_pitch_yaw_speed_thrust_t) ,typeof( __mavlink_roll_pitch_yaw_thrust_setpoint_t) ,typeof( __mavlink_roll_pitch_yaw_speed_thrust_setpoint_t) ,null ,typeof( __mavlink_attitude_controller_output_t ) ,typeof( __mavlink_position_controller_output_t ) ,typeof( __mavlink_nav_controller_output_t) ,typeof( __mavlink_position_target_t) ,typeof( __mavlink_state_correction_t) ,typeof( __mavlink_set_altitude_t) ,typeof( __mavlink_request_data_stream_t) ,typeof( __mavlink_request_dynamic_gyro_calibration_t ) ,typeof( __mavlink_request_static_calibration_t ) ,typeof( __mavlink_manual_control_t) ,typeof( __mavlink_rc_channels_override_t) ,null ,null ,typeof( __mavlink_global_position_int_t) ,typeof( __mavlink_vfr_hud_t) ,typeof( __mavlink_command_t) ,typeof( __mavlink_command_ack_t) ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,typeof( __mavlink_optical_flow_t) ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,typeof( __mavlink_object_detection_event_t) ,null ,null ,null ,null ,null ,null ,null ,null ,null ,typeof( __mavlink_sensor_offsets_t) ,typeof( __mavlink_set_mag_offsets_t) ,typeof( __mavlink_meminfo_t) ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,typeof( __mavlink_debug_vect_t) ,typeof( __mavlink_named_value_float_t) ,typeof( __mavlink_named_value_int_t) ,typeof( __mavlink_statustext_t) ,typeof( __mavlink_debug_t) ,null ,}; } } diff --git a/Tools/ArdupilotMegaPlanner/MAVLinkTypesenum.cs b/Tools/ArdupilotMegaPlanner/MAVLinkTypesenum.cs index dce000b17e..864b322f5d 100644 --- a/Tools/ArdupilotMegaPlanner/MAVLinkTypesenum.cs +++ b/Tools/ArdupilotMegaPlanner/MAVLinkTypesenum.cs @@ -7,159 +7,7 @@ namespace ArdupilotMega { partial class MAVLink { - public enum MAV_CLASS - { - MAV_CLASS_GENERIC = 0, ///< Generic autopilot, full support for everything - MAV_CLASS_PIXHAWK = 1, ///< PIXHAWK autopilot, http://pixhawk.ethz.ch - MAV_CLASS_SLUGS = 2, ///< SLUGS autopilot, http://slugsuav.soe.ucsc.edu - MAV_CLASS_ARDUPILOTMEGA = 3, ///< ArduPilotMega / ArduCopter, http://diydrones.com - MAV_CLASS_OPENPILOT = 4, ///< OpenPilot, http://openpilot.org - MAV_CLASS_GENERIC_MISSION_WAYPOINTS_ONLY = 5, ///< Generic autopilot only supporting simple waypoints - MAV_CLASS_GENERIC_MISSION_NAVIGATION_ONLY = 6, ///< Generic autopilot supporting waypoints and other simple navigation commands - MAV_CLASS_GENERIC_MISSION_FULL = 7, ///< Generic autopilot supporting the full mission command set - MAV_CLASS_NONE = 8, ///< No valid autopilot - MAV_CLASS_NB ///< Number of autopilot classes - }; - - public enum MAV_ACTION - { - MAV_ACTION_HOLD = 0, - MAV_ACTION_MOTORS_START = 1, - MAV_ACTION_LAUNCH = 2, - MAV_ACTION_RETURN = 3, - MAV_ACTION_EMCY_LAND = 4, - MAV_ACTION_EMCY_KILL = 5, - MAV_ACTION_CONFIRM_KILL = 6, - MAV_ACTION_CONTINUE = 7, - MAV_ACTION_MOTORS_STOP = 8, - MAV_ACTION_HALT = 9, - MAV_ACTION_SHUTDOWN = 10, - MAV_ACTION_REBOOT = 11, - MAV_ACTION_SET_MANUAL = 12, - MAV_ACTION_SET_AUTO = 13, - MAV_ACTION_STORAGE_READ = 14, - MAV_ACTION_STORAGE_WRITE = 15, - MAV_ACTION_CALIBRATE_RC = 16, - MAV_ACTION_CALIBRATE_GYRO = 17, - MAV_ACTION_CALIBRATE_MAG = 18, - MAV_ACTION_CALIBRATE_ACC = 19, - MAV_ACTION_CALIBRATE_PRESSURE = 20, - MAV_ACTION_REC_START = 21, - MAV_ACTION_REC_PAUSE = 22, - MAV_ACTION_REC_STOP = 23, - MAV_ACTION_TAKEOFF = 24, - MAV_ACTION_NAVIGATE = 25, - MAV_ACTION_LAND = 26, - MAV_ACTION_LOITER = 27, - MAV_ACTION_SET_ORIGIN = 28, - MAV_ACTION_RELAY_ON = 29, - MAV_ACTION_RELAY_OFF = 30, - MAV_ACTION_GET_IMAGE = 31, - MAV_ACTION_VIDEO_START = 32, - MAV_ACTION_VIDEO_STOP = 33, - MAV_ACTION_RESET_MAP = 34, - MAV_ACTION_RESET_PLAN = 35, - MAV_ACTION_DELAY_BEFORE_COMMAND = 36, - MAV_ACTION_ASCEND_AT_RATE = 37, - MAV_ACTION_CHANGE_MODE = 38, - MAV_ACTION_LOITER_MAX_TURNS = 39, - MAV_ACTION_LOITER_MAX_TIME = 40, - MAV_ACTION_START_HILSIM = 41, - MAV_ACTION_STOP_HILSIM = 42, - MAV_ACTION_NB ///< Number of MAV actions - }; - - public enum MAV_MODE - { - MAV_MODE_UNINIT = 0, ///< System is in undefined state - MAV_MODE_LOCKED = 1, ///< Motors are blocked, system is safe - MAV_MODE_MANUAL = 2, ///< System is allowed to be active, under manual (RC) control - MAV_MODE_GUIDED = 3, ///< System is allowed to be active, under autonomous control, manual setpoint - MAV_MODE_AUTO = 4, ///< System is allowed to be active, under autonomous control and navigation - MAV_MODE_TEST1 = 5, ///< Generic test mode, for custom use - MAV_MODE_TEST2 = 6, ///< Generic test mode, for custom use - MAV_MODE_TEST3 = 7, ///< Generic test mode, for custom use - MAV_MODE_READY = 8, ///< System is ready, motors are unblocked, but controllers are inactive - MAV_MODE_RC_TRAINING = 9 ///< System is blocked, only RC valued are read and reported back - }; - - public enum MAV_STATE - { - MAV_STATE_UNINIT = 0, - MAV_STATE_BOOT, - MAV_STATE_CALIBRATING, - MAV_STATE_STANDBY, - MAV_STATE_ACTIVE, - MAV_STATE_CRITICAL, - MAV_STATE_EMERGENCY, - MAV_STATE_HILSIM, - MAV_STATE_POWEROFF - }; - - public enum MAV_NAV - { - MAV_NAV_GROUNDED = 0, - MAV_NAV_LIFTOFF, - MAV_NAV_HOLD, - MAV_NAV_WAYPOINT, - MAV_NAV_VECTOR, - MAV_NAV_RETURNING, - MAV_NAV_LANDING, - MAV_NAV_LOST, - MAV_NAV_LOITER, - MAV_NAV_FREE_DRIFT - }; - - public enum MAV_TYPE - { - MAV_GENERIC = 0, - MAV_FIXED_WING = 1, - MAV_QUADROTOR = 2, - MAV_COAXIAL = 3, - MAV_HELICOPTER = 4, - MAV_GROUND = 5, - OCU = 6, - MAV_AIRSHIP = 7, - MAV_FREE_BALLOON = 8, - MAV_ROCKET = 9, - UGV_GROUND_ROVER = 10, - UGV_SURFACE_SHIP = 11 - }; - - public enum MAV_AUTOPILOT_TYPE - { - MAV_AUTOPILOT_GENERIC = 0, - MAV_AUTOPILOT_PIXHAWK = 1, - MAV_AUTOPILOT_SLUGS = 2, - MAV_AUTOPILOT_ARDUPILOTMEGA = 3, - MAV_AUTOPILOT_NONE = 4 - }; - - public enum MAV_COMPONENT - { - MAV_COMP_ID_GPS, - MAV_COMP_ID_WAYPOINTPLANNER, - MAV_COMP_ID_BLOBTRACKER, - MAV_COMP_ID_PATHPLANNER, - MAV_COMP_ID_AIRSLAM, - MAV_COMP_ID_MAPPER, - MAV_COMP_ID_CAMERA, - MAV_COMP_ID_IMU = 200, - MAV_COMP_ID_IMU_2 = 201, - MAV_COMP_ID_IMU_3 = 202, - MAV_COMP_ID_UDP_BRIDGE = 240, - MAV_COMP_ID_UART_BRIDGE = 241, - MAV_COMP_ID_SYSTEM_CONTROL = 250 - }; - - public enum MAV_FRAME - { - MAV_FRAME_GLOBAL = 0, - MAV_FRAME_LOCAL = 1, - MAV_FRAME_MISSION = 2, - MAV_FRAME_GLOBAL_RELATIVE_ALT = 3, - MAV_FRAME_LOCAL_ENU = 4 - }; + } } diff --git a/Tools/ArdupilotMegaPlanner/MainV2.cs b/Tools/ArdupilotMegaPlanner/MainV2.cs index 451e8acea8..8d2d26a0e7 100644 --- a/Tools/ArdupilotMegaPlanner/MainV2.cs +++ b/Tools/ArdupilotMegaPlanner/MainV2.cs @@ -76,7 +76,13 @@ namespace ArdupilotMega //System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); //System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); - srtm.datadirectory = @"C:\srtm"; + srtm.datadirectory = Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "srtm"; + + georefimage temp = new georefimage(); + + //temp.dowork(141); + + //return; var t = Type.GetType("Mono.Runtime"); MAC = (t != null); @@ -155,6 +161,15 @@ namespace ArdupilotMega } catch (Exception e) { MessageBox.Show("A Major error has occured : " + e.ToString()); this.Close(); } + GCSViews.FlightData.myhud.Refresh(); + GCSViews.FlightData.myhud.Refresh(); + GCSViews.FlightData.myhud.Refresh(); + + if (GCSViews.FlightData.myhud.huddrawtime > 1000) + { + MessageBox.Show("The HUD draw time is above 1 seconds. Please update your graphics card driver."); + } + changeunits(); try @@ -941,7 +956,7 @@ namespace ArdupilotMega if (heatbeatsend.Second != DateTime.Now.Second) { - Console.WriteLine("remote lost {0}", cs.packetdrop); + Console.WriteLine("remote lost {0}", cs.packetdropremote); MAVLink.__mavlink_heartbeat_t htb = new MAVLink.__mavlink_heartbeat_t(); @@ -954,10 +969,13 @@ namespace ArdupilotMega } // data loss warning - if (speechenable && talk != null && (DateTime.Now - comPort.lastvalidpacket).TotalSeconds > 10) + if ((DateTime.Now - comPort.lastvalidpacket).TotalSeconds > 10) { - if (MainV2.talk.State == SynthesizerState.Ready) - MainV2.talk.SpeakAsync("WARNING No Data for " + (int)(DateTime.Now - comPort.lastvalidpacket).TotalSeconds + " Seconds"); + if (speechenable && talk != null) { + if (MainV2.talk.State == SynthesizerState.Ready) + MainV2.talk.SpeakAsync("WARNING No Data for " + (int)(DateTime.Now - comPort.lastvalidpacket).TotalSeconds + " Seconds"); + } + MainV2.cs.linkqualitygcs = 0; } //Console.WriteLine(comPort.BaseStream.BytesToRead); diff --git a/Tools/ArdupilotMegaPlanner/MavlinkLog.cs b/Tools/ArdupilotMegaPlanner/MavlinkLog.cs index 4ab6aec1c7..8f357122d7 100644 --- a/Tools/ArdupilotMegaPlanner/MavlinkLog.cs +++ b/Tools/ArdupilotMegaPlanner/MavlinkLog.cs @@ -431,13 +431,14 @@ namespace ArdupilotMega // bar moves to 100 % in this step progressBar1.Value = (int)((float)mine.logplaybackfile.BaseStream.Position / (float)mine.logplaybackfile.BaseStream.Length * 100.0f / 1.0f); - Application.DoEvents(); + progressBar1.Refresh(); + //Application.DoEvents(); byte[] packet = mine.readPacket(); string text = ""; mine.DebugPacket(packet, ref text); - sw.Write(text); + sw.Write(mine.lastlogread +" "+text); } sw.Close(); diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs index d4f74b5646..2ee1a13020 100644 --- a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs +++ b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs @@ -34,5 +34,5 @@ using System.Resources; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.68")] +[assembly: AssemblyFileVersion("1.0.69")] [assembly: NeutralResourcesLanguageAttribute("")] diff --git a/Tools/ArdupilotMegaPlanner/Resources/MAVParam.txt b/Tools/ArdupilotMegaPlanner/Resources/MAVParam.txt index 2bba4ab6e7..011946774a 100644 --- a/Tools/ArdupilotMegaPlanner/Resources/MAVParam.txt +++ b/Tools/ArdupilotMegaPlanner/Resources/MAVParam.txt @@ -1,4 +1,4 @@ -== MAVLink Parameters == +== MAVLink Parameters == (this is a copy fo the wiki page FYI) This is a list of all the user-modifiable MAVLink parameters and what they do. You can modify them via the MAVLink parameters window in any compatible GCS, such as the Mission Planner, HK GCS or !QGroundControl. @@ -213,9 +213,9 @@ It includes both fixed wing (APM) and rotary wing (!ArduCopter) parameters. Some ||SYSID_SW_MREV|| || ||0|| || ||Description coming soon|| ||SYSID_SW_TYPE|| || ||0|| || ||Description coming soon|| ||THR_SLEWRATE||0||100||0||1||1||THROTTLE_SLEW_RATE - 0 = Disabled, otherwise it limits throttle movement rate. Units are % per second. This is a test feature and may go away.|| -||FLTMODE1||0||20||1||1|| ||FLIGHT_MODE_1 - Mode switch setting 1 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 2 = Acro, 3 = Simple, 4 = Auto, 5 = Guided, 6 = Loiter, 7 = RTL|| -||FLTMODE2||0||20||1||1|| ||FLIGHT_MODE_2 - Mode switch setting 2 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 2 = Acro, 3 = Simple, 4 = Auto, 5 = Guided, 6 = Loiter, 7 = RTL|| -||FLTMODE3||0||20||1||1|| ||FLIGHT_MODE_3 - Mode switch setting 3 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 2 = Acro, 3 = Simple, 4 = Auto, 5 = Guided, 6 = Loiter, 7 = RTL|| -||FLTMODE4||0||20||1||1|| ||FLIGHT_MODE_4 - Mode switch setting 4 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 2 = Acro, 3 = Simple, 4 = Auto, 5 = Guided, 6 = Loiter, 7 = RTL|| -||FLTMODE5||0||20||1||1|| ||FLIGHT_MODE_5 - Mode switch setting 5 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 2 = Acro, 3 = Simple, 4 = Auto, 5 = Guided, 6 = Loiter, 7 = RTL|| -||FLTMODE6||0||20||1||1|| ||FLIGHT_MODE_6 - Mode switch setting 6 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 2 = Acro, 3 = Simple, 4 = Auto, 5 = Guided, 6 = Loiter, 7 = RTL|| \ No newline at end of file +||FLTMODE1||0||20||1||1|| ||FLIGHT_MODE_1 - Mode switch setting 1 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 1 = Acro, 2 = Alt Hold, 3 = Auto, 4 = Guided, 5 = Loiter, 6 = RTL|| +||FLTMODE2||0||20||1||1|| ||FLIGHT_MODE_2 - Mode switch setting 2 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 1 = Acro, 2 = Alt Hold, 3 = Auto, 4 = Guided, 5 = Loiter, 6 = RTL|| +||FLTMODE3||0||20||1||1|| ||FLIGHT_MODE_3 - Mode switch setting 3 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 1 = Acro, 2 = Alt Hold, 3 = Auto, 4 = Guided, 5 = Loiter, 6 = RTL|| +||FLTMODE4||0||20||1||1|| ||FLIGHT_MODE_4 - Mode switch setting 4 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 1 = Acro, 2 = Alt Hold, 3 = Auto, 4 = Guided, 5 = Loiter, 6 = RTL|| +||FLTMODE5||0||20||1||1|| ||FLIGHT_MODE_5 - Mode switch setting 5 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 1 = Acro, 2 = Alt Hold, 3 = Auto, 4 = Guided, 5 = Loiter, 6 = RTL|| +||FLTMODE6||0||20||1||1|| ||FLIGHT_MODE_6 - Mode switch setting 6 - APM: 0 = Manual, 2 = Stabilize, 5 - Fly-By-Wire-A, 6 = Fly-By-Wire-B, 7 = Fly-By-Wire-C, 10 = Auto - Mission, 11 = RTL, 12 = Loiter, 13 = Take-off, 14 = Land, 15= Guided; ACM2: 0 = Stabilize, 1 = Acro, 2 = Alt Hold, 3 = Auto, 4 = Guided, 5 = Loiter, 6 = RTL|| \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs b/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs index d8cf085621..243c6d9816 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.Designer.cs @@ -32,22 +32,11 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Setup)); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabReset = new System.Windows.Forms.TabPage(); - this.BUT_reset = new ArdupilotMega.MyButton(); this.tabRadioIn = new System.Windows.Forms.TabPage(); this.CHK_revch3 = new System.Windows.Forms.CheckBox(); this.CHK_revch4 = new System.Windows.Forms.CheckBox(); this.CHK_revch2 = new System.Windows.Forms.CheckBox(); this.CHK_revch1 = new System.Windows.Forms.CheckBox(); - this.BUT_Calibrateradio = new ArdupilotMega.MyButton(); - this.BAR8 = new ArdupilotMega.HorizontalProgressBar2(); - this.currentStateBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.BAR7 = new ArdupilotMega.HorizontalProgressBar2(); - this.BAR6 = new ArdupilotMega.HorizontalProgressBar2(); - this.BAR5 = new ArdupilotMega.HorizontalProgressBar2(); - this.BARpitch = new ArdupilotMega.VerticalProgressBar2(); - this.BARthrottle = new ArdupilotMega.VerticalProgressBar2(); - this.BARyaw = new ArdupilotMega.HorizontalProgressBar2(); - this.BARroll = new ArdupilotMega.HorizontalProgressBar2(); this.tabModes = new System.Windows.Forms.TabPage(); this.label14 = new System.Windows.Forms.Label(); this.LBL_flightmodepwm = new System.Windows.Forms.Label(); @@ -71,7 +60,6 @@ this.CMB_fmode2 = new System.Windows.Forms.ComboBox(); this.label1 = new System.Windows.Forms.Label(); this.CMB_fmode1 = new System.Windows.Forms.ComboBox(); - this.BUT_SaveModes = new ArdupilotMega.MyButton(); this.tabHardware = new System.Windows.Forms.TabPage(); this.linkLabelmagdec = new System.Windows.Forms.LinkLabel(); this.label106 = new System.Windows.Forms.Label(); @@ -90,7 +78,6 @@ this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.tabArducopter = new System.Windows.Forms.TabPage(); this.label28 = new System.Windows.Forms.Label(); - this.BUT_levelac2 = new ArdupilotMega.MyButton(); this.label16 = new System.Windows.Forms.Label(); this.label15 = new System.Windows.Forms.Label(); this.pictureBoxQuadX = new System.Windows.Forms.PictureBox(); @@ -119,6 +106,20 @@ this.HS2_REV = new System.Windows.Forms.CheckBox(); this.HS1_REV = new System.Windows.Forms.CheckBox(); this.label17 = new System.Windows.Forms.Label(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.BUT_reset = new ArdupilotMega.MyButton(); + this.BUT_Calibrateradio = new ArdupilotMega.MyButton(); + this.BAR8 = new ArdupilotMega.HorizontalProgressBar2(); + this.currentStateBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.BAR7 = new ArdupilotMega.HorizontalProgressBar2(); + this.BAR6 = new ArdupilotMega.HorizontalProgressBar2(); + this.BAR5 = new ArdupilotMega.HorizontalProgressBar2(); + this.BARpitch = new ArdupilotMega.VerticalProgressBar2(); + this.BARthrottle = new ArdupilotMega.VerticalProgressBar2(); + this.BARyaw = new ArdupilotMega.HorizontalProgressBar2(); + this.BARroll = new ArdupilotMega.HorizontalProgressBar2(); + this.BUT_SaveModes = new ArdupilotMega.MyButton(); + this.BUT_levelac2 = new ArdupilotMega.MyButton(); this.BUT_saveheliconfig = new ArdupilotMega.MyButton(); this.BUT_0collective = new ArdupilotMega.MyButton(); this.HS4 = new ArdupilotMega.VerticalProgressBar2(); @@ -128,11 +129,15 @@ this.HS2_TRIM = new ArdupilotMega.MyTrackBar(); this.HS1_TRIM = new ArdupilotMega.MyTrackBar(); this.Gservoloc = new AGaugeApp.AGauge(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.CB_simple1 = new System.Windows.Forms.CheckBox(); + this.CB_simple2 = new System.Windows.Forms.CheckBox(); + this.CB_simple3 = new System.Windows.Forms.CheckBox(); + this.CB_simple4 = new System.Windows.Forms.CheckBox(); + this.CB_simple5 = new System.Windows.Forms.CheckBox(); + this.CB_simple6 = new System.Windows.Forms.CheckBox(); this.tabControl1.SuspendLayout(); this.tabReset.SuspendLayout(); this.tabRadioIn.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit(); this.tabModes.SuspendLayout(); this.tabHardware.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit(); @@ -143,6 +148,7 @@ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuadX)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuad)).BeginInit(); this.tabHeli.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.HS4_TRIM)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).BeginInit(); @@ -169,14 +175,6 @@ this.tabReset.Name = "tabReset"; this.tabReset.UseVisualStyleBackColor = true; // - // BUT_reset - // - resources.ApplyResources(this.BUT_reset, "BUT_reset"); - this.BUT_reset.Name = "BUT_reset"; - this.BUT_reset.Tag = ""; - this.BUT_reset.UseVisualStyleBackColor = true; - this.BUT_reset.Click += new System.EventHandler(this.BUT_reset_Click); - // // tabRadioIn // this.tabRadioIn.Controls.Add(this.CHK_revch3); @@ -224,139 +222,14 @@ this.CHK_revch1.UseVisualStyleBackColor = true; this.CHK_revch1.CheckedChanged += new System.EventHandler(this.CHK_revch1_CheckedChanged); // - // BUT_Calibrateradio - // - resources.ApplyResources(this.BUT_Calibrateradio, "BUT_Calibrateradio"); - this.BUT_Calibrateradio.Name = "BUT_Calibrateradio"; - this.BUT_Calibrateradio.UseVisualStyleBackColor = true; - this.BUT_Calibrateradio.Click += new System.EventHandler(this.BUT_Calibrateradio_Click); - // - // BAR8 - // - this.BAR8.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); - this.BAR8.BorderColor = System.Drawing.SystemColors.ActiveBorder; - this.BAR8.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch8in", true)); - this.BAR8.Label = "Radio 8"; - resources.ApplyResources(this.BAR8, "BAR8"); - this.BAR8.Maximum = 2200; - this.BAR8.maxline = 0; - this.BAR8.Minimum = 800; - this.BAR8.minline = 0; - this.BAR8.Name = "BAR8"; - this.BAR8.Value = 1500; - this.BAR8.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); - // - // currentStateBindingSource - // - this.currentStateBindingSource.DataSource = typeof(ArdupilotMega.CurrentState); - // - // BAR7 - // - this.BAR7.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); - this.BAR7.BorderColor = System.Drawing.SystemColors.ActiveBorder; - this.BAR7.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch7in", true)); - this.BAR7.Label = "Radio 7"; - resources.ApplyResources(this.BAR7, "BAR7"); - this.BAR7.Maximum = 2200; - this.BAR7.maxline = 0; - this.BAR7.Minimum = 800; - this.BAR7.minline = 0; - this.BAR7.Name = "BAR7"; - this.BAR7.Value = 1500; - this.BAR7.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); - // - // BAR6 - // - this.BAR6.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); - this.BAR6.BorderColor = System.Drawing.SystemColors.ActiveBorder; - this.BAR6.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch6in", true)); - this.BAR6.Label = "Radio 6"; - resources.ApplyResources(this.BAR6, "BAR6"); - this.BAR6.Maximum = 2200; - this.BAR6.maxline = 0; - this.BAR6.Minimum = 800; - this.BAR6.minline = 0; - this.BAR6.Name = "BAR6"; - this.BAR6.Value = 1500; - this.BAR6.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); - // - // BAR5 - // - this.BAR5.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); - this.BAR5.BorderColor = System.Drawing.SystemColors.ActiveBorder; - this.BAR5.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch5in", true)); - this.BAR5.Label = "Radio 5"; - resources.ApplyResources(this.BAR5, "BAR5"); - this.BAR5.Maximum = 2200; - this.BAR5.maxline = 0; - this.BAR5.Minimum = 800; - this.BAR5.minline = 0; - this.BAR5.Name = "BAR5"; - this.BAR5.Value = 1500; - this.BAR5.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); - // - // BARpitch - // - this.BARpitch.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); - this.BARpitch.BorderColor = System.Drawing.SystemColors.ActiveBorder; - this.BARpitch.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch2in", true)); - this.BARpitch.Label = "Pitch"; - resources.ApplyResources(this.BARpitch, "BARpitch"); - this.BARpitch.Maximum = 2200; - this.BARpitch.maxline = 0; - this.BARpitch.Minimum = 800; - this.BARpitch.minline = 0; - this.BARpitch.Name = "BARpitch"; - this.BARpitch.Value = 1500; - this.BARpitch.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); - // - // BARthrottle - // - this.BARthrottle.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(68)))), ((int)(((byte)(69))))); - this.BARthrottle.BorderColor = System.Drawing.SystemColors.ActiveBorder; - this.BARthrottle.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch3in", true)); - this.BARthrottle.Label = "Throttle"; - resources.ApplyResources(this.BARthrottle, "BARthrottle"); - this.BARthrottle.Maximum = 2200; - this.BARthrottle.maxline = 0; - this.BARthrottle.Minimum = 800; - this.BARthrottle.minline = 0; - this.BARthrottle.Name = "BARthrottle"; - this.BARthrottle.Value = 1000; - this.BARthrottle.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(148)))), ((int)(((byte)(193)))), ((int)(((byte)(31))))); - // - // BARyaw - // - this.BARyaw.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); - this.BARyaw.BorderColor = System.Drawing.SystemColors.ActiveBorder; - this.BARyaw.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch4in", true)); - this.BARyaw.Label = "Yaw"; - resources.ApplyResources(this.BARyaw, "BARyaw"); - this.BARyaw.Maximum = 2200; - this.BARyaw.maxline = 0; - this.BARyaw.Minimum = 800; - this.BARyaw.minline = 0; - this.BARyaw.Name = "BARyaw"; - this.BARyaw.Value = 1500; - this.BARyaw.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); - // - // BARroll - // - this.BARroll.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); - this.BARroll.BorderColor = System.Drawing.SystemColors.ActiveBorder; - this.BARroll.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch1in", true)); - this.BARroll.Label = "Roll"; - resources.ApplyResources(this.BARroll, "BARroll"); - this.BARroll.Maximum = 2200; - this.BARroll.maxline = 0; - this.BARroll.Minimum = 800; - this.BARroll.minline = 0; - this.BARroll.Name = "BARroll"; - this.BARroll.Value = 1500; - this.BARroll.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); - // // tabModes // + this.tabModes.Controls.Add(this.CB_simple6); + this.tabModes.Controls.Add(this.CB_simple5); + this.tabModes.Controls.Add(this.CB_simple4); + this.tabModes.Controls.Add(this.CB_simple3); + this.tabModes.Controls.Add(this.CB_simple2); + this.tabModes.Controls.Add(this.CB_simple1); this.tabModes.Controls.Add(this.label14); this.tabModes.Controls.Add(this.LBL_flightmodepwm); this.tabModes.Controls.Add(this.label13); @@ -519,13 +392,6 @@ resources.ApplyResources(this.CMB_fmode1, "CMB_fmode1"); this.CMB_fmode1.Name = "CMB_fmode1"; // - // BUT_SaveModes - // - resources.ApplyResources(this.BUT_SaveModes, "BUT_SaveModes"); - this.BUT_SaveModes.Name = "BUT_SaveModes"; - this.BUT_SaveModes.UseVisualStyleBackColor = true; - this.BUT_SaveModes.Click += new System.EventHandler(this.BUT_SaveModes_Click); - // // tabHardware // this.tabHardware.BackColor = System.Drawing.Color.DarkRed; @@ -661,11 +527,11 @@ // tabArducopter // this.tabArducopter.Controls.Add(this.label28); - this.tabArducopter.Controls.Add(this.BUT_levelac2); this.tabArducopter.Controls.Add(this.label16); this.tabArducopter.Controls.Add(this.label15); this.tabArducopter.Controls.Add(this.pictureBoxQuadX); this.tabArducopter.Controls.Add(this.pictureBoxQuad); + this.tabArducopter.Controls.Add(this.BUT_levelac2); resources.ApplyResources(this.tabArducopter, "tabArducopter"); this.tabArducopter.Name = "tabArducopter"; this.tabArducopter.UseVisualStyleBackColor = true; @@ -675,13 +541,6 @@ resources.ApplyResources(this.label28, "label28"); this.label28.Name = "label28"; // - // BUT_levelac2 - // - resources.ApplyResources(this.BUT_levelac2, "BUT_levelac2"); - this.BUT_levelac2.Name = "BUT_levelac2"; - this.BUT_levelac2.UseVisualStyleBackColor = true; - this.BUT_levelac2.Click += new System.EventHandler(this.BUT_levelac2_Click); - // // label16 // resources.ApplyResources(this.label16, "label16"); @@ -879,6 +738,159 @@ resources.ApplyResources(this.label17, "label17"); this.label17.Name = "label17"; // + // BUT_reset + // + resources.ApplyResources(this.BUT_reset, "BUT_reset"); + this.BUT_reset.Name = "BUT_reset"; + this.BUT_reset.Tag = ""; + this.BUT_reset.UseVisualStyleBackColor = true; + this.BUT_reset.Click += new System.EventHandler(this.BUT_reset_Click); + // + // BUT_Calibrateradio + // + resources.ApplyResources(this.BUT_Calibrateradio, "BUT_Calibrateradio"); + this.BUT_Calibrateradio.Name = "BUT_Calibrateradio"; + this.BUT_Calibrateradio.UseVisualStyleBackColor = true; + this.BUT_Calibrateradio.Click += new System.EventHandler(this.BUT_Calibrateradio_Click); + // + // BAR8 + // + this.BAR8.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); + this.BAR8.BorderColor = System.Drawing.SystemColors.ActiveBorder; + this.BAR8.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch8in", true)); + this.BAR8.Label = "Radio 8"; + resources.ApplyResources(this.BAR8, "BAR8"); + this.BAR8.Maximum = 2200; + this.BAR8.maxline = 0; + this.BAR8.Minimum = 800; + this.BAR8.minline = 0; + this.BAR8.Name = "BAR8"; + this.BAR8.Value = 1500; + this.BAR8.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); + // + // currentStateBindingSource + // + this.currentStateBindingSource.DataSource = typeof(ArdupilotMega.CurrentState); + // + // BAR7 + // + this.BAR7.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); + this.BAR7.BorderColor = System.Drawing.SystemColors.ActiveBorder; + this.BAR7.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch7in", true)); + this.BAR7.Label = "Radio 7"; + resources.ApplyResources(this.BAR7, "BAR7"); + this.BAR7.Maximum = 2200; + this.BAR7.maxline = 0; + this.BAR7.Minimum = 800; + this.BAR7.minline = 0; + this.BAR7.Name = "BAR7"; + this.BAR7.Value = 1500; + this.BAR7.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); + // + // BAR6 + // + this.BAR6.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); + this.BAR6.BorderColor = System.Drawing.SystemColors.ActiveBorder; + this.BAR6.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch6in", true)); + this.BAR6.Label = "Radio 6"; + resources.ApplyResources(this.BAR6, "BAR6"); + this.BAR6.Maximum = 2200; + this.BAR6.maxline = 0; + this.BAR6.Minimum = 800; + this.BAR6.minline = 0; + this.BAR6.Name = "BAR6"; + this.BAR6.Value = 1500; + this.BAR6.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); + // + // BAR5 + // + this.BAR5.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); + this.BAR5.BorderColor = System.Drawing.SystemColors.ActiveBorder; + this.BAR5.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch5in", true)); + this.BAR5.Label = "Radio 5"; + resources.ApplyResources(this.BAR5, "BAR5"); + this.BAR5.Maximum = 2200; + this.BAR5.maxline = 0; + this.BAR5.Minimum = 800; + this.BAR5.minline = 0; + this.BAR5.Name = "BAR5"; + this.BAR5.Value = 1500; + this.BAR5.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); + // + // BARpitch + // + this.BARpitch.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); + this.BARpitch.BorderColor = System.Drawing.SystemColors.ActiveBorder; + this.BARpitch.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch2in", true)); + this.BARpitch.Label = "Pitch"; + resources.ApplyResources(this.BARpitch, "BARpitch"); + this.BARpitch.Maximum = 2200; + this.BARpitch.maxline = 0; + this.BARpitch.Minimum = 800; + this.BARpitch.minline = 0; + this.BARpitch.Name = "BARpitch"; + this.BARpitch.Value = 1500; + this.BARpitch.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); + // + // BARthrottle + // + this.BARthrottle.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(68)))), ((int)(((byte)(69))))); + this.BARthrottle.BorderColor = System.Drawing.SystemColors.ActiveBorder; + this.BARthrottle.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch3in", true)); + this.BARthrottle.Label = "Throttle"; + resources.ApplyResources(this.BARthrottle, "BARthrottle"); + this.BARthrottle.Maximum = 2200; + this.BARthrottle.maxline = 0; + this.BARthrottle.Minimum = 800; + this.BARthrottle.minline = 0; + this.BARthrottle.Name = "BARthrottle"; + this.BARthrottle.Value = 1000; + this.BARthrottle.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(148)))), ((int)(((byte)(193)))), ((int)(((byte)(31))))); + // + // BARyaw + // + this.BARyaw.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); + this.BARyaw.BorderColor = System.Drawing.SystemColors.ActiveBorder; + this.BARyaw.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch4in", true)); + this.BARyaw.Label = "Yaw"; + resources.ApplyResources(this.BARyaw, "BARyaw"); + this.BARyaw.Maximum = 2200; + this.BARyaw.maxline = 0; + this.BARyaw.Minimum = 800; + this.BARyaw.minline = 0; + this.BARyaw.Name = "BARyaw"; + this.BARyaw.Value = 1500; + this.BARyaw.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); + // + // BARroll + // + this.BARroll.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(255))))); + this.BARroll.BorderColor = System.Drawing.SystemColors.ActiveBorder; + this.BARroll.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.currentStateBindingSource, "ch1in", true)); + this.BARroll.Label = "Roll"; + resources.ApplyResources(this.BARroll, "BARroll"); + this.BARroll.Maximum = 2200; + this.BARroll.maxline = 0; + this.BARroll.Minimum = 800; + this.BARroll.minline = 0; + this.BARroll.Name = "BARroll"; + this.BARroll.Value = 1500; + this.BARroll.ValueColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); + // + // BUT_SaveModes + // + resources.ApplyResources(this.BUT_SaveModes, "BUT_SaveModes"); + this.BUT_SaveModes.Name = "BUT_SaveModes"; + this.BUT_SaveModes.UseVisualStyleBackColor = true; + this.BUT_SaveModes.Click += new System.EventHandler(this.BUT_SaveModes_Click); + // + // BUT_levelac2 + // + resources.ApplyResources(this.BUT_levelac2, "BUT_levelac2"); + this.BUT_levelac2.Name = "BUT_levelac2"; + this.BUT_levelac2.UseVisualStyleBackColor = true; + this.BUT_levelac2.Click += new System.EventHandler(this.BUT_levelac2_Click); + // // BUT_saveheliconfig // resources.ApplyResources(this.BUT_saveheliconfig, "BUT_saveheliconfig"); @@ -925,8 +937,8 @@ // // HS4_TRIM // - this.HS4_TRIM.LargeChange = 1000; resources.ApplyResources(this.HS4_TRIM, "HS4_TRIM"); + this.HS4_TRIM.LargeChange = 1000; this.HS4_TRIM.Maximum = 2000D; this.HS4_TRIM.Minimum = 1000D; this.HS4_TRIM.Name = "HS4_TRIM"; @@ -937,8 +949,8 @@ // // HS3_TRIM // - this.HS3_TRIM.LargeChange = 1000; resources.ApplyResources(this.HS3_TRIM, "HS3_TRIM"); + this.HS3_TRIM.LargeChange = 1000; this.HS3_TRIM.Maximum = 2000D; this.HS3_TRIM.Minimum = 1000D; this.HS3_TRIM.Name = "HS3_TRIM"; @@ -949,8 +961,8 @@ // // HS2_TRIM // - this.HS2_TRIM.LargeChange = 1000; resources.ApplyResources(this.HS2_TRIM, "HS2_TRIM"); + this.HS2_TRIM.LargeChange = 1000; this.HS2_TRIM.Maximum = 2000D; this.HS2_TRIM.Minimum = 1000D; this.HS2_TRIM.Name = "HS2_TRIM"; @@ -961,8 +973,8 @@ // // HS1_TRIM // - this.HS1_TRIM.LargeChange = 1000; resources.ApplyResources(this.HS1_TRIM, "HS1_TRIM"); + this.HS1_TRIM.LargeChange = 1000; this.HS1_TRIM.Maximum = 2000D; this.HS1_TRIM.Minimum = 1000D; this.HS1_TRIM.Name = "HS1_TRIM"; @@ -1114,6 +1126,42 @@ this.Gservoloc.Value2 = 180F; this.Gservoloc.Value3 = 0F; // + // CB_simple1 + // + resources.ApplyResources(this.CB_simple1, "CB_simple1"); + this.CB_simple1.Name = "CB_simple1"; + this.CB_simple1.UseVisualStyleBackColor = true; + // + // CB_simple2 + // + resources.ApplyResources(this.CB_simple2, "CB_simple2"); + this.CB_simple2.Name = "CB_simple2"; + this.CB_simple2.UseVisualStyleBackColor = true; + // + // CB_simple3 + // + resources.ApplyResources(this.CB_simple3, "CB_simple3"); + this.CB_simple3.Name = "CB_simple3"; + this.CB_simple3.UseVisualStyleBackColor = true; + // + // CB_simple4 + // + resources.ApplyResources(this.CB_simple4, "CB_simple4"); + this.CB_simple4.Name = "CB_simple4"; + this.CB_simple4.UseVisualStyleBackColor = true; + // + // CB_simple5 + // + resources.ApplyResources(this.CB_simple5, "CB_simple5"); + this.CB_simple5.Name = "CB_simple5"; + this.CB_simple5.UseVisualStyleBackColor = true; + // + // CB_simple6 + // + resources.ApplyResources(this.CB_simple6, "CB_simple6"); + this.CB_simple6.Name = "CB_simple6"; + this.CB_simple6.UseVisualStyleBackColor = true; + // // Setup // resources.ApplyResources(this, "$this"); @@ -1126,7 +1174,6 @@ this.tabReset.ResumeLayout(false); this.tabRadioIn.ResumeLayout(false); this.tabRadioIn.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit(); this.tabModes.ResumeLayout(false); this.tabModes.PerformLayout(); this.tabHardware.ResumeLayout(false); @@ -1141,6 +1188,7 @@ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuad)).EndInit(); this.tabHeli.ResumeLayout(false); this.tabHeli.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.currentStateBindingSource)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.HS4_TRIM)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.HS3_TRIM)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.HS2_TRIM)).EndInit(); @@ -1250,6 +1298,12 @@ private System.Windows.Forms.CheckBox CHK_revch4; private System.Windows.Forms.CheckBox CHK_revch2; private System.Windows.Forms.CheckBox CHK_revch1; + private System.Windows.Forms.CheckBox CB_simple6; + private System.Windows.Forms.CheckBox CB_simple5; + private System.Windows.Forms.CheckBox CB_simple4; + private System.Windows.Forms.CheckBox CB_simple3; + private System.Windows.Forms.CheckBox CB_simple2; + private System.Windows.Forms.CheckBox CB_simple1; } } \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.cs b/Tools/ArdupilotMegaPlanner/Setup/Setup.cs index 17c296b914..b2b9ad463c 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.cs +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.cs @@ -252,6 +252,13 @@ namespace ArdupilotMega.Setup { if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) // APM { + CB_simple1.Visible = false; + CB_simple2.Visible = false; + CB_simple3.Visible = false; + CB_simple4.Visible = false; + CB_simple5.Visible = false; + CB_simple6.Visible = false; + CMB_fmode1.Items.Clear(); CMB_fmode2.Items.Clear(); CMB_fmode3.Items.Clear(); @@ -410,6 +417,10 @@ namespace ArdupilotMega.Setup MainV2.comPort.setParam("FLTMODE4", (float)(int)Enum.Parse(typeof(Common.ac2modes), CMB_fmode4.Text)); MainV2.comPort.setParam("FLTMODE5", (float)(int)Enum.Parse(typeof(Common.ac2modes), CMB_fmode5.Text)); MainV2.comPort.setParam("FLTMODE6", (float)(int)Enum.Parse(typeof(Common.ac2modes), CMB_fmode6.Text)); + + float value = (float)(CB_simple1.Checked ? 1 : 0) + (CB_simple2.Checked ? 1 << 1 : 0) + (CB_simple3.Checked ? 1 <<2 : 0) + + (CB_simple4.Checked ? 1 << 3 : 0) + (CB_simple5.Checked ? 1 << 4 : 0) + (CB_simple6.Checked ? 1 << 5 : 0); + MainV2.comPort.setParam("SIMPLE", value); } } catch { MessageBox.Show("Failed to set Flight modes"); } diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.resx b/Tools/ArdupilotMegaPlanner/Setup/Setup.resx index be2a79628f..fdcafe6fac 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.resx +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.resx @@ -117,20 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 214, 161 - - - 195, 23 - - - - 0 - - - Reset APM Hardware to Default - BUT_reset @@ -143,12 +129,14 @@ 0 + 4, 22 666, 393 + 4 @@ -167,10 +155,1780 @@ 0 + + CHK_revch3 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 0 + + + CHK_revch4 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 1 + + + CHK_revch2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 2 + + + CHK_revch1 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabRadioIn + + + 3 + + + BUT_Calibrateradio + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 4 + + + BAR8 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 5 + + + BAR7 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 6 + + + BAR6 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 7 + + + BAR5 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 8 + + + BARpitch + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 9 + + + BARthrottle + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 10 + + + BARyaw + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 11 + + + BARroll + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 12 + + + 4, 22 + + + + 3, 3, 3, 3 + + + 666, 393 + + + 0 + + + Radio Input + + + tabRadioIn + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 1 + + + True + + + NoControl + + + 372, 235 + + + 87, 17 + + + 119 + + + Simple Mode + + + CB_simple6 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 0 + + + True + + + NoControl + + + 373, 208 + + + 87, 17 + + + 118 + + + Simple Mode + + + CB_simple5 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 1 + + + True + + + NoControl + + + 372, 181 + + + 87, 17 + + + 117 + + + Simple Mode + + + CB_simple4 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 2 + + + True + + + NoControl + + + 373, 154 + + + 87, 17 + + + 116 + + + Simple Mode + + + CB_simple3 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 3 + + + True + + + NoControl + + + 372, 127 + + + 87, 17 + + + 115 + + + Simple Mode + + + CB_simple2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 4 + + + True + + + 373, 101 + + + 87, 17 + + + 114 + + + Simple Mode + + + CB_simple1 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 5 + + + True + + + NoControl + + + 242, 67 + + + 74, 13 + + + 113 + + + Current PWM: + + + label14 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 6 + + + True + + + NoControl + + + 322, 67 + + + 13, 13 + + + 112 + + + 0 + + + LBL_flightmodepwm + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 7 + + + True + + + NoControl + + + 242, 50 + + + 74, 13 + + + 111 + + + Current Mode: + + + label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 8 + + + True + + + NoControl + + + 322, 50 + + + 42, 13 + + + 110 + + + Manual + + + lbl_currentmode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 9 + + + True + + + NoControl + + + 483, 101 + + + 76, 13 + + + 109 + + + PWM 0 - 1230 + + + False + + + label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 10 + + + True + + + NoControl + + + 483, 236 + + + 70, 13 + + + 108 + + + PWM 1750 + + + + False + + + label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 11 + + + True + + + NoControl + + + 483, 209 + + + 94, 13 + + + 107 + + + PWM 1621 - 1749 + + + False + + + label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 12 + + + True + + + NoControl + + + 483, 182 + + + 94, 13 + + + 106 + + + PWM 1491 - 1620 + + + False + + + label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 13 + + + True + + + NoControl + + + 483, 155 + + + 94, 13 + + + 105 + + + PWM 1361 - 1490 + + + False + + + label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 14 + + + True + + + NoControl + + + 483, 128 + + + 94, 13 + + + 104 + + + PWM 1231 - 1360 + + + False + + + label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 15 + + + True + + + NoControl + + + 168, 236 + + + 71, 13 + + + 11 + + + Flight Mode 6 + + + label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 16 + + + 245, 233 + + + 121, 21 + + + 10 + + + CMB_fmode6 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 17 + + + True + + + NoControl + + + 168, 209 + + + 71, 13 + + + 9 + + + Flight Mode 5 + + + label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 18 + + + 245, 206 + + + 121, 21 + + + 8 + + + CMB_fmode5 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 19 + + + True + + + NoControl + + + 168, 182 + + + 71, 13 + + + 7 + + + Flight Mode 4 + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 20 + + + 245, 179 + + + 121, 21 + + + 6 + + + CMB_fmode4 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 21 + + + True + + + NoControl + + + 168, 155 + + + 71, 13 + + + 5 + + + Flight Mode 3 + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 22 + + + 245, 152 + + + 121, 21 + + + 4 + + + CMB_fmode3 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 23 + + + True + + + NoControl + + + 168, 128 + + + 71, 13 + + + 3 + + + Flight Mode 2 + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 24 + + + 245, 125 + + + 121, 21 + + + 2 + + + CMB_fmode2 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 25 + + + True + + + NoControl + + + 168, 101 + + + 71, 13 + + + 1 + + + Flight Mode 1 + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 26 + + + 245, 98 + + + 121, 21 + + + 0 + + + CMB_fmode1 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabModes + + + 27 + + + NoControl + + + 245, 260 + + + 121, 23 + + + 103 + + + Save Modes + + + BUT_SaveModes + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabModes + + + 28 + + + 4, 22 + + + 666, 393 + + + 3 + + + Modes + + + tabModes + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 2 + + + linkLabelmagdec + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 0 + + + label106 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 1 + + + label105 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 2 + + + TXT_battcapacity + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 3 + + + CMB_batmontype + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 4 + + + label100 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 5 + + + TXT_declination + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 6 + + + CHK_enableairspeed + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 7 + + + CHK_enablesonar + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 8 + + + CHK_enablebattmon + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 9 + + + CHK_enablecompass + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 10 + + + pictureBox4 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 11 + + + pictureBox3 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 12 + + + pictureBox2 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 13 + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHardware + + + 14 + + + 4, 22 + + + 3, 3, 3, 3 + + + 666, 393 + + + 1 + + + Hardware + + + tabHardware + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 3 + + + label28 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 0 + + + label16 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 1 + + + label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 2 + + + pictureBoxQuadX + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 3 + + + pictureBoxQuad + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabArducopter + + + 4 + + + BUT_levelac2 + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabArducopter + + + 5 + + + 4, 22 + + + 666, 393 + + + 2 + + + ArduCopter2 + + + tabArducopter + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 4 + + + label27 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 0 + + + GYR_GAIN_ + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 1 + + + GYR_ENABLE_ + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 2 + + + label26 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 3 + + + PIT_MAX_ + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 4 + + + label25 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 5 + + + ROL_MAX_ + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 6 + + + label24 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 7 + + + COL_MID_ + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 8 + + + label23 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 9 + + + label22 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 10 + + + label21 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 11 + + + HS4_REV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 12 + + + label20 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 13 + + + label19 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 14 + + + label18 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 15 + + + SV3_POS_ + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 16 + + + SV2_POS_ + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 17 + + + SV1_POS_ + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 18 + + + HS3_REV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 19 + + + HS2_REV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 20 + + + HS1_REV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 21 + + + label17 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabHeli + + + 22 + + + BUT_saveheliconfig + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 23 + + + BUT_0collective + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 24 + + + HS4 + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 25 + + + HS3 + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 26 + + + HS4_TRIM + + + ArdupilotMega.MyTrackBar, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 27 + + + HS3_TRIM + + + ArdupilotMega.MyTrackBar, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 28 + + + HS2_TRIM + + + ArdupilotMega.MyTrackBar, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 29 + + + HS1_TRIM + + + ArdupilotMega.MyTrackBar, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 30 + + + Gservoloc + + + AGaugeApp.AGauge, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabHeli + + + 31 + + + 4, 22 + + + 666, 393 + + + 5 + + + AC2 Heli - BETA + + + tabHeli + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 5 + + + Fill + + + 0, 0 + + + 674, 419 + + + 93 + + + tabControl1 + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + True - NoControl @@ -288,837 +2046,12 @@ 3 - - 482, 340 - - - 134, 23 - - - 102 - - - Calibrate Radio - - - BUT_Calibrateradio - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 4 - - - 17, 17 - - - 446, 240 - - - 170, 25 - - - 101 - - - BAR8 - - - ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 5 - - - 446, 185 - - - 170, 25 - - - 100 - - - BAR7 - - - ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 6 - - - 446, 130 - - - 170, 25 - - - 99 - - - BAR6 - - - ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 7 - - - 446, 75 - - - 170, 25 - - - 98 - - - BAR5 - - - ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 8 - - - 143, 61 - - - 47, 211 - - - 96 - - - BARpitch - - - ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 9 - - - 359, 61 - - - 47, 211 - - - 95 - - - BARthrottle - - - ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 10 - - - 21, 304 - - - 288, 23 - - - 94 - - - BARyaw - - - ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 11 - - - 21, 6 - - - 288, 23 - - - 93 - - - BARroll - - - ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabRadioIn - - - 12 - - - 4, 22 - - - 3, 3, 3, 3 - - - 666, 393 - - - 0 - - - Radio Input - - - tabRadioIn - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 1 - - - True - - - 242, 67 - - - 74, 13 - - - 113 - - - Current PWM: - - - label14 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 0 - - - True - - - 322, 67 - - - 13, 13 - - - 112 - - - 0 - - - LBL_flightmodepwm - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 1 - - - True - - - 242, 50 - - - 74, 13 - - - 111 - - - Current Mode: - - - label13 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 2 - - - True - - - 322, 50 - - - 42, 13 - - - 110 - - - Manual - - - lbl_currentmode - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 3 - - - True - - - 372, 101 - - - 76, 13 - - - 109 - - - PWM 0 - 1230 - - - label12 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 4 - - - True - - - 372, 236 - - - 70, 13 - - - 108 - - - PWM 1750 + - - - label11 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 5 - - - True - - - 372, 209 - - - 94, 13 - - - 107 - - - PWM 1621 - 1749 - - - label10 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 6 - - - True - - - 372, 182 - - - 94, 13 - - - 106 - - - PWM 1491 - 1620 - - - label9 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 7 - - - True - - - 372, 155 - - - 94, 13 - - - 105 - - - PWM 1361 - 1490 - - - label8 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 8 - - - True - - - 372, 128 - - - 94, 13 - - - 104 - - - PWM 1231 - 1360 - - - label7 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 9 - - - True - - - 168, 236 - - - 71, 13 - - - 11 - - - Flight Mode 6 - - - label6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 10 - - - 245, 233 - - - 121, 21 - - - 10 - - - CMB_fmode6 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 11 - - - True - - - 168, 209 - - - 71, 13 - - - 9 - - - Flight Mode 5 - - - label5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 12 - - - 245, 206 - - - 121, 21 - - - 8 - - - CMB_fmode5 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 13 - - - True - - - 168, 182 - - - 71, 13 - - - 7 - - - Flight Mode 4 - - - label4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 14 - - - 245, 179 - - - 121, 21 - - - 6 - - - CMB_fmode4 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 15 - - - True - - - 168, 155 - - - 71, 13 - - - 5 - - - Flight Mode 3 - - - label3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 16 - - - 245, 152 - - - 121, 21 - - - 4 - - - CMB_fmode3 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 17 - - - True - - - 168, 128 - - - 71, 13 - - - 3 - - - Flight Mode 2 - - - label2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 18 - - - 245, 125 - - - 121, 21 - - - 2 - - - CMB_fmode2 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 19 - - - True - - - 168, 101 - - - 71, 13 - - - 1 - - - Flight Mode 1 - - - label1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 20 - - - 245, 98 - - - 121, 21 - - - 0 - - - CMB_fmode1 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabModes - - - 21 - - - 245, 260 - - - 121, 23 - - - 103 - - - Save Modes - - - BUT_SaveModes - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabModes - - - 22 - - - 4, 22 - - - 666, 393 - - - 3 - - - Modes - - - tabModes - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 2 - True + + NoControl + 390, 80 @@ -1281,6 +2214,9 @@ 5 + + 214, 17 + 383, 57 @@ -1290,9 +2226,6 @@ 20 - - 214, 17 - Magnetic Declination (-20.0 to 20.0) eg 2° 3' W is -2.3 @@ -1419,6 +2352,9 @@ Zoom + + NoControl + 78, 268 @@ -1443,6 +2379,9 @@ Zoom + + NoControl + 78, 187 @@ -1467,6 +2406,9 @@ Zoom + + NoControl + 78, 106 @@ -1494,6 +2436,9 @@ + + NoControl + @@ -1518,36 +2463,12 @@ 14 - - 4, 22 - - - 3, 3, 3, 3 - - - 666, 393 - - - 1 - - - Hardware - - - tabHardware - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 3 - True + + NoControl + 217, 38 @@ -1572,33 +2493,12 @@ 0 - - 274, 67 - - - 75, 23 - - - 8 - - - Level - - - BUT_levelac2 - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - tabArducopter - - - 1 - True + + NoControl + 217, 333 @@ -1622,11 +2522,14 @@ will work with hexa's etc tabArducopter - 2 + 1 True + + NoControl + 260, 124 @@ -1649,7 +2552,7 @@ will work with hexa's etc tabArducopter - 3 + 2 NoControl @@ -1676,7 +2579,7 @@ will work with hexa's etc tabArducopter - 4 + 3 NoControl @@ -1703,35 +2606,14 @@ will work with hexa's etc tabArducopter - 5 - - - 4, 22 - - - 666, 393 - - - 2 - - - ArduCopter2 - - - tabArducopter - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - 4 True + + NoControl + 552, 222 @@ -1783,6 +2665,9 @@ will work with hexa's etc True + + NoControl + 540, 202 @@ -1810,6 +2695,9 @@ will work with hexa's etc True + + NoControl + 563, 94 @@ -1861,6 +2749,9 @@ will work with hexa's etc True + + NoControl + 563, 50 @@ -1912,6 +2803,9 @@ will work with hexa's etc True + + NoControl + 537, 170 @@ -1939,6 +2833,9 @@ will work with hexa's etc True + + NoControl + 603, 170 @@ -1966,6 +2863,9 @@ will work with hexa's etc True + + NoControl + 440, 23 @@ -1993,6 +2893,9 @@ will work with hexa's etc True + + NoControl + 290, 23 @@ -2020,6 +2923,9 @@ will work with hexa's etc True + + NoControl + 178, 23 @@ -2047,6 +2953,9 @@ will work with hexa's etc True + + NoControl + 181, 148 @@ -2074,6 +2983,9 @@ will work with hexa's etc True + + NoControl + 13, 258 @@ -2101,6 +3013,9 @@ will work with hexa's etc True + + NoControl + 13, 232 @@ -2128,6 +3043,9 @@ will work with hexa's etc True + + NoControl + 13, 206 @@ -2227,6 +3145,9 @@ will work with hexa's etc True + + NoControl + 181, 125 @@ -2254,6 +3175,9 @@ will work with hexa's etc True + + NoControl + 181, 102 @@ -2281,6 +3205,9 @@ will work with hexa's etc True + + NoControl + 181, 79 @@ -2308,6 +3235,9 @@ will work with hexa's etc True + + NoControl + 38, 23 @@ -2332,6 +3262,267 @@ will work with hexa's etc 22 + + 214, 17 + + + NoControl + + + 214, 161 + + + 195, 23 + + + 0 + + + Reset APM Hardware to Default + + + BUT_reset + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabReset + + + 0 + + + NoControl + + + 482, 340 + + + 134, 23 + + + 102 + + + Calibrate Radio + + + BUT_Calibrateradio + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 4 + + + 17, 17 + + + 446, 240 + + + 170, 25 + + + 101 + + + BAR8 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 5 + + + 17, 17 + + + 446, 185 + + + 170, 25 + + + 100 + + + BAR7 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 6 + + + 446, 130 + + + 170, 25 + + + 99 + + + BAR6 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 7 + + + 446, 75 + + + 170, 25 + + + 98 + + + BAR5 + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 8 + + + 143, 61 + + + 47, 211 + + + 96 + + + BARpitch + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 9 + + + 359, 61 + + + 47, 211 + + + 95 + + + BARthrottle + + + ArdupilotMega.VerticalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 10 + + + 21, 304 + + + 288, 23 + + + 94 + + + BARyaw + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 11 + + + 21, 6 + + + 288, 23 + + + 93 + + + BARroll + + + ArdupilotMega.HorizontalProgressBar2, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabRadioIn + + + 12 + + + NoControl + + + 274, 67 + + + 75, 23 + + + 8 + + + Level + + + BUT_levelac2 + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + tabArducopter + + + 5 + + + NoControl + 430, 307 @@ -2356,6 +3547,9 @@ will work with hexa's etc 23 + + NoControl + 540, 144 @@ -2422,6 +3616,9 @@ will work with hexa's etc 26 + + NoControl + 276, 203 @@ -2443,6 +3640,9 @@ will work with hexa's etc 27 + + NoControl + 276, 152 @@ -2464,6 +3664,9 @@ will work with hexa's etc 28 + + NoControl + 276, 101 @@ -2485,6 +3688,9 @@ will work with hexa's etc 29 + + NoControl + 276, 50 @@ -2536,54 +3742,6 @@ will work with hexa's etc 31 - - 4, 22 - - - 666, 393 - - - 5 - - - AC2 Heli - BETA - - - tabHeli - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 5 - - - Fill - - - 0, 0 - - - 674, 419 - - - 93 - - - tabControl1 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 0 - True @@ -2593,21 +3751,24 @@ will work with hexa's etc 674, 419 + + NoControl + APMSetup - - currentStateBindingSource - - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - toolTip1 System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + currentStateBindingSource + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + Setup diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Configuration.resx b/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Configuration.resx index 8c4784c6d9..1ecdd308f8 100644 --- a/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Configuration.resx +++ b/Tools/ArdupilotMegaPlanner/bin/Release/GCSViews/Configuration.resx @@ -192,6 +192,2421 @@ Top, Bottom, Left, Right + + 111, 82 + + + 78, 20 + + + 11 + + + THR_FS_VALUE + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 0 + + + NoControl + + + 6, 86 + + + 50, 13 + + + 12 + + + FS Value + + + label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + THR_MAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 2 + + + NoControl + + + 6, 63 + + + 27, 13 + + + 13 + + + Max + + + label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + THR_MIN + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 4 + + + NoControl + + + 6, 40 + + + 24, 13 + + + 14 + + + Min + + + label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + TRIM_THROTTLE + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 6 + + + NoControl + + + 6, 17 + + + 36, 13 + + + 15 + + + Cruise + + + label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 7 + + + 405, 217 + + + 195, 108 + + + 0 + + + Throttle 0-100% + + + groupBox3 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 0 + + + 111, 82 + + + 78, 20 + + + 0 + + + ARSPD_RATIO + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + NoControl + + + 6, 87 + + + 32, 13 + + + 1 + + + Ratio + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + 111, 59 + + + 78, 20 + + + 2 + + + ARSPD_FBW_MAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 2 + + + NoControl + + + 6, 59 + + + 53, 13 + + + 3 + + + FBW max + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 3 + + + 111, 36 + + + 78, 20 + + + 4 + + + ARSPD_FBW_MIN + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 4 + + + NoControl + + + 6, 40 + + + 50, 13 + + + 5 + + + FBW min + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + TRIM_ARSPD_CM + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 6 + + + NoControl + + + 6, 17 + + + 64, 13 + + + 6 + + + Cruise + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 7 + + + 406, 325 + + + 195, 108 + + + 1 + + + Airspeed m/s + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + LIM_PITCH_MIN + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 0 + + + NoControl + + + 6, 63 + + + 51, 13 + + + 10 + + + Pitch Min + + + label39 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 1 + + + 111, 36 + + + 78, 20 + + + 7 + + + LIM_PITCH_MAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 2 + + + NoControl + + + 6, 40 + + + 54, 13 + + + 11 + + + Pitch Max + + + label38 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 3 + + + 111, 13 + + + 78, 20 + + + 5 + + + LIM_ROLL_CD + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 4 + + + NoControl + + + 6, 17 + + + 55, 13 + + + 12 + + + Bank Max + + + label37 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 5 + + + 205, 325 + + + 195, 108 + + + 2 + + + Navigation Angles + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 2 + + + 111, 36 + + + 78, 20 + + + 7 + + + XTRK_ANGLE_CD + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox15 + + + 0 + + + NoControl + + + 6, 40 + + + 61, 13 + + + 8 + + + Entry Angle + + + label79 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox15 + + + 1 + + + 111, 13 + + + 78, 20 + + + 5 + + + XTRK_GAIN_SC + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox15 + + + 2 + + + NoControl + + + 6, 17 + + + 52, 13 + + + 9 + + + Gain (cm) + + + label80 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox15 + + + 3 + + + 4, 325 + + + 195, 108 + + + 3 + + + Xtrack Pids + + + groupBox15 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 3 + + + 111, 13 + + + 78, 20 + + + 13 + + + KFF_PTCH2THR + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 0 + + + NoControl + + + 6, 17 + + + 36, 13 + + + 14 + + + P to T + + + label83 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + KFF_RDDRMIX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 2 + + + NoControl + + + 6, 63 + + + 61, 13 + + + 15 + + + Rudder Mix + + + label78 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + KFF_PTCHCOMP + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 4 + + + NoControl + + + 6, 40 + + + 61, 13 + + + 16 + + + Pitch Comp + + + label81 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox16 + + + 5 + + + 205, 217 + + + 195, 108 + + + 4 + + + Other Mix's + + + groupBox16 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 4 + + + 111, 82 + + + 78, 20 + + + 11 + + + ENRGY2THR_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label73 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + ENRGY2THR_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label74 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + ENRGY2THR_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label75 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + ENRGY2THR_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label76 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox14 + + + 7 + + + 4, 217 + + + 195, 108 + + + 5 + + + Energy/Alt Pid + + + groupBox14 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 5 + + + 111, 82 + + + 78, 20 + + + 0 + + + ALT2PTCH_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 1 + + + INT_MAX + + + label69 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 1 + + + 111, 59 + + + 78, 20 + + + 2 + + + ALT2PTCH_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 3 + + + D + + + label70 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 3 + + + 111, 36 + + + 78, 20 + + + 4 + + + ALT2PTCH_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label71 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 5 + + + 111, 13 + + + 78, 20 + + + 6 + + + ALT2PTCH_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 7 + + + P + + + label72 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox13 + + + 7 + + + 406, 109 + + + 195, 108 + + + 6 + + + Nav Pitch Alt Pid + + + groupBox13 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 6 + + + 111, 82 + + + 78, 20 + + + 0 + + + ARSP2PTCH_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 1 + + + INT_MAX + + + label65 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 1 + + + 111, 59 + + + 78, 20 + + + 2 + + + ARSP2PTCH_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 3 + + + D + + + label66 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 3 + + + 111, 36 + + + 78, 20 + + + 4 + + + ARSP2PTCH_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label67 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 5 + + + 111, 13 + + + 78, 20 + + + 6 + + + ARSP2PTCH_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 7 + + + P + + + label68 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox12 + + + 7 + + + 205, 109 + + + 195, 108 + + + 7 + + + Nav Pitch AS Pid + + + groupBox12 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 7 + + + 111, 82 + + + 78, 20 + + + 11 + + + HDNG2RLL_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label61 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + HDNG2RLL_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label62 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + HDNG2RLL_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label63 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + HDNG2RLL_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label64 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox11 + + + 7 + + + 4, 109 + + + 195, 108 + + + 8 + + + Nav Roll Pid + + + groupBox11 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 8 + + + 111, 82 + + + 78, 20 + + + 11 + + + YW2SRV_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label57 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + YW2SRV_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label58 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + YW2SRV_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label59 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + YW2SRV_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label60 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox10 + + + 7 + + + 406, 1 + + + 195, 108 + + + 9 + + + Servo Yaw Pid + + + groupBox10 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 9 + + + 111, 82 + + + 78, 20 + + + 11 + + + PTCH2SRV_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label53 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + PTCH2SRV_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label54 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + PTCH2SRV_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label55 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + PTCH2SRV_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label56 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox9 + + + 7 + + + 205, 1 + + + 195, 108 + + + 10 + + + Servo Pitch Pid + + + groupBox9 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 10 + + + 111, 82 + + + 78, 20 + + + 11 + + + RLL2SRV_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 0 + + + NoControl + + + 6, 86 + + + 54, 13 + + + 12 + + + INT_MAX + + + label49 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 1 + + + 111, 59 + + + 78, 20 + + + 9 + + + RLL2SRV_D + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 2 + + + NoControl + + + 6, 63 + + + 15, 13 + + + 13 + + + D + + + label50 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 3 + + + 111, 36 + + + 78, 20 + + + 7 + + + RLL2SRV_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label51 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 5 + + + 111, 13 + + + 78, 20 + + + 5 + + + RLL2SRV_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 6 + + + NoControl + + + 6, 17 + + + 14, 13 + + + 15 + + + P + + + label52 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox8 + + + 7 + + + 4, 1 + + + 195, 108 + + + 11 + + + Servo Roll Pid + + + groupBox8 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAPM2 + + + 11 + + + 4, 22 + + + 0, 0, 0, 0 + + + 722, 434 + + + 0 + + + APM 2.x + TabAPM2 @@ -204,6 +2619,1824 @@ 0 + + True + + + 3, 198 + + + 154, 17 + + + 13 + + + Lock Pitch and Roll Values + + + CHK_lockrollpitch + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 0 + + + 80, 86 + + + 78, 20 + + + 16 + + + WP_SPEED_MAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 0 + + + NoControl + + + 6, 89 + + + 54, 13 + + + 17 + + + m/s + + + label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 1 + + + 80, 63 + + + 78, 20 + + + 11 + + + NAV_LAT_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 2 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 3 + + + 80, 37 + + + 78, 20 + + + 7 + + + NAV_LAT_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 5 + + + 80, 13 + + + 78, 20 + + + 5 + + + NAV_LAT_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 6 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label16 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 7 + + + 534, 107 + + + 170, 108 + + + 0 + + + Nav WP + + + groupBox4 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 1 + + + 80, 86 + + + 78, 20 + + + 18 + + + XTRK_ANGLE_CD1 + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 0 + + + NoControl + + + 6, 89 + + + 82, 13 + + + 19 + + + Error Max + + + label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 1 + + + 80, 63 + + + 78, 20 + + + 11 + + + XTRACK_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 2 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 3 + + + 80, 37 + + + 78, 20 + + + 7 + + + XTRACK_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 4 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label17 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 5 + + + 80, 13 + + + 78, 20 + + + 5 + + + XTRACK_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 6 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label18 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox6 + + + 7 + + + 182, 241 + + + 170, 110 + + + 2 + + + Crosstrack Correction + + + groupBox6 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 2 + + + 80, 63 + + + 78, 20 + + + 11 + + + THR_HOLD_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label19 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + THR_HOLD_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label21 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + THR_HOLD_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label22 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox7 + + + 5 + + + 6, 241 + + + 170, 110 + + + 3 + + + Altitude Hold + + + groupBox7 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 3 + + + 80, 61 + + + 78, 20 + + + 11 + + + HLD_LAT_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 0 + + + NoControl + + + 6, 64 + + + 65, 13 + + + 12 + + + IMAX + + + label28 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + HLD_LAT_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label30 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + HLD_LAT_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label31 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox19 + + + 5 + + + 531, 6 + + + 170, 95 + + + 6 + + + Loiter + + + groupBox19 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 4 + + + 80, 63 + + + 78, 20 + + + 11 + + + STB_YAW_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label32 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + STB_YAW_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label34 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + STB_YAW_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label35 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox20 + + + 5 + + + 358, 6 + + + 170, 95 + + + 7 + + + Stabilize Yaw + + + groupBox20 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 5 + + + 80, 63 + + + 78, 20 + + + 11 + + + STB_PIT_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label36 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + STB_PIT_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label41 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + STB_PIT_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label42 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox21 + + + 5 + + + 182, 6 + + + 170, 95 + + + 8 + + + Stabilize Pitch + + + groupBox21 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 6 + + + 80, 63 + + + 78, 20 + + + 11 + + + STB_RLL_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 12 + + + IMAX + + + label43 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 1 + + + 80, 37 + + + 78, 20 + + + 7 + + + STB_RLL_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 14 + + + I + + + label45 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 3 + + + 80, 13 + + + 78, 20 + + + 5 + + + STB_RLL_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 15 + + + P + + + label46 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox22 + + + 5 + + + 6, 6 + + + 170, 95 + + + 9 + + + Stabilize Roll + + + groupBox22 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 7 + + + 80, 63 + + + 78, 20 + + + 0 + + + RATE_YAW_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 1 + + + IMAX + + + label47 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 1 + + + 80, 37 + + + 78, 20 + + + 4 + + + RATE_YAW_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label77 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 3 + + + 80, 13 + + + 78, 20 + + + 6 + + + RATE_YAW_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 7 + + + P + + + label82 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox23 + + + 5 + + + 358, 107 + + + 170, 91 + + + 10 + + + Rate Yaw + + + groupBox23 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 8 + + + 80, 63 + + + 78, 20 + + + 0 + + + RATE_PIT_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 0 + + + NoControl + + + 6, 66 + + + 65, 13 + + + 1 + + + IMAX + + + label84 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 1 + + + 80, 37 + + + 78, 20 + + + 4 + + + RATE_PIT_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label86 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 3 + + + 80, 13 + + + 78, 20 + + + 6 + + + RATE_PIT_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 7 + + + P + + + label87 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox24 + + + 5 + + + 182, 107 + + + 170, 91 + + + 11 + + + Rate Pitch + + + groupBox24 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 9 + + + 80, 63 + + + 78, 20 + + + 0 + + + RATE_RLL_IMAX + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 0 + + + NoControl + + + 6, 66 + + + 68, 13 + + + 1 + + + IMAX + + + label88 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 1 + + + 80, 37 + + + 78, 20 + + + 4 + + + RATE_RLL_I + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 2 + + + NoControl + + + 6, 40 + + + 10, 13 + + + 5 + + + I + + + label90 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 3 + + + 80, 13 + + + 78, 20 + + + 6 + + + RATE_RLL_P + + + System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 4 + + + NoControl + + + 6, 16 + + + 14, 13 + + + 7 + + + P + + + label91 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox25 + + + 5 + + + 6, 107 + + + 170, 91 + + + 12 + + + Rate Roll + + + groupBox25 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabAC2 + + + 10 + + + 4, 22 + + + 3, 3, 3, 3 + + + 722, 434 + + + 1 + + + AC2 + TabAC2 @@ -216,6 +4449,1072 @@ 1 + + NoControl + + + 30, 277 + + + 61, 13 + + + 37 + + + Waypoints + + + label24 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 0 + + + NoControl + + + 139, 276 + + + 177, 17 + + + 38 + + + Load Waypoints on connect? + + + CHK_loadwponconnect + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 1 + + + NoControl + + + 30, 252 + + + 103, 18 + + + 36 + + + Track Length + + + label23 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 2 + + + 139, 250 + + + 67, 20 + + + 35 + + + 17, 17 + + + On the Flight Data Tab + + + NUM_tracklength + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 3 + + + NoControl + + + 579, 67 + + + 102, 17 + + + 34 + + + Alt Warning + + + CHK_speechaltwarning + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 4 + + + NoControl + + + 30, 228 + + + 61, 13 + + + 0 + + + APM Reset + + + label108 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 5 + + + NoControl + + + 139, 227 + + + 163, 17 + + + 1 + + + Reset APM on USB Connect + + + CHK_resetapmonconnect + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 6 + + + Bottom, Left + + + NoControl + + + 33, 411 + + + 144, 17 + + + 2 + + + Mavlink Message Debug + + + CHK_mavdebug + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 7 + + + NoControl + + + 590, 203 + + + 22, 13 + + + 3 + + + RC + + + label107 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 8 + + + 0 + + + 1 + + + 3 + + + 10 + + + 621, 200 + + + 80, 21 + + + 4 + + + CMB_raterc + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 9 + + + NoControl + + + 425, 203 + + + 69, 13 + + + 5 + + + Mode/Status + + + label104 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 10 + + + NoControl + + + 280, 203 + + + 44, 13 + + + 6 + + + Position + + + label103 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 11 + + + NoControl + + + 136, 203 + + + 43, 13 + + + 7 + + + Attitude + + + label102 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 12 + + + NoControl + + + 27, 203 + + + 84, 13 + + + 8 + + + Telemetry Rates + + + label101 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 13 + + + 0 + + + 1 + + + 3 + + + 10 + + + 499, 200 + + + 80, 21 + + + 9 + + + CMB_ratestatus + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 14 + + + 0 + + + 1 + + + 3 + + + 10 + + + 334, 200 + + + 80, 21 + + + 10 + + + CMB_rateposition + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 15 + + + 0 + + + 1 + + + 3 + + + 10 + + + 188, 200 + + + 80, 21 + + + 11 + + + CMB_rateattitude + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 16 + + + NoControl + + + 283, 168 + + + 402, 13 + + + 12 + + + NOTE: The Configuration Tab will NOT display these units, as those are raw values. + + + + label99 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 17 + + + NoControl + + + 30, 176 + + + 65, 13 + + + 13 + + + Speed Units + + + label98 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 18 + + + NoControl + + + 30, 149 + + + 52, 13 + + + 14 + + + Dist Units + + + label97 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 19 + + + 139, 173 + + + 138, 21 + + + 15 + + + CMB_speedunits + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 20 + + + 139, 146 + + + 138, 21 + + + 16 + + + CMB_distunits + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 21 + + + NoControl + + + 30, 122 + + + 45, 13 + + + 17 + + + Joystick + + + label96 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 22 + + + NoControl + + + 30, 71 + + + 44, 13 + + + 18 + + + Speech + + + label95 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 23 + + + NoControl + + + 471, 67 + + + 102, 17 + + + 19 + + + Battery Warning + + + CHK_speechbattery + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 24 + + + NoControl + + + 378, 67 + + + 87, 17 + + + 20 + + + Time Interval + + + CHK_speechcustom + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 25 + + + NoControl + + + 322, 67 + + + 56, 17 + + + 21 + + + Mode + + + CHK_speechmode + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 26 + + + NoControl + + + 245, 67 + + + 71, 17 + + + 22 + + + Waypoint + + + CHK_speechwaypoint + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 27 + + + NoControl + + + 30, 47 + + + 57, 13 + + + 23 + + + OSD Color + + + label94 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 28 + + + 139, 40 + + + 138, 21 + + + 24 + + + CMB_osdcolor + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 29 + + + 139, 90 + + + 138, 21 + + + 25 + + + CMB_language + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 30 + + + NoControl + + + 30, 94 + + + 69, 13 + + + 26 + + + UI Language + + + label93 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 31 + + + NoControl + + + 139, 67 + + + 99, 17 + + + 27 + + + Enable Speech + + + CHK_enablespeech + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 32 + + + NoControl + + + 552, 15 + + + 125, 17 + + + 28 + + + Enable HUD Overlay + + + CHK_hudshow + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 33 + + + NoControl + + + 30, 16 + + + 100, 23 + + + 29 + + + Video Device + + + label92 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 34 + + + 139, 13 + + + 245, 21 + + + 30 + + + CMB_videosources + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TabPlanner + + + 35 + + + NoControl + + + 139, 117 + + + 99, 23 + + + 31 + + + Joystick Setup + + + BUT_Joystick + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + TabPlanner + + + 36 + + + NoControl + + + 471, 11 + + + 75, 23 + + + 32 + + + Stop + + + BUT_videostop + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + TabPlanner + + + 37 + + + NoControl + + + 390, 11 + + + 75, 23 + + + 33 + + + Start + + + BUT_videostart + + + ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c + + + TabPlanner + + + 38 + + + 4, 22 + + + 3, 3, 3, 3 + + + 722, 434 + + + 2 + + + Planner + TabPlanner @@ -228,6 +5527,18 @@ 2 + + 4, 22 + + + 722, 434 + + + 3 + + + Setup + TabSetup @@ -270,5389 +5581,6 @@ 2 - - groupBox3 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 0 - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 1 - - - groupBox2 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 2 - - - groupBox15 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 3 - - - groupBox16 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 4 - - - groupBox14 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 5 - - - groupBox13 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 6 - - - groupBox12 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 7 - - - groupBox11 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 8 - - - groupBox10 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 9 - - - groupBox9 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 10 - - - groupBox8 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAPM2 - - - 11 - - - 4, 22 - - - 0, 0, 0, 0 - - - 722, 434 - - - 0 - - - APM 2.x - - - THR_FS_VALUE - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 0 - - - label5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 1 - - - THR_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 2 - - - label6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 3 - - - THR_MIN - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 4 - - - label7 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 5 - - - TRIM_THROTTLE - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 6 - - - label8 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 7 - - - 405, 217 - - - 195, 108 - - - 0 - - - Throttle 0-100% - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 50, 13 - - - 12 - - - FS Value - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 27, 13 - - - 13 - - - Max - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 24, 13 - - - 14 - - - Min - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 36, 13 - - - 15 - - - Cruise - - - ARSPD_RATIO - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - - - label1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 1 - - - ARSPD_FBW_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 2 - - - label2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 3 - - - ARSPD_FBW_MIN - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 4 - - - label3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 5 - - - TRIM_ARSPD_CM - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 6 - - - label4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 7 - - - 406, 325 - - - 195, 108 - - - 1 - - - Airspeed m/s - - - 111, 82 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 87 - - - 32, 13 - - - 1 - - - Ratio - - - 111, 59 - - - 78, 20 - - - 2 - - - NoControl - - - 6, 59 - - - 53, 13 - - - 3 - - - FBW max - - - 111, 36 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 50, 13 - - - 5 - - - FBW min - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 64, 13 - - - 6 - - - Cruise * 100 - - - LIM_PITCH_MIN - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 0 - - - label39 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 1 - - - LIM_PITCH_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 2 - - - label38 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 3 - - - LIM_ROLL_CD - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 4 - - - label37 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 5 - - - 205, 325 - - - 195, 108 - - - 2 - - - Navigation Angles *100 - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 51, 13 - - - 10 - - - Pitch Min - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 54, 13 - - - 11 - - - Pitch Max - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 55, 13 - - - 12 - - - Bank Max - - - XTRK_ANGLE_CD - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox15 - - - 0 - - - label79 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox15 - - - 1 - - - XTRK_GAIN_SC - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox15 - - - 2 - - - label80 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox15 - - - 3 - - - 4, 325 - - - 195, 108 - - - 3 - - - Xtrack Pids - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 61, 13 - - - 8 - - - Entry Angle - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 52, 13 - - - 9 - - - Gain (cm) - - - KFF_PTCH2THR - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 0 - - - label83 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 1 - - - KFF_RDDRMIX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 2 - - - label78 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 3 - - - KFF_PTCHCOMP - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 4 - - - label81 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox16 - - - 5 - - - 205, 217 - - - 195, 108 - - - 4 - - - Other Mix's - - - 111, 13 - - - 78, 20 - - - 13 - - - NoControl - - - 6, 17 - - - 36, 13 - - - 14 - - - P to T - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 61, 13 - - - 15 - - - Rudder Mix - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 61, 13 - - - 16 - - - Pitch Comp - - - ENRGY2THR_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 0 - - - label73 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 1 - - - ENRGY2THR_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 2 - - - label74 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 3 - - - ENRGY2THR_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 4 - - - label75 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 5 - - - ENRGY2THR_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 6 - - - label76 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox14 - - - 7 - - - 4, 217 - - - 195, 108 - - - 5 - - - Energy/Alt Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - ALT2PTCH_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 0 - - - label69 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 1 - - - ALT2PTCH_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 2 - - - label70 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 3 - - - ALT2PTCH_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 4 - - - label71 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 5 - - - ALT2PTCH_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 6 - - - label72 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox13 - - - 7 - - - 406, 109 - - - 195, 108 - - - 6 - - - Nav Pitch Alt Pid - - - 111, 82 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 1 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 2 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 3 - - - D - - - 111, 36 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 111, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 7 - - - P - - - ARSP2PTCH_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 0 - - - label65 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 1 - - - ARSP2PTCH_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 2 - - - label66 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 3 - - - ARSP2PTCH_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 4 - - - label67 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 5 - - - ARSP2PTCH_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 6 - - - label68 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox12 - - - 7 - - - 205, 109 - - - 195, 108 - - - 7 - - - Nav Pitch AS Pid - - - 111, 82 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 1 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 2 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 3 - - - D - - - 111, 36 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 111, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 7 - - - P - - - HDNG2RLL_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 0 - - - label61 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 1 - - - HDNG2RLL_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 2 - - - label62 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 3 - - - HDNG2RLL_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 4 - - - label63 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 5 - - - HDNG2RLL_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 6 - - - label64 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox11 - - - 7 - - - 4, 109 - - - 195, 108 - - - 8 - - - Nav Roll Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - YW2SRV_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 0 - - - label57 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 1 - - - YW2SRV_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 2 - - - label58 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 3 - - - YW2SRV_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 4 - - - label59 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 5 - - - YW2SRV_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 6 - - - label60 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox10 - - - 7 - - - 406, 1 - - - 195, 108 - - - 9 - - - Servo Yaw Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - PTCH2SRV_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 0 - - - label53 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 1 - - - PTCH2SRV_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 2 - - - label54 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 3 - - - PTCH2SRV_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 4 - - - label55 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 5 - - - PTCH2SRV_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 6 - - - label56 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox9 - - - 7 - - - 205, 1 - - - 195, 108 - - - 10 - - - Servo Pitch Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - RLL2SRV_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 0 - - - label49 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 1 - - - RLL2SRV_D - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 2 - - - label50 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 3 - - - RLL2SRV_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 4 - - - label51 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 5 - - - RLL2SRV_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 6 - - - label52 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox8 - - - 7 - - - 4, 1 - - - 195, 108 - - - 11 - - - Servo Roll Pid - - - 111, 82 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 86 - - - 54, 13 - - - 12 - - - INT_MAX - - - 111, 59 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 63 - - - 15, 13 - - - 13 - - - D - - - 111, 36 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 111, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 17 - - - 14, 13 - - - 15 - - - P - - - CHK_lockrollpitch - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 0 - - - groupBox4 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 1 - - - groupBox6 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 2 - - - groupBox7 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 3 - - - groupBox18 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 4 - - - groupBox19 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 5 - - - groupBox20 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 6 - - - groupBox21 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 7 - - - groupBox22 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 8 - - - groupBox23 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 9 - - - groupBox24 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 10 - - - groupBox25 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabAC2 - - - 11 - - - 4, 22 - - - 3, 3, 3, 3 - - - 722, 434 - - - 1 - - - AC2 - - - True - - - 3, 198 - - - 154, 17 - - - 13 - - - Lock Pitch and Roll Values - - - WP_SPEED_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 0 - - - label9 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 1 - - - NAV_LAT_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 2 - - - label13 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 3 - - - NAV_LAT_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 4 - - - label15 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 5 - - - NAV_LAT_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 6 - - - label16 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox4 - - - 7 - - - 534, 107 - - - 170, 108 - - - 0 - - - Nav WP - - - 80, 86 - - - 78, 20 - - - 16 - - - NoControl - - - 6, 89 - - - 54, 13 - - - 17 - - - cm/s - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - XTRK_ANGLE_CD1 - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 0 - - - label10 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 1 - - - XTRACK_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 2 - - - label11 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 3 - - - XTRACK_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 4 - - - label17 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 5 - - - XTRACK_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 6 - - - label18 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox6 - - - 7 - - - 182, 241 - - - 170, 110 - - - 2 - - - Crosstrack Correction - - - 80, 86 - - - 78, 20 - - - 18 - - - NoControl - - - 6, 89 - - - 82, 13 - - - 19 - - - Error Max * 100 - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - THR_HOLD_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 0 - - - label19 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 1 - - - THR_HOLD_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 2 - - - label21 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 3 - - - THR_HOLD_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 4 - - - label22 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox7 - - - 5 - - - 6, 241 - - - 170, 110 - - - 3 - - - Altitude Hold - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - PITCH_MAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox18 - - - 0 - - - label27 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox18 - - - 1 - - - 525, 241 - - - 176, 110 - - - 5 - - - Other Mix's - - - 94, 17 - - - 78, 20 - - - 9 - - - NoControl - - - 6, 20 - - - 82, 13 - - - 10 - - - Pitch Max * 100 - - - HLD_LAT_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 0 - - - label28 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 1 - - - HLD_LAT_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 2 - - - label30 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 3 - - - HLD_LAT_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 4 - - - label31 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox19 - - - 5 - - - 531, 6 - - - 170, 95 - - - 6 - - - Loiter - - - 80, 61 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 64 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - STB_YAW_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 0 - - - label32 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 1 - - - STB_YAW_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 2 - - - label34 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 3 - - - STB_YAW_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 4 - - - label35 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox20 - - - 5 - - - 358, 6 - - - 170, 95 - - - 7 - - - Stabilize Yaw - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - STB_PIT_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 0 - - - label36 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 1 - - - STB_PIT_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 2 - - - label41 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 3 - - - STB_PIT_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 4 - - - label42 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox21 - - - 5 - - - 182, 6 - - - 170, 95 - - - 8 - - - Stabilize Pitch - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - STB_RLL_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 0 - - - label43 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 1 - - - STB_RLL_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 2 - - - label45 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 3 - - - STB_RLL_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 4 - - - label46 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox22 - - - 5 - - - 6, 6 - - - 170, 95 - - - 9 - - - Stabilize Roll - - - 80, 63 - - - 78, 20 - - - 11 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 12 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 7 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 14 - - - I - - - 80, 13 - - - 78, 20 - - - 5 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 15 - - - P - - - RATE_YAW_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 0 - - - label47 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 1 - - - RATE_YAW_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 2 - - - label77 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 3 - - - RATE_YAW_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 4 - - - label82 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox23 - - - 5 - - - 358, 107 - - - 170, 91 - - - 10 - - - Rate Yaw - - - 80, 63 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 1 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 80, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 7 - - - P - - - RATE_PIT_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 0 - - - label84 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 1 - - - RATE_PIT_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 2 - - - label86 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 3 - - - RATE_PIT_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 4 - - - label87 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox24 - - - 5 - - - 182, 107 - - - 170, 91 - - - 11 - - - Rate Pitch - - - 80, 63 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 66 - - - 65, 13 - - - 1 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 80, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 7 - - - P - - - RATE_RLL_IMAX - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 0 - - - label88 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 1 - - - RATE_RLL_I - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 2 - - - label90 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 3 - - - RATE_RLL_P - - - System.Windows.Forms.DomainUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 4 - - - label91 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox25 - - - 5 - - - 6, 107 - - - 170, 91 - - - 12 - - - Rate Roll - - - 80, 63 - - - 78, 20 - - - 0 - - - NoControl - - - 6, 66 - - - 68, 13 - - - 1 - - - IMAX * 100 - - - 80, 37 - - - 78, 20 - - - 4 - - - NoControl - - - 6, 40 - - - 10, 13 - - - 5 - - - I - - - 80, 13 - - - 78, 20 - - - 6 - - - NoControl - - - 6, 16 - - - 14, 13 - - - 7 - - - P - - - label24 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 0 - - - CHK_loadwponconnect - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 1 - - - label23 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 2 - - - NUM_tracklength - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 3 - - - CHK_speechaltwarning - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 4 - - - label108 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 5 - - - CHK_resetapmonconnect - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 6 - - - CHK_mavdebug - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 7 - - - label107 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 8 - - - CMB_raterc - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 9 - - - label104 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 10 - - - label103 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 11 - - - label102 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 12 - - - label101 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 13 - - - CMB_ratestatus - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 14 - - - CMB_rateposition - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 15 - - - CMB_rateattitude - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 16 - - - label99 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 17 - - - label98 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 18 - - - label97 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 19 - - - CMB_speedunits - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 20 - - - CMB_distunits - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 21 - - - label96 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 22 - - - label95 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 23 - - - CHK_speechbattery - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 24 - - - CHK_speechcustom - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 25 - - - CHK_speechmode - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 26 - - - CHK_speechwaypoint - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 27 - - - label94 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 28 - - - CMB_osdcolor - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 29 - - - CMB_language - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 30 - - - label93 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 31 - - - CHK_enablespeech - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 32 - - - CHK_hudshow - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 33 - - - label92 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 34 - - - CMB_videosources - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TabPlanner - - - 35 - - - BUT_Joystick - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - TabPlanner - - - 36 - - - BUT_videostop - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - TabPlanner - - - 37 - - - BUT_videostart - - - ArdupilotMega.MyButton, ArdupilotMegaPlanner, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ff91852278f5092c - - - TabPlanner - - - 38 - - - 4, 22 - - - 3, 3, 3, 3 - - - 722, 434 - - - 2 - - - Planner - - - NoControl - - - 30, 277 - - - 61, 13 - - - 37 - - - Waypoints - - - NoControl - - - 139, 276 - - - 177, 17 - - - 38 - - - Load Waypoints on connect? - - - NoControl - - - 30, 252 - - - 103, 18 - - - 36 - - - Track Length - - - 17, 17 - - - 139, 250 - - - 67, 20 - - - 35 - - - On the Flight Data Tab - - - NoControl - - - 579, 67 - - - 102, 17 - - - 34 - - - Alt Warning - - - NoControl - - - 30, 228 - - - 61, 13 - - - 0 - - - APM Reset - - - NoControl - - - 139, 227 - - - 163, 17 - - - 1 - - - Reset APM on USB Connect - - - Bottom, Left - - - NoControl - - - 33, 411 - - - 144, 17 - - - 2 - - - Mavlink Message Debug - - - NoControl - - - 590, 203 - - - 22, 13 - - - 3 - - - RC - - - 0 - - - 1 - - - 3 - - - 10 - - - 621, 200 - - - 80, 21 - - - 4 - - - NoControl - - - 425, 203 - - - 69, 13 - - - 5 - - - Mode/Status - - - NoControl - - - 280, 203 - - - 44, 13 - - - 6 - - - Position - - - NoControl - - - 136, 203 - - - 43, 13 - - - 7 - - - Attitude - - - NoControl - - - 27, 203 - - - 84, 13 - - - 8 - - - Telemetry Rates - - - 0 - - - 1 - - - 3 - - - 10 - - - 499, 200 - - - 80, 21 - - - 9 - - - 0 - - - 1 - - - 3 - - - 10 - - - 334, 200 - - - 80, 21 - - - 10 - - - 0 - - - 1 - - - 3 - - - 10 - - - 188, 200 - - - 80, 21 - - - 11 - - - NoControl - - - 283, 168 - - - 402, 13 - - - 12 - - - NOTE: The Configuration Tab will NOT display these units, as those are raw values. - - - - NoControl - - - 30, 176 - - - 65, 13 - - - 13 - - - Speed Units - - - NoControl - - - 30, 149 - - - 52, 13 - - - 14 - - - Dist Units - - - 139, 173 - - - 138, 21 - - - 15 - - - 139, 146 - - - 138, 21 - - - 16 - - - NoControl - - - 30, 122 - - - 45, 13 - - - 17 - - - Joystick - - - NoControl - - - 30, 71 - - - 44, 13 - - - 18 - - - Speech - - - NoControl - - - 471, 67 - - - 102, 17 - - - 19 - - - Battery Warning - - - NoControl - - - 378, 67 - - - 87, 17 - - - 20 - - - Time Interval - - - NoControl - - - 322, 67 - - - 56, 17 - - - 21 - - - Mode - - - NoControl - - - 245, 67 - - - 71, 17 - - - 22 - - - Waypoint - - - NoControl - - - 30, 47 - - - 57, 13 - - - 23 - - - OSD Color - - - 139, 40 - - - 138, 21 - - - 24 - - - 139, 90 - - - 138, 21 - - - 25 - - - NoControl - - - 30, 94 - - - 69, 13 - - - 26 - - - UI Language - - - NoControl - - - 139, 67 - - - 99, 17 - - - 27 - - - Enable Speech - - - NoControl - - - 552, 15 - - - 125, 17 - - - 28 - - - Enable HUD Overlay - - - NoControl - - - 30, 16 - - - 100, 23 - - - 29 - - - Video Device - - - 139, 13 - - - 245, 21 - - - 30 - - - NoControl - - - 139, 117 - - - 99, 23 - - - 31 - - - Joystick Setup - - - NoControl - - - 471, 11 - - - 75, 23 - - - 32 - - - Stop - - - NoControl - - - 390, 11 - - - 75, 23 - - - 33 - - - Start - - - 4, 22 - - - 722, 434 - - - 3 - - - Setup - Bottom, Left diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/dataflashlog.xml b/Tools/ArdupilotMegaPlanner/bin/Release/dataflashlog.xml index a0a06996e2..4ba7a952cc 100644 --- a/Tools/ArdupilotMegaPlanner/bin/Release/dataflashlog.xml +++ b/Tools/ArdupilotMegaPlanner/bin/Release/dataflashlog.xml @@ -22,9 +22,8 @@ WP Dist WP Verify Target Bear - Nav Bear - Long Err - Lat Err + Long Err + Lat Err Yaw Sensor @@ -56,6 +55,13 @@ Accel Y Accel Z + + Throttle in + Throttle intergrator + Voltage + Current + Current total + diff --git a/Tools/ArdupilotMegaPlanner/dataflashlog.xml b/Tools/ArdupilotMegaPlanner/dataflashlog.xml index a0a06996e2..4ba7a952cc 100644 --- a/Tools/ArdupilotMegaPlanner/dataflashlog.xml +++ b/Tools/ArdupilotMegaPlanner/dataflashlog.xml @@ -22,9 +22,8 @@ WP Dist WP Verify Target Bear - Nav Bear - Long Err - Lat Err + Long Err + Lat Err Yaw Sensor @@ -56,6 +55,13 @@ Accel Y Accel Z + + Throttle in + Throttle intergrator + Voltage + Current + Current total + diff --git a/Tools/ArdupilotMegaPlanner/georefimage.cs b/Tools/ArdupilotMegaPlanner/georefimage.cs new file mode 100644 index 0000000000..6ab16b82de --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/georefimage.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; + +namespace ArdupilotMega +{ + class georefimage + { + + public string logFile = ""; + public string dirWithImages = ""; + + DateTime getPhotoTime(string fn) + { + DateTime dtaken = DateTime.MinValue; + + try + { + Image myImage = Image.FromFile(fn); + PropertyItem propItem = myImage.GetPropertyItem(36867); // 36867 // 306 + + //Convert date taken metadata to a DateTime object + string sdate = Encoding.UTF8.GetString(propItem.Value).Trim(); + string secondhalf = sdate.Substring(sdate.IndexOf(" "), (sdate.Length - sdate.IndexOf(" "))); + string firsthalf = sdate.Substring(0, 10); + firsthalf = firsthalf.Replace(":", "-"); + sdate = firsthalf + secondhalf; + dtaken = DateTime.Parse(sdate); + + myImage.Dispose(); + } + catch { } + + return dtaken; + } + + List readLog(string fn) + { + List list = new List(); + + StreamReader sr = new StreamReader(fn); + + string lasttime = "0"; + + while (!sr.EndOfStream) + { + string line = sr.ReadLine(); + + if (line.ToLower().StartsWith("gps")) + { + string[] vals = line.Split(new char[] {',',':'}); + + if (lasttime == vals[1]) + continue; + + lasttime = vals[1]; + + list.Add(vals); + } + } + + sr.Close(); + sr.Dispose(); + + return list; + } + + public void dowork(float offsetseconds) + { + DateTime startTime = DateTime.MinValue; + + logFile = @"C:\Users\hog\Pictures\sams mums 22-6-2011\23-06-11 10-03 4.log"; + + List list = readLog(logFile); + + dirWithImages = @"C:\Users\hog\Pictures\sams mums 22-6-2011"; + + string[] files = Directory.GetFiles(dirWithImages); + + StreamWriter sw2 = new StreamWriter(dirWithImages + Path.DirectorySeparatorChar + "location.txt"); + + StreamWriter sw = new StreamWriter(dirWithImages + Path.DirectorySeparatorChar + "location.tel"); + sw.WriteLine("version=1"); + sw.WriteLine("#longitude and latitude - in degrees"); + sw.WriteLine("#name utc longitude latitude height"); + + foreach (string file in files) + { + if (file.ToLower().EndsWith(".jpg")) + { + DateTime dt = getPhotoTime(file); + + if (startTime == DateTime.MinValue) + startTime = new DateTime(dt.Year,dt.Month,dt.Day,0,0,0,0,DateTimeKind.Utc).ToLocalTime(); + + foreach (string[] arr in list) + { + DateTime crap = startTime.AddMilliseconds(int.Parse(arr[1])).AddSeconds(offsetseconds); + + //Console.Write(dt + " " + crap + "\r"); + + if (dt.Equals(crap)) + { + sw2.WriteLine(Path.GetFileNameWithoutExtension(file) + " " + arr[5] + " " + arr[4] + " " + arr[6]); + sw.WriteLine(Path.GetFileNameWithoutExtension(file) + "\t" + crap.ToString("yyyy:MM:dd HH:mm:ss") +"\t"+ arr[5] + "\t" + arr[4] + "\t" + arr[6]); + sw.Flush(); + sw2.Flush(); + Console.WriteLine(Path.GetFileNameWithoutExtension(file) + " " + arr[5] + " " + arr[4] + " " + arr[6] + " "); + break; + } + //Console.WriteLine(crap); + } + } + + + } + + sw2.Close(); + sw.Close(); + + } + } +} diff --git a/Tools/ArdupilotMegaPlanner/hudold.cs b/Tools/ArdupilotMegaPlanner/hudold.cs new file mode 100644 index 0000000000..a65755d2a0 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/hudold.cs @@ -0,0 +1,1149 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; +using System.IO; +using System.Drawing.Imaging; + +using System.Threading; + + + +using System.Drawing.Drawing2D; + +using OpenTK; +using OpenTK.Graphics.OpenGL; + +// Control written by Michael Oborne 2011 + +namespace hud +{ + public partial class HUD : MyUserControl //GLControl + { + object paintlock = new object(); + object streamlock = new object(); + MemoryStream _streamjpg = new MemoryStream(); + public MemoryStream streamjpg { get { lock (streamlock) { return _streamjpg; } } set { lock (streamlock) { _streamjpg = value; } } } + /// + /// this is to reduce cpu usage + /// + public bool streamjpgenable = false; + + int huddrawtime = 0; + + public HUD() + { + InitializeComponent(); + //graphicsObject = this; + graphicsObject = Graphics.FromImage(objBitmap); + } + + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HUD)); + this.SuspendLayout(); + // + // HUD + // + this.BackColor = System.Drawing.Color.Black; + this.Name = "HUD"; + resources.ApplyResources(this, "$this"); + this.ResumeLayout(false); + + } + + float _roll; + float _navroll; + float _pitch; + float _navpitch; + float _heading; + float _targetheading; + float _alt; + float _targetalt; + float _groundspeed; + float _airspeed; + float _targetspeed; + float _batterylevel; + float _batteryremaining; + float _gpsfix; + float _gpshdop; + float _disttowp; + float _groundcourse; + float _xtrack_error; + float _turnrate; + float _verticalspeed; + string _mode = "Manual"; + int _wpno; + + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float roll { get { return _roll; } set { if (_roll != value) { _roll = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float navroll { get { return _navroll; } set { if (_navroll != value) { _navroll = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float pitch { get { return _pitch; } set { if (_pitch != value) { _pitch = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float navpitch { get { return _navpitch; } set { if (_navpitch != value) { _navpitch = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float heading { get { return _heading; } set { if (_heading != value) { _heading = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float targetheading { get { return _targetheading; } set { if (_targetheading != value) { _targetheading = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float alt { get { return _alt; } set { if (_alt != value) { _alt = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float targetalt { get { return _targetalt; } set { if (_targetalt != value) { _targetalt = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float groundspeed { get { return _groundspeed; } set { if (_groundspeed != value) { _groundspeed = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float airspeed { get { return _airspeed; } set { if (_airspeed != value) { _airspeed = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float targetspeed { get { return _targetspeed; } set { if (_targetspeed != value) { _targetspeed = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float batterylevel { get { return _batterylevel; } set { if (_batterylevel != value) { _batterylevel = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float batteryremaining { get { return _batteryremaining; } set { if (_batteryremaining != value) { _batteryremaining = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float gpsfix { get { return _gpsfix; } set { if (_gpsfix != value) { _gpsfix = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float gpshdop { get { return _gpshdop; } set { if (_gpshdop != value) { _gpshdop = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float disttowp { get { return _disttowp; } set { if (_disttowp != value) { _disttowp = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public string mode { get { return _mode; } set { if (_mode != value) { _mode = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public int wpno { get { return _wpno; } set { if (_wpno != value) { _wpno = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float groundcourse { get { return _groundcourse; } set { if (_groundcourse != value) { _groundcourse = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float xtrack_error { get { return _xtrack_error; } set { if (_xtrack_error != value) { _xtrack_error = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float turnrate { get { return _turnrate; } set { if (_turnrate != value) { _turnrate = value; this.Invalidate(); } } } + [System.ComponentModel.Browsable(true), System.ComponentModel.Category("Values")] + public float verticalspeed { get { return _verticalspeed; } set { if (_verticalspeed != value) { _verticalspeed = value; this.Invalidate(); } } } + + public bool bgon = true; + public bool hudon = true; + + [System.ComponentModel.Browsable(true), +System.ComponentModel.Category("Values")] + public Color hudcolor { get { return whitePen.Color; } set { whitePen = new Pen(value, 2); } } + + Pen whitePen = new Pen(Color.White, 2); + + public Image bgimage { set { _bgimage = value; this.Invalidate(); } } + Image _bgimage; + + // move these global as they rarely change - reduce GC + Font font = new Font("Arial", 10); + Bitmap objBitmap = new Bitmap(640, 480); + int count = 0; + DateTime countdate = DateTime.Now; + Graphics graphicsObject; // Graphics + + DateTime starttime = DateTime.MinValue; + + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HUD)); + + public override void Refresh() + { + base.Refresh(); + OnPaint(new PaintEventArgs(this.CreateGraphics(),this.ClientRectangle)); + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + + /* + GL.MatrixMode(MatrixMode.Projection); + GL.LoadIdentity(); + GL.Ortho(0, Width, Height, 0, -1, 1); + GL.MatrixMode(MatrixMode.Modelview); + GL.LoadIdentity(); + + GL.Disable(EnableCap.DepthTest); + */ + //GL.Viewport(0, 0, Width, Height); + } + + protected override void OnPaint(PaintEventArgs e) + { + //GL.Enable(EnableCap.AlphaTest); + +// GL.ClearColor(Color.Red); + + // GL.Clear(ClearBufferMask.ColorBufferBit); + + //GL.LoadIdentity(); + +// GL.Viewport(0, 0, Width, Height); + + doPaint(e); + + //this.SwapBuffers(); + + //MakeCurrent(); + } + + void Clear(Color color) + { + GL.ClearColor(color); + } + + const float rad2deg = (float)(180 / Math.PI); + const float deg2rad = (float)(1.0 / rad2deg); + + //graphicsObject.DrawArc(whitePen, arcrect, 180 + 45, 90); + + void DrawArc(Pen penn,RectangleF rect, float start,float degrees) + { + GL.Begin(BeginMode.Lines); + GL.LineWidth(penn.Width); + GL.Color4(penn.Color); + start -= 90; + float x, y; + for (int i = (int)start; i <= start + degrees; i++) + { + x = (float)Math.Sin(i * deg2rad) * rect.Width / 2; + y = (float)Math.Cos(i * deg2rad) * rect.Height / 2; + x = x + rect.X + rect.Width / 2; + y = y + rect.Y + rect.Height / 2; + GL.Vertex2(x, y); + } + GL.End(); + } + + void DrawEllipse(Pen penn, Rectangle rect) + { + GL.Begin(BeginMode.LineLoop); + GL.LineWidth(penn.Width); + GL.Color4(penn.Color); + float x, y; + for (float i = 0; i < 360; i+=1) + { + x = (float)Math.Sin(i * deg2rad) * rect.Width / 2; + y = (float)Math.Cos(i * deg2rad) * rect.Height / 2; + x = x + rect.X + rect.Width / 2; + y = y + rect.Y + rect.Height / 2; + GL.Vertex2(x, y); + } + GL.End(); + } + + //graphicsObject.DrawImage(_bgimage, 0, 0, this.Width, this.Height); + + void DrawImage(Image img, int x, int y, int width, int height) + { + Bitmap bitmap = (Bitmap)img; + int texture; + + GL.GenTextures(1, out texture); + GL.BindTexture(TextureTarget.Texture2D, texture); + + BitmapData data = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), + ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); + + GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0, + OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0); + + bitmap.UnlockBits(data); + + GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); + GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); + + + + GL.MatrixMode(MatrixMode.Modelview); + GL.LoadIdentity(); + GL.BindTexture(TextureTarget.Texture2D, texture); + + GL.Begin(BeginMode.Quads); + + GL.TexCoord2(0.0f, 1.0f); GL.Vertex2(-0.6f, -0.4f); + GL.TexCoord2(1.0f, 1.0f); GL.Vertex2(0.6f, -0.4f); + GL.TexCoord2(1.0f, 0.0f); GL.Vertex2(0.6f, 0.4f); + GL.TexCoord2(0.0f, 0.0f); GL.Vertex2(-0.6f, 0.4f); + + GL.End(); + } + + void DrawPath(Pen penn,GraphicsPath gp) + { + try + { + DrawPolygon(penn, gp.PathPoints); + } + catch { } + } + + void FillPath(Brush brushh,GraphicsPath gp) + { + try + { + FillPolygon(brushh, gp.PathPoints); + } + catch { } + } + + SmoothingMode SmoothingMode; + + void SetClip(Rectangle rect) + { + + } + + void ResetClip() + { + + } + + void ResetTransform() + { + GL.LoadIdentity(); + } + + void RotateTransform(float angle) + { + GL.Rotate(angle,0,0,1); + } + + void TranslateTransform(float x, float y) + { + GL.Translate(x, y, 0f); + } + + void FillPolygon(Brush brushh, Point[] list) + { + GL.Begin(BeginMode.TriangleFan); + GL.Color4(((SolidBrush)brushh).Color); + foreach (Point pnt in list) + { + GL.Vertex2(pnt.X, pnt.Y); + } + GL.Vertex2(list[list.Length - 1].X, list[list.Length - 1].Y); + GL.End(); + } + + void FillPolygon(Brush brushh, PointF[] list) + { + GL.Begin(BeginMode.Quads); + GL.Color4(((SolidBrush)brushh).Color); + foreach (PointF pnt in list) + { + GL.Vertex2(pnt.X, pnt.Y); + } + GL.Vertex2(list[0].X, list[0].Y); + GL.End(); + } + + //graphicsObject.DrawPolygon(redPen, pointlist); + + void DrawPolygon(Pen penn, Point[] list) + { + GL.Begin(BeginMode.LineLoop); + GL.LineWidth(penn.Width); + GL.Color4(penn.Color); + foreach (Point pnt in list) + { + GL.Vertex2(pnt.X,pnt.Y); + } + GL.End(); + } + + void DrawPolygon(Pen penn, PointF[] list) + { + GL.Begin(BeginMode.LineLoop); + GL.LineWidth(penn.Width); + GL.Color4(penn.Color); + foreach (PointF pnt in list) + { + GL.Vertex2(pnt.X, pnt.Y); + } + //GL.Vertex2(list[0].X, list[0].Y); + GL.End(); + } + + //graphicsObject.FillRectangle(linearBrush, bg); + + void FillRectangle(Brush brushh,RectangleF rectf) + { + float x1 = rectf.X; + float y1 = rectf.Y; + + float width = rectf.Width; + float height = rectf.Height; + + GL.Begin(BeginMode.Quads); + + if (((Type)brushh.GetType()) == typeof(LinearGradientBrush)) + { + LinearGradientBrush temp = (LinearGradientBrush)brushh; + GL.Color4(temp.LinearColors[0]); + } + else + { + GL.Color4(((SolidBrush)brushh).Color); + } + + GL.Vertex2(x1, y1); + GL.Vertex2(x1 + width, y1); + + if (((Type)brushh.GetType()) == typeof(LinearGradientBrush)) + { + LinearGradientBrush temp = (LinearGradientBrush)brushh; + GL.Color4(temp.LinearColors[1]); + } + else + { + GL.Color4(((SolidBrush)brushh).Color); + } + + GL.Vertex2(x1 + width, y1 + height); + GL.Vertex2(x1, y1 + height); + GL.End(); + } + + //graphicsObject.DrawRectangle(transPen, bg.X,bg.Y,bg.Width,bg.Height); + + void DrawRectangle(Pen penn, RectangleF rect) + { + DrawRectangle(penn, rect.X, rect.Y, rect.Width, rect.Height); + } + + void DrawRectangle(Pen penn,double x1,double y1, double width,double height) + { + GL.Begin(BeginMode.LineLoop); + GL.LineWidth(penn.Width); + GL.Color4(penn.Color); + GL.Vertex2(x1, y1); + GL.Vertex2(x1+width, y1); + GL.Vertex2(x1+width, y1+height); + GL.Vertex2(x1, y1+height); + GL.End(); + } + + void DrawLine(Pen penn,double x1,double y1, double x2,double y2) + { + GL.Begin(BeginMode.Lines); + GL.Color4(penn.Color); + GL.LineWidth(penn.Width); + GL.Vertex2(x1, y1); + GL.Vertex2(x2, y2); + GL.End(); + } + + void doPaint(object o) + { + PaintEventArgs e = (PaintEventArgs)o; + + try + { + // limit to 10hz ish + if ((DateTime.Now - starttime).TotalMilliseconds < 75 && (_bgimage == null)) + { + e.Graphics.DrawImageUnscaled(objBitmap, 0, 0); + return; + } + + starttime = DateTime.Now; + + base.OnPaint(e); + + if (objBitmap.Width != this.Width || objBitmap.Height != this.Height) + { + objBitmap = new Bitmap(this.Width, this.Height); + graphicsObject = Graphics.FromImage(objBitmap); + + graphicsObject.SmoothingMode = SmoothingMode.AntiAlias; + graphicsObject.InterpolationMode = InterpolationMode.NearestNeighbor; + graphicsObject.CompositingMode = CompositingMode.SourceOver; + graphicsObject.CompositingQuality = CompositingQuality.HighSpeed; + graphicsObject.PixelOffsetMode = PixelOffsetMode.HighSpeed; + graphicsObject.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; + } + + if (huddrawtime < 100) + { + graphicsObject.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault; + + graphicsObject.SmoothingMode = SmoothingMode.AntiAlias; + } + else + { + graphicsObject.SmoothingMode = SmoothingMode.HighSpeed; + } + + graphicsObject.Clear(Color.Gray); + + if (_bgimage != null) + { + bgon = false; + graphicsObject.DrawImage(_bgimage, 0, 0, this.Width, this.Height); + + if (hudon == false) + { + e.Graphics.DrawImageUnscaled(objBitmap, 0, 0); + return; + } + } + else + { + bgon = true; + } + + graphicsObject.TranslateTransform(this.Width / 2, this.Height / 2); + + graphicsObject.RotateTransform(-roll); + + int fontsize = this.Height / 30; // = 10 + int fontoffset = fontsize - 10; + + float every5deg = -this.Height / 60; + + float pitchoffset = -pitch * every5deg; + + int halfwidth = this.Width / 2; + int halfheight = this.Height / 2; + + SolidBrush whiteBrush = new SolidBrush(whitePen.Color); + + Pen blackPen = new Pen(Color.Black, 2); + Pen greenPen = new Pen(Color.Green, 2); + Pen redPen = new Pen(Color.Red, 2); + + // draw sky + if (bgon == true) + { + RectangleF bg = new RectangleF(-halfwidth * 2, -halfheight * 2, this.Width * 2, halfheight * 2 + pitchoffset); + + if (bg.Height != 0) + { + LinearGradientBrush linearBrush = new LinearGradientBrush(bg, Color.Blue, + Color.LightBlue, LinearGradientMode.Vertical); + + Pen transPen = new Pen(Color.Transparent, 0); + + graphicsObject.DrawRectangle(transPen, bg.X,bg.Y,bg.Width,bg.Height); + + graphicsObject.FillRectangle(linearBrush, bg); + } + // draw ground + + bg = new RectangleF(-halfwidth * 2, pitchoffset, this.Width * 2, halfheight * 2 - pitchoffset); + + if (bg.Height != 0) + { + LinearGradientBrush linearBrush = new LinearGradientBrush(bg, Color.FromArgb(0x9b, 0xb8, 0x24), + Color.FromArgb(0x41, 0x4f, 0x07), LinearGradientMode.Vertical); + + Pen transPen = new Pen(Color.Transparent, 0); + + graphicsObject.DrawRectangle(transPen, bg.X, bg.Y, bg.Width, bg.Height); + + graphicsObject.FillRectangle(linearBrush, bg); + } + + //draw centerline + + graphicsObject.DrawLine(whitePen, -halfwidth * 2, pitchoffset + 0, halfwidth * 2, pitchoffset + 0); + } + + graphicsObject.ResetTransform(); + + graphicsObject.SetClip(new Rectangle(0, this.Height / 14, this.Width, this.Height - this.Height / 14)); + + graphicsObject.TranslateTransform(this.Width / 2, this.Height / 2); + graphicsObject.RotateTransform(-roll); + + //draw pitch + + int lengthshort = this.Width / 12; + int lengthlong = this.Width / 8; + + for (int a = -90; a <= 90; a += 5) + { + // limit to 40 degrees + if (a >= pitch - 34 && a <= pitch + 29) + { + if (a % 10 == 0) + { + if (a == 0) + { + graphicsObject.DrawLine(greenPen, this.Width / 2 - lengthlong - halfwidth, pitchoffset + a * every5deg, this.Width / 2 + lengthlong - halfwidth, pitchoffset + a * every5deg); + } + else + { + graphicsObject.DrawLine(whitePen, this.Width / 2 - lengthlong - halfwidth, pitchoffset + a * every5deg, this.Width / 2 + lengthlong - halfwidth, pitchoffset + a * every5deg); + } + drawstring(graphicsObject, a.ToString(), font, fontsize + 2, whiteBrush, this.Width / 2 - lengthlong - 30 - halfwidth - (int)(fontoffset * 1.7), pitchoffset + a * every5deg - 8 - fontoffset); + } + else + { + graphicsObject.DrawLine(whitePen, this.Width / 2 - lengthshort - halfwidth, pitchoffset + a * every5deg, this.Width / 2 + lengthshort - halfwidth, pitchoffset + a * every5deg); + //drawstring(e,a.ToString(), new Font("Arial", 10), whiteBrush, this.Width / 2 - lengthshort - 20 - halfwidth, this.Height / 2 + pitchoffset + a * every5deg - 8); + } + } + } + + graphicsObject.ResetTransform(); + + // draw roll ind needle + + graphicsObject.TranslateTransform(this.Width / 2, this.Height / 2 + this.Height / 14); + + graphicsObject.RotateTransform(-roll); + + Point[] pointlist = new Point[3]; + + lengthlong = this.Height / 66; + + int extra = this.Height / 15 * 7; + + pointlist[0] = new Point(0, -lengthlong * 2 - extra); + pointlist[1] = new Point(-lengthlong, -lengthlong - extra); + pointlist[2] = new Point(lengthlong, -lengthlong - extra); + + if (Math.Abs(roll) > 45) + { + redPen.Width = 10; + } + + graphicsObject.DrawPolygon(redPen, pointlist); + + redPen.Width = 2; + + for (int a = -45; a <= 45; a += 15) + { + graphicsObject.ResetTransform(); + graphicsObject.TranslateTransform(this.Width / 2, this.Height / 2 + this.Height / 14); + graphicsObject.RotateTransform(a); + drawstring(graphicsObject, Math.Abs(a).ToString("##"), font, fontsize, whiteBrush, 0 - 6 - fontoffset, -lengthlong * 2 - extra); + graphicsObject.DrawLine(whitePen, 0, -halfheight, 0, -halfheight - 10); + } + + graphicsObject.ResetTransform(); + + //draw centre / current att + + Rectangle centercircle = new Rectangle(halfwidth - 10, halfheight - 10, 20, 20); + + graphicsObject.DrawEllipse(redPen, centercircle); + graphicsObject.DrawLine(redPen, centercircle.Left - 10, halfheight, centercircle.Left, halfheight); + graphicsObject.DrawLine(redPen, centercircle.Right, halfheight, centercircle.Right + 10, halfheight); + graphicsObject.DrawLine(redPen, centercircle.Left + centercircle.Width / 2, centercircle.Top, centercircle.Left + centercircle.Width / 2, centercircle.Top - 10); + + // draw roll ind + + Rectangle arcrect = new Rectangle(this.Width / 2 - this.Height / 2, this.Height / 14, this.Height, this.Height); + + graphicsObject.DrawArc(whitePen, arcrect, 180 + 45, 90); + + //draw heading ind + + graphicsObject.ResetClip(); + + Rectangle headbg = new Rectangle(0, 0, this.Width - 0, this.Height / 14); + + graphicsObject.DrawRectangle(blackPen, headbg); + + SolidBrush solidBrush = new SolidBrush(Color.FromArgb(0x55, 0xff, 0xff, 0xff)); + + graphicsObject.FillRectangle(solidBrush, headbg); + + // center + graphicsObject.DrawLine(redPen, headbg.Width / 2, headbg.Bottom, headbg.Width / 2, headbg.Top); + + //bottom line + graphicsObject.DrawLine(whitePen, headbg.Left + 5, headbg.Bottom - 5, headbg.Width - 5, headbg.Bottom - 5); + + float space = (headbg.Width - 10) / 60.0f; + int start = ((int)heading - 30); + + // draw for outside the 60 deg + if (targetheading < start) + { + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, headbg.Left + 5 + space * 0, headbg.Bottom, headbg.Left + 5 + space * (0), headbg.Top); + } + if (targetheading > heading + 30) + { + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, headbg.Left + 5 + space * 60, headbg.Bottom, headbg.Left + 5 + space * (60), headbg.Top); + } + + for (int a = start; a <= heading + 30; a += 1) + { + // target heading + if (((a + 360) % 360) == targetheading) + { + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, headbg.Left + 5 + space * (a - start), headbg.Bottom, headbg.Left + 5 + space * (a - start), headbg.Top); + } + + if (((a + 360) % 360) == (int)groundcourse) + { + blackPen.Width = 6; + graphicsObject.DrawLine(blackPen, headbg.Left + 5 + space * (a - start), headbg.Bottom, headbg.Left + 5 + space * (a - start), headbg.Top); + blackPen.Width = 2; + } + + if (a % 5 == 0) + { + //Console.WriteLine(space +" " + a +" "+ (headbg.Left + 5 + space * (a - start))); + graphicsObject.DrawLine(whitePen, headbg.Left + 5 + space * (a - start), headbg.Bottom - 5, headbg.Left + 5 + space * (a - start), headbg.Bottom - 10); + int disp = a; + if (disp < 0) + disp += 360; + disp = disp % 360; + if (disp == 0) + { + drawstring(graphicsObject, "N".PadLeft(2), font, fontsize + 4, whiteBrush, headbg.Left - 5 + space * (a - start) - fontoffset, headbg.Bottom - 24 - (int)(fontoffset * 1.7)); + } + else if (disp == 90) + { + drawstring(graphicsObject, "E".PadLeft(2), font, fontsize + 4, whiteBrush, headbg.Left - 5 + space * (a - start) - fontoffset, headbg.Bottom - 24 - (int)(fontoffset * 1.7)); + } + else if (disp == 180) + { + drawstring(graphicsObject, "S".PadLeft(2), font, fontsize + 4, whiteBrush, headbg.Left - 5 + space * (a - start) - fontoffset, headbg.Bottom - 24 - (int)(fontoffset * 1.7)); + } + else if (disp == 270) + { + drawstring(graphicsObject, "W".PadLeft(2), font, fontsize + 4, whiteBrush, headbg.Left - 5 + space * (a - start) - fontoffset, headbg.Bottom - 24 - (int)(fontoffset * 1.7)); + } + else + { + drawstring(graphicsObject, (disp % 360).ToString().PadLeft(3), font, fontsize, whiteBrush, headbg.Left - 5 + space * (a - start) - fontoffset, headbg.Bottom - 24 - (int)(fontoffset * 1.7)); + } + } + } + + // Console.WriteLine("HUD 0 " + (DateTime.Now - starttime).TotalMilliseconds + " " + DateTime.Now.Millisecond); + + // xtrack error + // center + + float xtspace = this.Width / 10.0f / 3.0f; + int pad = 10; + + float myxtrack_error = xtrack_error; + + myxtrack_error = Math.Min(myxtrack_error, 40); + myxtrack_error = Math.Max(myxtrack_error, -40); + + // xtrack - distance scale - space + float loc = myxtrack_error / 20.0f * xtspace; + + // current xtrack + if (Math.Abs(myxtrack_error) == 40) + { + greenPen.Color = Color.FromArgb(128, greenPen.Color); + } + + graphicsObject.DrawLine(greenPen, this.Width / 10 + loc, headbg.Bottom + 5, this.Width / 10 + loc, headbg.Bottom + this.Height / 10); + + greenPen.Color = Color.FromArgb(255, greenPen.Color); + + graphicsObject.DrawLine(whitePen, this.Width / 10, headbg.Bottom + 5, this.Width / 10, headbg.Bottom + this.Height / 10); + + graphicsObject.DrawLine(whitePen, this.Width / 10 - xtspace, headbg.Bottom + 5 + pad, this.Width / 10 - xtspace, headbg.Bottom + this.Height / 10 - pad); + + graphicsObject.DrawLine(whitePen, this.Width / 10 - xtspace * 2, headbg.Bottom + 5 + pad, this.Width / 10 - xtspace * 2, headbg.Bottom + this.Height / 10 - pad); + + graphicsObject.DrawLine(whitePen, this.Width / 10 + xtspace, headbg.Bottom + 5 + pad, this.Width / 10 + xtspace, headbg.Bottom + this.Height / 10 - pad); + + graphicsObject.DrawLine(whitePen, this.Width / 10 + xtspace * 2, headbg.Bottom + 5 + pad, this.Width / 10 + xtspace * 2, headbg.Bottom + this.Height / 10 - pad); + + // rate of turn + + whitePen.Width = 4; + graphicsObject.DrawLine(whitePen, this.Width / 10 - xtspace * 2 - xtspace / 2, headbg.Bottom + this.Height / 10 + 10, this.Width / 10 - xtspace * 2 - xtspace / 2 + xtspace, headbg.Bottom + this.Height / 10 + 10); + + graphicsObject.DrawLine(whitePen, this.Width / 10 - xtspace * 0 - xtspace / 2, headbg.Bottom + this.Height / 10 + 10, this.Width / 10 - xtspace * 0 - xtspace / 2 + xtspace, headbg.Bottom + this.Height / 10 + 10); + + graphicsObject.DrawLine(whitePen, this.Width / 10 + xtspace * 2 - xtspace / 2, headbg.Bottom + this.Height / 10 + 10, this.Width / 10 + xtspace * 2 - xtspace / 2 + xtspace, headbg.Bottom + this.Height / 10 + 10); + + float myturnrate = turnrate; + float trwidth = (this.Width / 10 + xtspace * 2 - xtspace / 2) - (this.Width / 10 - xtspace * 2 - xtspace / 2); + + float range = 12; + + myturnrate = Math.Min(myturnrate, range / 2); + myturnrate = Math.Max(myturnrate, (range / 2) * -1.0f); + + loc = myturnrate / range * trwidth; + + greenPen.Width = 4; + + if (Math.Abs(myturnrate) == (range / 2)) + { + greenPen.Color = Color.FromArgb(128, greenPen.Color); + } + + graphicsObject.DrawLine(greenPen, this.Width / 10 + loc - xtspace / 2, headbg.Bottom + this.Height / 10 + 10 + 3, this.Width / 10 + loc + xtspace / 2, headbg.Bottom + this.Height / 10 + 10 + 3); + graphicsObject.DrawLine(greenPen, this.Width / 10 + loc, headbg.Bottom + this.Height / 10 + 10 + 3, this.Width / 10 + loc, headbg.Bottom + this.Height / 10 + 10 + 10); + + greenPen.Color = Color.FromArgb(255, greenPen.Color); + + whitePen.Width = 2; + + + + // left scroller + + Rectangle scrollbg = new Rectangle(0, halfheight - halfheight / 2, this.Width / 10, this.Height / 2); + + graphicsObject.DrawRectangle(whitePen, scrollbg); + + graphicsObject.FillRectangle(solidBrush, scrollbg); + + Point[] arrow = new Point[5]; + + arrow[0] = new Point(0, -10); + arrow[1] = new Point(scrollbg.Width - 10, -10); + arrow[2] = new Point(scrollbg.Width - 5, 0); + arrow[3] = new Point(scrollbg.Width - 10, 10); + arrow[4] = new Point(0, 10); + + graphicsObject.TranslateTransform(0, this.Height / 2); + + int viewrange = 26; + + float speed = airspeed; + if (speed == 0) + speed = groundspeed; + + space = (scrollbg.Height) / (float)viewrange; + start = ((int)speed - viewrange / 2); + + if (start > targetspeed) + { + greenPen.Color = Color.FromArgb(128, greenPen.Color); + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, scrollbg.Left, scrollbg.Top, scrollbg.Left + scrollbg.Width, scrollbg.Top); + greenPen.Color = Color.FromArgb(255, greenPen.Color); + } + if ((speed + viewrange / 2) < targetspeed) + { + greenPen.Color = Color.FromArgb(128, greenPen.Color); + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, scrollbg.Left, scrollbg.Top - space * viewrange, scrollbg.Left + scrollbg.Width, scrollbg.Top - space * viewrange); + greenPen.Color = Color.FromArgb(255, greenPen.Color); + } + + for (int a = start; a <= (speed + viewrange / 2); a += 1) + { + if (a == (int)targetspeed && targetspeed != 0) + { + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, scrollbg.Left, scrollbg.Top - space * (a - start), scrollbg.Left + scrollbg.Width, scrollbg.Top - space * (a - start)); + } + if (a % 5 == 0) + { + //Console.WriteLine(a + " " + scrollbg.Right + " " + (scrollbg.Top - space * (a - start)) + " " + (scrollbg.Right - 20) + " " + (scrollbg.Top - space * (a - start))); + graphicsObject.DrawLine(whitePen, scrollbg.Right, scrollbg.Top - space * (a - start), scrollbg.Right - 10, scrollbg.Top - space * (a - start)); + drawstring(graphicsObject, a.ToString().PadLeft(5), font, fontsize, whiteBrush, scrollbg.Right - 50 - 4 * fontoffset, scrollbg.Top - space * (a - start) - 6 - fontoffset); + } + } + + graphicsObject.DrawPolygon(blackPen, arrow); + graphicsObject.FillPolygon(Brushes.Black, arrow); + drawstring(graphicsObject, ((int)speed).ToString("0"), font, 10, Brushes.AliceBlue, 0, -9); + + graphicsObject.ResetTransform(); + + // extra text data + + drawstring(graphicsObject, "AS " + airspeed.ToString("0.0"), font, fontsize, whiteBrush, 1, scrollbg.Bottom + 5); + drawstring(graphicsObject, "GS " + groundspeed.ToString("0.0"), font, fontsize, whiteBrush, 1, scrollbg.Bottom + fontsize + 2 + 10); + + //drawstring(e,, new Font("Arial", fontsize + 2), whiteBrush, 1, scrollbg.Bottom + fontsize + 2 + 10); + + // right scroller + + scrollbg = new Rectangle(this.Width - this.Width / 10, halfheight - halfheight / 2, this.Width / 10, this.Height / 2); + + graphicsObject.DrawRectangle(whitePen, scrollbg); + + graphicsObject.FillRectangle(solidBrush, scrollbg); + + arrow = new Point[5]; + + arrow[0] = new Point(0, -10); + arrow[1] = new Point(scrollbg.Width - 10, -10); + arrow[2] = new Point(scrollbg.Width - 5, 0); + arrow[3] = new Point(scrollbg.Width - 10, 10); + arrow[4] = new Point(0, 10); + + + + graphicsObject.TranslateTransform(0, this.Height / 2); + + + + + viewrange = 26; + + space = (scrollbg.Height) / (float)viewrange; + start = ((int)alt - viewrange / 2); + + if (start > targetalt) + { + greenPen.Color = Color.FromArgb(128, greenPen.Color); + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, scrollbg.Left, scrollbg.Top, scrollbg.Left + scrollbg.Width, scrollbg.Top); + greenPen.Color = Color.FromArgb(255, greenPen.Color); + } + if ((alt + viewrange / 2) < targetalt) + { + greenPen.Color = Color.FromArgb(128, greenPen.Color); + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, scrollbg.Left, scrollbg.Top - space * viewrange, scrollbg.Left + scrollbg.Width, scrollbg.Top - space * viewrange); + greenPen.Color = Color.FromArgb(255, greenPen.Color); + } + + for (int a = start; a <= (alt + viewrange / 2); a += 1) + { + if (a == Math.Round(targetalt) && targetalt != 0) + { + greenPen.Width = 6; + graphicsObject.DrawLine(greenPen, scrollbg.Left, scrollbg.Top - space * (a - start), scrollbg.Left + scrollbg.Width, scrollbg.Top - space * (a - start)); + } + if (a % 5 == 0) + { + //Console.WriteLine(a + " " + scrollbg.Left + " " + (scrollbg.Top - space * (a - start)) + " " + (scrollbg.Left + 20) + " " + (scrollbg.Top - space * (a - start))); + graphicsObject.DrawLine(whitePen, scrollbg.Left, scrollbg.Top - space * (a - start), scrollbg.Left + 10, scrollbg.Top - space * (a - start)); + drawstring(graphicsObject, a.ToString().PadLeft(5), font, fontsize, whiteBrush, scrollbg.Left + 7 + (int)(0 * fontoffset), scrollbg.Top - space * (a - start) - 6 - fontoffset); + } + } + + + + // vsi + + graphicsObject.ResetTransform(); + + PointF[] poly = new PointF[4]; + + poly[0] = new PointF(scrollbg.Left, scrollbg.Top); + poly[1] = new PointF(scrollbg.Left - scrollbg.Width / 4, scrollbg.Top + scrollbg.Width / 4); + poly[2] = new PointF(scrollbg.Left - scrollbg.Width / 4, scrollbg.Bottom - scrollbg.Width / 4); + poly[3] = new PointF(scrollbg.Left, scrollbg.Bottom); + + //verticalspeed + + viewrange = 12; + + verticalspeed = Math.Min(viewrange / 2, verticalspeed); + verticalspeed = Math.Max(viewrange / -2, verticalspeed); + + float scaledvalue = verticalspeed / -viewrange * (scrollbg.Bottom - scrollbg.Top); + + float linespace = (float)1 / -viewrange * (scrollbg.Bottom - scrollbg.Top); + + PointF[] polyn = new PointF[4]; + + polyn[0] = new PointF(scrollbg.Left, scrollbg.Top + (scrollbg.Bottom - scrollbg.Top) / 2); + polyn[1] = new PointF(scrollbg.Left - scrollbg.Width / 4, scrollbg.Top + (scrollbg.Bottom - scrollbg.Top) / 2); + polyn[2] = polyn[1]; + float peak = 0; + if (scaledvalue > 0) + { + peak = -scrollbg.Width / 4; + if (scrollbg.Top + (scrollbg.Bottom - scrollbg.Top) / 2 + scaledvalue + peak < scrollbg.Top + (scrollbg.Bottom - scrollbg.Top) / 2) + peak = -scaledvalue; + } + else if (scaledvalue < 0) + { + peak = +scrollbg.Width / 4; + if (scrollbg.Top + (scrollbg.Bottom - scrollbg.Top) / 2 + scaledvalue + peak > scrollbg.Top + (scrollbg.Bottom - scrollbg.Top) / 2) + peak = -scaledvalue; + } + + polyn[2] = new PointF(scrollbg.Left - scrollbg.Width / 4, scrollbg.Top + (scrollbg.Bottom - scrollbg.Top) / 2 + scaledvalue + peak); + polyn[3] = new PointF(scrollbg.Left, scrollbg.Top + (scrollbg.Bottom - scrollbg.Top) / 2 + scaledvalue); + + //graphicsObject.DrawPolygon(redPen, poly); + graphicsObject.FillPolygon(Brushes.Blue, polyn); + + // draw outsidebox + graphicsObject.DrawPolygon(whitePen, poly); + + for (int a = 1; a < viewrange; a++) + { + graphicsObject.DrawLine(whitePen, scrollbg.Left - scrollbg.Width / 4, scrollbg.Top - linespace * a, scrollbg.Left - scrollbg.Width / 8, scrollbg.Top - linespace * a); + } + + // draw arrow and text + + graphicsObject.ResetTransform(); + graphicsObject.TranslateTransform(this.Width, this.Height / 2); + graphicsObject.RotateTransform(180); + + graphicsObject.DrawPolygon(blackPen, arrow); + graphicsObject.FillPolygon(Brushes.Black, arrow); + graphicsObject.ResetTransform(); + graphicsObject.TranslateTransform(0, this.Height / 2); + + drawstring(graphicsObject, ((int)alt).ToString("0"), font, 10, Brushes.AliceBlue, scrollbg.Left + 10, -9); + graphicsObject.ResetTransform(); + + // mode and wp dist and wp + + drawstring(graphicsObject, mode, font, fontsize, whiteBrush, scrollbg.Left - 30, scrollbg.Bottom + 5); + drawstring(graphicsObject, (int)disttowp + ">" + wpno, font, fontsize, whiteBrush, scrollbg.Left - 30, scrollbg.Bottom + fontsize + 2 + 10); + + // battery + + graphicsObject.ResetTransform(); + + drawstring(graphicsObject, resources.GetString("Bat"), font, fontsize + 2, whiteBrush, fontsize, this.Height - 30 - fontoffset); + drawstring(graphicsObject, batterylevel.ToString("0.00v"), font, fontsize + 2, whiteBrush, fontsize * 4, this.Height - 30 - fontoffset); + drawstring(graphicsObject, batteryremaining.ToString("0%"), font, fontsize + 2, whiteBrush, fontsize * 9, this.Height - 30 - fontoffset); + + // gps + + string gps = ""; + + if (gpsfix == 0) + { + gps = resources.GetString("GPS: No Fix.Text"); + } + else if (gpsfix == 1) + { + gps = resources.GetString("GPS: No Fix.Text"); + } + else if (gpsfix == 2) + { + gps = resources.GetString("GPS: 2D Fix.Text"); + } + else if (gpsfix == 3) + { + gps = resources.GetString("GPS: 3D Fix.Text"); + } + + drawstring(graphicsObject, gps, font, fontsize + 2, whiteBrush, this.Width - 10 * fontsize, this.Height - 30 - fontoffset); + + e.Graphics.DrawImageUnscaled(objBitmap, 0, 0); + + if (DesignMode) + { + return; + } + + // Console.WriteLine("HUD 1 " + (DateTime.Now - starttime).TotalMilliseconds + " " + DateTime.Now.Millisecond); + + ImageCodecInfo ici = GetImageCodec("image/jpeg"); + EncoderParameters eps = new EncoderParameters(1); + eps.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 50L); // or whatever other quality value you want + + lock (streamlock) + { + if (streamjpgenable || streamjpg == null) // init image and only update when needed + { + streamjpg = new MemoryStream(); + objBitmap.Save(streamjpg, ici, eps); + //objBitmap.Save(streamjpg,ImageFormat.Bmp); + } + } + } + catch (Exception ex) + { + Console.WriteLine("hud error "+ex.ToString()); + //MessageBox.Show(ex.ToString()); + } + + count++; + + if (DateTime.Now.Second != countdate.Second) + { + countdate = DateTime.Now; + //Console.WriteLine("HUD " + count + " hz"); + count = 0; + } + huddrawtime = (int)(DateTime.Now - starttime).TotalMilliseconds; +#if DEBUG + // Console.WriteLine("HUD e " + (DateTime.Now - starttime).TotalMilliseconds + " " + DateTime.Now.Millisecond); +#endif + } + + protected override void OnPaintBackground(PaintEventArgs e) + { + //base.OnPaintBackground(e); + } + + ImageCodecInfo GetImageCodec(string mimetype) + { + foreach (ImageCodecInfo ici in ImageCodecInfo.GetImageEncoders()) + { + if (ici.MimeType == mimetype) return ici; + } + return null; + } + + + float wrap360(float noin) + { + if (noin < 0) + return noin + 360; + return noin; + } + + /// + /// pen for drawstring + /// + Pen P = new Pen(Color.FromArgb(0x26, 0x27, 0x28), 2f); + /// + /// pth for drawstring + /// + GraphicsPath pth = new GraphicsPath(); + + void drawstring(Graphics e, string text, Font font, float fontsize, Brush brush, float x, float y) + { + if (text == null || text == "") + return; + + pth.Reset(); + + + if (text != null) + pth.AddString(text, font.FontFamily, 0, fontsize + 5, new Point((int)x, (int)y), StringFormat.GenericTypographic); + + //Draw the edge + // this uses lots of cpu time + + //e.SmoothingMode = SmoothingMode.HighSpeed; + + e.DrawPath(P, pth); + + //Draw the face + + e.FillPath(brush, pth); + + //pth.Dispose(); + } + + protected override void OnResize(EventArgs e) + { + if (DesignMode) + return; + this.Height = (int)(this.Width / 1.333f); + base.OnResize(e); + /* + try + { + GL.MatrixMode(MatrixMode.Projection); + GL.LoadIdentity(); + GL.Ortho(0, Width, Height, 0, -1, 1); + GL.MatrixMode(MatrixMode.Modelview); + GL.LoadIdentity(); + + GL.Viewport(0, 0, Width, Height); + } + catch { } + */ + } + } +} \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/mavlinklist-xml-dontuse.pl b/Tools/ArdupilotMegaPlanner/mavlinklist-xml-dontuse.pl new file mode 100644 index 0000000000..b22c7dd9e7 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/mavlinklist-xml-dontuse.pl @@ -0,0 +1,132 @@ +$dir = "C:/Users/hog/Documents/Arduino/libraries/GCS_MAVLink/message_definitions/"; +#$dir = "C:/Users/hog/Desktop/DIYDrones&avr/pixhawk-mavlink-c91adfb/include/common/"; + +opendir(DIR,$dir) || die print $!; +@files = readdir(DIR); +closedir(DIR); + +open(OUT,">MAVLinkTypes.cs"); + +print OUT <) { + if ($line =~ /enum name="(MAV_.*)"/) { + $start = 1; + print OUT "\t\tpublic enum $1\n\t\t{ \n"; + } + + if ($line =~ //) { + $name = lc($2); + + print OUT "\t\tpublic const byte MAVLINK_MSG_ID_".uc($name) . " = " . $1 . ";\n"; + print OUT "\t\t[StructLayout(LayoutKind.Sequential,Pack=1)]\n"; + print OUT "\t\tpublic struct __mavlink_".$name."_t\n\t\t{\n"; + $no = $1; + + $start = 1; + + #__mavlink_gps_raw_t + $structs[$no] = "__mavlink_".$name."_t"; + } # __mavlink_heartbeat_t + + $line =~ s/MAV_CMD_NAV_//; + + $line =~ s/MAV_CMD_//; + + if ($line =~ //) + { + + + print OUT "\t\t\t$2 = $1,\n"; + + } + + # + if ($line =~ /(.*)<\/field>/) + { + + $type = $1; + $name = $2; + $desc = $3; + + print "$type = $name\n"; + + $type =~ s/byte_mavlink_version/public byte/; + + $type =~ s/array/public byte/; + + + + $type =~ s/uint8_t/public byte/; + $type =~ s/int8_t/public byte/; + $type =~ s/float/public float/; + $type =~ s/uint16_t/public ushort/; + $type =~ s/uint32_t/public uint/; + $type =~ s/uint64_t/public ulong/; + $type =~ s/int16_t/public short/; + $type =~ s/int32_t/public int/; + $type =~ s/int64_t/public long/; + + if ($type =~ /\[(.*)\]/) { # array + print OUT "\t\t\t[MarshalAs(UnmanagedType.ByValArray, SizeConst=". $1 .")] \n"; + $type =~ s/\[.*\]//; + $type =~ s/public\s+([^\s]+)/public $1\[\]/o; + } + + print OUT "\t\t\t$type $name; ///< $desc\n"; + + } + + if ($start && ($line =~ /<\/message>/ || $line =~ /<\/enum>/)) { + print OUT "\t\t};\n\n"; + $start = 0; + } + + } + + close(F); +} + +print OUT "Type[] mavstructs = new Type[] {"; +for ($a = 0; $a <= 256;$a++) +{ + if (defined($structs[$a])) { + print OUT "typeof(".$structs[$a] .") ,"; + } else { + print OUT "null ,"; + } +} +print OUT "};\n\n"; + +print OUT <MAVLinkTypes.cs"); +$crcs = 0; + print OUT <) { - if ($line =~ /enum name="(MAV_.*)"/) { - $start = 1; - print OUT "\t\tpublic enum $1\n\t\t{ \n"; + if ($line =~ /(MAVLINK_MESSAGE_LENGTHS|MAVLINK_MESSAGE_CRCS) (.*)/ && $crcs < 2) { + print OUT "\t\tpublic byte[] $1 = new byte[] $2;\n"; + $crcs++; } - if ($line =~ //) { - $name = lc($2); - - print OUT "\t\tpublic const byte MAVLINK_MSG_ID_".uc($name) . " = " . $1 . ";\n"; - print OUT "\t\t[StructLayout(LayoutKind.Sequential,Pack=1)]\n"; - print OUT "\t\tpublic struct __mavlink_".$name."_t\n\t\t{\n"; - $no = $1; - + if ($line =~ /enum (MAV_.*)/) { $start = 1; - + print OUT "\t\tpublic "; + } + + if ($line =~ /#define (MAVLINK_MSG_ID[^\s]+)\s+([0-9]+)/) { + print OUT "\t\tpublic const byte ".$1 . " = " . $2 . ";\n"; + $no = $2; + } + if ($line =~ /typedef struct(.*)/) { + if ($1 =~ /__mavlink_system|param_union/) { + last; + } + $start = 1; + print OUT "\t\t[StructLayout(LayoutKind.Sequential,Pack=1)]\n"; #__mavlink_gps_raw_t - $structs[$no] = "__mavlink_".$name."_t"; - } # __mavlink_heartbeat_t - - $line =~ s/MAV_CMD_NAV_//; - - $line =~ s/MAV_CMD_//; - - if ($line =~ //) - { - - - print OUT "\t\t\t$2 = $1,\n"; - + $structs[$no] = $1; } - - # - if ($line =~ /(.*)<\/field>/) - { - - $type = $1; - $name = $2; - $desc = $3; + if ($start) { + $line =~ s/MAV_CMD_NAV_//; - print "$type = $name\n"; + $line =~ s/MAV_CMD_//; - $type =~ s/byte_mavlink_version/public byte/; - - $type =~ s/array/public byte/; + $line =~ s/typedef/public/; + $line =~ s/uint8_t/public byte/; + $line =~ s/int8_t/public byte/; + $line =~ s/^\s+float/public float/; + $line =~ s/uint16_t/public ushort/; + $line =~ s/uint32_t/public uint/; + $line =~ s/uint64_t/public ulong/; + $line =~ s/int16_t/public short/; + $line =~ s/int32_t/public int/; + $line =~ s/int64_t/public long/; + $line =~ s/typedef/public/; + $line =~ s/}.*/};\n/; - - $type =~ s/uint8_t/public byte/; - $type =~ s/int8_t/public byte/; - $type =~ s/float/public float/; - $type =~ s/uint16_t/public ushort/; - $type =~ s/uint32_t/public uint/; - $type =~ s/uint64_t/public ulong/; - $type =~ s/int16_t/public short/; - $type =~ s/int32_t/public int/; - $type =~ s/int64_t/public long/; - - if ($type =~ /\[(.*)\]/) { # array - print OUT "\t\t\t[MarshalAs(UnmanagedType.ByValArray, SizeConst=". $1 .")] \n"; - $type =~ s/\[.*\]//; - $type =~ s/public\s+([^\s]+)/public $1\[\]/o; - } + if ($line =~ /\[(.*)\].*;/) { # array + print OUT "\t\t[MarshalAs( + UnmanagedType.ByValArray, + SizeConst=". $1 .")] \n"; + $line =~ s/\[.*\]//; + $line =~ s/public\s+([^\s]+)/public $1\[\]/o; + } - print OUT "\t\t\t$type $name; ///< $desc\n"; - - } - - if ($start && ($line =~ /<\/message>/ || $line =~ /<\/enum>/)) { - print OUT "\t\t};\n\n"; + print OUT "\t\t".$line; + } + if ($line =~ /}/) { $start = 0; } @@ -129,4 +128,6 @@ EOF close OUT; +; + 1; \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/srtm.cs b/Tools/ArdupilotMegaPlanner/srtm.cs index e11c6ecb9b..4b75ee5c52 100644 --- a/Tools/ArdupilotMegaPlanner/srtm.cs +++ b/Tools/ArdupilotMegaPlanner/srtm.cs @@ -14,7 +14,7 @@ namespace ArdupilotMega { short alt = -32768; - lat += 0.0008; + lat += 0.00083333333333333; //lng += 0.0008; int x = (int)Math.Floor(lng); @@ -32,44 +32,139 @@ namespace ArdupilotMega else ew = "W"; - string filename = ns+ Math.Abs(y).ToString("00")+ew+ Math.Abs(x).ToString("000")+".hgt"; + string filename = ns + Math.Abs(y).ToString("00") + ew + Math.Abs(x).ToString("000") + ".hgt"; + + string filename2 = "srtm_" + Math.Round((lng + 2.5 + 180) / 5, 0).ToString("00") + "_" + Math.Round((60 - lat + 2.5) / 5, 0).ToString("00") + ".asc"; + + if (File.Exists(datadirectory + Path.DirectorySeparatorChar + filename)) + { // srtm hgt files + FileStream fs = new FileStream(datadirectory + Path.DirectorySeparatorChar + filename, FileMode.Open, FileAccess.Read); + + float posx = 0; + float row = 0; + + if (fs.Length <= (1201 * 1201 * 2)) + { + posx = (int)(((float)(lng - x)) * (1201 * 2)); + 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) + { + 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(); + fs.Dispose(); + + Array.Reverse(data); + + alt = BitConverter.ToInt16(data, 0); - if (!File.Exists(datadirectory + Path.DirectorySeparatorChar + filename)) - { return alt; } - - FileStream fs = new FileStream(datadirectory + Path.DirectorySeparatorChar + filename, FileMode.Open,FileAccess.Read); - - float posx = 0; - float row = 0; - - if (fs.Length <= (1201 * 1201 * 2)) { - posx = (int)(((float)(lng - x)) * (1201 * 2)); - 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) + else if (File.Exists(datadirectory + Path.DirectorySeparatorChar + filename2)) { - posx--; + // this is way to slow - and cacheing it will chew memory 6001 * 6001 * 4 = 144048004 bytes + FileStream fs = new FileStream(datadirectory + Path.DirectorySeparatorChar + filename2, FileMode.Open, FileAccess.Read); + + StreamReader sr = new StreamReader(fs); + + int nox = 0; + int noy = 0; + float left = 0; + float top = 0; + int nodata = -9999; + float cellsize = 0; + + int rowcounter = 0; + + float wantrow = 0; + float wantcol = 0; + + + while (!sr.EndOfStream) + { + string line = sr.ReadLine(); + + if (line.StartsWith("ncols")) + { + nox = int.Parse(line.Substring(line.IndexOf(' '))); + + //hgtdata = new int[nox * noy]; + } + else if (line.StartsWith("nrows")) + { + noy = int.Parse(line.Substring(line.IndexOf(' '))); + + //hgtdata = new int[nox * noy]; + } + else if (line.StartsWith("xllcorner")) + { + left = float.Parse(line.Substring(line.IndexOf(' '))); + } + else if (line.StartsWith("yllcorner")) + { + top = float.Parse(line.Substring(line.IndexOf(' '))); + } + else if (line.StartsWith("cellsize")) + { + cellsize = float.Parse(line.Substring(line.IndexOf(' '))); + } + else if (line.StartsWith("NODATA_value")) + { + nodata = int.Parse(line.Substring(line.IndexOf(' '))); + } + else + { + string[] data = line.Split(new char[] { ' ' }); + + if (data.Length == (nox + 1)) + { + + + + wantcol = (float)((lng - Math.Round(left,0))); + + wantrow = (float)((lat - Math.Round(top,0))); + + wantrow =(int)( wantrow / cellsize); + wantcol =(int)( wantcol / cellsize); + + wantrow = noy - wantrow; + + if (rowcounter == wantrow) + { + Console.WriteLine("{0} {1} {2} {3} ans {4} x {5}", lng, lat, left, top, data[(int)wantcol], (nox + wantcol * cellsize)); + + return int.Parse(data[(int)wantcol]); + } + + rowcounter++; + } + } + + + + } + + return alt; } - //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); - - Array.Reverse(data); - - alt = BitConverter.ToInt16(data,0); - return alt; } }