Plane.Sdk3/PlaneGcsSdk.Contract_Shared/Copters/ICopterStatus.cs
zxd c867d89f19 通信模块的断线重连 固定IP改换为199.51
添加飞机选中数量的统计
优化写航点跳过错误,优化写航点的统计
通信模块的version
检测航点最小距离时显示ID号
2018-08-26 22:11:10 +08:00

187 lines
6.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Plane.Geography;
using System;
namespace Plane.Copters
{
/// <summary>
/// 定义用于获取飞行器状态的属性。
/// </summary>
public partial interface ICopterStatus : IVisibleStatus
{
/// <summary>
/// 获取当前空速,单位为 m/s。
/// </summary>
float AirSpeed { get; }
/// <summary>
/// 获取剩余电量百分比,其范围为 [0, 100]。
/// </summary>
byte BatteryPer { get; }
/// <summary>
/// 获取通道 1 的值。该值在飞控中用于改变飞行器横滚姿态,从而控制其左右方向的移动。有效范围为 [1100, 1900]。小于 1500 时使飞行器向左倾斜,大于 1500 时使飞行器向右倾斜。
/// </summary>
ushort Channel1 { get; }
/// <summary>
/// 获取通道 2 的值。该值在飞控中用于改变飞行器俯仰姿态,从而控制其前后方向的移动。有效范围为 [1100, 1900]。小于 1500 时使飞行器向前倾斜,大于 1500 时使飞行器向后倾斜。
/// </summary>
ushort Channel2 { get; }
/// <summary>
/// 获取通道 3 的值。该值在飞控中用于改变飞行器油门,从而控制其上下方向的移动。有效范围为 [1100, 1900]。在能够定高的模式(如 ALT_HOLD、LOITER小于 1500 时使飞行器下降,大于 1500 时使飞行器上升。
/// </summary>
ushort Channel3 { get; }
/// <summary>
/// 获取通道 4 的值。该值在飞控中用于使飞行器改变机头方向。有效范围为 [1100, 1900]。小于 1500 时使飞行器逆时针旋转,大于 1500 时使飞行器顺时针旋转。
/// </summary>
ushort Channel4 { get; }
/// <summary>
/// 获取通道 5 的值。其作用未定义。
/// </summary>
ushort Channel5 { get; }
/// <summary>
/// 获取通道 6 的值。该值在飞控中用于控制相机正对的方向。有效范围为 [1100, 1900]。小于 1500 时使相机逆时针旋转,大于 1500 时使相机顺时针旋转。
/// </summary>
ushort Channel6 { get; }
/// <summary>
/// 获取通道 7 的值。该值在飞控中用于控制相机俯仰姿态。有效范围为 [1100, 1900]。小于 1500 时使相机向后旋转,大于 1500 时使相机向前旋转。
/// </summary>
ushort Channel7 { get; }
/// <summary>
/// 获取通道 8 的值。其作用未定义。
/// </summary>
ushort Channel8 { get; }
/// <summary>
/// 获取海拔。
/// </summary>
float Elevation { get; }
/// <summary>
/// 获取固件版本。
/// </summary>
int? FirmwareVersion { get; }
/// <summary>
/// 获取固件版本的文本形式。
/// </summary>
string FirmwareVersionText { get; }
/// <summary>
/// 获取在三维空间中的飞行距离。
/// </summary>
double FlightDistance { get; }
/// <summary>
/// 获取在水平面上的飞行距离。
/// </summary>
double FlightDistance2D { get; }
/// <summary>
/// 获取飞行时间。
/// </summary>
TimeSpan FlightTimeSpan { get; }
/// <summary>
/// 获取 GPS 锁定状态。
/// </summary>
GpsFixType GpsFixType { get; }
/// <summary>
/// 获取 GPS HDOPhorizontal dilution of position单位为米。
/// </summary>
float GpsHdop { get; }
/// <summary>
/// 获取当前地速,单位为 m/s。
/// </summary>
float GroundSpeed { get; }
/// <summary>
/// 获取一个值,指示是否切过 GPS 模式。
/// </summary>
bool HasSwitchedToGpsMode { get; }
/// <summary>
/// 获取收到心跳的总数。
/// </summary>
ulong HeartbeatCount { get; }
/// <summary>
/// 获取飞行器的标识。
/// </summary>
string Id { get; }
/// <summary>
/// 获取一个值,指示是否确定飞行器与地面站正常连接。在实现中,一般根据对心跳包的接收情况判断。
/// </summary>
bool IsAbsolutelyConnected { get; }
/// <summary>
/// 获取一个值,指示是否正在检查飞行器与地面站的连接以确定通信正常。在实现中,一般在建立连接后设为 true在收到飞行器发回的数据后设为 false。
/// </summary>
bool IsCheckingConnection { get; set; }
/// <summary>
/// 获取一个值,指示飞行器与地面站之间的连接是否正常。
/// </summary>
bool IsConnected { get; }
/// <summary>
/// 获取一个值,指示当前的 GPS 定位是否足够精确。
/// </summary>
bool IsGpsAccurate { get; }
/// <summary>
/// 获取一个值,指示飞行器是否已解锁。
/// </summary>
bool IsUnlocked { get; }
/// <summary>
/// 获取任务总数。
/// </summary>
ushort? MissionCount { get; }
/// <summary>
/// 获取飞行器的 GPS 卫星数。
/// </summary>
byte SatCount { get; }
/// <summary>
/// 获取当前所处状态。
/// </summary>
CopterState State { get; }
/// <summary>
/// 获取飞控发回的消息,如起飞失败原因。
/// </summary>
string StatusText { get; }
/// <summary>
/// 获取起飞点。
/// </summary>
ILocation TakeOffPoint { get; }
/// <summary>
/// 获取当前电池电压,单位为伏特。
/// </summary>
float Voltage { get; }
/// <summary>
/// 预留字节用于通信模块条件下的返回值
/// </summary>
byte[] Retain { get; }
/// <summary>
/// 飞机上通信模块版本
/// </summary>
byte CommModuleVersion { get; }
}
}