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; } } }