From 62ac138b780a6ae1f103702a3c3ef24383e56d99 Mon Sep 17 00:00:00 2001 From: Adam M Rivera Date: Mon, 23 Apr 2012 09:59:45 -0500 Subject: [PATCH 1/3] Planner: Fixed binding issues with mode DDLs --- Tools/ArdupilotMegaPlanner/CurrentState.cs | 3 -- .../ConfigurationView/ConfigFlightModes.cs | 42 +------------------ 2 files changed, 2 insertions(+), 43 deletions(-) diff --git a/Tools/ArdupilotMegaPlanner/CurrentState.cs b/Tools/ArdupilotMegaPlanner/CurrentState.cs index ffd2da68ef..a185006355 100644 --- a/Tools/ArdupilotMegaPlanner/CurrentState.cs +++ b/Tools/ArdupilotMegaPlanner/CurrentState.cs @@ -535,9 +535,6 @@ namespace ArdupilotMega case (byte)(100 + Common.ac2modes.APPROACH): mode = EnumTranslator.GetDisplayText(Common.ac2modes.APPROACH); break; - case (byte)(100 + Common.ac2modes.APPROACH): - mode = "APPROACH"; - break; case (byte)(100 + Common.ac2modes.POSITION): mode = EnumTranslator.GetDisplayText(Common.ac2modes.POSITION); break; diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs index 863b3b9964..753e93c3b9 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs @@ -159,38 +159,19 @@ namespace ArdupilotMega.GCSViews.ConfigurationView CB_simple5.Visible = false; CB_simple6.Visible = false; - CMB_fmode1.Items.Clear(); - CMB_fmode2.Items.Clear(); - CMB_fmode3.Items.Clear(); - CMB_fmode4.Items.Clear(); - CMB_fmode5.Items.Clear(); - CMB_fmode6.Items.Clear(); - - var flightModes = EnumTranslator.Translate(); + var flightModes = EnumTranslator.Translate().Select(x => x.Value).OrderBy(x => x).ToList(); CMB_fmode1.DataSource = flightModes; - CMB_fmode1.ValueMember = "Value"; - CMB_fmode1.DisplayMember = "Value"; CMB_fmode2.DataSource = flightModes; - CMB_fmode2.ValueMember = "Value"; - CMB_fmode2.DisplayMember = "Value"; CMB_fmode3.DataSource = flightModes; - CMB_fmode3.ValueMember = "Value"; - CMB_fmode3.DisplayMember = "Value"; CMB_fmode4.DataSource = flightModes; - CMB_fmode4.ValueMember = "Value"; - CMB_fmode4.DisplayMember = "Value"; CMB_fmode5.DataSource = flightModes; - CMB_fmode5.ValueMember = "Value"; - CMB_fmode5.DisplayMember = "Value"; CMB_fmode6.DataSource = flightModes; - CMB_fmode6.ValueMember = "Value"; - CMB_fmode6.DisplayMember = "Value"; try { @@ -206,38 +187,19 @@ namespace ArdupilotMega.GCSViews.ConfigurationView } if (MainV2.cs.firmware == MainV2.Firmwares.ArduCopter2) // ac2 { - CMB_fmode1.Items.Clear(); - CMB_fmode2.Items.Clear(); - CMB_fmode3.Items.Clear(); - CMB_fmode4.Items.Clear(); - CMB_fmode5.Items.Clear(); - CMB_fmode6.Items.Clear(); - - var flightModes = EnumTranslator.Translate(); + var flightModes = EnumTranslator.Translate().Select(x => x.Value).OrderBy(x => x).ToList(); CMB_fmode1.DataSource = flightModes; - CMB_fmode1.ValueMember = "Value"; - CMB_fmode1.DisplayMember = "Value"; CMB_fmode2.DataSource = flightModes; - CMB_fmode2.ValueMember = "Value"; - CMB_fmode2.DisplayMember = "Value"; CMB_fmode3.DataSource = flightModes; - CMB_fmode3.ValueMember = "Value"; - CMB_fmode3.DisplayMember = "Value"; CMB_fmode4.DataSource = flightModes; - CMB_fmode4.ValueMember = "Value"; - CMB_fmode4.DisplayMember = "Value"; CMB_fmode5.DataSource = flightModes; - CMB_fmode5.ValueMember = "Value"; - CMB_fmode5.DisplayMember = "Value"; CMB_fmode6.DataSource = flightModes; - CMB_fmode6.ValueMember = "Value"; - CMB_fmode6.DisplayMember = "Value"; try { From e5454e863c0241fe1d1308d8eb013f374e96f250 Mon Sep 17 00:00:00 2001 From: Adam M Rivera Date: Mon, 23 Apr 2012 10:14:20 -0500 Subject: [PATCH 2/3] Planner: Fixed another binding issue with AC2 modes. --- .../ConfigurationView/ConfigFlightModes.cs | 75 +++++++++++-------- 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs index 753e93c3b9..7a70b9d18f 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs @@ -98,24 +98,15 @@ namespace ArdupilotMega.GCSViews.ConfigurationView { try { - if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) // APM - { - MainV2.comPort.setParam("FLTMODE1", (float)(int)Enum.Parse(typeof(Common.apmmodes), CMB_fmode1.Text)); - MainV2.comPort.setParam("FLTMODE2", (float)(int)Enum.Parse(typeof(Common.apmmodes), CMB_fmode2.Text)); - MainV2.comPort.setParam("FLTMODE3", (float)(int)Enum.Parse(typeof(Common.apmmodes), CMB_fmode3.Text)); - MainV2.comPort.setParam("FLTMODE4", (float)(int)Enum.Parse(typeof(Common.apmmodes), CMB_fmode4.Text)); - MainV2.comPort.setParam("FLTMODE5", (float)(int)Enum.Parse(typeof(Common.apmmodes), CMB_fmode5.Text)); - MainV2.comPort.setParam("FLTMODE6", (float)(int)Enum.Parse(typeof(Common.apmmodes), CMB_fmode6.Text)); - } + MainV2.comPort.setParam("FLTMODE1", (float)Int32.Parse(CMB_fmode1.SelectedValue.ToString())); + MainV2.comPort.setParam("FLTMODE2", (float)Int32.Parse(CMB_fmode2.SelectedValue.ToString())); + MainV2.comPort.setParam("FLTMODE3", (float)Int32.Parse(CMB_fmode3.SelectedValue.ToString())); + MainV2.comPort.setParam("FLTMODE4", (float)Int32.Parse(CMB_fmode4.SelectedValue.ToString())); + MainV2.comPort.setParam("FLTMODE5", (float)Int32.Parse(CMB_fmode5.SelectedValue.ToString())); + MainV2.comPort.setParam("FLTMODE6", (float)Int32.Parse(CMB_fmode6.SelectedValue.ToString())); + if (MainV2.cs.firmware == MainV2.Firmwares.ArduCopter2) // ac2 { - MainV2.comPort.setParam("FLTMODE1", (float)(int)Enum.Parse(typeof(Common.ac2modes), CMB_fmode1.Text)); - MainV2.comPort.setParam("FLTMODE2", (float)(int)Enum.Parse(typeof(Common.ac2modes), CMB_fmode2.Text)); - MainV2.comPort.setParam("FLTMODE3", (float)(int)Enum.Parse(typeof(Common.ac2modes), CMB_fmode3.Text)); - 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 ? (int)SimpleMode.Simple1 : 0) + (CB_simple2.Checked ? (int)SimpleMode.Simple2 : 0) + (CB_simple3.Checked ? (int)SimpleMode.Simple3 : 0) + (CB_simple4.Checked ? (int)SimpleMode.Simple4 : 0) + (CB_simple5.Checked ? (int)SimpleMode.Simple5 : 0) + (CB_simple6.Checked ? (int)SimpleMode.Simple6 : 0); if (MainV2.comPort.param.ContainsKey("SIMPLE")) @@ -159,19 +150,31 @@ namespace ArdupilotMega.GCSViews.ConfigurationView CB_simple5.Visible = false; CB_simple6.Visible = false; - var flightModes = EnumTranslator.Translate().Select(x => x.Value).OrderBy(x => x).ToList(); + var flightModes = EnumTranslator.Translate(); - CMB_fmode1.DataSource = flightModes; + CMB_fmode1.DataSource = flightModes.ToList(); + CMB_fmode1.ValueMember = "Key"; + CMB_fmode1.DisplayMember = "Value"; - CMB_fmode2.DataSource = flightModes; + CMB_fmode2.DataSource = flightModes.ToList(); + CMB_fmode2.ValueMember = "Key"; + CMB_fmode2.DisplayMember = "Value"; - CMB_fmode3.DataSource = flightModes; + CMB_fmode3.DataSource = flightModes.ToList(); + CMB_fmode3.ValueMember = "Key"; + CMB_fmode3.DisplayMember = "Value"; - CMB_fmode4.DataSource = flightModes; + CMB_fmode4.DataSource = flightModes.ToList(); + CMB_fmode4.ValueMember = "Key"; + CMB_fmode4.DisplayMember = "Value"; - CMB_fmode5.DataSource = flightModes; + CMB_fmode5.DataSource = flightModes.ToList(); + CMB_fmode5.ValueMember = "Key"; + CMB_fmode5.DisplayMember = "Value"; - CMB_fmode6.DataSource = flightModes; + CMB_fmode6.DataSource = flightModes.ToList(); + CMB_fmode6.ValueMember = "Key"; + CMB_fmode6.DisplayMember = "Value"; try { @@ -187,19 +190,31 @@ namespace ArdupilotMega.GCSViews.ConfigurationView } if (MainV2.cs.firmware == MainV2.Firmwares.ArduCopter2) // ac2 { - var flightModes = EnumTranslator.Translate().Select(x => x.Value).OrderBy(x => x).ToList(); + var flightModes = EnumTranslator.Translate(); - CMB_fmode1.DataSource = flightModes; + CMB_fmode1.DataSource = flightModes.ToList(); + CMB_fmode1.ValueMember = "Key"; + CMB_fmode1.DisplayMember = "Value"; - CMB_fmode2.DataSource = flightModes; + CMB_fmode2.DataSource = flightModes.ToList(); + CMB_fmode2.ValueMember = "Key"; + CMB_fmode2.DisplayMember = "Value"; - CMB_fmode3.DataSource = flightModes; + CMB_fmode3.DataSource = flightModes.ToList(); + CMB_fmode3.ValueMember = "Key"; + CMB_fmode3.DisplayMember = "Value"; - CMB_fmode4.DataSource = flightModes; + CMB_fmode4.DataSource = flightModes.ToList(); + CMB_fmode4.ValueMember = "Key"; + CMB_fmode4.DisplayMember = "Value"; - CMB_fmode5.DataSource = flightModes; + CMB_fmode5.DataSource = flightModes.ToList(); + CMB_fmode5.ValueMember = "Key"; + CMB_fmode5.DisplayMember = "Value"; - CMB_fmode6.DataSource = flightModes; + CMB_fmode6.DataSource = flightModes.ToList(); + CMB_fmode6.ValueMember = "Key"; + CMB_fmode6.DisplayMember = "Value"; try { From 2f31d04a43dcf050e742b069f5f521b91e394a1d Mon Sep 17 00:00:00 2001 From: Adam M Rivera Date: Mon, 23 Apr 2012 10:31:26 -0500 Subject: [PATCH 3/3] Planner: Fixed text selection on re-bind. --- .../ConfigurationView/ConfigFlightModes.cs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs index 7a70b9d18f..a19aa5c250 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/ConfigurationView/ConfigFlightModes.cs @@ -178,11 +178,11 @@ namespace ArdupilotMega.GCSViews.ConfigurationView try { - CMB_fmode1.Text = Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE1"].ToString()).ToString(); - CMB_fmode2.Text = Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE2"].ToString()).ToString(); - CMB_fmode3.Text = Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE3"].ToString()).ToString(); - CMB_fmode4.Text = Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE4"].ToString()).ToString(); - CMB_fmode5.Text = Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE5"].ToString()).ToString(); + CMB_fmode1.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE1"].ToString())); + CMB_fmode2.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE2"].ToString())); + CMB_fmode3.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE3"].ToString())); + CMB_fmode4.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE4"].ToString())); + CMB_fmode5.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.apmmodes), MainV2.comPort.param["FLTMODE5"].ToString())); CMB_fmode6.Text = Common.apmmodes.MANUAL.ToString(); CMB_fmode6.Enabled = false; } @@ -218,12 +218,12 @@ namespace ArdupilotMega.GCSViews.ConfigurationView try { - CMB_fmode1.Text = Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE1"].ToString()).ToString(); - CMB_fmode2.Text = Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE2"].ToString()).ToString(); - CMB_fmode3.Text = Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE3"].ToString()).ToString(); - CMB_fmode4.Text = Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE4"].ToString()).ToString(); - CMB_fmode5.Text = Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE5"].ToString()).ToString(); - CMB_fmode6.Text = Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE6"].ToString()).ToString(); + CMB_fmode1.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE1"].ToString())); + CMB_fmode2.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE2"].ToString())); + CMB_fmode3.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE3"].ToString())); + CMB_fmode4.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE4"].ToString())); + CMB_fmode5.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE5"].ToString())); + CMB_fmode6.Text = EnumTranslator.GetDisplayText(Enum.Parse(typeof(Common.ac2modes), MainV2.comPort.param["FLTMODE6"].ToString())); CMB_fmode6.Enabled = true; int simple = int.Parse(MainV2.comPort.param["SIMPLE"].ToString());