diff --git a/Tools/ArdupilotMegaPlanner/.gitignore b/Tools/ArdupilotMegaPlanner/.gitignore new file mode 100644 index 0000000000..1ae796f5b6 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/.gitignore @@ -0,0 +1,4 @@ + +*.pfx +*.suo +*.user \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj index 56026b165e..6ac38ed914 100644 --- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj +++ b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj @@ -346,6 +346,7 @@ AGauge.cs + Designer Log.cs diff --git a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj.user b/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj.user deleted file mode 100644 index 175f1fb055..0000000000 --- a/Tools/ArdupilotMegaPlanner/ArdupilotMega.csproj.user +++ /dev/null @@ -1,13 +0,0 @@ - - - - publish/|ftp://vps.oborne.me/ardupilotmegaplanner/|ftp://vps.oborne.me/|ftp://www.vps.oborne.me/ardupilotmegaplanner/|http://www.vps.oborne.me/dav/ardupilotmegaplanner/ - http://www.vps.oborne.me/ardupilotmegaplanner/|http://ardupilot-mega.googlecode.com/svn/Tools/trunk/ArdupilotMegaPlanner/publish/ - http://www.diydrones.com/ - http://www.vps.oborne.me/ardupilotmegaplanner/|http://ardupilot-mega.googlecode.com/svn/Tools/trunk/ArdupilotMegaPlanner/publish/|http://ardupilot-mega.googlecode.com/svn/Tools/trunk/ArdupilotMegaPlanner/Publish/ - - - en-US - false - - \ No newline at end of file diff --git a/Tools/ArdupilotMegaPlanner/Common.cs b/Tools/ArdupilotMegaPlanner/Common.cs index dfcfa8ff09..a9c7314de0 100644 --- a/Tools/ArdupilotMegaPlanner/Common.cs +++ b/Tools/ArdupilotMegaPlanner/Common.cs @@ -384,7 +384,7 @@ namespace ArdupilotMega public static Type getModes() { - if (MainV2.cs.firmware == MainV2.Firmwares.ArduPilotMega) + if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) { return typeof(apmmodes); } diff --git a/Tools/ArdupilotMegaPlanner/CurrentState.cs b/Tools/ArdupilotMegaPlanner/CurrentState.cs index 8165732b3a..71db65033b 100644 --- a/Tools/ArdupilotMegaPlanner/CurrentState.cs +++ b/Tools/ArdupilotMegaPlanner/CurrentState.cs @@ -145,7 +145,7 @@ namespace ArdupilotMega public ushort rcoverridech4 { get; set; } // current firmware - public MainV2.Firmwares firmware = MainV2.Firmwares.ArduPilotMega; + public MainV2.Firmwares firmware = MainV2.Firmwares.ArduPlane; public float freemem { get; set; } public float brklevel { get; set; } diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs index f852dab169..9dba66f3d1 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Configuration.cs @@ -52,7 +52,7 @@ namespace ArdupilotMega.GCSViews // enable disable relevbant hardware tabs - if (MainV2.APMFirmware == MainV2.Firmwares.ArduPilotMega) + if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane) { ConfigTabs.SelectedIndex = 0; TabAPM2.Enabled = true; @@ -524,7 +524,7 @@ namespace ArdupilotMega.GCSViews { StreamWriter sw = new StreamWriter(sfd.OpenFile()); string input = DateTime.Now + " Frame : + | Arducopter Kit | Kit motors"; - if (MainV2.APMFirmware == MainV2.Firmwares.ArduPilotMega) + if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane) { input = DateTime.Now + " Plane: Skywalker"; } diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs index 80e484bec9..1e7c2544c7 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/Firmware.cs @@ -250,7 +250,7 @@ namespace ArdupilotMega.GCSViews { if (keyData == (Keys.Control | Keys.B)) { - findfirmware("APM-trunk"); + findfirmware("AP-trunk"); return true; } if (keyData == (Keys.Control | Keys.A)) @@ -273,8 +273,6 @@ namespace ArdupilotMega.GCSViews public int k_format_version; } - FRAMETYPES currentframe = FRAMETYPES.NONE; - public enum FRAMETYPES { NONE, @@ -306,7 +304,7 @@ namespace ArdupilotMega.GCSViews try { - using (XmlTextReader xmlreader = new XmlTextReader("http://ardupilot-mega.googlecode.com/svn/Tools/trunk/ArdupilotMegaPlanner/Firmware/firmware2.xml")) + using (XmlTextReader xmlreader = new XmlTextReader("http://ardupilot-mega.googlecode.com/git/Tools/ArdupilotMegaPlanner/Firmware/firmware2.xml")) { while (xmlreader.Read()) { @@ -378,49 +376,41 @@ namespace ArdupilotMega.GCSViews private void pictureBoxAPM_Click(object sender, EventArgs e) { - currentframe = FRAMETYPES.APM; - findfirmware("APM2-"); + findfirmware("firmware/AP-"); } private void pictureBoxAPMHIL_Click(object sender, EventArgs e) { - currentframe = FRAMETYPES.APMHIL; - findfirmware("APM2HIL-"); + findfirmware("firmware/APHIL-"); } private void pictureBoxQuad_Click(object sender, EventArgs e) { - currentframe = FRAMETYPES.QUAD; findfirmware("AC2-Quad-"); } private void pictureBoxHexa_Click(object sender, EventArgs e) { - currentframe = FRAMETYPES.HEXA; findfirmware("AC2-Hexa-"); } private void pictureBoxTri_Click(object sender, EventArgs e) { - currentframe = FRAMETYPES.TRI; findfirmware("AC2-Tri-"); } private void pictureBoxY6_Click(object sender, EventArgs e) { - currentframe = FRAMETYPES.Y6; findfirmware("AC2-Y6-"); } private void pictureBoxHeli_Click(object sender, EventArgs e) { - currentframe = FRAMETYPES.HELI; findfirmware("AC2-Heli-"); } private void pictureBoxQuadHil_Click(object sender, EventArgs e) { - currentframe = FRAMETYPES.QUAD; findfirmware("AC2-QUADHIL"); } @@ -502,15 +492,19 @@ namespace ArdupilotMega.GCSViews this.Refresh(); - while (dataStream.CanRead && bytes > 0) + dataStream.ReadTimeout = 30000; + + while (dataStream.CanRead) { try { - progress.Value = (int)(((float)(response.ContentLength - bytes) / (float)response.ContentLength) * 100); + progress.Value = 50;// (int)(((float)(response.ContentLength - bytes) / (float)response.ContentLength) * 100); this.progress.Refresh(); } catch { } int len = dataStream.Read(buf1, 0, 1024); + if (len == 0) + break; bytes -= len; fs.Write(buf1, 0, len); } @@ -704,420 +698,6 @@ namespace ArdupilotMega.GCSViews } } - private void ACSetup_Click(object sender, EventArgs e) - { - MainV2.givecomport = true; - - MessageBox.Show("Please make sure you are in CLI/Setup mode"); - - ICommsSerial comPortT = MainV2.comPort.BaseStream; - - if (comPortT.IsOpen) - comPortT.Close(); - - comPortT.DtrEnable = true; - if (MainV2.comportname == null) - { - MessageBox.Show("Please select a valid comport! look in the Options menu"); - MainV2.givecomport = false; - return; - } - try - { - comPortT.Open(); - - } - catch (Exception ex) { MainV2.givecomport = false; MessageBox.Show("Invalid Comport Settings : " + ex.Message); return; } - - lbl_status.Text = "Comport Opened"; - this.Refresh(); - - comPortT.DtrEnable = false; - System.Threading.Thread.Sleep(100); - comPortT.DtrEnable = true; - System.Threading.Thread.Sleep(3000); - comPortT.DtrEnable = false; - System.Threading.Thread.Sleep(100); - comPortT.DtrEnable = true; - - string data = ""; - - DateTime timeout = DateTime.Now; - ///////////////////////// FIX ME//////////////////////////////////////////////////////// - int step = 0; - //System.Threading.Thread.Sleep(2000); - //comPortT.Write("IMU\r"); - - comPortT.ReadTimeout = -1; - - while (comPortT.IsOpen) - { - string line; - try - { - line = comPortT.ReadLine(); - } - catch - { - try { line = comPortT.ReadExisting(); } - catch { MessageBox.Show("Can not read from serial port - existing"); return; } - } - this.Refresh(); - Console.Write(line + "\n"); - switch (step) - { - case 0: - if (line.Contains("interactive")) - { - lbl_status.Text = "Erasing EEPROM.. (20 seconds)"; - this.Refresh(); - - System.Threading.Thread.Sleep(50); - comPortT.Write("setup\r"); - System.Threading.Thread.Sleep(50); - comPortT.Write("erase\r"); - System.Threading.Thread.Sleep(50); - comPortT.Write("y\r"); - step = 0; - } - if (line.Contains("done")) - { - lbl_status.Text = "Rebooting APM.."; - this.Refresh(); - - comPortT.DtrEnable = false; - System.Threading.Thread.Sleep(100); - comPortT.DtrEnable = true; - System.Threading.Thread.Sleep(3000); - comPortT.DtrEnable = false; - Console.WriteLine(comPortT.ReadExisting()); - System.Threading.Thread.Sleep(100); - comPortT.DtrEnable = true; - step = 1; - } - break; - case 1: - if (line.Contains("interactive")) // becuase we rebooted - { - lbl_status.Text = "Setup Radio.."; - this.Refresh(); - - Console.WriteLine(comPortT.ReadExisting()); - - System.Threading.Thread.Sleep(50); - comPortT.Write("setup\r"); - System.Threading.Thread.Sleep(200); - MessageBox.Show("Ensure that your RC transmitter is on, and that you have your ArduCopter battery plugged in or are otherwise powering APM's RC pins (USB power does NOT power the RC receiver)", "Radio Setup"); - comPortT.Write("radio\r"); - MessageBox.Show("Move all your radio controls to each extreme. Hit OK when done.", "Radio Setup"); - //comPortT.DiscardInBuffer(); - comPortT.Write("\r\r"); - step = 2; - } - break; - case 2: - if (data.Contains("----")) - data = ""; - data += line; - - if (line.Contains("CH7")) // - { - MessageBox.Show("Here are the detected radio options\nNOTE Channels not connected are displayed as 1500\nNormal values are around 1100 | 1900\nChannel:Min | Max \n" + data, "Radio"); - - lbl_status.Text = "Setup Accel Offsets.."; - this.Refresh(); - - MessageBox.Show("Ensure your quad is level, and click OK to continue", "Offset Setup"); - - System.Threading.Thread.Sleep(50); - comPortT.Write("setup\r"); - System.Threading.Thread.Sleep(50); - comPortT.Write("level\r"); - System.Threading.Thread.Sleep(1000); - step = 3; - } - break; - case 3: - if (line.Contains("IMU")) // - { - lbl_status.Text = "Setup Options"; - this.Refresh(); - - System.Threading.Thread.Sleep(50); - comPortT.Write("setup\r"); - - DialogResult dr; - /* - dr = MessageBox.Show("Do you have a Current sensor attached?","Current Sensor",MessageBoxButtons.YesNo); - if (dr == System.Windows.Forms.DialogResult.Yes) - { - comPortT.Write("current on\r"); - System.Threading.Thread.Sleep(100); - }*/ - dr = MessageBox.Show("Do you have a Sonar sensor attached?", "Sonar Sensor", MessageBoxButtons.YesNo); - if (dr == System.Windows.Forms.DialogResult.Yes) - { - comPortT.Write("sonar on\r"); - System.Threading.Thread.Sleep(100); - } - dr = MessageBox.Show("Do you have a Compass sensor attached?", "Compass Sensor", MessageBoxButtons.YesNo); - if (dr == System.Windows.Forms.DialogResult.Yes) - { - comPortT.Write("compass on\r"); - System.Threading.Thread.Sleep(100); - - MessageBox.Show("Next a webpage will appear to get your magnetic declination,\nenter it in the box that appears next", "Mag Dec"); - - try - { - //System.Diagnostics.Process.Start("http://www.ngdc.noaa.gov/geomagmodels/Declination.jsp"); - System.Diagnostics.Process.Start("http://www.magnetic-declination.com/"); - } - catch { MessageBox.Show("Webpage open failed... do you have a virus?\nhttp://www.magnetic-declination.com/"); } - //This can be taken from - - try - { - string declination = "0"; - Common.InputBox("Declination", "Magnetic Declination (-20.0 to 20.0) eg 2° 3' W is -2.3", ref declination); - float dec = 0.0f; - float.TryParse(declination, out dec); - float deg = (float)((int)dec); - float mins = (dec - deg); - if (dec > 0) - { - dec += ((mins) / 60.0f); - } - else - { - dec -= ((mins) / 60.0f); - } - comPortT.Write("exit\rsetup\rdeclination " + dec.ToString("0.00") + "\r"); - } - catch { MessageBox.Show("Invalid input!"); } - } - - if (currentframe == FRAMETYPES.Y6 || currentframe == FRAMETYPES.Y6) - { - - } - else - { - - string frame = "+"; - Common.InputBox("Frame", "Enter Frame type (options +, x)", ref frame); - System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); - byte[] data2 = encoding.GetBytes("exit\rsetup\rframe " + frame.ToLower() + "\r"); - comPortT.Write(data2, 0, data2.Length); - } - Console.WriteLine(comPortT.ReadExisting()); - - MessageBox.Show("NOTE: this setup has defaulted all modes to stabilize.\n To change your flight modes, please use the CLI menu via the Terminal tab"); - - comPortT.Close(); - MainV2.givecomport = false; - return; - //step = 4; - } - break; - // - } - } - - } - - private void APMSetup_Click(object sender, EventArgs e) - { - MainV2.givecomport = true; - - MessageBox.Show("Please make sure you are in CLI/Setup mode"); - - ICommsSerial comPortT = MainV2.comPort.BaseStream; - - if (comPortT.IsOpen) - comPortT.Close(); - - comPortT.DtrEnable = true; - if (MainV2.comportname == null) - { - MessageBox.Show("Please select a valid comport! look in the Options menu"); - MainV2.givecomport = false; - return; - } - try - { - comPortT.Open(); - - } - catch (Exception ex) { MainV2.givecomport = false; MessageBox.Show("Invalid Comport Settings : " + ex.Message); return; } - - lbl_status.Text = "Comport Opened"; - this.Refresh(); - - comPortT.DtrEnable = false; - System.Threading.Thread.Sleep(100); - comPortT.DtrEnable = true; - System.Threading.Thread.Sleep(3000); - comPortT.DtrEnable = false; - System.Threading.Thread.Sleep(100); - comPortT.DtrEnable = true; - - string data = ""; - - DateTime timeout = DateTime.Now; - ///////////////////////// FIX ME//////////////////////////////////////////////////////// - int step = 0; - //System.Threading.Thread.Sleep(2000); - //comPortT.Write("CH7\r"); - - comPortT.ReadTimeout = -1; - - while (comPortT.IsOpen) - { - string line; - try - { - line = comPortT.ReadLine(); - } - catch - { - try { line = comPortT.ReadExisting(); } - catch { MessageBox.Show("Can not read from serial port - existing"); return; } - } - this.Refresh(); - Console.Write(line + "\n"); - switch (step) - { - case 0: - if (line.Contains("interactive")) - { - lbl_status.Text = "Erasing EEPROM.. (20 seconds)"; - this.Refresh(); - - System.Threading.Thread.Sleep(50); - comPortT.Write("setup\r"); - System.Threading.Thread.Sleep(50); - comPortT.Write("erase\r"); - System.Threading.Thread.Sleep(50); - comPortT.Write("y\r"); - step = 0; - } - if (line.Contains("done")) - { - lbl_status.Text = "Rebooting APM.."; - this.Refresh(); - - comPortT.DtrEnable = false; - System.Threading.Thread.Sleep(100); - comPortT.DtrEnable = true; - System.Threading.Thread.Sleep(3000); - comPortT.DtrEnable = false; - System.Threading.Thread.Sleep(100); - comPortT.DtrEnable = true; - step = 1; - } - break; - case 1: - if (line.Contains("interactive")) // becuase we rebooted - { - lbl_status.Text = "Setup Radio.."; - this.Refresh(); - - System.Threading.Thread.Sleep(1000); - Console.WriteLine(comPortT.ReadExisting()); - - System.Threading.Thread.Sleep(50); - comPortT.Write("setup\r"); - System.Threading.Thread.Sleep(200); - MessageBox.Show("Ensure that your RC transmitter is on, and that you have your ArduPilot battery plugged in or are otherwise powering APM's RC pins (USB power does NOT power the RC receiver)", "Radio Setup"); - comPortT.Write("radio\r"); - Console.WriteLine(comPortT.ReadExisting()); - MessageBox.Show("Move all your radio controls to each extreme. Hit OK when done.", "Radio Setup"); - comPortT.Write("\r\r"); - step = 2; - } - break; - case 2: - if (data.Contains("----")) - data = ""; - data += line; - - if (line.Contains("CH7")) // - { - MessageBox.Show("Here are the detected radio options\nNOTE Channels not connected are displayed as 1500\nNormal values are around 1100 | 1900\nChannel:Min | Max \n" + data, "Radio"); - - lbl_status.Text = "Clearing Log Dataflash (this may take a minute)"; - this.Refresh(); - - System.Threading.Thread.Sleep(50); - comPortT.Write("exit\rlogs\rerase\r"); - System.Threading.Thread.Sleep(200); - Console.WriteLine(comPortT.ReadExisting()); - step = 3; - } - break; - case 3: - if (line.Contains("Log erased")) - { - lbl_status.Text = "Setup Options"; - this.Refresh(); - - Console.WriteLine(comPortT.ReadExisting()); - - System.Threading.Thread.Sleep(50); - comPortT.Write("exit\rsetup\r"); - - DialogResult dr; - dr = MessageBox.Show("Do you have a Compass sensor attached?", "Compass Sensor", MessageBoxButtons.YesNo); - if (dr == System.Windows.Forms.DialogResult.Yes) - { - comPortT.Write("compass on\r"); - System.Threading.Thread.Sleep(100); - - MessageBox.Show("Next a webpage will appear to get your magnetic declination,\nenter it in the box that appears next", "Mag Dec"); - - try - { - //System.Diagnostics.Process.Start("http://www.ngdc.noaa.gov/geomagmodels/Declination.jsp"); - System.Diagnostics.Process.Start("http://www.magnetic-declination.com/"); - } - catch { MessageBox.Show("Webpage open failed... do you have a virus?\nhttp://www.magnetic-declination.com/"); } - //This can be taken from - - string declination = "0"; - Common.InputBox("Declination", "Magnetic Declination (-20.0 to 20.0) eg 2° 3' W is -2.3", ref declination); - float dec = 0.0f; - float.TryParse(declination, out dec); - float deg = (float)((int)dec); - float mins = (dec - deg); - if (dec > 0) - { - dec += ((mins) / 60.0f); - } - else - { - dec -= ((mins) / 60.0f); - } - comPortT.Write("exit\rsetup\rdeclination " + dec.ToString() + "\r"); - } - - MessageBox.Show("NOTE: this setup has defaulted all modes to there default.\n As you are new these are the safest.\n To change this option please use the modes option in the CLI"); - - Console.WriteLine(comPortT.ReadExisting()); - - comPortT.Close(); - MainV2.givecomport = false; - lbl_status.Text = "Setup Done"; - this.Refresh(); - return; - //step = 4; - } - break; - // - } - } - } - private void BUT_setup_Click(object sender, EventArgs e) { Form temp = new Setup.Setup(); diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs index 5029b04069..5e8c541c78 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightData.cs @@ -368,7 +368,7 @@ namespace ArdupilotMega.GCSViews PointLatLng currentloc = new PointLatLng(MainV2.cs.lat, MainV2.cs.lng); - if (MainV2.cs.firmware == MainV2.Firmwares.ArduPilotMega) + if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) { routes.Markers.Add(new GMapMarkerPlane(currentloc, MainV2.cs.yaw, MainV2.cs.groundcourse, MainV2.cs.nav_bearing,MainV2.cs.target_bearing)); } diff --git a/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs b/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs index d50b97e2d5..21732c373e 100644 --- a/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs +++ b/Tools/ArdupilotMegaPlanner/GCSViews/FlightPlanner.cs @@ -616,16 +616,16 @@ namespace ArdupilotMega.GCSViews switch (command) { case MAVLink.MAV_CMD.WAYPOINT: - if (MainV2.APMFirmware == MainV2.Firmwares.ArduPilotMega) + if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane) Commands.Columns[1].HeaderText = "N/A"; break; case MAVLink.MAV_CMD.LAND: Commands.Columns[1].HeaderText = "N/A"; - if (MainV2.APMFirmware != MainV2.Firmwares.ArduPilotMega) + if (MainV2.APMFirmware != MainV2.Firmwares.ArduPlane) Commands.Columns[2].HeaderText = "N/A"; break; case MAVLink.MAV_CMD.TAKEOFF: - if (MainV2.APMFirmware != MainV2.Firmwares.ArduPilotMega) + if (MainV2.APMFirmware != MainV2.Firmwares.ArduPlane) Commands.Columns[1].HeaderText = "N/A"; break; } @@ -1248,11 +1248,13 @@ namespace ArdupilotMega.GCSViews } catch (Exception ex) { MessageBox.Show("Error : " + ex.ToString()); } + + MainV2.givecomport = false; + try { this.BeginInvoke((System.Threading.ThreadStart)delegate() { - MainV2.givecomport = false; BUT_write.Enabled = true; }); } diff --git a/Tools/ArdupilotMegaPlanner/HUD.cs b/Tools/ArdupilotMegaPlanner/HUD.cs index 395360f25e..b4e8e178f4 100644 --- a/Tools/ArdupilotMegaPlanner/HUD.cs +++ b/Tools/ArdupilotMegaPlanner/HUD.cs @@ -167,28 +167,34 @@ System.ComponentModel.Category("Values")] if (this.DesignMode) return; - GraphicsMode test = this.GraphicsMode; - Console.WriteLine(test.ToString()); - Console.WriteLine("Vendor: "+GL.GetString(StringName.Vendor)); - Console.WriteLine("Version: " + GL.GetString(StringName.Version)); - Console.WriteLine("Device: " + GL.GetString(StringName.Renderer)); - //Console.WriteLine("Extensions: " + GL.GetString(StringName.Extensions)); + try + { - int[] viewPort = new int[4]; - - GL.GetInteger(GetPName.Viewport, viewPort); - - GL.MatrixMode(MatrixMode.Projection); - GL.LoadIdentity(); - GL.Ortho(0, Width, Height, 0, -1, 1); - GL.MatrixMode(MatrixMode.Modelview); - GL.LoadIdentity(); + GraphicsMode test = this.GraphicsMode; + Console.WriteLine(test.ToString()); + Console.WriteLine("Vendor: " + GL.GetString(StringName.Vendor)); + Console.WriteLine("Version: " + GL.GetString(StringName.Version)); + Console.WriteLine("Device: " + GL.GetString(StringName.Renderer)); + //Console.WriteLine("Extensions: " + GL.GetString(StringName.Extensions)); - GL.PushAttrib(AttribMask.DepthBufferBit); - GL.Disable(EnableCap.DepthTest); - //GL.Enable(EnableCap.Texture2D); - GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); - GL.Enable(EnableCap.Blend); + int[] viewPort = new int[4]; + + GL.GetInteger(GetPName.Viewport, viewPort); + + GL.MatrixMode(MatrixMode.Projection); + GL.LoadIdentity(); + GL.Ortho(0, Width, Height, 0, -1, 1); + GL.MatrixMode(MatrixMode.Modelview); + GL.LoadIdentity(); + + GL.PushAttrib(AttribMask.DepthBufferBit); + GL.Disable(EnableCap.DepthTest); + //GL.Enable(EnableCap.Texture2D); + GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); + GL.Enable(EnableCap.Blend); + + } + catch (Exception ex) { Console.WriteLine("HUD opengl onload "+ex.ToString()); } try { diff --git a/Tools/ArdupilotMegaPlanner/LogBrowse.cs b/Tools/ArdupilotMegaPlanner/LogBrowse.cs index 6b6dbf1991..ebab445894 100644 --- a/Tools/ArdupilotMegaPlanner/LogBrowse.cs +++ b/Tools/ArdupilotMegaPlanner/LogBrowse.cs @@ -38,8 +38,6 @@ namespace ArdupilotMega openFileDialog1.InitialDirectory = Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "logs"; - Common.getFilefromNet("url", Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "dataflashlog.xml"); - if (openFileDialog1.ShowDialog() == DialogResult.OK) { try @@ -156,7 +154,7 @@ namespace ArdupilotMega { reader.Read(); reader.ReadStartElement("LOGFORMAT"); - if (MainV2.APMFirmware == MainV2.Firmwares.ArduPilotMega) + if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane) { reader.ReadToFollowing("APM"); } diff --git a/Tools/ArdupilotMegaPlanner/MAVLink.cs b/Tools/ArdupilotMegaPlanner/MAVLink.cs index 91059326d5..0c26ebb6cd 100644 --- a/Tools/ArdupilotMegaPlanner/MAVLink.cs +++ b/Tools/ArdupilotMegaPlanner/MAVLink.cs @@ -1021,7 +1021,7 @@ namespace ArdupilotMega break; case (byte)MAV_CMD.LOITER_TIME: - if (MainV2.APMFirmware == MainV2.Firmwares.ArduPilotMega) + if (MainV2.APMFirmware == MainV2.Firmwares.ArduPlane) { loc.p1 = (byte)(wp.param1 / 10); // APM loiter time is in ten second increments } diff --git a/Tools/ArdupilotMegaPlanner/MainV2.cs b/Tools/ArdupilotMegaPlanner/MainV2.cs index f696b9694e..48dac31e32 100644 --- a/Tools/ArdupilotMegaPlanner/MainV2.cs +++ b/Tools/ArdupilotMegaPlanner/MainV2.cs @@ -36,7 +36,7 @@ namespace ArdupilotMega public static string comportname = ""; public static Hashtable config = new Hashtable(); public static bool givecomport = false; - public static Firmwares APMFirmware = Firmwares.ArduPilotMega; + public static Firmwares APMFirmware = Firmwares.ArduPlane; public static bool MAC = false; public static bool speechenable = false; @@ -60,7 +60,7 @@ namespace ArdupilotMega public enum Firmwares { - ArduPilotMega, + ArduPlane, ArduCopter2, } @@ -595,7 +595,7 @@ namespace ArdupilotMega } else if (float.Parse(comPort.param["SYSID_SW_TYPE"].ToString()) == 0) { - TOOL_APMFirmware.SelectedIndex = TOOL_APMFirmware.Items.IndexOf(Firmwares.ArduPilotMega); + TOOL_APMFirmware.SelectedIndex = TOOL_APMFirmware.Items.IndexOf(Firmwares.ArduPlane); } } @@ -1224,7 +1224,7 @@ namespace ArdupilotMega { try { - string baseurl = "http://ardupilot-mega.googlecode.com/svn/Tools/trunk/ArdupilotMegaPlanner/bin/Release/"; + string baseurl = "http://ardupilot-mega.googlecode.com/git/Tools/ArdupilotMegaPlanner/bin/Release/"; bool update = updatecheck(loadinglabel, baseurl, ""); System.Diagnostics.Process P = new System.Diagnostics.Process(); if (MAC) @@ -1266,6 +1266,7 @@ namespace ArdupilotMega List files = new List(); // Create a request using a URL that can receive a post. + Console.WriteLine(baseurl); WebRequest request = WebRequest.Create(baseurl); request.Timeout = 10000; // Set the Method property of the request to POST. @@ -1308,6 +1309,10 @@ namespace ArdupilotMega Directory.CreateDirectory(dir); foreach (string file in files) { + if (file.Equals("/")) + { + continue; + } if (file.EndsWith("/")) { update = updatecheck(loadinglabel, baseurl + file, file) && update; @@ -1336,10 +1341,10 @@ namespace ArdupilotMega { FileInfo fi = new FileInfo(path); - if (fi.Length != response.ContentLength || fi.LastWriteTimeUtc < DateTime.Parse(response.Headers["Last-Modified"].ToString())) + if (fi.Length != response.ContentLength) { getfile = true; - Console.WriteLine("NEW FILE " + file + " " + fi.LastWriteTime + " < " + DateTime.Parse(response.Headers["Last-Modified"].ToString())); + Console.WriteLine("NEW FILE " + file); } } else @@ -1390,7 +1395,9 @@ namespace ArdupilotMega DateTime dt = DateTime.Now; - while (dataStream.CanRead && bytes > 0) + dataStream.ReadTimeout = 30000; + + while (dataStream.CanRead) { Application.DoEvents(); try @@ -1398,13 +1405,15 @@ namespace ArdupilotMega if (dt.Second != DateTime.Now.Second) { if (loadinglabel != null) - loadinglabel.Text = "Getting " + file + ":" + (((double)(contlen - bytes) / (double)contlen) * 100).ToString("0.0") + "%"; + loadinglabel.Text = "Getting " + file + ": " + Math.Abs(bytes) + " bytes";//(((double)(contlen - bytes) / (double)contlen) * 100).ToString("0.0") + "%"; dt = DateTime.Now; } } catch { } Console.WriteLine(file + " " + bytes); int len = dataStream.Read(buf1, 0, 1024); + if (len == 0) + break; bytes -= len; fs.Write(buf1, 0, len); } diff --git a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs index 765bc49edc..25abe98b99 100644 --- a/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs +++ b/Tools/ArdupilotMegaPlanner/Properties/AssemblyInfo.cs @@ -34,5 +34,5 @@ using System.Resources; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.66")] +[assembly: AssemblyFileVersion("1.0.67")] [assembly: NeutralResourcesLanguageAttribute("")] diff --git a/Tools/ArdupilotMegaPlanner/Setup/Setup.cs b/Tools/ArdupilotMegaPlanner/Setup/Setup.cs index e7a4d36343..53279ab634 100644 --- a/Tools/ArdupilotMegaPlanner/Setup/Setup.cs +++ b/Tools/ArdupilotMegaPlanner/Setup/Setup.cs @@ -48,7 +48,7 @@ namespace ArdupilotMega.Setup float pwm = 0; - if (MainV2.cs.firmware == MainV2.Firmwares.ArduPilotMega) // APM + if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) // APM { pwm = MainV2.cs.ch8in; LBL_flightmodepwm.Text = "8: " + MainV2.cs.ch8in.ToString(); @@ -251,7 +251,7 @@ namespace ArdupilotMega.Setup { if (tabControl1.SelectedTab == tabModes) { - if (MainV2.cs.firmware == MainV2.Firmwares.ArduPilotMega) // APM + if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) // APM { CMB_fmode1.Items.Clear(); CMB_fmode2.Items.Clear(); @@ -339,7 +339,7 @@ namespace ArdupilotMega.Setup if (tabControl1.SelectedTab == tabArducopter) { - if (MainV2.cs.firmware == MainV2.Firmwares.ArduPilotMega) + if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane) { tabArducopter.Enabled = false; return; @@ -394,7 +394,7 @@ namespace ArdupilotMega.Setup { try { - if (MainV2.cs.firmware == MainV2.Firmwares.ArduPilotMega) // APM + 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)); diff --git a/Tools/ArdupilotMegaPlanner/bin/Release/.gitignore b/Tools/ArdupilotMegaPlanner/bin/Release/.gitignore new file mode 100644 index 0000000000..022a200f68 --- /dev/null +++ b/Tools/ArdupilotMegaPlanner/bin/Release/.gitignore @@ -0,0 +1,3 @@ + +*.pdb +*.xml \ No newline at end of file