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