using Plane.Protocols; using System.Threading.Tasks; namespace Plane.Copters { partial class PlaneCopter { /// /// // 林俊清, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。 /// /// /// 表示此命令异步发送操作的 实例。 public async Task RebootAsync(bool bootloaderMode = false) { int param1 = 1; if (bootloaderMode) { param1 = 3; } if (MAV.sysid != 0 && MAV.compid != 0) { await DoCommandAsync(MAVLink.MAV_CMD.PREFLIGHT_REBOOT_SHUTDOWN, param1, 0, 0, 0, 0, 0, 0).ConfigureAwait(false); await DoCommandAsync(MAVLink.MAV_CMD.PREFLIGHT_REBOOT_SHUTDOWN, 1, 0, 0, 0, 0, 0, 0).ConfigureAwait(false); } else { for (byte a = byte.MinValue; a < byte.MaxValue; a++) { MAV.sysid = a; await DoCommandAsync(MAVLink.MAV_CMD.PREFLIGHT_REBOOT_SHUTDOWN, param1, 0, 0, 0, 0, 0, 0).ConfigureAwait(false); } } } } }