修改名字
This commit is contained in:
parent
d45a2b5126
commit
3e46bbb376
@ -11,7 +11,7 @@ namespace Plane.Copters
|
||||
Task CircleAsync();
|
||||
|
||||
/// <summary>
|
||||
/// // 林俊清, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。
|
||||
/// // 王海, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。
|
||||
/// </summary>
|
||||
/// <param name="bootloaderMode"></param>
|
||||
/// <returns>表示此命令异步发送操作的 <see cref="Task"/> 实例。</returns>
|
||||
|
@ -12,7 +12,7 @@ namespace Plane.Copters
|
||||
double? latitude = null, //23.14973333,
|
||||
double? longitude = null, //113.40974166,
|
||||
float? altitude = null, //0,
|
||||
string name = null, //"林俊清的飞行器",
|
||||
string name = null, //"王海的飞行器",
|
||||
byte? batteryPer = null, //10,
|
||||
short? heading = null, //33,
|
||||
bool? isConnected = null, //true,
|
||||
|
@ -6,7 +6,7 @@ namespace Plane.Copters
|
||||
public partial class FakeCopter
|
||||
{
|
||||
/// <summary>
|
||||
/// // 林俊清, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。
|
||||
/// // 王海, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。
|
||||
/// </summary>
|
||||
/// <param name="bootloaderMode"></param>
|
||||
/// <returns>表示此命令异步发送操作的 <see cref="Task"/> 实例。</returns>
|
||||
|
@ -10,7 +10,7 @@ namespace Plane.Copters
|
||||
public PlaneCopter InternalCopter { get { return _internalCopter; } }
|
||||
|
||||
/// <summary>
|
||||
/// // 林俊清, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。
|
||||
/// // 王海, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。
|
||||
/// </summary>
|
||||
/// <param name="bootloaderMode"></param>
|
||||
/// <returns>表示此命令异步发送操作的 <see cref="Task"/> 实例。</returns>
|
||||
|
@ -6,7 +6,7 @@ namespace Plane.Copters
|
||||
partial class PlaneCopter
|
||||
{
|
||||
/// <summary>
|
||||
/// // 林俊清, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。
|
||||
/// // 王海, 20160122, 不明确。目测是发送重启命令,在刷固件之前用到。
|
||||
/// </summary>
|
||||
/// <param name="bootloaderMode"></param>
|
||||
/// <returns>表示此命令异步发送操作的 <see cref="Task"/> 实例。</returns>
|
||||
|
@ -21,7 +21,7 @@ namespace Plane.Communication
|
||||
|
||||
private bool _isListening;
|
||||
|
||||
// TODO: 林俊清, 20150909, 从配置文件中获取要监听的 IP 地址和端口号。
|
||||
// TODO: 王海, 20150909, 从配置文件中获取要监听的 IP 地址和端口号。
|
||||
private TcpListener _listener;
|
||||
|
||||
private bool _shouldListen;
|
||||
|
@ -22,8 +22,8 @@ namespace Plane.CommunicationManagement
|
||||
|
||||
public TcpConnection Connection = null;
|
||||
public bool CommOK = false;
|
||||
private const string MODULE_IP = "192.168.199.51"; // "192.168.199.51";
|
||||
// private const string LOCAL_IP = "192.168.199.50"; //"192.168.199.50";
|
||||
private const string MODULE_IP = "192.168.199.51"; // "192.168.199.51"; //在用版本 ----//"192.168.1.65"; //新版本
|
||||
// private const string LOCAL_IP = "192.168.199.50"; //"192.168.199.50";
|
||||
private const int PORT = 9551;
|
||||
private bool _disposed;
|
||||
public int CommModuleCopterCount = 0;
|
||||
@ -427,6 +427,7 @@ namespace Plane.CommunicationManagement
|
||||
}
|
||||
}
|
||||
|
||||
//拉烟测试
|
||||
public async Task TestFire(short id, int channel)
|
||||
{
|
||||
|
||||
|
@ -205,9 +205,8 @@ namespace Plane.CommunicationManagement
|
||||
|
||||
private byte[] DoTaskLEDCommandAsync(int ledmode, float ledInterval, int ledtimes, byte cR,byte cG,Byte cB)
|
||||
{
|
||||
//ledInterval间隔单位秒,改为单位100ms
|
||||
byte LEDInterval = (byte)(ledInterval*10); //(byte)(10 / ledInterval);
|
||||
|
||||
//新版固件ledInterval间隔单位秒,传输为一个字节无法传输小数,所以*10改为100ms,可传输一位小数
|
||||
byte LEDInterval = (byte)(ledInterval * 10);// (byte)(10 / ledrate);
|
||||
MAVLink.mavlink_msg_id_led_control led = new MAVLink.mavlink_msg_id_led_control();
|
||||
led.target_system = 1;
|
||||
led.target_component = 1;//(byte)MAVLink.MAV_COMPONENT.MAV_COMP_ID_SYSTEM_CONTROL;;
|
||||
@ -570,7 +569,7 @@ namespace Plane.CommunicationManagement
|
||||
|
||||
*/
|
||||
|
||||
public void LED_TaskAsync( int ledmode, float ledInterval, int ledtimes, string ledRGB, ICopter copter )
|
||||
public void LED_TaskAsync( int ledmode, float ledInterval, int ledtimes, string ledRGB, ICopter copter,bool oldver=true )
|
||||
{
|
||||
if (UseTransModule)
|
||||
{
|
||||
|
@ -63,7 +63,7 @@ namespace Plane.CopterControllers
|
||||
{
|
||||
if (_copterManager.Copter != null && _acceptingMobileControlStates.Contains(_copterManager.Copter.State))
|
||||
{
|
||||
// TODO: 林俊清, 20151109, 整理并使用 Plane.Copters.Constants 类中的常量。
|
||||
// TODO: 王海, 20151109, 整理并使用 Plane.Copters.Constants 类中的常量。
|
||||
|
||||
ushort maxChannelOffset = (ushort)(Speed == SpeedType.SpeedFast ? 400 : 200);
|
||||
|
||||
|
@ -39,7 +39,7 @@ namespace Plane.CopterControllers
|
||||
base.IsEnabled = value;
|
||||
if (value)
|
||||
{
|
||||
// TODO: 林俊清, 20160303, 修复 KeyboardController。
|
||||
// TODO: 王海, 20160303, 修复 KeyboardController。
|
||||
//_messenger.Register<KeyDownMessage>(this, OnKeyDown);
|
||||
//_messenger.Register<KeyUpMessage>(this, OnKeyUp);
|
||||
}
|
||||
|
@ -351,7 +351,7 @@ namespace Plane.Copters
|
||||
get { return _DesiredChannel3; }
|
||||
set
|
||||
{
|
||||
// 林俊清, 20160317, 紧急悬停时可调节高度。
|
||||
// 王海, 20160317, 紧急悬停时可调节高度。
|
||||
//if (!IsEmergencyHoverActive)
|
||||
//{
|
||||
if (Set(nameof(DesiredChannel3), ref _DesiredChannel3, value))
|
||||
@ -740,7 +740,7 @@ namespace Plane.Copters
|
||||
get { return _Mode; }
|
||||
set
|
||||
{
|
||||
// 林俊清, 20160325, Mode 属性改成 internal 了,如果仍然用 Set 或者 RaisePropertyChanged 方法,会抛异常("Property not found")。现决定不引发 PropertyChanged 事件了。
|
||||
// 王海, 20160325, Mode 属性改成 internal 了,如果仍然用 Set 或者 RaisePropertyChanged 方法,会抛异常("Property not found")。现决定不引发 PropertyChanged 事件了。
|
||||
var changed = _Mode != value;
|
||||
if (changed) _Mode = value;
|
||||
|
||||
@ -803,7 +803,7 @@ namespace Plane.Copters
|
||||
|
||||
public void Follow(IVisibleStatus target, bool keepYawDifference = false, bool keepFacingTarget = true, bool keep3DRelativeLocations = false)
|
||||
{
|
||||
// 林俊清, 20160409, 在目前的实现中,跟随状态使用 GUIDED 模式。
|
||||
// 王海, 20160409, 在目前的实现中,跟随状态使用 GUIDED 模式。
|
||||
|
||||
if (!IsConnected || !IsUnlocked || this == target || IsEmergencyHoverActive) return;
|
||||
|
||||
@ -903,7 +903,7 @@ namespace Plane.Copters
|
||||
|
||||
public abstract Task SetChannelsAsync();
|
||||
|
||||
public async Task SetMobileControlAsync(ushort? ch1 = null, ushort? ch2 = null, ushort? ch3 = null, ushort? ch4 = null, ushort? ch5 = null, ushort? ch6 = null, ushort? ch7 = null, ushort? ch8 = null, float? yaw = null) // 林俊清, 20150912, 将来如有需要再补上 TargetAlt, float? alt = null)
|
||||
public async Task SetMobileControlAsync(ushort? ch1 = null, ushort? ch2 = null, ushort? ch3 = null, ushort? ch4 = null, ushort? ch5 = null, ushort? ch6 = null, ushort? ch7 = null, ushort? ch8 = null, float? yaw = null) // 王海, 20150912, 将来如有需要再补上 TargetAlt, float? alt = null)
|
||||
{
|
||||
SetTargets(ch1, ch2, ch3, ch4, ch5, ch6, ch7, ch8, yaw);
|
||||
|
||||
@ -918,8 +918,8 @@ namespace Plane.Copters
|
||||
State = CopterState.HoverMode;
|
||||
IsEmergencyHoverActive = true;
|
||||
|
||||
// 林俊清, 20151028, 先 IsEmergencyHoverActive = true 再设置目标通道是为了防止别的线程正好在 IsEmergencyHoverActive == false 时设置通道。
|
||||
// 林俊清, 20151019, 在紧急悬停状态,外部设置 DesiredChannel[1-4] 无效,只能如此设置。
|
||||
// 王海, 20151028, 先 IsEmergencyHoverActive = true 再设置目标通道是为了防止别的线程正好在 IsEmergencyHoverActive == false 时设置通道。
|
||||
// 王海, 20151019, 在紧急悬停状态,外部设置 DesiredChannel[1-4] 无效,只能如此设置。
|
||||
SetFieldAndRaisePropertyChanged(ref _DesiredChannel1, 1500, nameof(DesiredChannel1));
|
||||
SetFieldAndRaisePropertyChanged(ref _DesiredChannel2, 1500, nameof(DesiredChannel2));
|
||||
SetFieldAndRaisePropertyChanged(ref _DesiredChannel3, 1500, nameof(DesiredChannel3));
|
||||
@ -929,7 +929,7 @@ namespace Plane.Copters
|
||||
|
||||
switch (Mode)
|
||||
{
|
||||
// 林俊清, 20151019, 波子说一律切 LOITER。
|
||||
// 王海, 20151019, 波子说一律切 LOITER。
|
||||
//case FlightMode.ALT_HOLD:
|
||||
// break;
|
||||
//case FlightMode.LOITER:
|
||||
@ -1061,7 +1061,7 @@ namespace Plane.Copters
|
||||
async Task<bool> SetModeAsync(FlightMode mode, int millisecondsTimeout = 5000)
|
||||
{
|
||||
if (_shouldFollow && mode != FlightMode.GUIDED) _shouldFollow = false;
|
||||
// 林俊清, 20160317, 紧急悬停时可返航或降落。
|
||||
// 王海, 20160317, 紧急悬停时可返航或降落。
|
||||
if (mode == FlightMode.RTL || mode == FlightMode.LAND)
|
||||
{
|
||||
StopEmergencyHover();
|
||||
@ -1249,7 +1249,7 @@ namespace Plane.Copters
|
||||
case nameof(IsUnlocked):
|
||||
if (IsUnlocked)
|
||||
{
|
||||
// 林俊清, 20151029, 在解锁时重置起飞点、起飞时间、飞行距离、飞行时间、速度。
|
||||
// 王海, 20151029, 在解锁时重置起飞点、起飞时间、飞行距离、飞行时间、速度。
|
||||
TakeOffPoint = new PLLocation { Latitude = Latitude, Longitude = Longitude, Altitude = Altitude };
|
||||
_takeOffTime = DateTime.Now;
|
||||
FlightDistance = 0;
|
||||
|
@ -99,7 +99,7 @@ namespace Plane.Copters
|
||||
{
|
||||
IsUnlocked = _internalCopter.armed;
|
||||
Mode = (FlightMode)_internalCopter.mode;
|
||||
// 林俊清, 20160311, 将闲置的 apname 用作已经切过 GPS 模式的标志。
|
||||
// 王海, 20160311, 将闲置的 apname 用作已经切过 GPS 模式的标志。
|
||||
HasSwitchedToGpsMode = (byte)_internalCopter.apname != 0;
|
||||
++HeartbeatCount;
|
||||
|
||||
|
@ -126,7 +126,7 @@ namespace Plane.Copters
|
||||
case nameof(IsUnlocked):
|
||||
if (IsUnlocked)
|
||||
{
|
||||
// 林俊清, 20151029, 在解锁时上次计算速度点、上次计算速度时刻。
|
||||
// 王海, 20151029, 在解锁时上次计算速度点、上次计算速度时刻。
|
||||
_lastCalcSpeedPoint = new PLLocation { Latitude = Latitude, Longitude = Longitude, Altitude = Altitude };
|
||||
_lastCalcSpeedTime = DateTime.Now;
|
||||
}
|
||||
@ -234,7 +234,7 @@ namespace Plane.Copters
|
||||
|
||||
public Task<float> GetParamAsync(string paramName, int millisecondsTimeout = Timeout.Infinite)
|
||||
{
|
||||
// TODO: 林俊清, 20150806, 实现仿真的 GetParamAsync。
|
||||
// TODO: 王海, 20150806, 实现仿真的 GetParamAsync。
|
||||
return Task.FromResult(0f);
|
||||
}
|
||||
|
||||
@ -308,7 +308,7 @@ namespace Plane.Copters
|
||||
}
|
||||
public Task SetParamAsync(string paramName, float value, int millisecondsTimeout = Timeout.Infinite)
|
||||
{
|
||||
// TODO: 林俊清, 20150807, 实现仿真的 SetParamAsync。
|
||||
// TODO: 王海, 20150807, 实现仿真的 SetParamAsync。
|
||||
return TaskUtils.CompletedTask;
|
||||
}
|
||||
public bool GetShowLEDAsync()
|
||||
@ -354,7 +354,7 @@ namespace Plane.Copters
|
||||
double? latitude = null, //23.14973333,
|
||||
double? longitude = null, //113.40974166,
|
||||
float? altitude = null, //0,
|
||||
string name = null, //"林俊清的飞行器",
|
||||
string name = null, //"王海的飞行器",
|
||||
byte? batteryPer = null, //10,
|
||||
short? heading = null, //33,
|
||||
bool? isConnected = null, //true,
|
||||
@ -463,7 +463,7 @@ namespace Plane.Copters
|
||||
if (movedDistance >= 3 || movedTime.TotalSeconds >= 3)
|
||||
{
|
||||
var airSpeed = movedDistance / movedTime.TotalSeconds;
|
||||
if (airSpeed < 100) // 林俊清, 20151023, 速度过大时不正常,经纬度可能有错误。
|
||||
if (airSpeed < 100) // 王海, 20151023, 速度过大时不正常,经纬度可能有错误。
|
||||
{
|
||||
AirSpeed = (float)airSpeed;
|
||||
}
|
||||
@ -537,7 +537,7 @@ namespace Plane.Copters
|
||||
break;
|
||||
|
||||
case FlightMode.GUIDED:
|
||||
// 林俊清, 20160317, 指点时也能体感控制若干通道。
|
||||
// 王海, 20160317, 指点时也能体感控制若干通道。
|
||||
//考虑不更新这个,好像没必要-xu
|
||||
//UpdateWithChannels();
|
||||
UpdateWithDestination(_targetLat, _targetLng, _targetAlt);
|
||||
@ -571,7 +571,7 @@ namespace Plane.Copters
|
||||
break;
|
||||
|
||||
case FlightMode.LAND:
|
||||
// 林俊清, 20160317, 降落时也能体感控制若干通道。
|
||||
// 王海, 20160317, 降落时也能体感控制若干通道。
|
||||
UpdateWithChannels();
|
||||
// 以最大速度降落,直到高度为 0。
|
||||
if (Altitude > 0)
|
||||
@ -603,7 +603,7 @@ namespace Plane.Copters
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO: 林俊清, 20151228, 模拟空中锁定。
|
||||
// TODO: 王海, 20151228, 模拟空中锁定。
|
||||
// 锁定时直接把速度设为 0。
|
||||
AirSpeed = 0;
|
||||
}
|
||||
@ -706,7 +706,7 @@ namespace Plane.Copters
|
||||
|
||||
if (Mode == FlightMode.RTL)
|
||||
{
|
||||
// 林俊清, 20160126, 目前飞行器只在返航时会旋转机头,面对飞行方向。
|
||||
// 王海, 20160126, 目前飞行器只在返航时会旋转机头,面对飞行方向。
|
||||
Yaw = (float)direction.RadToDeg();
|
||||
Heading = (short)Yaw;
|
||||
Roll = 0;
|
||||
|
@ -9,11 +9,11 @@ namespace Plane.Copters
|
||||
#endif
|
||||
enum FlightMode
|
||||
{
|
||||
// 林俊清,20150608:不可将以下枚举项重命名。
|
||||
// 王海,20150608:不可将以下枚举项重命名。
|
||||
|
||||
STABILIZE = 0, // hold level position
|
||||
|
||||
ACRO = 1, // rate control // 林俊清, 20160205, 特技模式:http://copter.ardupilot.cn/wiki/acro-mode/
|
||||
ACRO = 1, // rate control // 王海, 20160205, 特技模式:http://copter.ardupilot.cn/wiki/acro-mode/
|
||||
|
||||
ALT_HOLD = 2, // AUTO control
|
||||
|
||||
@ -27,11 +27,11 @@ namespace Plane.Copters
|
||||
|
||||
CIRCLE = 7,
|
||||
|
||||
POSITION = 8, // 林俊清, 20160205, 位置模式:http://copter.ardupilot.cn/wiki/POSITION-mode/
|
||||
POSITION = 8, // 王海, 20160205, 位置模式:http://copter.ardupilot.cn/wiki/POSITION-mode/
|
||||
|
||||
LAND = 9, // AUTO control
|
||||
|
||||
OF_LOITER = 10, // 林俊清, 20160205, 光流悬停模式:http://copter.ardupilot.cn/wiki/loiter-mode/ 底部。
|
||||
OF_LOITER = 10, // 王海, 20160205, 光流悬停模式:http://copter.ardupilot.cn/wiki/loiter-mode/ 底部。
|
||||
|
||||
TOY = 11
|
||||
}
|
||||
|
@ -292,7 +292,7 @@ namespace Plane.Copters
|
||||
public async Task TakeOffAsync(float alt)
|
||||
{
|
||||
var currentTakeOffCount = ++_takeOffCount;
|
||||
// 林俊清, 20160312, 从固件版本 3.1.1(0x3101)开始支持直接解锁起飞命令。
|
||||
// 王海, 20160312, 从固件版本 3.1.1(0x3101)开始支持直接解锁起飞命令。
|
||||
//if (FirmwareVersion >= 0x3101)
|
||||
{
|
||||
await SetChannelsAsync(
|
||||
|
@ -46,7 +46,7 @@ namespace Plane.Copters
|
||||
((ICollection)bitArray).CopyTo(array, 0);
|
||||
return array[0];
|
||||
}
|
||||
// 林俊清,20150703:BitArray 的构造函数的参数是数组长度,这里根本不对啊。
|
||||
// 王海,20150703:BitArray 的构造函数的参数是数组长度,这里根本不对啊。
|
||||
//set
|
||||
//{
|
||||
// bitArray = new BitArray(value);
|
||||
|
@ -348,7 +348,7 @@ namespace Plane.Copters
|
||||
return flightModes.ToList();
|
||||
}
|
||||
|
||||
// 林俊清, 20151029, 由于只在 myComm 循环中读取数据包,因此去掉了锁。
|
||||
// 王海, 20151029, 由于只在 myComm 循环中读取数据包,因此去掉了锁。
|
||||
//volatile object readlock = new object();
|
||||
|
||||
#if DEBUG && LOG_PACKETS
|
||||
@ -364,7 +364,7 @@ namespace Plane.Copters
|
||||
private byte[] _readBuffer = new byte[263];
|
||||
|
||||
/// <summary>
|
||||
/// 异步读取数据包。// 林俊清, 20151029, 去掉了锁,不要在除读数据包循环之外的地方调用此方法。
|
||||
/// 异步读取数据包。// 王海, 20151029, 去掉了锁,不要在除读数据包循环之外的地方调用此方法。
|
||||
/// </summary>
|
||||
/// <returns>表示此异步操作的 <see cref="Task{TResult}"/> 实例,其结果为读取到的数据包。</returns>
|
||||
private async Task<byte[]> ReadPacketAsync()
|
||||
@ -612,7 +612,7 @@ namespace Plane.Copters
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 林俊清, 20151031, 异常已通过 IConnection.ExceptionThrown 事件传到外部,此处吞掉就行了。
|
||||
// 王海, 20151031, 异常已通过 IConnection.ExceptionThrown 事件传到外部,此处吞掉就行了。
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -688,7 +688,7 @@ namespace Plane.Copters
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 林俊清, 20151031, 异常已通过 IConnection.ExceptionThrown 事件传到外部,此处吞掉就行了。
|
||||
// 王海, 20151031, 异常已通过 IConnection.ExceptionThrown 事件传到外部,此处吞掉就行了。
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ namespace Plane.Protocols
|
||||
|
||||
public const bool MAVLINK_NEED_BYTE_SWAP = (MAVLINK_ENDIAN == MAVLINK_LITTLE_ENDIAN);
|
||||
|
||||
// 林俊清, 20150721: 消息长度表未被使用,而且没更新,删除。
|
||||
// 王海, 20150721: 消息长度表未被使用,而且没更新,删除。
|
||||
//public static readonly byte[] MAVLINK_MESSAGE_LENGTHS = new byte[] { 9, 31, 12, 0, 14, 28, 3, 32, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 20, 2, 25, 23, 30, 101, 22, 26, 16, 14, 28, 32, 28, 28, 22, 22, 21, 6, 6, 37, 4, 4, 2, 2, 4, 2, 2, 3, 13, 12, 19, 17, 15, 15, 27, 25, 18, 18, 20, 20, 9, 34, 26, 46, 36, 0, 6, 4, 0, 11, 18, 0, 0, 0, 20, 0, 33, 3, 0, 0, 20, 22, 0, 0, 0, 0, 0, 0, 0, 28, 56, 42, 33, 0, 0, 0, 0, 0, 0, 0, 26, 32, 32, 20, 32, 62, 54, 64, 84, 9, 254, 249, 9, 36, 26, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 33, 25, 42, 8, 4, 12, 15, 13, 6, 15, 14, 0, 12, 3, 8, 28, 44, 3, 9, 22, 12, 18, 34, 66, 98, 8, 48, 19, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 30, 18, 18, 51, 9, 0 };
|
||||
|
||||
//public static readonly byte[] MAVLINK_MESSAGE_CRCS = new byte[] {50, 124, 137, 0, 237, 217, 104, 119, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 214, 159, 220, 168, 24, 23, 170, 144, 67, 115, 39, 246, 185, 104, 237, 244, 222, 212, 9, 254, 230, 28, 28, 132, 221, 232, 11, 153, 41, 39, 214, 223, 141, 33, 15, 3, 100, 24, 239, 238, 30, 240, 183, 130, 130, 118, 148, 21, 0, 243, 124, 0, 0, 0, 20, 0, 152, 143, 0, 0, 127, 106, 0, 0, 0, 0, 0, 0, 0, 231, 183, 63, 54, 0, 0, 0, 0, 0, 0, 0, 175, 102, 158, 208, 56, 93, 211, 108, 32, 185, 235, 93, 124, 124, 119, 4, 76, 128, 56, 116, 134, 237, 203, 250, 87, 203, 220, 0, 0, 0, 29, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 241, 15, 134, 219, 208, 188, 84, 22, 19, 21, 134, 0, 78, 68, 189, 127, 154, 21, 21, 144, 1, 234, 73, 181, 22, 83, 167, 138, 234, 240, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 49, 170, 44, 83, 46, 0 };
|
||||
@ -79,15 +79,15 @@ namespace Plane.Protocols
|
||||
///<summary> Takeoff from ground / hand |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Empty| Yaw angle (if magnetometer present), ignored without magnetometer| Latitude| Longitude| Altitude| </summary>
|
||||
TAKEOFF = 22,
|
||||
/// <summary>
|
||||
/// // 林俊清, 20160331, 来自郭老师,据说是传文件用的。
|
||||
/// // 王海, 20160331, 来自王海1,据说是传文件用的。
|
||||
/// </summary>
|
||||
TELL_COPTER = 23,
|
||||
/// <summary>
|
||||
/// // 林俊清, 20160331, 来自郭老师的邮件,作用未知。
|
||||
/// // 王海, 20160331, 来自王海1的邮件,作用未知。
|
||||
/// </summary>
|
||||
FILE_TRANS_MODE = 24,
|
||||
/// <summary>
|
||||
/// // 林俊清, 20160331, 来自郭老师的邮件,用于 RF 测试。
|
||||
/// // 王海, 20160331, 来自王海1的邮件,用于 RF 测试。
|
||||
/// </summary>
|
||||
RF_TEST = 25,
|
||||
///<summary> Sets the region of interest (ROI) for a sensor set or the vehicle itself. This can then be used by the vehicles control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Region of intereset mode. (see MAV_ROI enum)| MISSION index/ target ID. (see MAV_ROI enum)| ROI index (allows a vehicle to manage multiple ROI's)| Empty| x the location of the fixed ROI (see MAV_FRAME)| y| z| </summary>
|
||||
@ -1366,7 +1366,7 @@ namespace Plane.Protocols
|
||||
/// <summary> Type of the MAV (quadrotor, helicopter, etc., up to 15 types, defined in MAV_TYPE ENUM) </summary>
|
||||
public byte type;
|
||||
/// <summary> Autopilot type / class. defined in MAV_AUTOPILOT ENUM
|
||||
/// // 林俊清, 20160311, 亿航用作切过 GPS 模式的标志。</summary>
|
||||
/// // 王海, 20160311, 亿航用作切过 GPS 模式的标志。</summary>
|
||||
public byte autopilot;
|
||||
/// <summary> System mode bitfield, see MAV_MODE_FLAGS ENUM in mavlink/include/mavlink_types.h </summary>
|
||||
public byte base_mode;
|
||||
|
@ -44,7 +44,7 @@ namespace Plane.Protocols
|
||||
Marshal.Copy(bytearray, startoffset, i, len);
|
||||
packet = Marshal.PtrToStructure<TMavlinkPacket>(i);
|
||||
}
|
||||
// 林俊清, 20151026, 改为不吞异常了。
|
||||
// 王海, 20151026, 改为不吞异常了。
|
||||
//catch
|
||||
//{
|
||||
// //log.Error("ByteArrayToStructure FAIL", ex);
|
||||
|
@ -43,7 +43,7 @@ namespace Plane.Protocols
|
||||
Marshal.Copy(bytearray, startoffset, i, len);
|
||||
packet = MarshalEx.PtrToStructure<TMavlinkPacket>(i);
|
||||
}
|
||||
// 林俊清, 20151026, 改为不吞异常了。
|
||||
// 王海, 20151026, 改为不吞异常了。
|
||||
//catch
|
||||
//{
|
||||
// //log.Error("ByteArrayToStructure FAIL", ex);
|
||||
|
@ -39,13 +39,13 @@ namespace TaskTools.HIL
|
||||
self.z);
|
||||
}
|
||||
|
||||
// 林俊清,20150702:删除 MissionPlanner.Utilities.dll。
|
||||
// 王海,20150702:删除 MissionPlanner.Utilities.dll。
|
||||
//public static implicit operator Vector3(PointLatLngAlt a)
|
||||
//{
|
||||
// return new Vector3(a.Lat,a.Lng,a.Alt);
|
||||
//}
|
||||
|
||||
// 林俊清,20150702:删除 GMap.NET.Core.dll(仅此处使用其 PointLatLng)。
|
||||
// 王海,20150702:删除 GMap.NET.Core.dll(仅此处使用其 PointLatLng)。
|
||||
|
||||
//public static implicit operator Vector3(PointLatLng a)
|
||||
//{
|
||||
|
Loading…
Reference in New Issue
Block a user