100 lines
2.1 KiB
C#
100 lines
2.1 KiB
C#
using System.Runtime.InteropServices;
|
|
|
|
namespace DroneData
|
|
{
|
|
public enum DataMode : ushort
|
|
{
|
|
None = 0, Response = 1, Request = 2
|
|
};
|
|
|
|
public enum DataType : ushort
|
|
{
|
|
None = 0, Head = 1,
|
|
|
|
// Output
|
|
DataAcc = 1001, DataGyr = 1002, DataMag = 1003, DataRange = 1004, DataLocal = 1005,
|
|
|
|
// Input
|
|
DataMotor4 = 2001, DataMotor6 = 2002
|
|
};
|
|
|
|
public struct DataHead
|
|
{
|
|
public int Size;
|
|
|
|
public DataMode Mode;
|
|
public DataType Type;
|
|
|
|
public uint Time; // Îáùåå âðåìÿ
|
|
|
|
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataHead));
|
|
}
|
|
|
|
public struct XYZ { public float X, Y, Z; }
|
|
|
|
public struct DataAcc
|
|
{
|
|
public DataHead Head;
|
|
public XYZ Acc;
|
|
|
|
public uint Time; // Ïîñëåäíåå âðåìÿ èçìåíåíèÿ äàííûõ
|
|
|
|
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataAcc));
|
|
}
|
|
|
|
public struct DataGyr
|
|
{
|
|
public DataHead Head;
|
|
public XYZ Gyr;
|
|
|
|
public uint Time; // Ïîñëåäíåå âðåìÿ èçìåíåíèÿ äàííûõ
|
|
|
|
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataGyr));
|
|
}
|
|
|
|
public struct DataMag
|
|
{
|
|
public DataHead Head;
|
|
public XYZ Mag;
|
|
|
|
public uint Time; // Ïîñëåäíåå âðåìÿ èçìåíåíèÿ äàííûõ
|
|
|
|
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataMag));
|
|
}
|
|
|
|
public struct DataLocal
|
|
{
|
|
public DataHead Head;
|
|
public XYZ Local; // Ëîêàëüíûå êîîðäèíàòû
|
|
|
|
public uint Time; // Ïîñëåäíåå âðåìÿ èçìåíåíèÿ äàííûõ
|
|
|
|
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataLocal));
|
|
}
|
|
|
|
public struct DataRange
|
|
{
|
|
public DataHead Head;
|
|
public float LiDAR; // Äàò÷èê ïîñàäêè
|
|
|
|
public uint Time; // Ïîñëåäíåå âðåìÿ èçìåíåíèÿ äàííûõ
|
|
|
|
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataRange));
|
|
}
|
|
|
|
public struct DataMotor4
|
|
{
|
|
public DataHead Head;
|
|
public float UL, UR, DL, DR;
|
|
|
|
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataMotor4));
|
|
}
|
|
|
|
public struct DataMotor6
|
|
{
|
|
public DataHead Head;
|
|
public float UL, UR, LL, RR, DL, DR;
|
|
|
|
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataMotor6));
|
|
}
|
|
} |