Plane.Sdk3/PlaneGcsSdk_Shared/CopterControllers/CopterControllerBase.cs

39 lines
1.4 KiB
C#
Raw Permalink Normal View History

2017-02-27 02:02:19 +08:00
using Plane.CopterManagement;
using Plane.Messaging;
namespace Plane.CopterControllers
{
/// <summary>
/// 利用特定方式控制飞行器的控制器的基类。子类应该通过响应事件/消息来控制飞行器,而不是提供 public 方法。
/// </summary>
public abstract class CopterControllerBase
{
/// <summary>
/// 表示左右转弯的中间值即通道2的值通道2的取值范围为1100~1900小于中间值为向前大于中间值为向后。
/// </summary>
protected const ushort PitchMedianValue = 1500;
/// <summary>
/// 表示左右转弯的中间值即通道1的值通道1的取值范围为1100~1900小于中间值为转左大于中间值为转右。
/// </summary>
protected const ushort RollMedianValue = 1500;
protected ICopterManager _copterManager;
protected IPLMessenger _messenger;
protected CopterControllerBase(IPLMessenger messenger, ICopterManager copterManager)
{
_messenger = messenger;
_copterManager = copterManager;
}
/// <summary>
/// 获取或设置一个值,指示是否激活此控制器。
/// </summary>
public virtual bool IsEnabled { get; set; }
public abstract CopterControllerTypes Type { get; }
}
}