This commit is contained in:
2025-04-27 20:04:11 +03:00
parent cdf8c18d9b
commit 7bf2553455
4 changed files with 343 additions and 275 deletions

View File

@ -42,14 +42,6 @@ namespace DroneSimulator
RealMode.Barometer RealBar = new RealMode.Barometer();
RealMode.Range RealRange = new RealMode.Range();
public struct DataBarometer
{
public float Pressure; // Значение давления в Паскальях
public uint Time;
}
public DataBarometer dataBarometer;
public static byte[] getBytes(object data)
{
int size = Marshal.SizeOf(data);
@ -257,10 +249,11 @@ namespace DroneSimulator
else LaserRange = float.MaxValue;
}
float v_bar = PosXYZ.Z * 11;
uint t_bar = (uint)tick;
RealBar.Update(ref v_bar, ref t_bar);
dataBarometer.Pressure = v_bar;
RealAcc.Update(Acc, (uint)tick);
RealGyr.Update(Gyr, (uint)tick);
RealRange.Update(LaserRange, (uint)tick);
RealBar.Update(PosXYZ.Z * 11, (uint)tick);
RealPos.Update(PosXYZ, (uint)tick);
DataTimer = (uint)tick;
}
@ -300,8 +293,8 @@ namespace DroneSimulator
acc.Head.Type = DroneData.DataType.DataAcc;
acc.Head.Time = (uint)Environment.TickCount;
acc.Acc.X = Acc.X; acc.Acc.Y = Acc.Y; acc.Acc.Z = Acc.Z;
acc.Time = DataTimer;
acc.Acc.X = RealAcc.result.X; acc.Acc.Y = RealAcc.result.Y; acc.Acc.Z = RealAcc.result.Z;
acc.Time = RealAcc.timer;
return getBytes(acc);
}
@ -315,8 +308,8 @@ namespace DroneSimulator
gyr.Head.Type = DroneData.DataType.DataGyr;
gyr.Head.Time = (uint)Environment.TickCount;
gyr.Gyr.X = Gyr.X; gyr.Gyr.Y = Gyr.Y; gyr.Gyr.Z = Gyr.Z;
gyr.Time = DataTimer;
gyr.Gyr.X = RealGyr.result.X; gyr.Gyr.Y = RealGyr.result.Y; gyr.Gyr.Z = RealGyr.result.Z;
gyr.Time = RealGyr.timer;
return getBytes(gyr);
}
@ -345,8 +338,8 @@ namespace DroneSimulator
range.Head.Type = DroneData.DataType.DataRange;
range.Head.Time = (uint)Environment.TickCount;
range.LiDAR = LaserRange;
range.Time = DataTimer;
range.LiDAR = RealRange.result;
range.Time = RealRange.timer;
return getBytes(range);
}
@ -360,8 +353,8 @@ namespace DroneSimulator
local.Head.Type = DroneData.DataType.DataLocal;
local.Head.Time = (uint)Environment.TickCount;
local.Local.X = PosXYZ.X; local.Local.Y = PosXYZ.Y; local.Local.Z = PosXYZ.Z;
local.Time = DataTimer;
local.Local.X = RealPos.result.X; local.Local.Y = RealPos.result.Y; local.Local.Z = RealPos.result.Z;
local.Time = RealPos.timer;
return getBytes(local);
}
@ -375,8 +368,8 @@ namespace DroneSimulator
bar.Head.Type = DroneData.DataType.DataBar;
bar.Head.Time = (uint)Environment.TickCount;
bar.Pressure = dataBarometer.Pressure;
bar.Time = dataBarometer.Time;
bar.Pressure = RealBar.result;
bar.Time = RealBar.timer;
return getBytes(bar);
}