diff --git a/DroneSimulator/Drone.cs b/DroneSimulator/Drone.cs index 6d3c334..ca450cd 100644 --- a/DroneSimulator/Drone.cs +++ b/DroneSimulator/Drone.cs @@ -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); } diff --git a/DroneSimulator/FormMain.Designer.cs b/DroneSimulator/FormMain.Designer.cs index 8cc7058..3f80daa 100644 --- a/DroneSimulator/FormMain.Designer.cs +++ b/DroneSimulator/FormMain.Designer.cs @@ -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; diff --git a/DroneSimulator/FormMain.cs b/DroneSimulator/FormMain.cs index 111f3eb..4eab543 100644 --- a/DroneSimulator/FormMain.cs +++ b/DroneSimulator/FormMain.cs @@ -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; + } } } diff --git a/DroneSimulator/RealMode.cs b/DroneSimulator/RealMode.cs index 8b0a6e9..342e33f 100644 --- a/DroneSimulator/RealMode.cs +++ b/DroneSimulator/RealMode.cs @@ -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; - } } } }