39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
|
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; }
|
|||
|
}
|
|||
|
}
|