加入两个参数,一个CopterLocationType在连接后取一次,确定飞机的定位方式,用于判断是否向它发送RTCM差分数据

一个MissionStatus参数,确定当前飞行任务执行情况,如果是1就是正在飞行到目标航点中,界面上飞机图标前面会有个小标识,到达航点后消失,用来人为判断哪些飞机没有到达航点
This commit is contained in:
pxzleo 2017-09-11 03:57:47 +08:00
parent b000e7fa0f
commit fb17c0a3f9
6 changed files with 54 additions and 0 deletions

View File

@ -172,5 +172,15 @@ namespace Plane.Copters
/// 获取当前电池电压,单位为伏特。
/// </summary>
float Voltage { get; }
//定位类型RTK,GPS
CopterLocationType LocationType { get; }
/// <summary>
/// MissionStatus=1表示正在飞向目标中0标识达到目标
/// </summary>
int MissionStatus { get; set; }
}
}

View File

@ -20,6 +20,7 @@
<Compile Include="$(MSBuildThisFileDirectory)CopterManagement\ICopterManager.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Copters\Constants.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Copters\CopterCommand.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Copters\CopterLocationType.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Copters\CopterState.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Copters\PLObservableObject.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Copters\FlightCommand.cs" />

View File

@ -155,8 +155,12 @@ namespace Plane.Copters
private float _Voltage;
private CopterLocationType _LocationType= CopterLocationType.GPS;
private float _Yaw;
private int _MissionStatus;
#endregion Backing Fields
public CopterImplSharedPart(SynchronizationContext uiSyncContext) : base(uiSyncContext)
@ -613,12 +617,27 @@ namespace Plane.Copters
protected set { Set(nameof(Voltage), ref _Voltage, value); }
}
public CopterLocationType LocationType
{
get { return _LocationType; }
protected set { Set(nameof(LocationType), ref _LocationType, value); }
}
public float Yaw
{
get { return _Yaw; }
protected set { Set(nameof(Yaw), ref _Yaw, value); }
}
public int MissionStatus
{
get { return _MissionStatus; }
set { Set(nameof(MissionStatus), ref _MissionStatus, value); }
}
#if PRIVATE
public
#else

View File

@ -84,6 +84,11 @@ namespace Plane.Copters
return TaskUtils.CompletedTask;
}
public Task InitAsync()
{
return TaskUtils.CompletedTask;
}
public Task StopPairingAsync()
{
return TaskUtils.CompletedTask;

View File

@ -343,6 +343,12 @@ namespace Plane.Copters
return TaskUtils.CompletedTask;
}
public Task InitAsync()
{
return TaskUtils.CompletedTask;
}
public Task StopPairingAsync()
{
return TaskUtils.CompletedTask;

View File

@ -54,6 +54,8 @@ namespace Plane.Copters
await _internalCopter.ConnectAsync().ConfigureAwait(false);
IsConnected = _internalCopter.IsConnected;
IsCheckingConnection = true;
//连接完成后做一些初始化的工作
await InitAsync();
}
public virtual async Task DisconnectAsync()
@ -248,6 +250,17 @@ namespace Plane.Copters
await _internalCopter.GeneratePacketAsync(MAVLink.MAVLINK_MSG_ID_SET_PAIR, packet).ConfigureAwait(false);
}
public async Task InitAsync()
{
float Gpstype= await _internalCopter.GetParamAsync("GPS_TYPE") ;
if (Gpstype == 15)
LocationType = CopterLocationType.RTK;
else
LocationType = CopterLocationType.GPS;
}
public async Task StopPairingAsync()
{
if (!IsPairing) return;