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