This commit is contained in:
2025-04-06 20:56:02 +03:00
parent da7f5a8404
commit 21b60b7f4c
9 changed files with 498 additions and 147 deletions

View File

@ -1,42 +1,67 @@
using System.Runtime.InteropServices;
namespace DroneData
{
enum StructType : ulong
{
// Output
DataIMU = 1, DataPos = 2,
// Input
DataMotor4 = 1001, DataMotor6 = 1002
public enum DataMode : ushort
{
None = 0, Response = 1, Request = 2
};
public struct DataInfo
public enum DataType : ushort
{
None = 0, Head = 1,
// Output
DataIMU = 1001, DataPos = 1002,
// Input
DataMotor4 = 2001, DataMotor6 = 2002
};
public struct DataHead
{
StructType Type;
ulong Size;
public int Size;
public DataMode Mode;
public DataType Type;
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataHead));
}
public struct DataXYZ { float X, Y, Z; }
public struct XYZ { public float X, Y, Z; }
public struct DataIMU
{
DataXYZ Acc, Gyr, Mag;
public DataHead Head;
public XYZ Acc, Gyr, Mag;
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataIMU));
}
public struct DataPos
{
DataXYZ Local; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float LiDAR; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public DataHead Head;
public XYZ Local; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public float LiDAR; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataPos));
}
public struct DataMotor4
{
ulong Count;
float M1, M2, M3, M4;
public DataHead Head;
public ulong Count;
public float UL, UR, DL, DR;
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataMotor4));
}
public struct DataMotor6
{
ulong Count;
float M1, M2, M3, M4, M5, M6;
public DataHead Head;
public ulong Count;
public float UL, UR, LL, RR, DL, DR;
static public int StrLen = Marshal.SizeOf(typeof(DroneData.DataMotor6));
}
}