This commit is contained in:
Sergey Sklyarov 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);
}

View File

@ -57,16 +57,16 @@
panel_Menu_Model = new Panel();
groupBox1 = new GroupBox();
label55 = new Label();
numericUpDown18 = new NumericUpDown();
numericUpDown_Range_Laten = new NumericUpDown();
label56 = new Label();
checkBox1 = new CheckBox();
numericUpDown9 = new NumericUpDown();
checkBox_Range_Enable = new CheckBox();
numericUpDown_Range_Max = new NumericUpDown();
label42 = new Label();
label43 = new Label();
label44 = new Label();
numericUpDown_Range_Noise = new NumericUpDown();
label45 = new Label();
numericUpDown11 = new NumericUpDown();
numericUpDown_Range_Freq = new NumericUpDown();
label46 = new Label();
label47 = new Label();
groupBox_OF = new GroupBox();
@ -106,15 +106,15 @@
label7 = new Label();
groupBox_GPS = new GroupBox();
label2 = new Label();
numericUpDown12 = new NumericUpDown();
numericUpDown_Pos_Laten = new NumericUpDown();
label4 = new Label();
label6 = new Label();
numericUpDown_Pos_Noise = new NumericUpDown();
label10 = new Label();
numericUpDown14 = new NumericUpDown();
numericUpDown_Pos_Freq = new NumericUpDown();
label11 = new Label();
label48 = new Label();
checkBox_GPS_Enable = new CheckBox();
checkBox_Pos_Enable = new CheckBox();
groupBox_Mag = new GroupBox();
label27 = new Label();
numericUpDown_Mag_Noise = new NumericUpDown();
@ -123,14 +123,14 @@
label22 = new Label();
groupBox_Gyr = new GroupBox();
label51 = new Label();
numericUpDown16 = new NumericUpDown();
numericUpDown_Gyr_Laten = new NumericUpDown();
label52 = new Label();
label36 = new Label();
label35 = new Label();
label34 = new Label();
numericUpDown6 = new NumericUpDown();
numericUpDown5 = new NumericUpDown();
numericUpDown4 = new NumericUpDown();
numericUpDown_Gyr_Shift_Z = new NumericUpDown();
numericUpDown_Gyr_Shift_Y = new NumericUpDown();
numericUpDown_Gyr_Shift_X = new NumericUpDown();
label33 = new Label();
numericUpDown_Gyr_Noise = new NumericUpDown();
label25 = new Label();
@ -139,10 +139,10 @@
label21 = new Label();
groupBox_Acc = new GroupBox();
label49 = new Label();
numericUpDown15 = new NumericUpDown();
numericUpDown_Acc_Laten = new NumericUpDown();
label50 = new Label();
numericUpDown2 = new NumericUpDown();
numericUpDown3 = new NumericUpDown();
numericUpDown_Acc_Scale_Left = new NumericUpDown();
numericUpDown_Acc_Scale_Rigth = new NumericUpDown();
label32 = new Label();
label31 = new Label();
label24 = new Label();
@ -173,10 +173,10 @@
tabPage_Model.SuspendLayout();
panel_Menu_Model.SuspendLayout();
groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown18).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown9).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Range_Laten).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Range_Max).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Range_Noise).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown11).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Range_Freq).BeginInit();
groupBox_OF.SuspendLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown17).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown8).BeginInit();
@ -189,23 +189,23 @@
((System.ComponentModel.ISupportInitialize)numericUpDown_Bar_Noise).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Bar_Freq).BeginInit();
groupBox_GPS.SuspendLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown12).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Pos_Laten).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Pos_Noise).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown14).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Pos_Freq).BeginInit();
groupBox_Mag.SuspendLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown_Mag_Noise).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Mag_Freq).BeginInit();
groupBox_Gyr.SuspendLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown16).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown6).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown5).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown4).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Laten).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Shift_Z).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Shift_Y).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Shift_X).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Noise).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Freq).BeginInit();
groupBox_Acc.SuspendLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown15).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown2).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown3).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Laten).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Scale_Left).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Scale_Rigth).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Noise).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Freq).BeginInit();
groupBox2.SuspendLayout();
@ -492,20 +492,19 @@
// groupBox1
//
groupBox1.Controls.Add(label55);
groupBox1.Controls.Add(numericUpDown18);
groupBox1.Controls.Add(numericUpDown_Range_Laten);
groupBox1.Controls.Add(label56);
groupBox1.Controls.Add(checkBox1);
groupBox1.Controls.Add(numericUpDown9);
groupBox1.Controls.Add(checkBox_Range_Enable);
groupBox1.Controls.Add(numericUpDown_Range_Max);
groupBox1.Controls.Add(label42);
groupBox1.Controls.Add(label43);
groupBox1.Controls.Add(label44);
groupBox1.Controls.Add(numericUpDown_Range_Noise);
groupBox1.Controls.Add(label45);
groupBox1.Controls.Add(numericUpDown11);
groupBox1.Controls.Add(numericUpDown_Range_Freq);
groupBox1.Controls.Add(label46);
groupBox1.Controls.Add(label47);
groupBox1.Dock = DockStyle.Top;
groupBox1.Enabled = false;
groupBox1.Location = new Point(0, 749);
groupBox1.Name = "groupBox1";
groupBox1.Size = new Size(204, 133);
@ -522,16 +521,17 @@
label55.TabIndex = 35;
label55.Text = "sec";
//
// numericUpDown18
// numericUpDown_Range_Laten
//
numericUpDown18.DecimalPlaces = 2;
numericUpDown18.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown18.Location = new Point(68, 103);
numericUpDown18.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown18.Name = "numericUpDown18";
numericUpDown18.Size = new Size(41, 23);
numericUpDown18.TabIndex = 34;
numericUpDown18.Value = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Range_Laten.DecimalPlaces = 2;
numericUpDown_Range_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Range_Laten.Location = new Point(68, 103);
numericUpDown_Range_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Range_Laten.Name = "numericUpDown_Range_Laten";
numericUpDown_Range_Laten.Size = new Size(41, 23);
numericUpDown_Range_Laten.TabIndex = 34;
numericUpDown_Range_Laten.Value = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Range_Laten.ValueChanged += numericUpDown_Range_Update;
//
// label56
//
@ -542,27 +542,29 @@
label56.TabIndex = 33;
label56.Text = "Lateness:";
//
// checkBox1
// checkBox_Range_Enable
//
checkBox1.AutoSize = true;
checkBox1.Checked = true;
checkBox1.CheckState = CheckState.Checked;
checkBox1.Location = new Point(158, 108);
checkBox1.Name = "checkBox1";
checkBox1.Size = new Size(39, 19);
checkBox1.TabIndex = 31;
checkBox1.Tag = "#en";
checkBox1.Text = "En";
checkBox1.UseVisualStyleBackColor = true;
checkBox_Range_Enable.AutoSize = true;
checkBox_Range_Enable.Checked = true;
checkBox_Range_Enable.CheckState = CheckState.Checked;
checkBox_Range_Enable.Location = new Point(158, 108);
checkBox_Range_Enable.Name = "checkBox_Range_Enable";
checkBox_Range_Enable.Size = new Size(39, 19);
checkBox_Range_Enable.TabIndex = 31;
checkBox_Range_Enable.Tag = "#en";
checkBox_Range_Enable.Text = "En";
checkBox_Range_Enable.UseVisualStyleBackColor = true;
checkBox_Range_Enable.CheckedChanged += numericUpDown_Range_Update;
//
// numericUpDown9
// numericUpDown_Range_Max
//
numericUpDown9.Location = new Point(69, 74);
numericUpDown9.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown9.Name = "numericUpDown9";
numericUpDown9.Size = new Size(40, 23);
numericUpDown9.TabIndex = 29;
numericUpDown9.Value = new decimal(new int[] { 8, 0, 0, 0 });
numericUpDown_Range_Max.Location = new Point(69, 74);
numericUpDown_Range_Max.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Range_Max.Name = "numericUpDown_Range_Max";
numericUpDown_Range_Max.Size = new Size(40, 23);
numericUpDown_Range_Max.TabIndex = 29;
numericUpDown_Range_Max.Value = new decimal(new int[] { 8, 0, 0, 0 });
numericUpDown_Range_Max.ValueChanged += numericUpDown_Range_Update;
//
// label42
//
@ -601,6 +603,7 @@
numericUpDown_Range_Noise.Size = new Size(47, 23);
numericUpDown_Range_Noise.TabIndex = 26;
numericUpDown_Range_Noise.Value = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown_Range_Noise.ValueChanged += numericUpDown_Range_Update;
//
// label45
//
@ -612,15 +615,16 @@
label45.Tag = "#accuracy";
label45.Text = "Noise:";
//
// numericUpDown11
// numericUpDown_Range_Freq
//
numericUpDown11.Location = new Point(70, 16);
numericUpDown11.Maximum = new decimal(new int[] { 200, 0, 0, 0 });
numericUpDown11.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown11.Name = "numericUpDown11";
numericUpDown11.Size = new Size(40, 23);
numericUpDown11.TabIndex = 22;
numericUpDown11.Value = new decimal(new int[] { 50, 0, 0, 0 });
numericUpDown_Range_Freq.Location = new Point(70, 16);
numericUpDown_Range_Freq.Maximum = new decimal(new int[] { 200, 0, 0, 0 });
numericUpDown_Range_Freq.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Range_Freq.Name = "numericUpDown_Range_Freq";
numericUpDown_Range_Freq.Size = new Size(40, 23);
numericUpDown_Range_Freq.TabIndex = 22;
numericUpDown_Range_Freq.Value = new decimal(new int[] { 50, 0, 0, 0 });
numericUpDown_Range_Freq.ValueChanged += numericUpDown_Range_Update;
//
// label46
//
@ -1025,17 +1029,16 @@
// groupBox_GPS
//
groupBox_GPS.Controls.Add(label2);
groupBox_GPS.Controls.Add(numericUpDown12);
groupBox_GPS.Controls.Add(numericUpDown_Pos_Laten);
groupBox_GPS.Controls.Add(label4);
groupBox_GPS.Controls.Add(label6);
groupBox_GPS.Controls.Add(numericUpDown_Pos_Noise);
groupBox_GPS.Controls.Add(label10);
groupBox_GPS.Controls.Add(numericUpDown14);
groupBox_GPS.Controls.Add(numericUpDown_Pos_Freq);
groupBox_GPS.Controls.Add(label11);
groupBox_GPS.Controls.Add(label48);
groupBox_GPS.Controls.Add(checkBox_GPS_Enable);
groupBox_GPS.Controls.Add(checkBox_Pos_Enable);
groupBox_GPS.Dock = DockStyle.Top;
groupBox_GPS.Enabled = false;
groupBox_GPS.Location = new Point(0, 327);
groupBox_GPS.Name = "groupBox_GPS";
groupBox_GPS.Size = new Size(204, 106);
@ -1052,16 +1055,17 @@
label2.TabIndex = 32;
label2.Text = "sec";
//
// numericUpDown12
// numericUpDown_Pos_Laten
//
numericUpDown12.DecimalPlaces = 2;
numericUpDown12.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown12.Location = new Point(69, 75);
numericUpDown12.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown12.Name = "numericUpDown12";
numericUpDown12.Size = new Size(41, 23);
numericUpDown12.TabIndex = 31;
numericUpDown12.Value = new decimal(new int[] { 3, 0, 0, 65536 });
numericUpDown_Pos_Laten.DecimalPlaces = 2;
numericUpDown_Pos_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Pos_Laten.Location = new Point(69, 75);
numericUpDown_Pos_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Pos_Laten.Name = "numericUpDown_Pos_Laten";
numericUpDown_Pos_Laten.Size = new Size(41, 23);
numericUpDown_Pos_Laten.TabIndex = 31;
numericUpDown_Pos_Laten.Value = new decimal(new int[] { 3, 0, 0, 65536 });
numericUpDown_Pos_Laten.ValueChanged += numericUpDown_Pos_Update;
//
// label4
//
@ -1091,6 +1095,7 @@
numericUpDown_Pos_Noise.Size = new Size(40, 23);
numericUpDown_Pos_Noise.TabIndex = 28;
numericUpDown_Pos_Noise.Value = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Pos_Noise.ValueChanged += numericUpDown_Pos_Update;
//
// label10
//
@ -1102,15 +1107,16 @@
label10.Tag = "#accuracy";
label10.Text = "Noise:";
//
// numericUpDown14
// numericUpDown_Pos_Freq
//
numericUpDown14.Location = new Point(69, 17);
numericUpDown14.Maximum = new decimal(new int[] { 200, 0, 0, 0 });
numericUpDown14.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown14.Name = "numericUpDown14";
numericUpDown14.Size = new Size(40, 23);
numericUpDown14.TabIndex = 24;
numericUpDown14.Value = new decimal(new int[] { 50, 0, 0, 0 });
numericUpDown_Pos_Freq.Location = new Point(69, 17);
numericUpDown_Pos_Freq.Maximum = new decimal(new int[] { 200, 0, 0, 0 });
numericUpDown_Pos_Freq.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Pos_Freq.Name = "numericUpDown_Pos_Freq";
numericUpDown_Pos_Freq.Size = new Size(40, 23);
numericUpDown_Pos_Freq.TabIndex = 24;
numericUpDown_Pos_Freq.Value = new decimal(new int[] { 50, 0, 0, 0 });
numericUpDown_Pos_Freq.ValueChanged += numericUpDown_Pos_Update;
//
// label11
//
@ -1131,18 +1137,19 @@
label48.Tag = "#frequency";
label48.Text = "Frequency:";
//
// checkBox_GPS_Enable
// checkBox_Pos_Enable
//
checkBox_GPS_Enable.AutoSize = true;
checkBox_GPS_Enable.Checked = true;
checkBox_GPS_Enable.CheckState = CheckState.Checked;
checkBox_GPS_Enable.Location = new Point(158, 78);
checkBox_GPS_Enable.Name = "checkBox_GPS_Enable";
checkBox_GPS_Enable.Size = new Size(39, 19);
checkBox_GPS_Enable.TabIndex = 16;
checkBox_GPS_Enable.Tag = "#en";
checkBox_GPS_Enable.Text = "En";
checkBox_GPS_Enable.UseVisualStyleBackColor = true;
checkBox_Pos_Enable.AutoSize = true;
checkBox_Pos_Enable.Checked = true;
checkBox_Pos_Enable.CheckState = CheckState.Checked;
checkBox_Pos_Enable.Location = new Point(158, 78);
checkBox_Pos_Enable.Name = "checkBox_Pos_Enable";
checkBox_Pos_Enable.Size = new Size(39, 19);
checkBox_Pos_Enable.TabIndex = 16;
checkBox_Pos_Enable.Tag = "#en";
checkBox_Pos_Enable.Text = "En";
checkBox_Pos_Enable.UseVisualStyleBackColor = true;
checkBox_Pos_Enable.CheckedChanged += numericUpDown_Pos_Update;
//
// groupBox_Mag
//
@ -1208,14 +1215,14 @@
// groupBox_Gyr
//
groupBox_Gyr.Controls.Add(label51);
groupBox_Gyr.Controls.Add(numericUpDown16);
groupBox_Gyr.Controls.Add(numericUpDown_Gyr_Laten);
groupBox_Gyr.Controls.Add(label52);
groupBox_Gyr.Controls.Add(label36);
groupBox_Gyr.Controls.Add(label35);
groupBox_Gyr.Controls.Add(label34);
groupBox_Gyr.Controls.Add(numericUpDown6);
groupBox_Gyr.Controls.Add(numericUpDown5);
groupBox_Gyr.Controls.Add(numericUpDown4);
groupBox_Gyr.Controls.Add(numericUpDown_Gyr_Shift_Z);
groupBox_Gyr.Controls.Add(numericUpDown_Gyr_Shift_Y);
groupBox_Gyr.Controls.Add(numericUpDown_Gyr_Shift_X);
groupBox_Gyr.Controls.Add(label33);
groupBox_Gyr.Controls.Add(numericUpDown_Gyr_Noise);
groupBox_Gyr.Controls.Add(label25);
@ -1223,7 +1230,6 @@
groupBox_Gyr.Controls.Add(numericUpDown_Gyr_Freq);
groupBox_Gyr.Controls.Add(label21);
groupBox_Gyr.Dock = DockStyle.Top;
groupBox_Gyr.Enabled = false;
groupBox_Gyr.Location = new Point(0, 154);
groupBox_Gyr.Name = "groupBox_Gyr";
groupBox_Gyr.Size = new Size(204, 122);
@ -1240,16 +1246,17 @@
label51.TabIndex = 35;
label51.Text = "sec";
//
// numericUpDown16
// numericUpDown_Gyr_Laten
//
numericUpDown16.DecimalPlaces = 3;
numericUpDown16.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown16.Location = new Point(68, 92);
numericUpDown16.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown16.Name = "numericUpDown16";
numericUpDown16.Size = new Size(49, 23);
numericUpDown16.TabIndex = 34;
numericUpDown16.Value = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown_Gyr_Laten.DecimalPlaces = 3;
numericUpDown_Gyr_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Gyr_Laten.Location = new Point(68, 92);
numericUpDown_Gyr_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Gyr_Laten.Name = "numericUpDown_Gyr_Laten";
numericUpDown_Gyr_Laten.Size = new Size(49, 23);
numericUpDown_Gyr_Laten.TabIndex = 34;
numericUpDown_Gyr_Laten.Value = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown_Gyr_Laten.ValueChanged += numericUpDown_Gyr_Update;
//
// label52
//
@ -1287,41 +1294,44 @@
label34.TabIndex = 19;
label34.Text = "X";
//
// numericUpDown6
// numericUpDown_Gyr_Shift_Z
//
numericUpDown6.DecimalPlaces = 2;
numericUpDown6.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown6.Location = new Point(145, 62);
numericUpDown6.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown6.Minimum = new decimal(new int[] { 10, 0, 0, int.MinValue });
numericUpDown6.Name = "numericUpDown6";
numericUpDown6.Size = new Size(48, 23);
numericUpDown6.TabIndex = 18;
numericUpDown6.Value = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown_Gyr_Shift_Z.DecimalPlaces = 2;
numericUpDown_Gyr_Shift_Z.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Gyr_Shift_Z.Location = new Point(145, 62);
numericUpDown_Gyr_Shift_Z.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown_Gyr_Shift_Z.Minimum = new decimal(new int[] { 10, 0, 0, int.MinValue });
numericUpDown_Gyr_Shift_Z.Name = "numericUpDown_Gyr_Shift_Z";
numericUpDown_Gyr_Shift_Z.Size = new Size(48, 23);
numericUpDown_Gyr_Shift_Z.TabIndex = 18;
numericUpDown_Gyr_Shift_Z.Value = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown_Gyr_Shift_Z.ValueChanged += numericUpDown_Gyr_Update;
//
// numericUpDown5
// numericUpDown_Gyr_Shift_Y
//
numericUpDown5.DecimalPlaces = 2;
numericUpDown5.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown5.Location = new Point(91, 62);
numericUpDown5.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown5.Minimum = new decimal(new int[] { 10, 0, 0, int.MinValue });
numericUpDown5.Name = "numericUpDown5";
numericUpDown5.Size = new Size(48, 23);
numericUpDown5.TabIndex = 17;
numericUpDown5.Value = new decimal(new int[] { 2, 0, 0, -2147352576 });
numericUpDown_Gyr_Shift_Y.DecimalPlaces = 2;
numericUpDown_Gyr_Shift_Y.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Gyr_Shift_Y.Location = new Point(91, 62);
numericUpDown_Gyr_Shift_Y.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown_Gyr_Shift_Y.Minimum = new decimal(new int[] { 10, 0, 0, int.MinValue });
numericUpDown_Gyr_Shift_Y.Name = "numericUpDown_Gyr_Shift_Y";
numericUpDown_Gyr_Shift_Y.Size = new Size(48, 23);
numericUpDown_Gyr_Shift_Y.TabIndex = 17;
numericUpDown_Gyr_Shift_Y.Value = new decimal(new int[] { 2, 0, 0, -2147352576 });
numericUpDown_Gyr_Shift_Y.ValueChanged += numericUpDown_Gyr_Update;
//
// numericUpDown4
// numericUpDown_Gyr_Shift_X
//
numericUpDown4.DecimalPlaces = 2;
numericUpDown4.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown4.Location = new Point(37, 62);
numericUpDown4.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown4.Minimum = new decimal(new int[] { 10, 0, 0, int.MinValue });
numericUpDown4.Name = "numericUpDown4";
numericUpDown4.Size = new Size(48, 23);
numericUpDown4.TabIndex = 16;
numericUpDown4.Value = new decimal(new int[] { 1, 0, 0, -2147352576 });
numericUpDown_Gyr_Shift_X.DecimalPlaces = 2;
numericUpDown_Gyr_Shift_X.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Gyr_Shift_X.Location = new Point(37, 62);
numericUpDown_Gyr_Shift_X.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown_Gyr_Shift_X.Minimum = new decimal(new int[] { 10, 0, 0, int.MinValue });
numericUpDown_Gyr_Shift_X.Name = "numericUpDown_Gyr_Shift_X";
numericUpDown_Gyr_Shift_X.Size = new Size(48, 23);
numericUpDown_Gyr_Shift_X.TabIndex = 16;
numericUpDown_Gyr_Shift_X.Value = new decimal(new int[] { 1, 0, 0, -2147352576 });
numericUpDown_Gyr_Shift_X.ValueChanged += numericUpDown_Gyr_Update;
//
// label33
//
@ -1342,6 +1352,7 @@
numericUpDown_Gyr_Noise.Size = new Size(40, 23);
numericUpDown_Gyr_Noise.TabIndex = 13;
numericUpDown_Gyr_Noise.Value = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Gyr_Noise.ValueChanged += numericUpDown_Gyr_Update;
//
// label25
//
@ -1370,6 +1381,7 @@
numericUpDown_Gyr_Freq.Size = new Size(40, 23);
numericUpDown_Gyr_Freq.TabIndex = 10;
numericUpDown_Gyr_Freq.Value = new decimal(new int[] { 200, 0, 0, 0 });
numericUpDown_Gyr_Freq.ValueChanged += numericUpDown_Gyr_Update;
//
// label21
//
@ -1383,10 +1395,10 @@
// groupBox_Acc
//
groupBox_Acc.Controls.Add(label49);
groupBox_Acc.Controls.Add(numericUpDown15);
groupBox_Acc.Controls.Add(numericUpDown_Acc_Laten);
groupBox_Acc.Controls.Add(label50);
groupBox_Acc.Controls.Add(numericUpDown2);
groupBox_Acc.Controls.Add(numericUpDown3);
groupBox_Acc.Controls.Add(numericUpDown_Acc_Scale_Left);
groupBox_Acc.Controls.Add(numericUpDown_Acc_Scale_Rigth);
groupBox_Acc.Controls.Add(label32);
groupBox_Acc.Controls.Add(label31);
groupBox_Acc.Controls.Add(label24);
@ -1395,7 +1407,6 @@
groupBox_Acc.Controls.Add(numericUpDown_Acc_Freq);
groupBox_Acc.Controls.Add(label20);
groupBox_Acc.Dock = DockStyle.Top;
groupBox_Acc.Enabled = false;
groupBox_Acc.Location = new Point(0, 44);
groupBox_Acc.Name = "groupBox_Acc";
groupBox_Acc.Size = new Size(204, 110);
@ -1412,16 +1423,17 @@
label49.TabIndex = 35;
label49.Text = "sec";
//
// numericUpDown15
// numericUpDown_Acc_Laten
//
numericUpDown15.DecimalPlaces = 3;
numericUpDown15.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown15.Location = new Point(68, 78);
numericUpDown15.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown15.Name = "numericUpDown15";
numericUpDown15.Size = new Size(49, 23);
numericUpDown15.TabIndex = 34;
numericUpDown15.Value = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Acc_Laten.DecimalPlaces = 3;
numericUpDown_Acc_Laten.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown_Acc_Laten.Location = new Point(68, 78);
numericUpDown_Acc_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Acc_Laten.Name = "numericUpDown_Acc_Laten";
numericUpDown_Acc_Laten.Size = new Size(49, 23);
numericUpDown_Acc_Laten.TabIndex = 34;
numericUpDown_Acc_Laten.Value = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Acc_Laten.ValueChanged += numericUpDown_Acc_Update;
//
// label50
//
@ -1432,29 +1444,31 @@
label50.TabIndex = 33;
label50.Text = "Lateness:";
//
// numericUpDown2
// numericUpDown_Acc_Scale_Left
//
numericUpDown2.DecimalPlaces = 3;
numericUpDown2.Increment = new decimal(new int[] { 1, 0, 0, 196608 });
numericUpDown2.Location = new Point(48, 50);
numericUpDown2.Maximum = new decimal(new int[] { 5, 0, 0, -2147418112 });
numericUpDown2.Minimum = new decimal(new int[] { 15, 0, 0, -2147418112 });
numericUpDown2.Name = "numericUpDown2";
numericUpDown2.Size = new Size(60, 23);
numericUpDown2.TabIndex = 13;
numericUpDown2.Value = new decimal(new int[] { 101, 0, 0, -2147352576 });
numericUpDown_Acc_Scale_Left.DecimalPlaces = 3;
numericUpDown_Acc_Scale_Left.Increment = new decimal(new int[] { 1, 0, 0, 196608 });
numericUpDown_Acc_Scale_Left.Location = new Point(48, 50);
numericUpDown_Acc_Scale_Left.Maximum = new decimal(new int[] { 5, 0, 0, -2147418112 });
numericUpDown_Acc_Scale_Left.Minimum = new decimal(new int[] { 15, 0, 0, -2147418112 });
numericUpDown_Acc_Scale_Left.Name = "numericUpDown_Acc_Scale_Left";
numericUpDown_Acc_Scale_Left.Size = new Size(60, 23);
numericUpDown_Acc_Scale_Left.TabIndex = 13;
numericUpDown_Acc_Scale_Left.Value = new decimal(new int[] { 101, 0, 0, -2147352576 });
numericUpDown_Acc_Scale_Left.ValueChanged += numericUpDown_Acc_Update;
//
// numericUpDown3
// numericUpDown_Acc_Scale_Rigth
//
numericUpDown3.DecimalPlaces = 3;
numericUpDown3.Increment = new decimal(new int[] { 1, 0, 0, 196608 });
numericUpDown3.Location = new Point(136, 50);
numericUpDown3.Maximum = new decimal(new int[] { 15, 0, 0, 65536 });
numericUpDown3.Minimum = new decimal(new int[] { 5, 0, 0, 65536 });
numericUpDown3.Name = "numericUpDown3";
numericUpDown3.Size = new Size(59, 23);
numericUpDown3.TabIndex = 14;
numericUpDown3.Value = new decimal(new int[] { 102, 0, 0, 131072 });
numericUpDown_Acc_Scale_Rigth.DecimalPlaces = 3;
numericUpDown_Acc_Scale_Rigth.Increment = new decimal(new int[] { 1, 0, 0, 196608 });
numericUpDown_Acc_Scale_Rigth.Location = new Point(136, 50);
numericUpDown_Acc_Scale_Rigth.Maximum = new decimal(new int[] { 15, 0, 0, 65536 });
numericUpDown_Acc_Scale_Rigth.Minimum = new decimal(new int[] { 5, 0, 0, 65536 });
numericUpDown_Acc_Scale_Rigth.Name = "numericUpDown_Acc_Scale_Rigth";
numericUpDown_Acc_Scale_Rigth.Size = new Size(59, 23);
numericUpDown_Acc_Scale_Rigth.TabIndex = 14;
numericUpDown_Acc_Scale_Rigth.Value = new decimal(new int[] { 102, 0, 0, 131072 });
numericUpDown_Acc_Scale_Rigth.ValueChanged += numericUpDown_Acc_Update;
//
// label32
//
@ -1493,6 +1507,7 @@
numericUpDown_Acc_Noise.Size = new Size(49, 23);
numericUpDown_Acc_Noise.TabIndex = 10;
numericUpDown_Acc_Noise.Value = new decimal(new int[] { 1, 0, 0, 196608 });
numericUpDown_Acc_Noise.ValueChanged += numericUpDown_Acc_Update;
//
// label23
//
@ -1512,6 +1527,7 @@
numericUpDown_Acc_Freq.Size = new Size(40, 23);
numericUpDown_Acc_Freq.TabIndex = 8;
numericUpDown_Acc_Freq.Value = new decimal(new int[] { 200, 0, 0, 0 });
numericUpDown_Acc_Freq.ValueChanged += numericUpDown_Acc_Update;
//
// label20
//
@ -1644,10 +1660,10 @@
panel_Menu_Model.ResumeLayout(false);
groupBox1.ResumeLayout(false);
groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown18).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown9).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Range_Laten).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Range_Max).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Range_Noise).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown11).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Range_Freq).EndInit();
groupBox_OF.ResumeLayout(false);
groupBox_OF.PerformLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown17).EndInit();
@ -1663,26 +1679,26 @@
((System.ComponentModel.ISupportInitialize)numericUpDown_Bar_Freq).EndInit();
groupBox_GPS.ResumeLayout(false);
groupBox_GPS.PerformLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown12).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Pos_Laten).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Pos_Noise).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown14).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Pos_Freq).EndInit();
groupBox_Mag.ResumeLayout(false);
groupBox_Mag.PerformLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown_Mag_Noise).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Mag_Freq).EndInit();
groupBox_Gyr.ResumeLayout(false);
groupBox_Gyr.PerformLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown16).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown6).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown5).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown4).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Laten).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Shift_Z).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Shift_Y).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Shift_X).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Noise).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Gyr_Freq).EndInit();
groupBox_Acc.ResumeLayout(false);
groupBox_Acc.PerformLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown15).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown2).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown3).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Laten).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Scale_Left).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Scale_Rigth).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Noise).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Acc_Freq).EndInit();
groupBox2.ResumeLayout(false);
@ -1741,7 +1757,7 @@
private NumericUpDown numericUpDown_OF_Freq;
private Label label14;
private Label label15;
private CheckBox checkBox_GPS_Enable;
private CheckBox checkBox_Pos_Enable;
private Label label17;
private NumericUpDown numericUpDown1;
private Label label16;
@ -1772,14 +1788,14 @@
private Label label30;
private NumericUpDown numericUpDown_Bar_Laten;
private Label label29;
private NumericUpDown numericUpDown2;
private NumericUpDown numericUpDown3;
private NumericUpDown numericUpDown_Acc_Scale_Left;
private NumericUpDown numericUpDown_Acc_Scale_Rigth;
private Label label32;
private Label label31;
private Label label33;
private NumericUpDown numericUpDown6;
private NumericUpDown numericUpDown5;
private NumericUpDown numericUpDown4;
private NumericUpDown numericUpDown_Gyr_Shift_Z;
private NumericUpDown numericUpDown_Gyr_Shift_Y;
private NumericUpDown numericUpDown_Gyr_Shift_X;
private Label label34;
private Label label36;
private Label label35;
@ -1791,36 +1807,36 @@
private NumericUpDown numericUpDown8;
private Label label38;
private GroupBox groupBox1;
private CheckBox checkBox1;
private NumericUpDown numericUpDown9;
private CheckBox checkBox_Range_Enable;
private NumericUpDown numericUpDown_Range_Max;
private Label label42;
private Label label43;
private Label label44;
private NumericUpDown numericUpDown_Range_Noise;
private Label label45;
private NumericUpDown numericUpDown11;
private NumericUpDown numericUpDown_Range_Freq;
private Label label46;
private Label label47;
private Label label2;
private NumericUpDown numericUpDown12;
private NumericUpDown numericUpDown_Pos_Laten;
private Label label4;
private Label label6;
private NumericUpDown numericUpDown_Pos_Noise;
private Label label10;
private NumericUpDown numericUpDown14;
private NumericUpDown numericUpDown_Pos_Freq;
private Label label11;
private Label label48;
private Label label51;
private NumericUpDown numericUpDown16;
private NumericUpDown numericUpDown_Gyr_Laten;
private Label label52;
private Label label49;
private NumericUpDown numericUpDown15;
private NumericUpDown numericUpDown_Acc_Laten;
private Label label50;
private Label label53;
private NumericUpDown numericUpDown17;
private Label label54;
private Label label55;
private NumericUpDown numericUpDown18;
private NumericUpDown numericUpDown_Range_Laten;
private Label label56;
private GroupBox groupBox2;
private CheckBox checkBox_Mode_Real;

