static void Main() { Console.WriteLine("If your error is about Microsoft.DirectX.DirectInput, please install the latest directx redist from here http://www.microsoft.com/en-us/download/details.aspx?id=35 \n\n"); Application.EnableVisualStyles(); XmlConfigurator.Configure(); log.Info("******************* Logging Configured *******************"); Application.SetCompatibleTextRenderingDefault(false); Application.ThreadException += Application_ThreadException; AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); // fix ssl on mono ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback((sender, certificate, chain, policyErrors) => { return true; }); //Application.Idle += Application_Idle; //MagCalib.ProcessLog(); //MessageBox.Show("NOTE: This version may break advanced mission scripting"); //Common.linearRegression(); //Console.WriteLine(srtm.getAltitude(-35.115676879882812, 117.94178754638671,20)); // Console.ReadLine(); // return; /* Arduino.ArduinoSTKv2 comport = new Arduino.ArduinoSTKv2(); comport.PortName = "com8"; comport.BaudRate = 115200; comport.Open(); Arduino.Chip.Populate(); if (comport.connectAP()) { Arduino.Chip chip = comport.getChipType(); Console.WriteLine(chip); } Console.ReadLine(); return; */ /* Comms.SerialPort sp = new Comms.SerialPort(); sp.PortName = "com8"; sp.BaudRate = 115200; CurrentState cs = new CurrentState(); MAVLink mav = new MAVLink(); mav.BaseStream = sp; mav.Open(); HIL.XPlane xp = new HIL.XPlane(); xp.SetupSockets(49005, 49000, "127.0.0.1"); HIL.Hil.sitl_fdm data = new HIL.Hil.sitl_fdm(); while (true) { while (mav.BaseStream.BytesToRead > 0) mav.readPacket(); // update all stats cs.UpdateCurrentSettings(null); xp.GetFromSim(ref data); xp.GetFromAP(); // no function xp.SendToAP(data); xp.SendToSim(); MAVLink.mavlink_rc_channels_override_t rc = new MAVLink.mavlink_rc_channels_override_t(); rc.chan3_raw = 1500; mav.sendPacket(rc); } */ /* MAVLink mav = new MAVLink(); mav.BaseStream = new Comms.CommsFile() { PortName = @"C:\Users\hog\AppData\Roaming\Skype\My Skype Received Files\2013-06-12 15-11-00.tlog" }; mav.Open(false); while (mav.BaseStream.BytesToRead > 0) { byte[] packet = mav.readPacket(); mav.DebugPacket(packet, true); } */ // return; // OSDVideo vid = new OSDVideo(); // vid.ShowDialog(); // return; // new Swarm.Control().ShowDialog(); // return; // using (MainV3 main = new MainV3(1024, 768)) { // main.Title = "Mission Planner"; // main.Run(30.0, 0.0); } // return; //Utilities.S3Uploader s3 = new Utilities.S3Uploader(""); //s3.UploadTlog(@"C:\Users\hog\Documents\apm logs\2012-10-27 15-05-54.tlog"); float t1 = 180; float t2 = -180; float t3 = -37.123456789f; float t4 = 37.123456789f; float t5 = 150.123456789f; Console.WriteLine("7 digits {0} {1} {2} {3} {4}",t1,t2,t3,t4,t5); if (File.Exists("simple.txt")) { Application.Run(new GCSViews.Simple()); return; } Splash = new ArdupilotMega.Splash(); Splash.Show(); Application.DoEvents(); try { Thread.CurrentThread.Name = "Base Thread"; Application.Run(new MainV2()); } catch (Exception ex) { log.Fatal("Fatal app exception", ex); Console.WriteLine(ex.ToString()); Console.WriteLine("\nPress any key to exit!"); Console.ReadLine(); } }
static void Main() { Console.WriteLine("If your error is about Microsoft.DirectX.DirectInput, please install the latest directx redist from here http://www.microsoft.com/en-us/download/details.aspx?id=35 \n\n"); Application.EnableVisualStyles(); XmlConfigurator.Configure(); log.Info("******************* Logging Configured *******************"); Application.SetCompatibleTextRenderingDefault(false); Application.ThreadException += Application_ThreadException; AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); Application.Idle += Application_Idle; //MagCalib.ProcessLog(); //MessageBox.Show("NOTE: This version may break advanced mission scripting"); //Common.linearRegression(); //Console.WriteLine(srtm.getAltitude(-35.115676879882812, 117.94178754638671,20)); // Console.ReadLine(); // return; /* Arduino.ArduinoSTKv2 comport = new Arduino.ArduinoSTKv2(); comport.PortName = "com8"; comport.BaudRate = 115200; comport.Open(); Arduino.Chip.Populate(); if (comport.connectAP()) { Arduino.Chip chip = comport.getChipType(); Console.WriteLine(chip); } Console.ReadLine(); return; */ /* Comms.SerialPort sp = new Comms.SerialPort(); sp.PortName = "com8"; sp.BaudRate = 115200; CurrentState cs = new CurrentState(); MAVLink mav = new MAVLink(); mav.BaseStream = sp; mav.Open(); HIL.XPlane xp = new HIL.XPlane(); xp.SetupSockets(49005, 49000, "127.0.0.1"); HIL.Hil.sitl_fdm data = new HIL.Hil.sitl_fdm(); while (true) { while (mav.BaseStream.BytesToRead > 0) mav.readPacket(); // update all stats cs.UpdateCurrentSettings(null); xp.GetFromSim(ref data); xp.GetFromAP(); // no function xp.SendToAP(data); xp.SendToSim(); MAVLink.mavlink_rc_channels_override_t rc = new MAVLink.mavlink_rc_channels_override_t(); rc.chan3_raw = 1500; mav.sendPacket(rc); } */ /* MAVLink mav = new MAVLink(); mav.BaseStream = new Comms.CommsFile() { PortName = @"C:\Users\hog\Documents\Visual Studio 2010\Projects\ArdupilotMega\ArdupilotMega\bin\Debug\logs\2012-09-09 15-07-25.tlog" }; mav.Open(true); while (mav.BaseStream.BytesToRead > 0) { byte[] packet = mav.readPacket(); mav.DebugPacket(packet, true); } */ Splash = new ArdupilotMega.Splash(); Splash.Show(); try { Thread.CurrentThread.Name = "Base Thread"; Application.Run(new MainV2()); } catch (Exception ex) { log.Fatal("Fatal app exception", ex); Console.WriteLine(ex.ToString()); Console.WriteLine("\nPress any key to exit!"); Console.ReadLine(); } }
static void Main() { Console.WriteLine("If your error is about Microsoft.DirectX.DirectInput, please install the latest directx redist from here http://www.microsoft.com/en-us/download/details.aspx?id=35 \n\n"); Application.EnableVisualStyles(); XmlConfigurator.Configure(); log.Info("******************* Logging Configured *******************"); Application.SetCompatibleTextRenderingDefault(false); Application.ThreadException += Application_ThreadException; AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); // fix ssl on mono ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback((sender, certificate, chain, policyErrors) => { return(true); }); CustomMessageBox.ApplyTheme += ArdupilotMega.Utilities.ThemeManager.ApplyThemeTo; ArdupilotMega.Controls.MainSwitcher.ApplyTheme += ArdupilotMega.Utilities.ThemeManager.ApplyThemeTo; MissionPlanner.Controls.InputBox.ApplyTheme += ArdupilotMega.Utilities.ThemeManager.ApplyThemeTo; MissionPlanner.Comms.CommsBase.Settings += CommsBase_Settings; // string[] files = Directory.GetFiles(@"C:\Users\hog\Documents\apm logs\","*.tlog"); // foreach (string file in files) { // Console.WriteLine(Magfitrotation.magfit(file)); // } // Magfitrotation.magfit(@"C:\Users\hog\Downloads\flight.tlog.raw"); //return; // MissionPlanner.Utilities.CleanDrivers.Clean(); //Application.Idle += Application_Idle; //MagCalib.ProcessLog(); //MessageBox.Show("NOTE: This version may break advanced mission scripting"); //Common.linearRegression(); //Console.WriteLine(srtm.getAltitude(-35.115676879882812, 117.94178754638671,20)); // Console.ReadLine(); // return; /* * Arduino.ArduinoSTKv2 comport = new Arduino.ArduinoSTKv2(); * * comport.PortName = "com8"; * * comport.BaudRate = 115200; * * comport.Open(); * * Arduino.Chip.Populate(); * * if (comport.connectAP()) * { * Arduino.Chip chip = comport.getChipType(); * Console.WriteLine(chip); * } * Console.ReadLine(); * * return; */ /* * Comms.SerialPort sp = new Comms.SerialPort(); * * sp.PortName = "com8"; * sp.BaudRate = 115200; * * CurrentState cs = new CurrentState(); * * MAVLink mav = new MAVLink(); * * mav.BaseStream = sp; * * mav.Open(); * * HIL.XPlane xp = new HIL.XPlane(); * * xp.SetupSockets(49005, 49000, "127.0.0.1"); * * HIL.Hil.sitl_fdm data = new HIL.Hil.sitl_fdm(); * * while (true) * { * while (mav.BaseStream.BytesToRead > 0) * mav.readPacket(); * * // update all stats * cs.UpdateCurrentSettings(null); * * xp.GetFromSim(ref data); * xp.GetFromAP(); // no function * * xp.SendToAP(data); * xp.SendToSim(); * * MAVLink.mavlink_rc_channels_override_t rc = new MAVLink.mavlink_rc_channels_override_t(); * * rc.chan3_raw = 1500; * * mav.sendPacket(rc); * * } */ /* * MAVLink mav = new MAVLink(); * * mav.BaseStream = new Comms.CommsFile() * { * PortName = @"C:\Users\hog\AppData\Roaming\Skype\My Skype Received Files\2013-06-12 15-11-00.tlog" * }; * * mav.Open(false); * * while (mav.BaseStream.BytesToRead > 0) * { * * byte[] packet = mav.readPacket(); * * mav.DebugPacket(packet, true); * } */ // return; // OSDVideo vid = new OSDVideo(); // vid.ShowDialog(); // return; // new Swarm.Control().ShowDialog(); // return; // Application.Run(new GenOTP()); //Utilities.RSA rsa = new Utilities.RSA(); //rsa.testit(); // return; //Utilities.S3Uploader s3 = new Utilities.S3Uploader(""); //s3.UploadTlog(@"C:\Users\hog\Documents\apm logs\2012-10-27 15-05-54.tlog"); float t1 = 180; float t2 = -180; float t3 = -37.123456789f; float t4 = 37.123456789f; float t5 = 150.123456789f; Console.WriteLine("7 digits {0} {1} {2} {3} {4}", t1, t2, t3, t4, t5); if (File.Exists("simple.txt")) { Application.Run(new GCSViews.Simple()); return; } Splash = new ArdupilotMega.Splash(); Splash.Show(); Application.DoEvents(); try { Thread.CurrentThread.Name = "Base Thread"; Application.Run(new MainV2()); } catch (Exception ex) { log.Fatal("Fatal app exception", ex); Console.WriteLine(ex.ToString()); Console.WriteLine("\nPress any key to exit!"); Console.ReadLine(); } }
public MainV2() { log.Info("Mainv2 ctor"); Form splash = new Splash(); splash.Show(); 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(); 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.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.ConfigurationView.Setup(); Simulation = new GCSViews.Simulation(); //Firmware = new GCSViews.Firmware(); //Terminal = new GCSViews.Terminal(); // preload 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 Please install this http://www.microsoft.com/en-us/download/details.aspx?id=16083"); this.Close(); } catch (Exception e) { log.Fatal(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["CMB_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(); }