public FlightData() { InitializeComponent(); instance = this; mymap = gMapControl1; myhud = hud1; MainHcopy = MainH; // setup default tuning graph if (MainV2.config["Tuning_Graph_Selected"] != null) { string line = MainV2.config["Tuning_Graph_Selected"].ToString(); string[] lines = line.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); foreach (string option in lines) { chk_box_CheckedChanged((object)(new CheckBox() { Name = option, Checked = true }), new EventArgs()); } } else { chk_box_CheckedChanged((object)(new CheckBox() { Name = "roll", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "pitch", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_roll", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_pitch", Checked = true }), new EventArgs()); } List<string> list = new List<string>(); //foreach (object obj in Enum.GetValues(typeof(MAVLink09.MAV_ACTION))) #if MAVLINK10 { list.Add("LOITER_UNLIM"); list.Add("RETURN_TO_LAUNCH"); list.Add("PREFLIGHT_CALIBRATION"); } #else { list.Add("RETURN"); list.Add("HALT"); list.Add("CONTINUE"); list.Add("SET_MANUAL"); list.Add("SET_AUTO"); list.Add("STORAGE_READ"); list.Add("STORAGE_WRITE"); list.Add("CALIBRATE_RC"); list.Add("NAVIGATE"); list.Add("LOITER"); list.Add("TAKEOFF"); list.Add("CALIBRATE_GYRO"); } #endif CMB_action.DataSource = list; CMB_modes.DataSource = Common.getModesList(); CMB_modes.ValueMember = "Key"; CMB_modes.DisplayMember = "Value"; CMB_setwp.SelectedIndex = 0; zg1.Visible = true; CreateChart(zg1); // config map gMapControl1.MapType = MapType.GoogleSatellite; gMapControl1.MinZoom = 1; gMapControl1.CacheLocation = Path.GetDirectoryName(Application.ExecutablePath) + "/gmapcache/"; gMapControl1.OnMapZoomChanged += new MapZoomChanged(gMapControl1_OnMapZoomChanged); gMapControl1.Zoom = 3; gMapControl1.RoutesEnabled = true; gMapControl1.PolygonsEnabled = true; kmlpolygons = new GMapOverlay(gMapControl1, "kmlpolygons"); gMapControl1.Overlays.Add(kmlpolygons); geofence = new GMapOverlay(gMapControl1, "geofence"); gMapControl1.Overlays.Add(geofence); polygons = new GMapOverlay(gMapControl1, "polygons"); gMapControl1.Overlays.Add(polygons); routes = new GMapOverlay(gMapControl1, "routes"); gMapControl1.Overlays.Add(routes); try { if (MainV2.getConfig("GspeedMAX") != "") { Gspeed.MaxValue = float.Parse(MainV2.getConfig("GspeedMAX")); } } catch { } }
public MainV2() { log.Info("Mainv2 ctor"); Form splash = Program.Splash; string strVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); strVersion = "mav " + MAVLink.MAVLINK_WIRE_PROTOCOL_VERSION; splash.Text = "Mission Planner " + Application.ProductVersion + " " + strVersion; splash.Refresh(); Application.DoEvents(); instance = this; InitializeComponent(); MenuFlightPlanner.Image = new Bitmap(MissionPlanner.Properties.Resources.flightplanner); MyView = new MainSwitcher(this); View = MyView; _connectionControl = toolStripConnectionControl.ConnectionControl; _connectionControl.CMB_baudrate.TextChanged += this.CMB_baudrate_TextChanged; _connectionControl.CMB_baudrate.SelectedIndexChanged += this.CMB_baudrate_SelectedIndexChanged; _connectionControl.CMB_serialport.SelectedIndexChanged += this.CMB_serialport_SelectedIndexChanged; _connectionControl.CMB_serialport.Enter += this.CMB_serialport_Enter; _connectionControl.CMB_serialport.Click += this.CMB_serialport_Click; _connectionControl.TOOL_APMFirmware.SelectedIndexChanged += this.TOOL_APMFirmware_SelectedIndexChanged; _connectionControl.ShowLinkStats += (sender, e) => ShowConnectionStatsForm(); srtm.datadirectory = Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "srtm"; var t = Type.GetType("Mono.Runtime"); MONO = (t != null); speechEngine = new Speech(); // proxy loader - dll load now instead of on config form load new Transition(new TransitionType_EaseInEaseOut(2000)); //MyRenderer.currentpressed = MenuFlightData; //MainMenu.Renderer = new MyRenderer(); foreach (object obj in Enum.GetValues(typeof(Firmwares))) { _connectionControl.TOOL_APMFirmware.Items.Add(obj); } if (_connectionControl.TOOL_APMFirmware.Items.Count > 0) _connectionControl.TOOL_APMFirmware.SelectedIndex = 0; this.Text = splash.Text; comPort.BaseStream.BaudRate = 115200; // ** Old // CMB_serialport.Items.AddRange(SerialPort.GetPortNames()); // CMB_serialport.Items.Add("TCP"); // CMB_serialport.Items.Add("UDP"); // if (CMB_serialport.Items.Count > 0) // { // CMB_baudrate.SelectedIndex = 7; // CMB_serialport.SelectedIndex = 0; // } // ** new _connectionControl.CMB_serialport.Items.Add("AUTO"); _connectionControl.CMB_serialport.Items.AddRange(SerialPort.GetPortNames()); _connectionControl.CMB_serialport.Items.Add("TCP"); _connectionControl.CMB_serialport.Items.Add("UDP"); if (_connectionControl.CMB_serialport.Items.Count > 0) { _connectionControl.CMB_baudrate.SelectedIndex = 7; _connectionControl.CMB_serialport.SelectedIndex = 0; } // ** Done splash.Refresh(); Application.DoEvents(); // set this before we reset it MainV2.config["NUM_tracklength"] = "200"; // load config xmlconfig(false); if (config.ContainsKey("language") && !string.IsNullOrEmpty((string)config["language"])) changelanguage(CultureInfoEx.GetCultureInfo((string)config["language"])); if (!MONO) // windows only { if (MainV2.config["showconsole"] != null && MainV2.config["showconsole"].ToString() == "True") { } else { int win = NativeMethods.FindWindow("ConsoleWindowClass", null); NativeMethods.ShowWindow(win, NativeMethods.SW_HIDE); // hide window } } ChangeUnits(); if (config["theme"] != null) { ThemeManager.SetTheme((ThemeManager.Themes)Enum.Parse(typeof(ThemeManager.Themes), MainV2.config["theme"].ToString())); if (ThemeManager.CurrentTheme == ThemeManager.Themes.Custom) { try { ThemeManager.BGColor = Color.FromArgb(int.Parse(MainV2.config["theme_bg"].ToString())); ThemeManager.ControlBGColor = Color.FromArgb(int.Parse(MainV2.config["theme_ctlbg"].ToString())); ThemeManager.TextColor = Color.FromArgb(int.Parse(MainV2.config["theme_text"].ToString())); ThemeManager.ButBG = Color.FromArgb(int.Parse(MainV2.config["theme_butbg"].ToString())); ThemeManager.ButBorder = Color.FromArgb(int.Parse(MainV2.config["theme_butbord"].ToString())); } catch { log.Error("Bad Custom theme - reset to standard"); ThemeManager.SetTheme(ThemeManager.Themes.BurntKermit); } } } try { log.Info("Create FD"); FlightData = new GCSViews.FlightData(); log.Info("Create FP"); FlightPlanner = new GCSViews.FlightPlanner(); //Configuration = new GCSViews.ConfigurationView.Setup(); log.Info("Create SIM"); Simulation = new GCSViews.Simulation(); //Firmware = new GCSViews.Firmware(); //Terminal = new GCSViews.Terminal(); // preload log.Info("Create Python"); Python.CreateEngine(); } catch (ArgumentException e) { //http://www.microsoft.com/en-us/download/details.aspx?id=16083 //System.ArgumentException: Font 'Arial' does not support style 'Regular'. log.Fatal(e); CustomMessageBox.Show(e.ToString() + "\n\n Font Issues? Please install this http://www.microsoft.com/en-us/download/details.aspx?id=16083"); //splash.Close(); //this.Close(); Application.Exit(); } catch (Exception e) { log.Fatal(e); CustomMessageBox.Show("A Major error has occured : " + e.ToString()); Application.Exit(); } if (MainV2.config["CHK_GDIPlus"] != null) GCSViews.FlightData.myhud.UseOpenGL = !bool.Parse(MainV2.config["CHK_GDIPlus"].ToString()); try { if (config["MainLocX"] != null && config["MainLocY"] != null) { this.StartPosition = FormStartPosition.Manual; Point startpos = new Point(int.Parse(config["MainLocX"].ToString()), int.Parse(config["MainLocY"].ToString())); this.Location = startpos; } if (config["MainMaximised"] != null) { this.WindowState = (FormWindowState)Enum.Parse(typeof(FormWindowState), config["MainMaximised"].ToString()); // dont allow minimised start state if (this.WindowState == FormWindowState.Minimized) { this.WindowState = FormWindowState.Normal; this.Location = new Point(100, 100); } } if (config["MainHeight"] != null) this.Height = int.Parse(config["MainHeight"].ToString()); if (config["MainWidth"] != null) this.Width = int.Parse(config["MainWidth"].ToString()); if (config["CMB_rateattitude"] != null) MainV2.comPort.MAV.cs.rateattitude = byte.Parse(config["CMB_rateattitude"].ToString()); if (config["CMB_rateposition"] != null) MainV2.comPort.MAV.cs.rateposition = byte.Parse(config["CMB_rateposition"].ToString()); if (config["CMB_ratestatus"] != null) MainV2.comPort.MAV.cs.ratestatus = byte.Parse(config["CMB_ratestatus"].ToString()); if (config["CMB_raterc"] != null) MainV2.comPort.MAV.cs.raterc = byte.Parse(config["CMB_raterc"].ToString()); if (config["CMB_ratesensors"] != null) MainV2.comPort.MAV.cs.ratesensors = byte.Parse(config["CMB_ratesensors"].ToString()); if (config["speechenable"] != null) MainV2.speechEnable = bool.Parse(config["speechenable"].ToString()); //int fixme; /* MainV2.comPort.MAV.cs.rateattitude = 50; MainV2.comPort.MAV.cs.rateposition = 50; MainV2.comPort.MAV.cs.ratestatus = 50; MainV2.comPort.MAV.cs.raterc = 50; MainV2.comPort.MAV.cs.ratesensors = 50; */ try { if (config["TXT_homelat"] != null) MainV2.comPort.MAV.cs.HomeLocation.Lat = double.Parse(config["TXT_homelat"].ToString()); if (config["TXT_homelng"] != null) MainV2.comPort.MAV.cs.HomeLocation.Lng = double.Parse(config["TXT_homelng"].ToString()); if (config["TXT_homealt"] != null) MainV2.comPort.MAV.cs.HomeLocation.Alt = double.Parse(config["TXT_homealt"].ToString()); } catch { } } catch { } if (MainV2.comPort.MAV.cs.rateattitude == 0) // initilised to 10, configured above from save { CustomMessageBox.Show("NOTE: your attitude rate is 0, the hud will not work\nChange in Configuration > Planner > Telemetry Rates"); } // log dir if (config["logdirectory"] != null) MainV2.LogDir = config["logdirectory"].ToString(); //System.Threading.Thread.Sleep(2000); // make sure new enough .net framework is installed if (!MONO) { Microsoft.Win32.RegistryKey installed_versions = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP"); string[] version_names = installed_versions.GetSubKeyNames(); //version names start with 'v', eg, 'v3.5' which needs to be trimmed off before conversion double Framework = Convert.ToDouble(version_names[version_names.Length - 1].Remove(0, 1), CultureInfo.InvariantCulture); int SP = Convert.ToInt32(installed_versions.OpenSubKey(version_names[version_names.Length - 1]).GetValue("SP", 0)); if (Framework < 3.5) { CustomMessageBox.Show("This program requires .NET Framework 3.5. You currently have " + Framework); } } Application.DoEvents(); Comports.Add(comPort); //int fixmenextrelease; // if (MainV2.getConfig("fixparams") == "") { // Utilities.ParameterMetaDataParser.GetParameterInformation(); // MainV2.config["fixparams"] = 1; } splash.Close(); }
public FlightData() { InitializeComponent(); instance = this; _serializer = new DockStateSerializer(dockContainer1); _serializer.SavePath = Application.StartupPath + Path.DirectorySeparatorChar + "FDscreen.xml"; dockContainer1.PreviewRenderer = new PreviewRenderer(); mymap = gMapControl1; myhud = hud1; MainHcopy = MainH; // setup default tuning graph if (MainV2.config["Tuning_Graph_Selected"] != null) { string line = MainV2.config["Tuning_Graph_Selected"].ToString(); string[] lines = line.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); foreach (string option in lines) { chk_box_CheckedChanged((object)(new CheckBox() { Name = option, Checked = true }), new EventArgs()); } } else { chk_box_CheckedChanged((object)(new CheckBox() { Name = "roll", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "pitch", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_roll", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_pitch", Checked = true }), new EventArgs()); } for (int f = 1; f < 10; f++) { // load settings if (MainV2.config["quickView" + f] != null) { Control[] ctls = this.Controls.Find("quickView" + f, true); if (ctls.Length > 0) { // set description ((QuickView)ctls[0]).desc = MainV2.config["quickView" + f].ToString(); // set databinding for value ((QuickView)ctls[0]).DataBindings.Clear(); ((QuickView)ctls[0]).DataBindings.Add(new System.Windows.Forms.Binding("number", this.bindingSource1, MainV2.config["quickView" + f].ToString(), true)); } } } foreach (string item in MainV2.config.Keys) { if (item.StartsWith("hud1_useritem_")) { string selection = item.Replace("hud1_useritem_", ""); CheckBox chk = new CheckBox(); chk.Name = selection; chk.Checked = true; HUD.Custom cust = new HUD.Custom(); cust.Header = MainV2.config[item].ToString(); addHudUserItem(ref cust, chk); } } List<string> list = new List<string>(); { list.Add("LOITER_UNLIM"); list.Add("RETURN_TO_LAUNCH"); list.Add("PREFLIGHT_CALIBRATION"); list.Add("MISSION_START"); list.Add("PREFLIGHT_REBOOT_SHUTDOWN"); //DO_SET_SERVO //DO_REPEAT_SERVO } CMB_action.DataSource = list; CMB_modes.DataSource = Common.getModesList(); CMB_modes.ValueMember = "Key"; CMB_modes.DisplayMember = "Value"; CMB_setwp.SelectedIndex = 0; zg1.Visible = true; CreateChart(zg1); // config map gMapControl1.MapType = MapType.GoogleSatellite; gMapControl1.MinZoom = 1; gMapControl1.CacheLocation = Path.GetDirectoryName(Application.ExecutablePath) + "/gmapcache/"; gMapControl1.OnMapZoomChanged += new MapZoomChanged(gMapControl1_OnMapZoomChanged); gMapControl1.Zoom = 3; gMapControl1.RoutesEnabled = true; gMapControl1.PolygonsEnabled = true; kmlpolygons = new GMapOverlay(gMapControl1, "kmlpolygons"); gMapControl1.Overlays.Add(kmlpolygons); geofence = new GMapOverlay(gMapControl1, "geofence"); gMapControl1.Overlays.Add(geofence); polygons = new GMapOverlay(gMapControl1, "polygons"); gMapControl1.Overlays.Add(polygons); routes = new GMapOverlay(gMapControl1, "routes"); gMapControl1.Overlays.Add(routes); try { if (MainV2.getConfig("GspeedMAX") != "") { Gspeed.MaxValue = float.Parse(MainV2.getConfig("GspeedMAX")); } } catch { } if (MainV2.MONO) { MainH.Dock = DockStyle.Fill; MainH.Visible = true; } else { log.Info("1-"+ DateTime.Now); SetupDocking(); log.Info("2-" + DateTime.Now); if (File.Exists(_serializer.SavePath) == true ) { FileInfo fi = new FileInfo(_serializer.SavePath); if (fi.Length > 500) { try { _serializer.Load(true, GetFormFromGuid); log.Info("3-" + DateTime.Now); } catch (Exception ex) { log.Info(ex); try { SetupDocking(); } catch (Exception ex2) { log.Info(ex2); } } } } log.Info("D-" + DateTime.Now); } }
public MainV2() { Form splash = new Splash(); splash.Show(); string strVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); strVersion = "mav " + MAVLink.MAVLINK_WIRE_PROTOCOL_VERSION; splash.Text = "APM Planner " + Application.ProductVersion + " " + strVersion + " By Michael Oborne"; splash.Refresh(); Application.DoEvents(); instance = this; InitializeComponent(); _connectionControl = toolStripConnectionControl.ConnectionControl; _connectionControl.CMB_baudrate.TextChanged += this.CMB_baudrate_TextChanged; _connectionControl.CMB_baudrate.SelectedIndexChanged += this.CMB_baudrate_SelectedIndexChanged; _connectionControl.CMB_serialport.SelectedIndexChanged += this.CMB_serialport_SelectedIndexChanged; _connectionControl.CMB_serialport.Enter += this.CMB_serialport_Enter; _connectionControl.CMB_serialport.Click += this.CMB_serialport_Click; _connectionControl.TOOL_APMFirmware.SelectedIndexChanged += this.TOOL_APMFirmware_SelectedIndexChanged; srtm.datadirectory = Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "srtm"; var t = Type.GetType("Mono.Runtime"); MONO = (t != null); speechEngine = new Speech(); MyRenderer.currentpressed = MenuFlightData; MainMenu.Renderer = new MyRenderer(); List<object> list = new List<object>(); foreach (object obj in Enum.GetValues(typeof(Firmwares))) { _connectionControl.TOOL_APMFirmware.Items.Add(obj); } if (_connectionControl.TOOL_APMFirmware.Items.Count > 0) _connectionControl.TOOL_APMFirmware.SelectedIndex = 0; this.Text = splash.Text; comPort.BaseStream.BaudRate = 115200; // ** Old // CMB_serialport.Items.AddRange(SerialPort.GetPortNames()); // CMB_serialport.Items.Add("TCP"); // CMB_serialport.Items.Add("UDP"); // if (CMB_serialport.Items.Count > 0) // { // CMB_baudrate.SelectedIndex = 7; // CMB_serialport.SelectedIndex = 0; // } // ** new _connectionControl.CMB_serialport.Items.AddRange(ArdupilotMega.Comms.SerialPort.GetPortNames()); _connectionControl.CMB_serialport.Items.Add("TCP"); _connectionControl.CMB_serialport.Items.Add("UDP"); if (_connectionControl.CMB_serialport.Items.Count > 0) { _connectionControl.CMB_baudrate.SelectedIndex = 7; _connectionControl.CMB_serialport.SelectedIndex = 0; } // ** Done splash.Refresh(); Application.DoEvents(); // set this before we reset it MainV2.config["NUM_tracklength"] = "200"; xmlconfig(false); if (config.ContainsKey("language") && !string.IsNullOrEmpty((string)config["language"])) changelanguage(CultureInfoEx.GetCultureInfo((string)config["language"])); if (!MONO) // windows only { if (MainV2.config["showconsole"] != null && MainV2.config["showconsole"].ToString() == "True") { } else { int win = FindWindow("ConsoleWindowClass", null); ShowWindow(win, SW_HIDE); // hide window } } try { FlightData = new GCSViews.FlightData(); FlightPlanner = new GCSViews.FlightPlanner(); //Configuration = new GCSViews.Configuration(); Simulation = new GCSViews.Simulation(); Firmware = new GCSViews.Firmware(); //Terminal = new GCSViews.Terminal(); // preload Python.CreateEngine(); } catch (Exception e) { CustomMessageBox.Show("A Major error has occured : " + e.ToString()); this.Close(); } if (MainV2.config["CHK_GDIPlus"] != null) GCSViews.FlightData.myhud.UseOpenGL = !bool.Parse(MainV2.config["CHK_GDIPlus"].ToString()); ChangeUnits(); try { if (config["MainLocX"] != null && config["MainLocY"] != null) { this.StartPosition = FormStartPosition.Manual; Point startpos = new Point(int.Parse(config["MainLocX"].ToString()), int.Parse(config["MainLocY"].ToString())); this.Location = startpos; } if (config["MainMaximised"] != null) { this.WindowState = (FormWindowState)Enum.Parse(typeof(FormWindowState), config["MainMaximised"].ToString()); // dont allow minimised start state if (this.WindowState == FormWindowState.Minimized) { this.WindowState = FormWindowState.Normal; this.Location = new Point(100, 100); } } if (config["MainHeight"] != null) this.Height = int.Parse(config["MainHeight"].ToString()); if (config["MainWidth"] != null) this.Width = int.Parse(config["MainWidth"].ToString()); if (config["CMB_rateattitude"] != null) MainV2.cs.rateattitude = byte.Parse(config["CMB_rateattitude"].ToString()); if (config["rateposition"] != null) MainV2.cs.rateposition = byte.Parse(config["CMB_rateposition"].ToString()); if (config["CMB_ratestatus"] != null) MainV2.cs.ratestatus = byte.Parse(config["CMB_ratestatus"].ToString()); if (config["CMB_raterc"] != null) MainV2.cs.raterc = byte.Parse(config["CMB_raterc"].ToString()); if (config["CMB_ratesensors"] != null) MainV2.cs.ratesensors = byte.Parse(config["CMB_ratesensors"].ToString()); if (config["speechenable"] != null) MainV2.speechEnable = bool.Parse(config["speechenable"].ToString()); //int fixme; /* MainV2.cs.rateattitude = 50; MainV2.cs.rateposition = 50; MainV2.cs.ratestatus = 50; MainV2.cs.raterc = 50; MainV2.cs.ratesensors = 50; */ try { if (config["TXT_homelat"] != null) cs.HomeLocation.Lat = double.Parse(config["TXT_homelat"].ToString()); if (config["TXT_homelng"] != null) cs.HomeLocation.Lng = double.Parse(config["TXT_homelng"].ToString()); if (config["TXT_homealt"] != null) cs.HomeLocation.Alt = double.Parse(config["TXT_homealt"].ToString()); } catch { } } catch { } if (cs.rateattitude == 0) // initilised to 10, configured above from save { CustomMessageBox.Show("NOTE: your attitude rate is 0, the hud will not work\nChange in Configuration > Planner > Telemetry Rates"); } //System.Threading.Thread.Sleep(2000); // make sure new enough .net framework is installed if (!MONO) { Microsoft.Win32.RegistryKey installed_versions = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP"); string[] version_names = installed_versions.GetSubKeyNames(); //version names start with 'v', eg, 'v3.5' which needs to be trimmed off before conversion double Framework = Convert.ToDouble(version_names[version_names.Length - 1].Remove(0, 1), CultureInfo.InvariantCulture); int SP = Convert.ToInt32(installed_versions.OpenSubKey(version_names[version_names.Length - 1]).GetValue("SP", 0)); if (Framework < 3.5) { CustomMessageBox.Show("This program requires .NET Framework 3.5. You currently have " + Framework); } } Application.DoEvents(); splash.Close(); }
public MainV2() { Form splash = new Splash(); splash.Show(); string strVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); strVersion = ""; splash.Text = "APM Planner " + Application.ProductVersion + " " + strVersion + " By Michael Oborne"; splash.Refresh(); Application.DoEvents(); //System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); //System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); srtm.datadirectory = Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "srtm"; georefimage temp = new georefimage(); //temp.dowork(244 + 60*60*24 * -1 ); //return; // preload Python.CreateEngine(); var t = Type.GetType("Mono.Runtime"); MONO = (t != null); //talk.SpeakAsync("Welcome to APM Planner"); InitializeComponent(); MyRenderer.currentpressed = MenuFlightData; MainMenu.Renderer = new MyRenderer(); List<object> list = new List<object>(); foreach (object obj in Enum.GetValues(typeof(Firmwares))) { TOOL_APMFirmware.Items.Add(obj); } if (TOOL_APMFirmware.Items.Count > 0) TOOL_APMFirmware.SelectedIndex = 0; this.Text = splash.Text; comPort.BaseStream.BaudRate = 115200; CMB_serialport.Items.AddRange(SerialPort.GetPortNames()); CMB_serialport.Items.Add("TCP"); CMB_serialport.Items.Add("UDP"); if (CMB_serialport.Items.Count > 0) { CMB_serialport.SelectedIndex = 0; CMB_baudrate.SelectedIndex = 7; } splash.Refresh(); Application.DoEvents(); // set this before we reset it MainV2.config["NUM_tracklength"] = "200"; xmlconfig(false); if (config.ContainsKey("language") && !string.IsNullOrEmpty((string)config["language"])) changelanguage(getcultureinfo((string)config["language"])); if (!MONO) // windows only { if (MainV2.config["showconsole"] != null && MainV2.config["showconsole"].ToString() == "True") { } else { int win = FindWindow("ConsoleWindowClass", null); ShowWindow(win, SW_HIDE); // hide window } } try { FlightData = new GCSViews.FlightData(); FlightPlanner = new GCSViews.FlightPlanner(); //Configuration = new GCSViews.Configuration(); Simulation = new GCSViews.Simulation(); Firmware = new GCSViews.Firmware(); //Terminal = new GCSViews.Terminal(); } catch (Exception e) { MessageBox.Show("A Major error has occured : " + e.ToString()); this.Close(); } if (MainV2.config["CHK_GDIPlus"] != null) GCSViews.FlightData.myhud.UseOpenGL = !bool.Parse(MainV2.config["CHK_GDIPlus"].ToString()); changeunits(); try { if (config["MainHeight"] != null) this.Height = int.Parse(config["MainHeight"].ToString()); if (config["MainWidth"] != null) this.Width = int.Parse(config["MainWidth"].ToString()); if (config["MainMaximised"] != null) this.WindowState = (FormWindowState)Enum.Parse(typeof(FormWindowState), config["MainMaximised"].ToString()); if (config["CMB_rateattitude"] != null) MainV2.cs.rateattitude = byte.Parse(config["CMB_rateattitude"].ToString()); if (config["CMB_rateattitude"] != null) MainV2.cs.rateposition = byte.Parse(config["CMB_rateposition"].ToString()); if (config["CMB_rateattitude"] != null) MainV2.cs.ratestatus = byte.Parse(config["CMB_ratestatus"].ToString()); if (config["CMB_rateattitude"] != null) MainV2.cs.raterc = byte.Parse(config["CMB_raterc"].ToString()); if (config["speechenable"] != null) MainV2.speechenable = bool.Parse(config["speechenable"].ToString()); } catch { } if (cs.rateattitude == 0) // initilised to 10, configured above from save { MessageBox.Show("NOTE: your attitude rate is 0, the hud will not work\nChange in Configuration > Planner > Telemetry Rates"); } //System.Threading.Thread.Sleep(2000); // make sure new enough .net framework is installed if (!MONO) { Microsoft.Win32.RegistryKey installed_versions = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP"); string[] version_names = installed_versions.GetSubKeyNames(); //version names start with 'v', eg, 'v3.5' which needs to be trimmed off before conversion double Framework = Convert.ToDouble(version_names[version_names.Length - 1].Remove(0, 1), CultureInfo.InvariantCulture); int SP = Convert.ToInt32(installed_versions.OpenSubKey(version_names[version_names.Length - 1]).GetValue("SP", 0)); if (Framework < 4.0) { MessageBox.Show("This program requires .NET Framework 4.0 +. You currently have " + Framework); } } Application.DoEvents(); instance = this; splash.Close(); }
public FlightData() { log.Info("Ctor Start"); InitializeComponent(); log.Info("Components Done"); instance = this; // _serializer = new DockStateSerializer(dockContainer1); // _serializer.SavePath = Application.StartupPath + Path.DirectorySeparatorChar + "FDscreen.xml"; // dockContainer1.PreviewRenderer = new PreviewRenderer(); // mymap = gMapControl1; myhud = hud1; MainHcopy = MainH; // mymap.Manager.UseMemoryCache = false; log.Info("Tunning Graph Settings"); // setup default tuning graph if (MainV2.config["Tuning_Graph_Selected"] != null) { string line = MainV2.config["Tuning_Graph_Selected"].ToString(); string[] lines = line.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); foreach (string option in lines) { chk_box_CheckedChanged((object)(new CheckBox() { Name = option, Checked = true }), new EventArgs()); } } else { chk_box_CheckedChanged((object)(new CheckBox() { Name = "roll", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "pitch", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_roll", Checked = true }), new EventArgs()); chk_box_CheckedChanged((object)(new CheckBox() { Name = "nav_pitch", Checked = true }), new EventArgs()); } log.Info("HUD Settings"); foreach (string item in MainV2.config.Keys) { if (item.StartsWith("hud1_useritem_")) { string selection = item.Replace("hud1_useritem_", ""); CheckBox chk = new CheckBox(); chk.Name = selection; chk.Checked = true; HUD.Custom cust = new HUD.Custom(); cust.Header = MainV2.config[item].ToString(); cust.src = MainV2.comPort.MAV.cs; addHudUserItem(ref cust, chk); } } List<string> list = new List<string>(); { list.Add("LOITER_UNLIM"); list.Add("RETURN_TO_LAUNCH"); list.Add("PREFLIGHT_CALIBRATION"); list.Add("MISSION_START"); list.Add("PREFLIGHT_REBOOT_SHUTDOWN"); //DO_SET_SERVO //DO_REPEAT_SERVO } CMB_action.DataSource = list; CMB_modes.DataSource = Common.getModesList(MainV2.comPort.MAV.cs); CMB_modes.ValueMember = "Key"; CMB_modes.DisplayMember = "Value"; CMB_setwp.SelectedIndex = 0; log.Info("Graph Setup"); CreateChart(zg1); // config map log.Info("Map Setup"); gMapControl1.MapType = MapType.GoogleSatellite; gMapControl1.MinZoom = 1; gMapControl1.CacheLocation = Path.GetDirectoryName(Application.ExecutablePath) + "/gmapcache/"; gMapControl1.OnMapZoomChanged += new MapZoomChanged(gMapControl1_OnMapZoomChanged); gMapControl1.Zoom = 3; gMapControl1.RoutesEnabled = true; gMapControl1.PolygonsEnabled = true; kmlpolygons = new GMapOverlay(gMapControl1, "kmlpolygons"); gMapControl1.Overlays.Add(kmlpolygons); geofence = new GMapOverlay(gMapControl1, "geofence"); gMapControl1.Overlays.Add(geofence); polygons = new GMapOverlay(gMapControl1, "polygons"); gMapControl1.Overlays.Add(polygons); routes = new GMapOverlay(gMapControl1, "routes"); gMapControl1.Overlays.Add(routes); try { if (MainV2.getConfig("GspeedMAX") != "") { Gspeed.MaxValue = float.Parse(MainV2.getConfig("GspeedMAX")); } } catch { } MainV2.comPort.ParamListChanged += FlightData_ParentChanged; }