View File

@ -24,7 +24,11 @@ namespace DroneSimulator
InitializeComponent();
RealMode.RealSimulation = checkBox_Mode_Real.Checked;
numericUpDown_Acc_Update(null, null);
numericUpDown_Gyr_Update(null, null);
numericUpDown_Pos_Update(null, null);
numericUpDown_Bar_Update(null, null);
numericUpDown_Range_Update(null, null);
}
private void ClientConnectionCallback(object o)
@ -228,5 +232,44 @@ namespace DroneSimulator
{
RealMode.RealSimulation = checkBox_Mode_Real.Checked;
}
private void numericUpDown_Acc_Update(object sender, EventArgs e)
{
RealMode.Accelerometer.Freq = (uint)numericUpDown_Acc_Freq.Value;
RealMode.Accelerometer.Noise = (float)numericUpDown_Acc_Noise.Value;
RealMode.Accelerometer.Lateness = (float)numericUpDown_Acc_Laten.Value;
RealMode.Accelerometer.ScaleLeft = (float)numericUpDown_Acc_Scale_Left.Value;
RealMode.Accelerometer.ScaleRight = (float)numericUpDown_Acc_Scale_Rigth.Value;
}
private void numericUpDown_Gyr_Update(object sender, EventArgs e)
{
RealMode.Gyroscope.Freq = (uint)numericUpDown_Gyr_Freq.Value;
RealMode.Gyroscope.Noise = (float)numericUpDown_Gyr_Noise.Value;
RealMode.Gyroscope.Lateness = (float)numericUpDown_Gyr_Laten.Value;
RealMode.Gyroscope.Shift.X = (float)numericUpDown_Gyr_Shift_X.Value;
RealMode.Gyroscope.Shift.Y = (float)numericUpDown_Gyr_Shift_Y.Value;
RealMode.Gyroscope.Shift.Z = (float)numericUpDown_Gyr_Shift_Z.Value;
}
private void numericUpDown_Pos_Update(object sender, EventArgs e)
{
RealMode.Position.Freq = (uint)numericUpDown_Pos_Freq.Value;
RealMode.Position.Noise = (float)numericUpDown_Pos_Noise.Value;
RealMode.Position.Lateness = (float)numericUpDown_Pos_Laten.Value;
RealMode.Position.Enable = checkBox_Pos_Enable.Checked;
}
private void numericUpDown_Range_Update(object sender, EventArgs e)
{
RealMode.Range.Freq = (uint)numericUpDown_Range_Freq.Value;
RealMode.Range.Noise = (float)numericUpDown_Range_Noise.Value;
RealMode.Range.Lateness = (float)numericUpDown_Range_Laten.Value;
RealMode.Range.Enable = checkBox_Range_Enable.Checked;
RealMode.Range.MaxHeight = (float)numericUpDown_Range_Max.Value;
}
}
}

