mirror of https://github.com/ArduPilot/ardupilot
APM Planner 1.0.67 - git build
This commit is contained in:
parent
a8e68040f5
commit
c2d20808ec
|
@ -0,0 +1,4 @@
|
|||
|
||||
*.pfx
|
||||
*.suo
|
||||
*.user
|
|
@ -346,6 +346,7 @@
|
|||
</Compile>
|
||||
<EmbeddedResource Include="AGauge.resx">
|
||||
<DependentUpon>AGauge.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Log.zh-Hans.resx">
|
||||
<DependentUpon>Log.cs</DependentUpon>
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<PublishUrlHistory>publish/|ftp://vps.oborne.me/ardupilotmegaplanner/|ftp://vps.oborne.me/|ftp://www.vps.oborne.me/ardupilotmegaplanner/|http://www.vps.oborne.me/dav/ardupilotmegaplanner/</PublishUrlHistory>
|
||||
<InstallUrlHistory>http://www.vps.oborne.me/ardupilotmegaplanner/|http://ardupilot-mega.googlecode.com/svn/Tools/trunk/ArdupilotMegaPlanner/publish/</InstallUrlHistory>
|
||||
<SupportUrlHistory>http://www.diydrones.com/</SupportUrlHistory>
|
||||
<UpdateUrlHistory>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/</UpdateUrlHistory>
|
||||
<BootstrapperUrlHistory />
|
||||
<ErrorReportUrlHistory />
|
||||
<FallbackCulture>en-US</FallbackCulture>
|
||||
<VerifyUploadedFiles>false</VerifyUploadedFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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<string> files = new List<string>();
|
||||
|
||||
// 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);
|
||||
}
|
||||
|
|
|
@ -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("")]
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
|
||||
*.pdb
|
||||
*.xml
|
Loading…
Reference in New Issue