本文整理汇总了C#中MissionPlanner.MAVLinkInterface.doReboot方法的典型用法代码示例。如果您正苦于以下问题:C# MAVLinkInterface.doReboot方法的具体用法?C# MAVLinkInterface.doReboot怎么用?C# MAVLinkInterface.doReboot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MissionPlanner.MAVLinkInterface
的用法示例。
在下文中一共展示了MAVLinkInterface.doReboot方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: start_Terminal
private void start_Terminal(bool px4)
{
setcomport();
try
{
if (MainV2.comPort != null && MainV2.comPort.BaseStream != null && MainV2.comPort.BaseStream.IsOpen)
MainV2.comPort.BaseStream.Close();
if (comPort.IsOpen)
{
Console.WriteLine("Terminal Start - Close Port");
threadrun = false;
// if (DialogResult.Cancel == CustomMessageBox.Show("The port is open\n Continue?", "Continue", MessageBoxButtons.YesNo))
{
// return;
}
comPort.Close();
// allow things to cleanup
System.Threading.Thread.Sleep(400);
}
comPort.ReadBufferSize = 1024 * 1024 * 4;
comPort.PortName = MainV2.comPortName;
// test moving baud rate line
comPort.BaudRate = int.Parse(MainV2._connectionControl.CMB_baudrate.Text);
if (px4)
{
TXT_terminal.AppendText("Rebooting\n");
// keep it local
MAVLinkInterface mine = new MAVLinkInterface();
mine.BaseStream.PortName = MainV2.comPortName;
mine.BaseStream.BaudRate = comPort.BaudRate;
mine.giveComport = true;
mine.BaseStream.Open();
// check if we are a mavlink stream
byte[] buffer = mine.readPacket();
if (buffer.Length > 0)
{
log.Info("got packet - sending reboot via mavlink");
TXT_terminal.AppendText("Via Mavlink\n");
mine.doReboot(false);
try
{
mine.BaseStream.Close();
}
catch { }
}
else
{
log.Info("no packet - sending reboot via console");
TXT_terminal.AppendText("Via Console\n");
MainV2.comPort.BaseStream.Write("exit\rreboot\r");
try
{
MainV2.comPort.BaseStream.Close();
}
catch { }
}
TXT_terminal.AppendText("Waiting for reboot\n");
// wait 7 seconds for px4 reboot
log.Info("waiting for reboot");
DateTime deadline = DateTime.Now.AddSeconds(8);
while (DateTime.Now < deadline)
{
System.Threading.Thread.Sleep(500);
Application.DoEvents();
}
int a = 0;
while (a < 5)
{
try
{
if (!comPort.IsOpen)
comPort.Open();
}
catch { }
System.Threading.Thread.Sleep(200);
a++;
}
}
else
{
//.........这里部分代码省略.........
示例2: start_Terminal
private void start_Terminal(bool px4)
{
try
{
if (MainV2.comPort != null && MainV2.comPort.BaseStream != null && MainV2.comPort.BaseStream.IsOpen)
MainV2.comPort.BaseStream.Close();
setcomport();
if (px4)
{
TXT_terminal.AppendText("Rebooting " + MainV2.comPortName + " at " + comPort.BaudRate + "\n");
// keep it local
using (MAVLinkInterface mine = new MAVLinkInterface())
{
mine.BaseStream.PortName = MainV2.comPortName;
mine.BaseStream.BaudRate = comPort.BaudRate;
mine.giveComport = true;
mine.BaseStream.Open();
// check if we are a mavlink stream
byte[] buffer = mine.readPacket();
if (buffer.Length > 0)
{
log.Info("got packet - sending reboot via mavlink");
TXT_terminal.AppendText("Via Mavlink\n");
mine.doReboot(false);
try
{
mine.BaseStream.Close();
}
catch { }
}
else
{
log.Info("no packet - sending reboot via console");
TXT_terminal.AppendText("Via Console\n");
try
{
mine.BaseStream.Write("reboot\r");
mine.BaseStream.Write("exit\rreboot\r");
}
catch { }
try
{
mine.BaseStream.Close();
}
catch { }
}
}
TXT_terminal.AppendText("Waiting for reboot\n");
// wait 7 seconds for px4 reboot
log.Info("waiting for reboot");
DateTime deadline = DateTime.Now.AddSeconds(9);
while (DateTime.Now < deadline)
{
System.Threading.Thread.Sleep(500);
Application.DoEvents();
}
int a = 0;
while (a < 5)
{
try
{
if (!comPort.IsOpen)
comPort.Open();
}
catch { }
System.Threading.Thread.Sleep(200);
a++;
}
}
else
{
log.Info("About to open " + comPort.PortName);
comPort.Open();
log.Info("Toggle dtr");
comPort.toggleDTR();
}
try
{
comPort.DiscardInBuffer();
}
catch { }
Console.WriteLine("Terminal_Load run " + threadrun + " " + comPort.IsOpen);
t11 = new System.Threading.Thread(delegate()
//.........这里部分代码省略.........