View File

@ -27,12 +27,17 @@ namespace DroneSimulator
private Vector3[] laten = new Vector3[count];
private uint index = 0;
private uint timer = 0;
private Vector3 result;
public uint timer = 0;
public Vector3 result;
public void Update(ref Vector3 value, ref uint time)
public void Update(Vector3 value, uint time)
{
if (!RealSimulation) return;
if (!RealSimulation)
{
result = value;
timer = time;
return;
}
float scale = (ScaleRight - ScaleLeft) / 2;
float shift = scale + ScaleLeft;
@ -66,11 +71,6 @@ namespace DroneSimulator
result = value;
timer = time;
}
else
{
value = result;
time = timer;
}
}
}
@ -89,12 +89,17 @@ namespace DroneSimulator
private Vector3[] laten = new Vector3[count];
private uint index = 0;
private uint timer = 0;
private Vector3 result;
public uint timer = 0;
public Vector3 result;
public void Update(ref Vector3 value, ref uint time)
public void Update(Vector3 value, uint time)
{
if (!RealSimulation) return;
if (!RealSimulation)
{
result = value;
timer = time;
return;
}
value.X += Shift.X;
value.Y += Shift.Y;
@ -125,11 +130,6 @@ namespace DroneSimulator
result = value;
timer = time;
}
else
{
value = result;
time = timer;
}
}
}
@ -153,13 +153,23 @@ namespace DroneSimulator
private Vector3[] laten = new Vector3[count];
private uint index = 0;
private uint timer = 0;
private Vector3 result;
public uint timer = 0;
public Vector3 result;
public void Update(ref Vector3 value, ref uint time)
public void Update(Vector3 value, uint time)
{
if (!RealSimulation) return;
if (!Enable) { value = result; time = timer; return; }
if (!RealSimulation)
{
result = value;
timer = time;
return;
}
if (!Enable)
{
result = Vector3.NaN;
return;
}
int noise = (int)(Noise * 1000);
value.X += ((float)rand.Next(-noise, noise)) / 1000;
@ -186,11 +196,6 @@ namespace DroneSimulator
result = value;
timer = time;
}
else
{
value = result;
time = timer;
}
}
}
@ -210,16 +215,25 @@ namespace DroneSimulator
private float[] laten = new float[count];
private uint index = 0;
private uint timer = 0;
private float result;
public uint timer = 0;
public float result;
public void Update(ref float value, ref uint time)
public void Update(float value, uint time)
{
if (!Enable) { value = result; time = timer; return; }
value = Pressure - value;
if (!RealSimulation) return;
if (!RealSimulation)
{
result = value;
timer = time;
return;
}
if (!Enable)
{
result = float.NaN;
return;
}
int noise = (int)(Noise * 1000);
value += ((float)rand.Next(-noise, noise)) / 1000;
@ -244,11 +258,6 @@ namespace DroneSimulator
result = value;
timer = time;
}
else
{
value = result;
time = timer;
}
}
}
@ -273,18 +282,30 @@ namespace DroneSimulator
private float[] laten = new float[count];
private uint index = 0;
private uint timer = 0;
private float result;
public uint timer = 0;
public float result;
public void Update(ref float value, ref uint time)
public void Update(float value, uint time)
{
if (!RealSimulation) return;
if (!Enable) { value = result; time = timer; return; }
if (!RealSimulation)
{
result = value;
timer = time;
return;
}
if (!Enable)
{
result = float.NaN;
return;
}
if (value > MaxHeight) value = -1;
int noise = (int)(Noise * 1000);
value += ((float)rand.Next(-noise, noise)) / 1000;
else
{
int noise = (int)(Noise * 1000);
value += ((float)rand.Next(-noise, noise)) / 1000;
}
uint clock = (uint)(Lateness * 1000);
@ -306,11 +327,6 @@ namespace DroneSimulator
result = value;
timer = time;
}
else
{
value = result;
time = timer;
}
}
}
}