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; } }