diff --git a/Common.cs b/Common.cs
index 03db903fca..6a638e1097 100644
--- a/Common.cs
+++ b/Common.cs
@@ -22,6 +22,12 @@ public class Common
{
private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ public enum altitudes
+ {
+ Meters,
+ Feet
+ }
+
public enum distances
{
Meters,
diff --git a/CurrentState.cs b/CurrentState.cs
index ee2233a73e..6c75fdd444 100644
--- a/CurrentState.cs
+++ b/CurrentState.cs
@@ -32,6 +32,8 @@ public class CurrentState : ICloneable
public static string DistanceUnit = "";
public static float multiplierspeed = 1;
public static string SpeedUnit = "";
+ public static float multiplieralt = 1;
+ public static string AltUnit = "";
public static double toDistDisplayUnit(double input)
{
@@ -116,7 +118,7 @@ public float groundcourse
[DisplayText("Altitude (dist)")]
public float alt
{
- get { return (_alt - altoffsethome)*multiplierdist; }
+ get { return (_alt - altoffsethome)* multiplieralt; }
set
{
// check update rate, and ensure time hasnt gone backwards
@@ -139,7 +141,7 @@ public float alt
[DisplayText("Altitude (dist)")]
public float altasl
{
- get { return _altasl*multiplierdist; }
+ get { return _altasl* multiplieralt; }
set { _altasl = value; }
}
@@ -535,7 +537,7 @@ public float wp_dist
[DisplayText("Altitude Error (dist)")]
public float alt_error
{
- get { return _alt_error*multiplierdist; }
+ get { return _alt_error* multiplieralt; }
set
{
if (_alt_error == value) return;
diff --git a/GCSViews/ConfigurationView/ConfigPlanner.Designer.cs b/GCSViews/ConfigurationView/ConfigPlanner.Designer.cs
index 6b1b4e1fd3..3e54d5c8a0 100644
--- a/GCSViews/ConfigurationView/ConfigPlanner.Designer.cs
+++ b/GCSViews/ConfigurationView/ConfigPlanner.Designer.cs
@@ -100,6 +100,8 @@ private void InitializeComponent()
this.label5 = new System.Windows.Forms.Label();
this.CHK_AutoParamCommit = new System.Windows.Forms.CheckBox();
this.chk_shownofly = new System.Windows.Forms.CheckBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.CMB_altunits = new System.Windows.Forms.ComboBox();
((System.ComponentModel.ISupportInitialize)(this.NUM_tracklength)).BeginInit();
this.SuspendLayout();
//
@@ -659,9 +661,24 @@ private void InitializeComponent()
this.chk_shownofly.UseVisualStyleBackColor = true;
this.chk_shownofly.CheckedChanged += new System.EventHandler(this.chk_shownofly_CheckedChanged);
//
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // CMB_altunits
+ //
+ this.CMB_altunits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.CMB_altunits.FormattingEnabled = true;
+ resources.ApplyResources(this.CMB_altunits, "CMB_altunits");
+ this.CMB_altunits.Name = "CMB_altunits";
+ this.CMB_altunits.SelectedIndexChanged += new System.EventHandler(this.CMB_altunits_SelectedIndexChanged);
+ //
// ConfigPlanner
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.CMB_altunits);
this.Controls.Add(this.chk_shownofly);
this.Controls.Add(this.CHK_AutoParamCommit);
this.Controls.Add(this.label5);
@@ -815,5 +832,7 @@ private void InitializeComponent()
private System.Windows.Forms.Label label5;
private System.Windows.Forms.CheckBox CHK_AutoParamCommit;
private System.Windows.Forms.CheckBox chk_shownofly;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.ComboBox CMB_altunits;
}
}
diff --git a/GCSViews/ConfigurationView/ConfigPlanner.cs b/GCSViews/ConfigurationView/ConfigPlanner.cs
index faa2b25148..a8970639a8 100644
--- a/GCSViews/ConfigurationView/ConfigPlanner.cs
+++ b/GCSViews/ConfigurationView/ConfigPlanner.cs
@@ -54,6 +54,7 @@ public void Activate()
// set distance/speed unit states
CMB_distunits.DataSource = Enum.GetNames(typeof (Common.distances));
CMB_speedunits.DataSource = Enum.GetNames(typeof (Common.speeds));
+ CMB_altunits.DataSource = Enum.GetNames(typeof(Common.altitudes));
CMB_theme.DataSource = Enum.GetNames(typeof (ThemeManager.Themes));
@@ -930,5 +931,13 @@ private void chk_shownofly_CheckedChanged(object sender, EventArgs e)
{
Settings.Instance["ShowNoFly"] = chk_shownofly.Checked.ToString();
}
+
+ private void CMB_altunits_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (startup)
+ return;
+ Settings.Instance["altunits"] = CMB_altunits.Text;
+ MainV2.instance.ChangeUnits();
+ }
}
}
\ No newline at end of file
diff --git a/GCSViews/ConfigurationView/ConfigPlanner.resx b/GCSViews/ConfigurationView/ConfigPlanner.resx
index f8d050b881..1a0188e56c 100644
--- a/GCSViews/ConfigurationView/ConfigPlanner.resx
+++ b/GCSViews/ConfigurationView/ConfigPlanner.resx
@@ -123,7 +123,7 @@
- 513, 227
+ 496, 227
43, 13
@@ -145,7 +145,7 @@
$this
- 26
+ 28
0
@@ -184,7 +184,7 @@
50
- 562, 224
+ 545, 224
40, 21
@@ -202,7 +202,7 @@
$this
- 27
+ 29
True
@@ -211,7 +211,7 @@
NoControl
- 15, 38
+ 9, 38
69, 13
@@ -232,10 +232,10 @@
$this
- 28
+ 30
- 124, 35
+ 107, 35
408, 21
@@ -253,7 +253,7 @@
$this
- 29
+ 31
True
@@ -262,7 +262,7 @@
NoControl
- 15, 323
+ 9, 323
31, 13
@@ -283,13 +283,13 @@
$this
- 30
+ 32
NoControl
- 124, 322
+ 107, 322
177, 17
@@ -310,7 +310,7 @@
$this
- 31
+ 33
True
@@ -319,7 +319,7 @@
NoControl
- 15, 300
+ 9, 300
57, 13
@@ -340,13 +340,13 @@
$this
- 32
+ 34
NoControl
- 124, 299
+ 107, 299
177, 17
@@ -367,7 +367,7 @@
$this
- 33
+ 35
True
@@ -376,7 +376,7 @@
NoControl
- 15, 274
+ 9, 274
71, 13
@@ -397,10 +397,10 @@
$this
- 34
+ 36
- 124, 273
+ 107, 273
67, 20
@@ -418,7 +418,7 @@
$this
- 35
+ 37
True
@@ -427,7 +427,7 @@
NoControl
- 532, 89
+ 515, 89
81, 17
@@ -451,7 +451,7 @@
$this
- 36
+ 38
True
@@ -460,16 +460,16 @@
NoControl
- 15, 251
+ 9, 251
- 61, 13
+ 78, 13
45
- APM Reset
+ Connect Reset
label108
@@ -481,13 +481,13 @@
$this
- 37
+ 39
NoControl
- 124, 250
+ 107, 250
163, 17
@@ -496,7 +496,7 @@
46
- Reset APM on USB Connect
+ Reset on USB Connect
CHK_resetapmonconnect
@@ -508,7 +508,7 @@
$this
- 38
+ 40
Bottom, Left
@@ -517,7 +517,7 @@
NoControl
- 124, 512
+ 107, 509
144, 17
@@ -538,13 +538,13 @@
$this
- 39
+ 41
NoControl
- 439, 227
+ 422, 227
22, 13
@@ -565,7 +565,7 @@
$this
- 40
+ 42
0
@@ -601,7 +601,7 @@
10
- 467, 224
+ 450, 224
40, 21
@@ -619,13 +619,13 @@
$this
- 41
+ 43
NoControl
- 318, 227
+ 301, 227
69, 13
@@ -646,13 +646,13 @@
$this
- 42
+ 44
NoControl
- 222, 227
+ 205, 227
44, 13
@@ -673,13 +673,13 @@
$this
- 43
+ 45
NoControl
- 121, 227
+ 104, 227
43, 13
@@ -700,7 +700,7 @@
$this
- 44
+ 46
True
@@ -709,7 +709,7 @@
NoControl
- 15, 227
+ 9, 227
84, 13
@@ -730,7 +730,7 @@
$this
- 45
+ 47
0
@@ -766,7 +766,7 @@
10
- 393, 224
+ 376, 224
40, 21
@@ -784,7 +784,7 @@
$this
- 46
+ 48
0
@@ -820,7 +820,7 @@
10
- 272, 224
+ 255, 224
40, 21
@@ -838,7 +838,7 @@
$this
- 47
+ 49
0
@@ -874,7 +874,7 @@
10
- 170, 224
+ 153, 224
40, 21
@@ -892,16 +892,16 @@
$this
- 48
+ 50
NoControl
- 268, 190
+ 480, 171
- 402, 13
+ 241, 31
57
@@ -920,7 +920,7 @@
$this
- 49
+ 51
True
@@ -929,7 +929,7 @@
NoControl
- 15, 198
+ 9, 198
65, 13
@@ -950,7 +950,7 @@
$this
- 50
+ 52
True
@@ -959,7 +959,7 @@
NoControl
- 15, 171
+ 9, 171
52, 13
@@ -980,10 +980,10 @@
$this
- 51
+ 53
- 124, 195
+ 107, 195
138, 21
@@ -1001,10 +1001,10 @@
$this
- 52
+ 54
- 124, 168
+ 107, 168
138, 21
@@ -1022,7 +1022,7 @@
$this
- 53
+ 55
True
@@ -1031,7 +1031,7 @@
NoControl
- 15, 144
+ 9, 144
45, 13
@@ -1052,7 +1052,7 @@
$this
- 54
+ 56
True
@@ -1061,7 +1061,7 @@
NoControl
- 15, 90
+ 9, 90
44, 13
@@ -1082,7 +1082,7 @@
$this
- 55
+ 57
True
@@ -1091,7 +1091,7 @@
NoControl
- 429, 89
+ 412, 89
102, 17
@@ -1115,7 +1115,7 @@
$this
- 56
+ 58
True
@@ -1124,7 +1124,7 @@
NoControl
- 349, 89
+ 332, 89
81, 17
@@ -1148,7 +1148,7 @@
$this
- 57
+ 59
True
@@ -1157,7 +1157,7 @@
NoControl
- 297, 89
+ 280, 89
56, 17
@@ -1181,7 +1181,7 @@
$this
- 58
+ 60
True
@@ -1190,7 +1190,7 @@
NoControl
- 224, 89
+ 207, 89
71, 17
@@ -1214,7 +1214,7 @@
$this
- 59
+ 61
True
@@ -1223,7 +1223,7 @@
NoControl
- 15, 65
+ 9, 65
57, 13
@@ -1244,10 +1244,10 @@
$this
- 60
+ 62
- 124, 62
+ 107, 62
138, 21
@@ -1265,10 +1265,10 @@
$this
- 61
+ 63
- 124, 112
+ 107, 112
138, 21
@@ -1286,7 +1286,7 @@
$this
- 62
+ 64
True
@@ -1295,7 +1295,7 @@
NoControl
- 15, 115
+ 9, 115
69, 13
@@ -1316,7 +1316,7 @@
$this
- 63
+ 65
True
@@ -1325,7 +1325,7 @@
NoControl
- 124, 89
+ 107, 89
99, 17
@@ -1346,13 +1346,13 @@
$this
- 64
+ 66
NoControl
- 537, 10
+ 520, 10
125, 17
@@ -1373,7 +1373,7 @@
$this
- 65
+ 67
True
@@ -1382,7 +1382,7 @@
NoControl
- 15, 11
+ 9, 11
71, 13
@@ -1403,10 +1403,10 @@
$this
- 66
+ 68
- 124, 8
+ 107, 8
245, 21
@@ -1424,7 +1424,7 @@
$this
- 67
+ 69
True
@@ -1433,7 +1433,7 @@
NoControl
- 15, 346
+ 9, 346
61, 13
@@ -1454,13 +1454,13 @@
$this
- 24
+ 26
NoControl
- 124, 345
+ 107, 345
205, 17
@@ -1481,13 +1481,13 @@
$this
- 25
+ 27
NoControl
- 355, 274
+ 338, 274
81, 17
@@ -1508,13 +1508,13 @@
$this
- 22
+ 24
NoControl
- 447, 273
+ 430, 273
129, 17
@@ -1535,13 +1535,13 @@
$this
- 23
+ 25
NoControl
- 124, 139
+ 107, 139
99, 23
@@ -1562,13 +1562,13 @@
$this
- 68
+ 70
NoControl
- 456, 6
+ 439, 6
75, 23
@@ -1589,13 +1589,13 @@
$this
- 69
+ 71
NoControl
- 375, 6
+ 358, 6
75, 23
@@ -1616,7 +1616,7 @@
$this
- 70
+ 72
True
@@ -1625,7 +1625,7 @@
NoControl
- 15, 371
+ 9, 371
50, 13
@@ -1646,10 +1646,10 @@
$this
- 21
+ 23
- 124, 368
+ 107, 368
386, 20
@@ -1667,13 +1667,13 @@
$this
- 20
+ 22
NoControl
- 513, 366
+ 496, 366
75, 23
@@ -1694,7 +1694,7 @@
$this
- 19
+ 21
True
@@ -1703,7 +1703,7 @@
NoControl
- 15, 397
+ 9, 397
40, 13
@@ -1724,10 +1724,10 @@
$this
- 18
+ 20
- 124, 394
+ 107, 394
138, 21
@@ -1745,13 +1745,13 @@
$this
- 17
+ 19
NoControl
- 266, 394
+ 249, 394
75, 20
@@ -1772,7 +1772,7 @@
$this
- 16
+ 18
True
@@ -1781,7 +1781,7 @@
NoControl
- 611, 89
+ 594, 89
81, 17
@@ -1805,13 +1805,13 @@
$this
- 15
+ 17
NoControl
- 124, 448
+ 107, 448
99, 20
@@ -1832,7 +1832,7 @@
$this
- 14
+ 16
True
@@ -1841,7 +1841,7 @@
NoControl
- 124, 474
+ 107, 474
115, 17
@@ -1862,7 +1862,7 @@
$this
- 13
+ 15
True
@@ -1871,7 +1871,7 @@
NoControl
- 245, 474
+ 228, 474
91, 17
@@ -1892,7 +1892,7 @@
$this
- 12
+ 14
True
@@ -1901,7 +1901,7 @@
NoControl
- 357, 451
+ 340, 451
142, 17
@@ -1922,7 +1922,7 @@
$this
- 11
+ 13
True
@@ -1931,7 +1931,7 @@
NoControl
- 688, 89
+ 671, 89
80, 17
@@ -1955,7 +1955,7 @@
$this
- 10
+ 12
True
@@ -1964,7 +1964,7 @@
NoControl
- 513, 451
+ 496, 451
91, 17
@@ -1985,7 +1985,7 @@
$this
- 9
+ 11
True
@@ -1994,7 +1994,7 @@
NoControl
- 615, 451
+ 598, 451
55, 17
@@ -2015,7 +2015,7 @@
$this
- 8
+ 10
True
@@ -2024,7 +2024,7 @@
NoControl
- 513, 474
+ 496, 474
54, 17
@@ -2045,7 +2045,7 @@
$this
- 7
+ 9
Bottom, Left
@@ -2054,7 +2054,7 @@
NoControl
- 357, 512
+ 341, 509
144, 17
@@ -2075,7 +2075,7 @@
$this
- 6
+ 8
True
@@ -2084,7 +2084,7 @@
NoControl
- 357, 474
+ 340, 474
104, 17
@@ -2105,13 +2105,13 @@
$this
- 5
+ 7
NoControl
- 229, 448
+ 212, 448
115, 20
@@ -2132,10 +2132,10 @@
$this
- 4
+ 6
- 124, 421
+ 107, 421
138, 21
@@ -2153,7 +2153,7 @@
$this
- 3
+ 5
True
@@ -2162,7 +2162,7 @@
NoControl
- 15, 424
+ 9, 424
39, 13
@@ -2183,13 +2183,13 @@
$this
- 2
+ 4
True
- 615, 475
+ 598, 475
123, 17
@@ -2210,7 +2210,7 @@
$this
- 1
+ 3
True
@@ -2219,7 +2219,7 @@
NoControl
- 688, 451
+ 671, 451
56, 17
@@ -2240,13 +2240,64 @@
$this
+ 2
+
+
+ True
+
+
+ NoControl
+
+
+ 249, 171
+
+
+ 46, 13
+
+
+ 118
+
+
+ Alt Units
+
+
+ label6
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
0
+
+ 320, 168
+
+
+ 138, 21
+
+
+ 119
+
+
+ CMB_altunits
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
True
- 759, 538
+ 750, 535
ConfigPlanner
diff --git a/MainV2.cs b/MainV2.cs
index 873531e0ee..ee2f157850 100644
--- a/MainV2.cs
+++ b/MainV2.cs
@@ -3529,6 +3529,28 @@ public void ChangeUnits()
CurrentState.DistanceUnit = "m";
}
+ // alt
+ if (Settings.Instance["altunits"] != null)
+ {
+ switch (
+ (Common.distances)Enum.Parse(typeof(Common.altitudes), Settings.Instance["altunits"].ToString()))
+ {
+ case Common.distances.Meters:
+ CurrentState.multiplieralt = 1;
+ CurrentState.AltUnit = "m";
+ break;
+ case Common.distances.Feet:
+ CurrentState.multiplieralt = 3.2808399f;
+ CurrentState.AltUnit = "ft";
+ break;
+ }
+ }
+ else
+ {
+ CurrentState.multiplieralt = 1;
+ CurrentState.AltUnit = "m";
+ }
+
// speed
if (Settings.Instance["speedunits"] != null)
{
@@ -3552,7 +3574,7 @@ public void ChangeUnits()
break;
case Common.speeds.knots:
CurrentState.multiplierspeed = 1.94384449f;
- CurrentState.SpeedUnit = "knots";
+ CurrentState.SpeedUnit = "kts";
break;
}
}