Compare commits

..

18 Commits

Author SHA1 Message Date
3565372ffc revert e30f1f0f35
revert Merge branch 'main' of https://git.skbkit.ru/CPL/Simulator
2025-08-04 18:02:42 +00:00
a67275b402 revert 1f8bde2370
revert Vector, Quaternion - математика для ориентации. AdaptivePID - ПИД-регулятор. DroneOrientation.CalcAttitude() - цикл вычисления положения.
2025-08-04 18:02:30 +00:00
e30f1f0f35 Merge branch 'main' of https://git.skbkit.ru/CPL/Simulator 2025-08-04 20:54:07 +03:00
1f8bde2370 Vector, Quaternion - математика для ориентации. AdaptivePID - ПИД-регулятор. DroneOrientation.CalcAttitude() - цикл вычисления положения. 2025-08-04 20:52:20 +03:00
12e518af0e Update Drone.cs 2025-06-27 12:12:24 +03:00
39c81a227b +++ 2025-06-27 11:45:17 +03:00
c763581ebb Update Drone.cs 2025-06-27 02:01:41 +03:00
f4044e3939 +++ 2025-06-25 02:05:32 +03:00
0d8b03ef9a +++ 2025-06-24 03:50:23 +03:00
4b78b7d146 Update Drone.cs 2025-06-23 02:35:31 +03:00
3e4973a129 Update Drone.cs 2025-06-19 01:07:53 +03:00
15d4fa5011 Physics 2025-06-10 22:01:14 +03:00
4ff3c2c5da Update FormMain.Designer.cs 2025-06-10 18:27:19 +03:00
b4f2ecb18e +++ 2025-06-09 16:17:00 +03:00
fdbfd85180 +++ 2025-06-06 23:51:08 +03:00
c22f4d825d +++ 2025-06-06 23:33:18 +03:00
48c07bf59f === 2025-06-06 17:37:04 +03:00
3dcf30882a +++ 2025-06-06 14:59:22 +03:00
5 changed files with 351 additions and 177 deletions

View File

@ -7,14 +7,13 @@ namespace DroneSimulator
internal class Drone internal class Drone
{ {
public int ID; public int ID;
public float Mass; // Масса
public bool Active; // Живой? public bool Active; // Живой?
public float Length; // Длинна лучей
public const float Dynamic = 10; // Динамика вращения public const float Dynamic = 10; // Динамика вращения
public Vector3 PosXYZ, SpdXYZ, AccXYZ; // Положение в пространстве: Позиция, Скорость, Ускорение public Vector3 PosXYZ, SpdXYZ, AccXYZ; // Положение в пространстве: Позиция, Скорость, Ускорение
public Quaternion Quat; // Основной кватернион public Quaternion Quat; // Основной кватернион
public float Power = 0; // Тяга всех двигателей (0-1) public float Power = 0; // Тяга всех двигателей (0-1)
public float MaxPower; // Максимальная Тяга всех двигателей (КГ)
public Vector3 SpdPRY, AccPRY; // Поворот в пространстве: pitch roll yaw public Vector3 SpdPRY, AccPRY; // Поворот в пространстве: pitch roll yaw
public Vector3 Acc, Gyr; // Имитация: Акселерометр, Гироскоп public Vector3 Acc, Gyr; // Имитация: Акселерометр, Гироскоп
@ -34,12 +33,19 @@ namespace DroneSimulator
private Vector2 MoveOF = Vector2.Zero; private Vector2 MoveOF = Vector2.Zero;
RealMode.Accelerometer RealAcc = new RealMode.Accelerometer(); public struct Physics
RealMode.Gyroscope RealGyr = new RealMode.Gyroscope(); {
RealMode.Position RealPos = new RealMode.Position(); static public float Mass; // Масса
RealMode.Barometer RealBar = new RealMode.Barometer(); static public float Length; // Длинна лучей
RealMode.Range RealRange = new RealMode.Range(); static public float MaxPower; // Максимальная Тяга всех двигателей (КГ)
RealMode.OpticalFlow RealOF = new RealMode.OpticalFlow(); }
private RealMode.Accelerometer RealAcc = new RealMode.Accelerometer();
private RealMode.Gyroscope RealGyr = new RealMode.Gyroscope();
private RealMode.Position RealPos = new RealMode.Position();
private RealMode.Barometer RealBar = new RealMode.Barometer();
private RealMode.Range RealRange = new RealMode.Range();
private RealMode.OpticalFlow RealOF = new RealMode.OpticalFlow();
public static byte[] getBytes(object data) public static byte[] getBytes(object data)
{ {
@ -129,12 +135,8 @@ namespace DroneSimulator
DroneThread.Start(); DroneThread.Start();
} }
public int Create(float power, float mass, float len) public int Create()
{ {
Mass = mass;
Length = len;
MaxPower = power;
Active = true; Active = true;
return ID; return ID;
@ -226,10 +228,10 @@ namespace DroneSimulator
AccPRY.X -= wind_p; AccPRY.Y -= wind_r; AccPRY.Z -= wind_w; AccPRY.X -= wind_p; AccPRY.Y -= wind_r; AccPRY.Z -= wind_w;
} }
SpdPRY += AccPRY * (Dynamic * time / (Mass * Length)); SpdPRY += AccPRY * (Dynamic * time / (Physics.Mass * Physics.Length));
Quaternion pow = Quaternion.Inverse(Quat) * new Quaternion(0, 0, flow, 0) * Quat; Quaternion pow = Quaternion.Inverse(Quat) * new Quaternion(0, 0, flow, 0) * Quat;
AccXYZ = new Vector3(pow.X + wind_x, pow.Y + wind_y, pow.Z + wind_z) * (Gravity / Mass); AccXYZ = new Vector3(pow.X + wind_x, pow.Y + wind_y, pow.Z + wind_z) * (Gravity / Physics.Mass);
SpdXYZ += (AccXYZ + new Vector3(0, 0, -Gravity)) * time; SpdXYZ += (AccXYZ + new Vector3(0, 0, -Gravity)) * time;
PosXYZ += SpdXYZ * time; PosXYZ += SpdXYZ * time;
@ -308,7 +310,7 @@ namespace DroneSimulator
if (pow > 1) pow = 1; if (pow > 1) pow = 1;
if (pow < 0) pow = 0; if (pow < 0) pow = 0;
return pow * MaxPower; return pow * Physics.MaxPower;
} }
public void SetQadroPow(float ul, float ur, float dl, float dr) public void SetQadroPow(float ul, float ur, float dl, float dr)
@ -446,6 +448,16 @@ namespace DroneSimulator
gps.Head.Type = DroneData.DataType.DataGPS; gps.Head.Type = DroneData.DataType.DataGPS;
gps.Head.Time = (uint)Environment.TickCount; gps.Head.Time = (uint)Environment.TickCount;
GPS.Point p = new GPS.Point();
p.x = PosXYZ.Y; p.y= PosXYZ.X;
GPS.GlobalCoords g = new GPS.GlobalCoords();
g.latitude=GPS.Home.Lat; g.longitude=GPS.Home.Lon;
g=GPS.localToGlobal(p, g);
gps.Lat = g.latitude; gps.Lon = g.longitude;
gps.Speed = MathF.Sqrt(SpdXYZ.X * SpdXYZ.X + SpdXYZ.Y * SpdXYZ.Y + SpdXYZ.Z * SpdXYZ.Z); gps.Speed = MathF.Sqrt(SpdXYZ.X * SpdXYZ.X + SpdXYZ.Y * SpdXYZ.Y + SpdXYZ.Z * SpdXYZ.Z);
gps.Alt = GPS.Home.Alt + PosXYZ.Z; gps.Alt = GPS.Home.Alt + PosXYZ.Z;

View File

@ -30,9 +30,6 @@
{ {
components = new System.ComponentModel.Container(); components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form_Main)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form_Main));
menuStrip_Menu = new MenuStrip();
fileToolStripMenuItem = new ToolStripMenuItem();
exitToolStripMenuItem = new ToolStripMenuItem();
groupBox_Screen = new GroupBox(); groupBox_Screen = new GroupBox();
pictureBox_2D = new PictureBox(); pictureBox_2D = new PictureBox();
tabControl_Menu = new TabControl(); tabControl_Menu = new TabControl();
@ -120,7 +117,6 @@
label48 = new Label(); label48 = new Label();
checkBox_Pos_Enable = new CheckBox(); checkBox_Pos_Enable = new CheckBox();
groupBox_Mag = new GroupBox(); groupBox_Mag = new GroupBox();
label27 = new Label();
numericUpDown_Mag_Noise = new NumericUpDown(); numericUpDown_Mag_Noise = new NumericUpDown();
label28 = new Label(); label28 = new Label();
numericUpDown_Mag_Freq = new NumericUpDown(); numericUpDown_Mag_Freq = new NumericUpDown();
@ -203,6 +199,17 @@
numericUpDown_GPS_Lat = new NumericUpDown(); numericUpDown_GPS_Lat = new NumericUpDown();
label67 = new Label(); label67 = new Label();
label66 = new Label(); label66 = new Label();
tabPage_Drone = new TabPage();
groupBox_Physics = new GroupBox();
label78 = new Label();
numericUpDown_Physics_Power = new NumericUpDown();
label77 = new Label();
numericUpDown_Physics_Length = new NumericUpDown();
label76 = new Label();
numericUpDown_Physics_Mass = new NumericUpDown();
label75 = new Label();
label74 = new Label();
label27 = new Label();
groupBox_Navi = new GroupBox(); groupBox_Navi = new GroupBox();
panel1 = new Panel(); panel1 = new Panel();
listBox_Drones = new ListBox(); listBox_Drones = new ListBox();
@ -210,7 +217,6 @@
comboBox_Drone_Rotor = new ComboBox(); comboBox_Drone_Rotor = new ComboBox();
comboBox_Drone = new ComboBox(); comboBox_Drone = new ComboBox();
timer_Test = new System.Windows.Forms.Timer(components); timer_Test = new System.Windows.Forms.Timer(components);
menuStrip_Menu.SuspendLayout();
groupBox_Screen.SuspendLayout(); groupBox_Screen.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureBox_2D).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureBox_2D).BeginInit();
tabControl_Menu.SuspendLayout(); tabControl_Menu.SuspendLayout();
@ -282,42 +288,22 @@
((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Alt).BeginInit(); ((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Alt).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Lon).BeginInit(); ((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Lon).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Lat).BeginInit(); ((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Lat).BeginInit();
tabPage_Drone.SuspendLayout();
groupBox_Physics.SuspendLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown_Physics_Power).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Physics_Length).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Physics_Mass).BeginInit();
groupBox_Navi.SuspendLayout(); groupBox_Navi.SuspendLayout();
panel1.SuspendLayout(); panel1.SuspendLayout();
SuspendLayout(); SuspendLayout();
// //
// menuStrip_Menu
//
menuStrip_Menu.Items.AddRange(new ToolStripItem[] { fileToolStripMenuItem });
menuStrip_Menu.Location = new Point(0, 0);
menuStrip_Menu.Name = "menuStrip_Menu";
menuStrip_Menu.Size = new Size(884, 24);
menuStrip_Menu.TabIndex = 0;
menuStrip_Menu.Text = "menuStrip1";
//
// fileToolStripMenuItem
//
fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { exitToolStripMenuItem });
fileToolStripMenuItem.Name = "fileToolStripMenuItem";
fileToolStripMenuItem.Size = new Size(37, 20);
fileToolStripMenuItem.Tag = "#file";
fileToolStripMenuItem.Text = "File";
//
// exitToolStripMenuItem
//
exitToolStripMenuItem.Name = "exitToolStripMenuItem";
exitToolStripMenuItem.Size = new Size(93, 22);
exitToolStripMenuItem.Tag = "#exit";
exitToolStripMenuItem.Text = "Exit";
exitToolStripMenuItem.Click += exitToolStripMenuItem_Click;
//
// groupBox_Screen // groupBox_Screen
// //
groupBox_Screen.Controls.Add(pictureBox_2D); groupBox_Screen.Controls.Add(pictureBox_2D);
groupBox_Screen.Dock = DockStyle.Fill; groupBox_Screen.Dock = DockStyle.Fill;
groupBox_Screen.Location = new Point(218, 24); groupBox_Screen.Location = new Point(218, 0);
groupBox_Screen.Name = "groupBox_Screen"; groupBox_Screen.Name = "groupBox_Screen";
groupBox_Screen.Size = new Size(466, 917); groupBox_Screen.Size = new Size(466, 816);
groupBox_Screen.TabIndex = 1; groupBox_Screen.TabIndex = 1;
groupBox_Screen.TabStop = false; groupBox_Screen.TabStop = false;
// //
@ -327,7 +313,7 @@
pictureBox_2D.Dock = DockStyle.Fill; pictureBox_2D.Dock = DockStyle.Fill;
pictureBox_2D.Location = new Point(3, 19); pictureBox_2D.Location = new Point(3, 19);
pictureBox_2D.Name = "pictureBox_2D"; pictureBox_2D.Name = "pictureBox_2D";
pictureBox_2D.Size = new Size(460, 895); pictureBox_2D.Size = new Size(460, 794);
pictureBox_2D.SizeMode = PictureBoxSizeMode.Zoom; pictureBox_2D.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox_2D.TabIndex = 0; pictureBox_2D.TabIndex = 0;
pictureBox_2D.TabStop = false; pictureBox_2D.TabStop = false;
@ -338,11 +324,12 @@
tabControl_Menu.Controls.Add(tabPage_Model); tabControl_Menu.Controls.Add(tabPage_Model);
tabControl_Menu.Controls.Add(tabPage_Area); tabControl_Menu.Controls.Add(tabPage_Area);
tabControl_Menu.Controls.Add(tabPage_GPS); tabControl_Menu.Controls.Add(tabPage_GPS);
tabControl_Menu.Controls.Add(tabPage_Drone);
tabControl_Menu.Dock = DockStyle.Left; tabControl_Menu.Dock = DockStyle.Left;
tabControl_Menu.Location = new Point(0, 24); tabControl_Menu.Location = new Point(0, 0);
tabControl_Menu.Name = "tabControl_Menu"; tabControl_Menu.Name = "tabControl_Menu";
tabControl_Menu.SelectedIndex = 0; tabControl_Menu.SelectedIndex = 0;
tabControl_Menu.Size = new Size(218, 917); tabControl_Menu.Size = new Size(218, 816);
tabControl_Menu.TabIndex = 2; tabControl_Menu.TabIndex = 2;
// //
// tabPage_Main // tabPage_Main
@ -352,7 +339,7 @@
tabPage_Main.Location = new Point(4, 24); tabPage_Main.Location = new Point(4, 24);
tabPage_Main.Name = "tabPage_Main"; tabPage_Main.Name = "tabPage_Main";
tabPage_Main.Padding = new Padding(3); tabPage_Main.Padding = new Padding(3);
tabPage_Main.Size = new Size(210, 889); tabPage_Main.Size = new Size(210, 788);
tabPage_Main.TabIndex = 0; tabPage_Main.TabIndex = 0;
tabPage_Main.Tag = "#main"; tabPage_Main.Tag = "#main";
tabPage_Main.Text = "Main"; tabPage_Main.Text = "Main";
@ -541,7 +528,7 @@
tabPage_Model.Location = new Point(4, 24); tabPage_Model.Location = new Point(4, 24);
tabPage_Model.Name = "tabPage_Model"; tabPage_Model.Name = "tabPage_Model";
tabPage_Model.Padding = new Padding(3); tabPage_Model.Padding = new Padding(3);
tabPage_Model.Size = new Size(210, 889); tabPage_Model.Size = new Size(210, 788);
tabPage_Model.TabIndex = 1; tabPage_Model.TabIndex = 1;
tabPage_Model.Tag = "#model"; tabPage_Model.Tag = "#model";
tabPage_Model.Text = "Model"; tabPage_Model.Text = "Model";
@ -559,7 +546,7 @@
panel_Menu_Model.Dock = DockStyle.Fill; panel_Menu_Model.Dock = DockStyle.Fill;
panel_Menu_Model.Location = new Point(3, 3); panel_Menu_Model.Location = new Point(3, 3);
panel_Menu_Model.Name = "panel_Menu_Model"; panel_Menu_Model.Name = "panel_Menu_Model";
panel_Menu_Model.Size = new Size(204, 883); panel_Menu_Model.Size = new Size(204, 782);
panel_Menu_Model.TabIndex = 5; panel_Menu_Model.TabIndex = 5;
// //
// groupBox1 // groupBox1
@ -579,9 +566,9 @@
groupBox1.Controls.Add(label46); groupBox1.Controls.Add(label46);
groupBox1.Controls.Add(label47); groupBox1.Controls.Add(label47);
groupBox1.Dock = DockStyle.Top; groupBox1.Dock = DockStyle.Top;
groupBox1.Location = new Point(0, 688); groupBox1.Location = new Point(0, 652);
groupBox1.Name = "groupBox1"; groupBox1.Name = "groupBox1";
groupBox1.Size = new Size(204, 133); groupBox1.Size = new Size(204, 126);
groupBox1.TabIndex = 8; groupBox1.TabIndex = 8;
groupBox1.TabStop = false; groupBox1.TabStop = false;
groupBox1.Text = "Range"; groupBox1.Text = "Range";
@ -601,7 +588,7 @@
// label55 // label55
// //
label55.AutoSize = true; label55.AutoSize = true;
label55.Location = new Point(115, 105); label55.Location = new Point(115, 100);
label55.Name = "label55"; label55.Name = "label55";
label55.Size = new Size(24, 15); label55.Size = new Size(24, 15);
label55.TabIndex = 35; label55.TabIndex = 35;
@ -611,7 +598,7 @@
// //
numericUpDown_Range_Laten.DecimalPlaces = 2; numericUpDown_Range_Laten.DecimalPlaces = 2;
numericUpDown_Range_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 }); numericUpDown_Range_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Range_Laten.Location = new Point(68, 103); numericUpDown_Range_Laten.Location = new Point(68, 98);
numericUpDown_Range_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Range_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Range_Laten.Name = "numericUpDown_Range_Laten"; numericUpDown_Range_Laten.Name = "numericUpDown_Range_Laten";
numericUpDown_Range_Laten.Size = new Size(41, 23); numericUpDown_Range_Laten.Size = new Size(41, 23);
@ -622,7 +609,7 @@
// label56 // label56
// //
label56.AutoSize = true; label56.AutoSize = true;
label56.Location = new Point(5, 105); label56.Location = new Point(5, 100);
label56.Name = "label56"; label56.Name = "label56";
label56.Size = new Size(55, 15); label56.Size = new Size(55, 15);
label56.TabIndex = 33; label56.TabIndex = 33;
@ -633,7 +620,7 @@
checkBox_Range_Enable.AutoSize = true; checkBox_Range_Enable.AutoSize = true;
checkBox_Range_Enable.Checked = true; checkBox_Range_Enable.Checked = true;
checkBox_Range_Enable.CheckState = CheckState.Checked; checkBox_Range_Enable.CheckState = CheckState.Checked;
checkBox_Range_Enable.Location = new Point(158, 108); checkBox_Range_Enable.Location = new Point(158, 99);
checkBox_Range_Enable.Name = "checkBox_Range_Enable"; checkBox_Range_Enable.Name = "checkBox_Range_Enable";
checkBox_Range_Enable.Size = new Size(39, 19); checkBox_Range_Enable.Size = new Size(39, 19);
checkBox_Range_Enable.TabIndex = 31; checkBox_Range_Enable.TabIndex = 31;
@ -644,7 +631,7 @@
// //
// numericUpDown_Range_Max // numericUpDown_Range_Max
// //
numericUpDown_Range_Max.Location = new Point(69, 74); numericUpDown_Range_Max.Location = new Point(69, 71);
numericUpDown_Range_Max.Minimum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Range_Max.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Range_Max.Name = "numericUpDown_Range_Max"; numericUpDown_Range_Max.Name = "numericUpDown_Range_Max";
numericUpDown_Range_Max.Size = new Size(40, 23); numericUpDown_Range_Max.Size = new Size(40, 23);
@ -655,7 +642,7 @@
// label42 // label42
// //
label42.AutoSize = true; label42.AutoSize = true;
label42.Location = new Point(113, 76); label42.Location = new Point(113, 73);
label42.Name = "label42"; label42.Name = "label42";
label42.Size = new Size(18, 15); label42.Size = new Size(18, 15);
label42.TabIndex = 30; label42.TabIndex = 30;
@ -664,7 +651,7 @@
// label43 // label43
// //
label43.AutoSize = true; label43.AutoSize = true;
label43.Location = new Point(0, 76); label43.Location = new Point(0, 73);
label43.Name = "label43"; label43.Name = "label43";
label43.Size = new Size(70, 15); label43.Size = new Size(70, 15);
label43.TabIndex = 28; label43.TabIndex = 28;
@ -674,7 +661,7 @@
// label44 // label44
// //
label44.AutoSize = true; label44.AutoSize = true;
label44.Location = new Point(119, 47); label44.Location = new Point(119, 45);
label44.Name = "label44"; label44.Name = "label44";
label44.Size = new Size(18, 15); label44.Size = new Size(18, 15);
label44.TabIndex = 27; label44.TabIndex = 27;
@ -683,7 +670,7 @@
// numericUpDown_Range_Noise // numericUpDown_Range_Noise
// //
numericUpDown_Range_Noise.DecimalPlaces = 3; numericUpDown_Range_Noise.DecimalPlaces = 3;
numericUpDown_Range_Noise.Location = new Point(70, 45); numericUpDown_Range_Noise.Location = new Point(70, 43);
numericUpDown_Range_Noise.Maximum = new decimal(new int[] { 10, 0, 0, 0 }); numericUpDown_Range_Noise.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown_Range_Noise.Name = "numericUpDown_Range_Noise"; numericUpDown_Range_Noise.Name = "numericUpDown_Range_Noise";
numericUpDown_Range_Noise.Size = new Size(47, 23); numericUpDown_Range_Noise.Size = new Size(47, 23);
@ -694,7 +681,7 @@
// label45 // label45
// //
label45.AutoSize = true; label45.AutoSize = true;
label45.Location = new Point(24, 47); label45.Location = new Point(24, 45);
label45.Name = "label45"; label45.Name = "label45";
label45.Size = new Size(40, 15); label45.Size = new Size(40, 15);
label45.TabIndex = 25; label45.TabIndex = 25;
@ -755,9 +742,9 @@
groupBox_OF.Controls.Add(label14); groupBox_OF.Controls.Add(label14);
groupBox_OF.Controls.Add(label15); groupBox_OF.Controls.Add(label15);
groupBox_OF.Dock = DockStyle.Top; groupBox_OF.Dock = DockStyle.Top;
groupBox_OF.Location = new Point(0, 519); groupBox_OF.Location = new Point(0, 489);
groupBox_OF.Name = "groupBox_OF"; groupBox_OF.Name = "groupBox_OF";
groupBox_OF.Size = new Size(204, 169); groupBox_OF.Size = new Size(204, 163);
groupBox_OF.TabIndex = 4; groupBox_OF.TabIndex = 4;
groupBox_OF.TabStop = false; groupBox_OF.TabStop = false;
groupBox_OF.Text = "Optical flow"; groupBox_OF.Text = "Optical flow";
@ -799,7 +786,7 @@
// label39 // label39
// //
label39.AutoSize = true; label39.AutoSize = true;
label39.Location = new Point(168, 111); label39.Location = new Point(168, 105);
label39.Name = "label39"; label39.Name = "label39";
label39.Size = new Size(24, 15); label39.Size = new Size(24, 15);
label39.TabIndex = 34; label39.TabIndex = 34;
@ -809,7 +796,7 @@
// //
numericUpDown_OF_Wait.DecimalPlaces = 2; numericUpDown_OF_Wait.DecimalPlaces = 2;
numericUpDown_OF_Wait.Increment = new decimal(new int[] { 1, 0, 0, 65536 }); numericUpDown_OF_Wait.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_OF_Wait.Location = new Point(119, 109); numericUpDown_OF_Wait.Location = new Point(119, 103);
numericUpDown_OF_Wait.Maximum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_OF_Wait.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_OF_Wait.Name = "numericUpDown_OF_Wait"; numericUpDown_OF_Wait.Name = "numericUpDown_OF_Wait";
numericUpDown_OF_Wait.Size = new Size(47, 23); numericUpDown_OF_Wait.Size = new Size(47, 23);
@ -820,7 +807,7 @@
// label53 // label53
// //
label53.AutoSize = true; label53.AutoSize = true;
label53.Location = new Point(113, 139); label53.Location = new Point(113, 132);
label53.Name = "label53"; label53.Name = "label53";
label53.Size = new Size(24, 15); label53.Size = new Size(24, 15);
label53.TabIndex = 32; label53.TabIndex = 32;
@ -830,7 +817,7 @@
// //
numericUpDown_OF_Laten.DecimalPlaces = 2; numericUpDown_OF_Laten.DecimalPlaces = 2;
numericUpDown_OF_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 }); numericUpDown_OF_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_OF_Laten.Location = new Point(66, 137); numericUpDown_OF_Laten.Location = new Point(66, 130);
numericUpDown_OF_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_OF_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_OF_Laten.Name = "numericUpDown_OF_Laten"; numericUpDown_OF_Laten.Name = "numericUpDown_OF_Laten";
numericUpDown_OF_Laten.Size = new Size(41, 23); numericUpDown_OF_Laten.Size = new Size(41, 23);
@ -841,7 +828,7 @@
// label54 // label54
// //
label54.AutoSize = true; label54.AutoSize = true;
label54.Location = new Point(3, 139); label54.Location = new Point(3, 132);
label54.Name = "label54"; label54.Name = "label54";
label54.Size = new Size(55, 15); label54.Size = new Size(55, 15);
label54.TabIndex = 30; label54.TabIndex = 30;
@ -851,7 +838,7 @@
// //
numericUpDown_OF_Error.DecimalPlaces = 1; numericUpDown_OF_Error.DecimalPlaces = 1;
numericUpDown_OF_Error.Increment = new decimal(new int[] { 1, 0, 0, 65536 }); numericUpDown_OF_Error.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_OF_Error.Location = new Point(38, 109); numericUpDown_OF_Error.Location = new Point(38, 103);
numericUpDown_OF_Error.Name = "numericUpDown_OF_Error"; numericUpDown_OF_Error.Name = "numericUpDown_OF_Error";
numericUpDown_OF_Error.Size = new Size(47, 23); numericUpDown_OF_Error.Size = new Size(47, 23);
numericUpDown_OF_Error.TabIndex = 24; numericUpDown_OF_Error.TabIndex = 24;
@ -861,7 +848,7 @@
// label38 // label38
// //
label38.AutoSize = true; label38.AutoSize = true;
label38.Location = new Point(83, 111); label38.Location = new Point(83, 105);
label38.Name = "label38"; label38.Name = "label38";
label38.Size = new Size(17, 15); label38.Size = new Size(17, 15);
label38.TabIndex = 25; label38.TabIndex = 25;
@ -870,7 +857,7 @@
// label37 // label37
// //
label37.AutoSize = true; label37.AutoSize = true;
label37.Location = new Point(1, 111); label37.Location = new Point(1, 105);
label37.Name = "label37"; label37.Name = "label37";
label37.Size = new Size(35, 15); label37.Size = new Size(35, 15);
label37.TabIndex = 23; label37.TabIndex = 23;
@ -878,7 +865,7 @@
// //
// numericUpDown_OF_Len // numericUpDown_OF_Len
// //
numericUpDown_OF_Len.Location = new Point(68, 80); numericUpDown_OF_Len.Location = new Point(68, 76);
numericUpDown_OF_Len.Minimum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_OF_Len.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_OF_Len.Name = "numericUpDown_OF_Len"; numericUpDown_OF_Len.Name = "numericUpDown_OF_Len";
numericUpDown_OF_Len.Size = new Size(40, 23); numericUpDown_OF_Len.Size = new Size(40, 23);
@ -891,7 +878,7 @@
checkBox_OF_Enable.AutoSize = true; checkBox_OF_Enable.AutoSize = true;
checkBox_OF_Enable.Checked = true; checkBox_OF_Enable.Checked = true;
checkBox_OF_Enable.CheckState = CheckState.Checked; checkBox_OF_Enable.CheckState = CheckState.Checked;
checkBox_OF_Enable.Location = new Point(159, 141); checkBox_OF_Enable.Location = new Point(159, 134);
checkBox_OF_Enable.Name = "checkBox_OF_Enable"; checkBox_OF_Enable.Name = "checkBox_OF_Enable";
checkBox_OF_Enable.Size = new Size(39, 19); checkBox_OF_Enable.Size = new Size(39, 19);
checkBox_OF_Enable.TabIndex = 22; checkBox_OF_Enable.TabIndex = 22;
@ -903,7 +890,7 @@
// label17 // label17
// //
label17.AutoSize = true; label17.AutoSize = true;
label17.Location = new Point(111, 82); label17.Location = new Point(111, 78);
label17.Name = "label17"; label17.Name = "label17";
label17.Size = new Size(18, 15); label17.Size = new Size(18, 15);
label17.TabIndex = 21; label17.TabIndex = 21;
@ -912,7 +899,7 @@
// label16 // label16
// //
label16.AutoSize = true; label16.AutoSize = true;
label16.Location = new Point(-1, 82); label16.Location = new Point(-1, 78);
label16.Name = "label16"; label16.Name = "label16";
label16.Size = new Size(70, 15); label16.Size = new Size(70, 15);
label16.TabIndex = 19; label16.TabIndex = 19;
@ -922,7 +909,7 @@
// label12 // label12
// //
label12.AutoSize = true; label12.AutoSize = true;
label12.Location = new Point(111, 53); label12.Location = new Point(111, 51);
label12.Name = "label12"; label12.Name = "label12";
label12.Size = new Size(28, 15); label12.Size = new Size(28, 15);
label12.TabIndex = 18; label12.TabIndex = 18;
@ -931,7 +918,7 @@
// numericUpDown_OF_Noise // numericUpDown_OF_Noise
// //
numericUpDown_OF_Noise.DecimalPlaces = 1; numericUpDown_OF_Noise.DecimalPlaces = 1;
numericUpDown_OF_Noise.Location = new Point(69, 51); numericUpDown_OF_Noise.Location = new Point(69, 49);
numericUpDown_OF_Noise.Maximum = new decimal(new int[] { 10, 0, 0, 0 }); numericUpDown_OF_Noise.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown_OF_Noise.Name = "numericUpDown_OF_Noise"; numericUpDown_OF_Noise.Name = "numericUpDown_OF_Noise";
numericUpDown_OF_Noise.Size = new Size(40, 23); numericUpDown_OF_Noise.Size = new Size(40, 23);
@ -942,7 +929,7 @@
// label13 // label13
// //
label13.AutoSize = true; label13.AutoSize = true;
label13.Location = new Point(7, 53); label13.Location = new Point(7, 51);
label13.Name = "label13"; label13.Name = "label13";
label13.Size = new Size(40, 15); label13.Size = new Size(40, 15);
label13.TabIndex = 16; label13.TabIndex = 16;
@ -996,9 +983,9 @@
groupBox_Barometer.Controls.Add(label5); groupBox_Barometer.Controls.Add(label5);
groupBox_Barometer.Controls.Add(label7); groupBox_Barometer.Controls.Add(label7);
groupBox_Barometer.Dock = DockStyle.Top; groupBox_Barometer.Dock = DockStyle.Top;
groupBox_Barometer.Location = new Point(0, 389); groupBox_Barometer.Location = new Point(0, 365);
groupBox_Barometer.Name = "groupBox_Barometer"; groupBox_Barometer.Name = "groupBox_Barometer";
groupBox_Barometer.Size = new Size(204, 130); groupBox_Barometer.Size = new Size(204, 124);
groupBox_Barometer.TabIndex = 3; groupBox_Barometer.TabIndex = 3;
groupBox_Barometer.TabStop = false; groupBox_Barometer.TabStop = false;
groupBox_Barometer.Tag = "#barometer"; groupBox_Barometer.Tag = "#barometer";
@ -1019,7 +1006,7 @@
// label30 // label30
// //
label30.AutoSize = true; label30.AutoSize = true;
label30.Location = new Point(115, 103); label30.Location = new Point(115, 98);
label30.Name = "label30"; label30.Name = "label30";
label30.Size = new Size(24, 15); label30.Size = new Size(24, 15);
label30.TabIndex = 23; label30.TabIndex = 23;
@ -1029,7 +1016,7 @@
// //
numericUpDown_Bar_Laten.DecimalPlaces = 2; numericUpDown_Bar_Laten.DecimalPlaces = 2;
numericUpDown_Bar_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 }); numericUpDown_Bar_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Bar_Laten.Location = new Point(68, 101); numericUpDown_Bar_Laten.Location = new Point(68, 96);
numericUpDown_Bar_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Bar_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Bar_Laten.Name = "numericUpDown_Bar_Laten"; numericUpDown_Bar_Laten.Name = "numericUpDown_Bar_Laten";
numericUpDown_Bar_Laten.Size = new Size(41, 23); numericUpDown_Bar_Laten.Size = new Size(41, 23);
@ -1040,7 +1027,7 @@
// label29 // label29
// //
label29.AutoSize = true; label29.AutoSize = true;
label29.Location = new Point(9, 103); label29.Location = new Point(9, 98);
label29.Name = "label29"; label29.Name = "label29";
label29.Size = new Size(55, 15); label29.Size = new Size(55, 15);
label29.TabIndex = 21; label29.TabIndex = 21;
@ -1079,7 +1066,7 @@
checkBox_Bar_Enable.AutoSize = true; checkBox_Bar_Enable.AutoSize = true;
checkBox_Bar_Enable.Checked = true; checkBox_Bar_Enable.Checked = true;
checkBox_Bar_Enable.CheckState = CheckState.Checked; checkBox_Bar_Enable.CheckState = CheckState.Checked;
checkBox_Bar_Enable.Location = new Point(162, 99); checkBox_Bar_Enable.Location = new Point(162, 94);
checkBox_Bar_Enable.Name = "checkBox_Bar_Enable"; checkBox_Bar_Enable.Name = "checkBox_Bar_Enable";
checkBox_Bar_Enable.Size = new Size(39, 19); checkBox_Bar_Enable.Size = new Size(39, 19);
checkBox_Bar_Enable.TabIndex = 17; checkBox_Bar_Enable.TabIndex = 17;
@ -1091,7 +1078,7 @@
// label9 // label9
// //
label9.AutoSize = true; label9.AutoSize = true;
label9.Location = new Point(111, 74); label9.Location = new Point(111, 71);
label9.Name = "label9"; label9.Name = "label9";
label9.Size = new Size(20, 15); label9.Size = new Size(20, 15);
label9.TabIndex = 12; label9.TabIndex = 12;
@ -1100,7 +1087,7 @@
// numericUpDown_Bar_Noise // numericUpDown_Bar_Noise
// //
numericUpDown_Bar_Noise.DecimalPlaces = 1; numericUpDown_Bar_Noise.DecimalPlaces = 1;
numericUpDown_Bar_Noise.Location = new Point(68, 72); numericUpDown_Bar_Noise.Location = new Point(68, 69);
numericUpDown_Bar_Noise.Maximum = new decimal(new int[] { 10, 0, 0, 0 }); numericUpDown_Bar_Noise.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown_Bar_Noise.Name = "numericUpDown_Bar_Noise"; numericUpDown_Bar_Noise.Name = "numericUpDown_Bar_Noise";
numericUpDown_Bar_Noise.Size = new Size(40, 23); numericUpDown_Bar_Noise.Size = new Size(40, 23);
@ -1111,7 +1098,7 @@
// label8 // label8
// //
label8.AutoSize = true; label8.AutoSize = true;
label8.Location = new Point(23, 74); label8.Location = new Point(23, 71);
label8.Name = "label8"; label8.Name = "label8";
label8.Size = new Size(40, 15); label8.Size = new Size(40, 15);
label8.TabIndex = 10; label8.TabIndex = 10;
@ -1120,7 +1107,7 @@
// //
// numericUpDown_Bar_Freq // numericUpDown_Bar_Freq
// //
numericUpDown_Bar_Freq.Location = new Point(68, 43); numericUpDown_Bar_Freq.Location = new Point(68, 42);
numericUpDown_Bar_Freq.Maximum = new decimal(new int[] { 200, 0, 0, 0 }); numericUpDown_Bar_Freq.Maximum = new decimal(new int[] { 200, 0, 0, 0 });
numericUpDown_Bar_Freq.Minimum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Bar_Freq.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Bar_Freq.Name = "numericUpDown_Bar_Freq"; numericUpDown_Bar_Freq.Name = "numericUpDown_Bar_Freq";
@ -1132,7 +1119,7 @@
// label5 // label5
// //
label5.AutoSize = true; label5.AutoSize = true;
label5.Location = new Point(110, 45); label5.Location = new Point(110, 44);
label5.Name = "label5"; label5.Name = "label5";
label5.Size = new Size(21, 15); label5.Size = new Size(21, 15);
label5.TabIndex = 9; label5.TabIndex = 9;
@ -1141,7 +1128,7 @@
// label7 // label7
// //
label7.AutoSize = true; label7.AutoSize = true;
label7.Location = new Point(1, 45); label7.Location = new Point(1, 44);
label7.Name = "label7"; label7.Name = "label7";
label7.Size = new Size(65, 15); label7.Size = new Size(65, 15);
label7.TabIndex = 8; label7.TabIndex = 8;
@ -1162,9 +1149,9 @@
groupBox_GPS.Controls.Add(label48); groupBox_GPS.Controls.Add(label48);
groupBox_GPS.Controls.Add(checkBox_Pos_Enable); groupBox_GPS.Controls.Add(checkBox_Pos_Enable);
groupBox_GPS.Dock = DockStyle.Top; groupBox_GPS.Dock = DockStyle.Top;
groupBox_GPS.Location = new Point(0, 283); groupBox_GPS.Location = new Point(0, 265);
groupBox_GPS.Name = "groupBox_GPS"; groupBox_GPS.Name = "groupBox_GPS";
groupBox_GPS.Size = new Size(204, 106); groupBox_GPS.Size = new Size(204, 100);
groupBox_GPS.TabIndex = 2; groupBox_GPS.TabIndex = 2;
groupBox_GPS.TabStop = false; groupBox_GPS.TabStop = false;
groupBox_GPS.Text = "Position"; groupBox_GPS.Text = "Position";
@ -1184,7 +1171,7 @@
// label2 // label2
// //
label2.AutoSize = true; label2.AutoSize = true;
label2.Location = new Point(116, 77); label2.Location = new Point(116, 72);
label2.Name = "label2"; label2.Name = "label2";
label2.Size = new Size(24, 15); label2.Size = new Size(24, 15);
label2.TabIndex = 32; label2.TabIndex = 32;
@ -1194,7 +1181,7 @@
// //
numericUpDown_Pos_Laten.DecimalPlaces = 2; numericUpDown_Pos_Laten.DecimalPlaces = 2;
numericUpDown_Pos_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 }); numericUpDown_Pos_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Pos_Laten.Location = new Point(69, 75); numericUpDown_Pos_Laten.Location = new Point(69, 70);
numericUpDown_Pos_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Pos_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Pos_Laten.Name = "numericUpDown_Pos_Laten"; numericUpDown_Pos_Laten.Name = "numericUpDown_Pos_Laten";
numericUpDown_Pos_Laten.Size = new Size(41, 23); numericUpDown_Pos_Laten.Size = new Size(41, 23);
@ -1205,7 +1192,7 @@
// label4 // label4
// //
label4.AutoSize = true; label4.AutoSize = true;
label4.Location = new Point(6, 77); label4.Location = new Point(6, 72);
label4.Name = "label4"; label4.Name = "label4";
label4.Size = new Size(55, 15); label4.Size = new Size(55, 15);
label4.TabIndex = 30; label4.TabIndex = 30;
@ -1214,7 +1201,7 @@
// label6 // label6
// //
label6.AutoSize = true; label6.AutoSize = true;
label6.Location = new Point(112, 48); label6.Location = new Point(112, 45);
label6.Name = "label6"; label6.Name = "label6";
label6.Size = new Size(18, 15); label6.Size = new Size(18, 15);
label6.TabIndex = 29; label6.TabIndex = 29;
@ -1224,7 +1211,7 @@
// //
numericUpDown_Pos_Noise.DecimalPlaces = 1; numericUpDown_Pos_Noise.DecimalPlaces = 1;
numericUpDown_Pos_Noise.Increment = new decimal(new int[] { 1, 0, 0, 65536 }); numericUpDown_Pos_Noise.Increment = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Pos_Noise.Location = new Point(69, 46); numericUpDown_Pos_Noise.Location = new Point(69, 43);
numericUpDown_Pos_Noise.Maximum = new decimal(new int[] { 10, 0, 0, 0 }); numericUpDown_Pos_Noise.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown_Pos_Noise.Name = "numericUpDown_Pos_Noise"; numericUpDown_Pos_Noise.Name = "numericUpDown_Pos_Noise";
numericUpDown_Pos_Noise.Size = new Size(40, 23); numericUpDown_Pos_Noise.Size = new Size(40, 23);
@ -1235,7 +1222,7 @@
// label10 // label10
// //
label10.AutoSize = true; label10.AutoSize = true;
label10.Location = new Point(23, 48); label10.Location = new Point(23, 45);
label10.Name = "label10"; label10.Name = "label10";
label10.Size = new Size(40, 15); label10.Size = new Size(40, 15);
label10.TabIndex = 27; label10.TabIndex = 27;
@ -1277,7 +1264,7 @@
checkBox_Pos_Enable.AutoSize = true; checkBox_Pos_Enable.AutoSize = true;
checkBox_Pos_Enable.Checked = true; checkBox_Pos_Enable.Checked = true;
checkBox_Pos_Enable.CheckState = CheckState.Checked; checkBox_Pos_Enable.CheckState = CheckState.Checked;
checkBox_Pos_Enable.Location = new Point(158, 78); checkBox_Pos_Enable.Location = new Point(158, 73);
checkBox_Pos_Enable.Name = "checkBox_Pos_Enable"; checkBox_Pos_Enable.Name = "checkBox_Pos_Enable";
checkBox_Pos_Enable.Size = new Size(39, 19); checkBox_Pos_Enable.Size = new Size(39, 19);
checkBox_Pos_Enable.TabIndex = 16; checkBox_Pos_Enable.TabIndex = 16;
@ -1288,29 +1275,18 @@
// //
// groupBox_Mag // groupBox_Mag
// //
groupBox_Mag.Controls.Add(label27);
groupBox_Mag.Controls.Add(numericUpDown_Mag_Noise); groupBox_Mag.Controls.Add(numericUpDown_Mag_Noise);
groupBox_Mag.Controls.Add(label28); groupBox_Mag.Controls.Add(label28);
groupBox_Mag.Controls.Add(numericUpDown_Mag_Freq); groupBox_Mag.Controls.Add(numericUpDown_Mag_Freq);
groupBox_Mag.Controls.Add(label22); groupBox_Mag.Controls.Add(label22);
groupBox_Mag.Dock = DockStyle.Top; groupBox_Mag.Dock = DockStyle.Top;
groupBox_Mag.Enabled = false; groupBox_Mag.Location = new Point(0, 220);
groupBox_Mag.Location = new Point(0, 232);
groupBox_Mag.Name = "groupBox_Mag"; groupBox_Mag.Name = "groupBox_Mag";
groupBox_Mag.Size = new Size(204, 51); groupBox_Mag.Size = new Size(204, 45);
groupBox_Mag.TabIndex = 5; groupBox_Mag.TabIndex = 5;
groupBox_Mag.TabStop = false; groupBox_Mag.TabStop = false;
groupBox_Mag.Text = "Magnetometer"; groupBox_Mag.Text = "Magnetometer";
// //
// label27
//
label27.AutoSize = true;
label27.Location = new Point(172, 20);
label27.Name = "label27";
label27.Size = new Size(12, 15);
label27.TabIndex = 14;
label27.Text = "?";
//
// numericUpDown_Mag_Noise // numericUpDown_Mag_Noise
// //
numericUpDown_Mag_Noise.DecimalPlaces = 1; numericUpDown_Mag_Noise.DecimalPlaces = 1;
@ -1366,9 +1342,9 @@
groupBox_Gyr.Controls.Add(numericUpDown_Gyr_Freq); groupBox_Gyr.Controls.Add(numericUpDown_Gyr_Freq);
groupBox_Gyr.Controls.Add(label21); groupBox_Gyr.Controls.Add(label21);
groupBox_Gyr.Dock = DockStyle.Top; groupBox_Gyr.Dock = DockStyle.Top;
groupBox_Gyr.Location = new Point(0, 110); groupBox_Gyr.Location = new Point(0, 104);
groupBox_Gyr.Name = "groupBox_Gyr"; groupBox_Gyr.Name = "groupBox_Gyr";
groupBox_Gyr.Size = new Size(204, 122); groupBox_Gyr.Size = new Size(204, 116);
groupBox_Gyr.TabIndex = 7; groupBox_Gyr.TabIndex = 7;
groupBox_Gyr.TabStop = false; groupBox_Gyr.TabStop = false;
groupBox_Gyr.Text = "Gyroscope"; groupBox_Gyr.Text = "Gyroscope";
@ -1376,7 +1352,7 @@
// checkBox_Model_Gyr_Real // checkBox_Model_Gyr_Real
// //
checkBox_Model_Gyr_Real.AutoSize = true; checkBox_Model_Gyr_Real.AutoSize = true;
checkBox_Model_Gyr_Real.Location = new Point(153, 101); checkBox_Model_Gyr_Real.Location = new Point(153, 97);
checkBox_Model_Gyr_Real.Name = "checkBox_Model_Gyr_Real"; checkBox_Model_Gyr_Real.Name = "checkBox_Model_Gyr_Real";
checkBox_Model_Gyr_Real.Size = new Size(48, 19); checkBox_Model_Gyr_Real.Size = new Size(48, 19);
checkBox_Model_Gyr_Real.TabIndex = 37; checkBox_Model_Gyr_Real.TabIndex = 37;
@ -1388,7 +1364,7 @@
// label51 // label51
// //
label51.AutoSize = true; label51.AutoSize = true;
label51.Location = new Point(126, 94); label51.Location = new Point(126, 90);
label51.Name = "label51"; label51.Name = "label51";
label51.Size = new Size(24, 15); label51.Size = new Size(24, 15);
label51.TabIndex = 35; label51.TabIndex = 35;
@ -1398,7 +1374,7 @@
// //
numericUpDown_Gyr_Laten.DecimalPlaces = 3; numericUpDown_Gyr_Laten.DecimalPlaces = 3;
numericUpDown_Gyr_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 }); numericUpDown_Gyr_Laten.Increment = new decimal(new int[] { 2, 0, 0, 131072 });
numericUpDown_Gyr_Laten.Location = new Point(68, 92); numericUpDown_Gyr_Laten.Location = new Point(68, 88);
numericUpDown_Gyr_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Gyr_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Gyr_Laten.Name = "numericUpDown_Gyr_Laten"; numericUpDown_Gyr_Laten.Name = "numericUpDown_Gyr_Laten";
numericUpDown_Gyr_Laten.Size = new Size(49, 23); numericUpDown_Gyr_Laten.Size = new Size(49, 23);
@ -1409,7 +1385,7 @@
// label52 // label52
// //
label52.AutoSize = true; label52.AutoSize = true;
label52.Location = new Point(5, 94); label52.Location = new Point(5, 90);
label52.Name = "label52"; label52.Name = "label52";
label52.Size = new Size(55, 15); label52.Size = new Size(55, 15);
label52.TabIndex = 33; label52.TabIndex = 33;
@ -1558,7 +1534,7 @@
groupBox_Acc.Dock = DockStyle.Top; groupBox_Acc.Dock = DockStyle.Top;
groupBox_Acc.Location = new Point(0, 0); groupBox_Acc.Location = new Point(0, 0);
groupBox_Acc.Name = "groupBox_Acc"; groupBox_Acc.Name = "groupBox_Acc";
groupBox_Acc.Size = new Size(204, 110); groupBox_Acc.Size = new Size(204, 104);
groupBox_Acc.TabIndex = 6; groupBox_Acc.TabIndex = 6;
groupBox_Acc.TabStop = false; groupBox_Acc.TabStop = false;
groupBox_Acc.Text = "Accelerometer"; groupBox_Acc.Text = "Accelerometer";
@ -1566,7 +1542,7 @@
// checkBox_Model_Acc_Real // checkBox_Model_Acc_Real
// //
checkBox_Model_Acc_Real.AutoSize = true; checkBox_Model_Acc_Real.AutoSize = true;
checkBox_Model_Acc_Real.Location = new Point(156, 91); checkBox_Model_Acc_Real.Location = new Point(156, 72);
checkBox_Model_Acc_Real.Name = "checkBox_Model_Acc_Real"; checkBox_Model_Acc_Real.Name = "checkBox_Model_Acc_Real";
checkBox_Model_Acc_Real.Size = new Size(48, 19); checkBox_Model_Acc_Real.Size = new Size(48, 19);
checkBox_Model_Acc_Real.TabIndex = 36; checkBox_Model_Acc_Real.TabIndex = 36;
@ -1578,7 +1554,7 @@
// label49 // label49
// //
label49.AutoSize = true; label49.AutoSize = true;
label49.Location = new Point(126, 80); label49.Location = new Point(122, 72);
label49.Name = "label49"; label49.Name = "label49";
label49.Size = new Size(24, 15); label49.Size = new Size(24, 15);
label49.TabIndex = 35; label49.TabIndex = 35;
@ -1588,7 +1564,7 @@
// //
numericUpDown_Acc_Laten.DecimalPlaces = 3; numericUpDown_Acc_Laten.DecimalPlaces = 3;
numericUpDown_Acc_Laten.Increment = new decimal(new int[] { 1, 0, 0, 131072 }); numericUpDown_Acc_Laten.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown_Acc_Laten.Location = new Point(68, 78); numericUpDown_Acc_Laten.Location = new Point(68, 70);
numericUpDown_Acc_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Acc_Laten.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Acc_Laten.Name = "numericUpDown_Acc_Laten"; numericUpDown_Acc_Laten.Name = "numericUpDown_Acc_Laten";
numericUpDown_Acc_Laten.Size = new Size(49, 23); numericUpDown_Acc_Laten.Size = new Size(49, 23);
@ -1599,7 +1575,7 @@
// label50 // label50
// //
label50.AutoSize = true; label50.AutoSize = true;
label50.Location = new Point(5, 80); label50.Location = new Point(5, 72);
label50.Name = "label50"; label50.Name = "label50";
label50.Size = new Size(55, 15); label50.Size = new Size(55, 15);
label50.TabIndex = 33; label50.TabIndex = 33;
@ -1609,7 +1585,7 @@
// //
numericUpDown_Acc_Scale_Left.DecimalPlaces = 3; numericUpDown_Acc_Scale_Left.DecimalPlaces = 3;
numericUpDown_Acc_Scale_Left.Increment = new decimal(new int[] { 1, 0, 0, 196608 }); 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.Location = new Point(48, 43);
numericUpDown_Acc_Scale_Left.Maximum = new decimal(new int[] { 5, 0, 0, -2147418112 }); 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.Minimum = new decimal(new int[] { 15, 0, 0, -2147418112 });
numericUpDown_Acc_Scale_Left.Name = "numericUpDown_Acc_Scale_Left"; numericUpDown_Acc_Scale_Left.Name = "numericUpDown_Acc_Scale_Left";
@ -1622,7 +1598,7 @@
// //
numericUpDown_Acc_Scale_Rigth.DecimalPlaces = 3; numericUpDown_Acc_Scale_Rigth.DecimalPlaces = 3;
numericUpDown_Acc_Scale_Rigth.Increment = new decimal(new int[] { 1, 0, 0, 196608 }); 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.Location = new Point(136, 43);
numericUpDown_Acc_Scale_Rigth.Maximum = new decimal(new int[] { 15, 0, 0, 65536 }); 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.Minimum = new decimal(new int[] { 5, 0, 0, 65536 });
numericUpDown_Acc_Scale_Rigth.Name = "numericUpDown_Acc_Scale_Rigth"; numericUpDown_Acc_Scale_Rigth.Name = "numericUpDown_Acc_Scale_Rigth";
@ -1634,7 +1610,7 @@
// label32 // label32
// //
label32.AutoSize = true; label32.AutoSize = true;
label32.Location = new Point(109, 52); label32.Location = new Point(109, 45);
label32.Name = "label32"; label32.Name = "label32";
label32.Size = new Size(28, 15); label32.Size = new Size(28, 15);
label32.TabIndex = 15; label32.TabIndex = 15;
@ -1643,7 +1619,7 @@
// label31 // label31
// //
label31.AutoSize = true; label31.AutoSize = true;
label31.Location = new Point(5, 52); label31.Location = new Point(5, 45);
label31.Name = "label31"; label31.Name = "label31";
label31.Size = new Size(37, 15); label31.Size = new Size(37, 15);
label31.TabIndex = 12; label31.TabIndex = 12;
@ -1652,7 +1628,7 @@
// label24 // label24
// //
label24.AutoSize = true; label24.AutoSize = true;
label24.Location = new Point(180, 24); label24.Location = new Point(180, 19);
label24.Name = "label24"; label24.Name = "label24";
label24.Size = new Size(15, 15); label24.Size = new Size(15, 15);
label24.TabIndex = 11; label24.TabIndex = 11;
@ -1662,7 +1638,7 @@
// //
numericUpDown_Acc_Noise.DecimalPlaces = 3; numericUpDown_Acc_Noise.DecimalPlaces = 3;
numericUpDown_Acc_Noise.Increment = new decimal(new int[] { 1, 0, 0, 196608 }); numericUpDown_Acc_Noise.Increment = new decimal(new int[] { 1, 0, 0, 196608 });
numericUpDown_Acc_Noise.Location = new Point(126, 21); numericUpDown_Acc_Noise.Location = new Point(126, 16);
numericUpDown_Acc_Noise.Maximum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Acc_Noise.Maximum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Acc_Noise.Name = "numericUpDown_Acc_Noise"; numericUpDown_Acc_Noise.Name = "numericUpDown_Acc_Noise";
numericUpDown_Acc_Noise.Size = new Size(49, 23); numericUpDown_Acc_Noise.Size = new Size(49, 23);
@ -1673,7 +1649,7 @@
// label23 // label23
// //
label23.AutoSize = true; label23.AutoSize = true;
label23.Location = new Point(83, 24); label23.Location = new Point(83, 19);
label23.Name = "label23"; label23.Name = "label23";
label23.Size = new Size(40, 15); label23.Size = new Size(40, 15);
label23.TabIndex = 9; label23.TabIndex = 9;
@ -1681,7 +1657,7 @@
// //
// numericUpDown_Acc_Freq // numericUpDown_Acc_Freq
// //
numericUpDown_Acc_Freq.Location = new Point(37, 21); numericUpDown_Acc_Freq.Location = new Point(37, 16);
numericUpDown_Acc_Freq.Maximum = new decimal(new int[] { 200, 0, 0, 0 }); numericUpDown_Acc_Freq.Maximum = new decimal(new int[] { 200, 0, 0, 0 });
numericUpDown_Acc_Freq.Minimum = new decimal(new int[] { 1, 0, 0, 0 }); numericUpDown_Acc_Freq.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Acc_Freq.Name = "numericUpDown_Acc_Freq"; numericUpDown_Acc_Freq.Name = "numericUpDown_Acc_Freq";
@ -1693,7 +1669,7 @@
// label20 // label20
// //
label20.AutoSize = true; label20.AutoSize = true;
label20.Location = new Point(1, 23); label20.Location = new Point(1, 18);
label20.Name = "label20"; label20.Name = "label20";
label20.Size = new Size(33, 15); label20.Size = new Size(33, 15);
label20.TabIndex = 2; label20.TabIndex = 2;
@ -1705,7 +1681,7 @@
tabPage_Area.Controls.Add(groupBox3); tabPage_Area.Controls.Add(groupBox3);
tabPage_Area.Location = new Point(4, 24); tabPage_Area.Location = new Point(4, 24);
tabPage_Area.Name = "tabPage_Area"; tabPage_Area.Name = "tabPage_Area";
tabPage_Area.Size = new Size(210, 889); tabPage_Area.Size = new Size(210, 788);
tabPage_Area.TabIndex = 2; tabPage_Area.TabIndex = 2;
tabPage_Area.Tag = "#area"; tabPage_Area.Tag = "#area";
tabPage_Area.Text = "Area"; tabPage_Area.Text = "Area";
@ -1883,6 +1859,8 @@
// checkBox_Area_Wind_Enable // checkBox_Area_Wind_Enable
// //
checkBox_Area_Wind_Enable.AutoSize = true; checkBox_Area_Wind_Enable.AutoSize = true;
checkBox_Area_Wind_Enable.Checked = true;
checkBox_Area_Wind_Enable.CheckState = CheckState.Checked;
checkBox_Area_Wind_Enable.Location = new Point(165, 149); checkBox_Area_Wind_Enable.Location = new Point(165, 149);
checkBox_Area_Wind_Enable.Name = "checkBox_Area_Wind_Enable"; checkBox_Area_Wind_Enable.Name = "checkBox_Area_Wind_Enable";
checkBox_Area_Wind_Enable.Size = new Size(39, 19); checkBox_Area_Wind_Enable.Size = new Size(39, 19);
@ -1954,7 +1932,7 @@
tabPage_GPS.Location = new Point(4, 24); tabPage_GPS.Location = new Point(4, 24);
tabPage_GPS.Name = "tabPage_GPS"; tabPage_GPS.Name = "tabPage_GPS";
tabPage_GPS.Padding = new Padding(3); tabPage_GPS.Padding = new Padding(3);
tabPage_GPS.Size = new Size(210, 889); tabPage_GPS.Size = new Size(210, 788);
tabPage_GPS.TabIndex = 3; tabPage_GPS.TabIndex = 3;
tabPage_GPS.Text = "GPS"; tabPage_GPS.Text = "GPS";
tabPage_GPS.UseVisualStyleBackColor = true; tabPage_GPS.UseVisualStyleBackColor = true;
@ -2172,7 +2150,7 @@
numericUpDown_GPS_Lon.Name = "numericUpDown_GPS_Lon"; numericUpDown_GPS_Lon.Name = "numericUpDown_GPS_Lon";
numericUpDown_GPS_Lon.Size = new Size(101, 23); numericUpDown_GPS_Lon.Size = new Size(101, 23);
numericUpDown_GPS_Lon.TabIndex = 3; numericUpDown_GPS_Lon.TabIndex = 3;
numericUpDown_GPS_Lon.Value = new decimal(new int[] { 472064791, 0, 0, 458752 }); numericUpDown_GPS_Lon.Value = new decimal(new int[] { 389290690, 0, 0, 458752 });
numericUpDown_GPS_Lon.ValueChanged += numericUpDown_GPS_ValueChanged; numericUpDown_GPS_Lon.ValueChanged += numericUpDown_GPS_ValueChanged;
// //
// numericUpDown_GPS_Lat // numericUpDown_GPS_Lat
@ -2184,7 +2162,8 @@
numericUpDown_GPS_Lat.Name = "numericUpDown_GPS_Lat"; numericUpDown_GPS_Lat.Name = "numericUpDown_GPS_Lat";
numericUpDown_GPS_Lat.Size = new Size(101, 23); numericUpDown_GPS_Lat.Size = new Size(101, 23);
numericUpDown_GPS_Lat.TabIndex = 2; numericUpDown_GPS_Lat.TabIndex = 2;
numericUpDown_GPS_Lat.Value = new decimal(new int[] { 389290690, 0, 0, 458752 }); numericUpDown_GPS_Lat.Tag = "";
numericUpDown_GPS_Lat.Value = new decimal(new int[] { 472064791, 0, 0, 458752 });
numericUpDown_GPS_Lat.ValueChanged += numericUpDown_GPS_ValueChanged; numericUpDown_GPS_Lat.ValueChanged += numericUpDown_GPS_ValueChanged;
// //
// label67 // label67
@ -2205,14 +2184,134 @@
label66.TabIndex = 0; label66.TabIndex = 0;
label66.Text = "Lat:"; label66.Text = "Lat:";
// //
// tabPage_Drone
//
tabPage_Drone.Controls.Add(groupBox_Physics);
tabPage_Drone.Location = new Point(4, 24);
tabPage_Drone.Name = "tabPage_Drone";
tabPage_Drone.Padding = new Padding(3);
tabPage_Drone.Size = new Size(210, 788);
tabPage_Drone.TabIndex = 4;
tabPage_Drone.Text = "Drone";
tabPage_Drone.UseVisualStyleBackColor = true;
//
// groupBox_Physics
//
groupBox_Physics.Controls.Add(label78);
groupBox_Physics.Controls.Add(numericUpDown_Physics_Power);
groupBox_Physics.Controls.Add(label77);
groupBox_Physics.Controls.Add(numericUpDown_Physics_Length);
groupBox_Physics.Controls.Add(label76);
groupBox_Physics.Controls.Add(numericUpDown_Physics_Mass);
groupBox_Physics.Controls.Add(label75);
groupBox_Physics.Controls.Add(label74);
groupBox_Physics.Controls.Add(label27);
groupBox_Physics.Dock = DockStyle.Top;
groupBox_Physics.Location = new Point(3, 3);
groupBox_Physics.Name = "groupBox_Physics";
groupBox_Physics.Size = new Size(204, 120);
groupBox_Physics.TabIndex = 0;
groupBox_Physics.TabStop = false;
groupBox_Physics.Text = "Physics";
//
// label78
//
label78.AutoSize = true;
label78.Location = new Point(128, 87);
label78.Name = "label78";
label78.Size = new Size(20, 15);
label78.TabIndex = 8;
label78.Text = "kg";
//
// numericUpDown_Physics_Power
//
numericUpDown_Physics_Power.DecimalPlaces = 2;
numericUpDown_Physics_Power.Location = new Point(57, 85);
numericUpDown_Physics_Power.Maximum = new decimal(new int[] { 5000, 0, 0, 0 });
numericUpDown_Physics_Power.Minimum = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Physics_Power.Name = "numericUpDown_Physics_Power";
numericUpDown_Physics_Power.Size = new Size(65, 23);
numericUpDown_Physics_Power.TabIndex = 7;
numericUpDown_Physics_Power.Value = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Physics_Power.ValueChanged += numericUpDown_Physics_ValueChanged;
//
// label77
//
label77.AutoSize = true;
label77.Location = new Point(128, 58);
label77.Name = "label77";
label77.Size = new Size(18, 15);
label77.TabIndex = 6;
label77.Text = "m";
//
// numericUpDown_Physics_Length
//
numericUpDown_Physics_Length.DecimalPlaces = 2;
numericUpDown_Physics_Length.Location = new Point(57, 56);
numericUpDown_Physics_Length.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
numericUpDown_Physics_Length.Minimum = new decimal(new int[] { 1, 0, 0, 65536 });
numericUpDown_Physics_Length.Name = "numericUpDown_Physics_Length";
numericUpDown_Physics_Length.Size = new Size(65, 23);
numericUpDown_Physics_Length.TabIndex = 5;
numericUpDown_Physics_Length.Value = new decimal(new int[] { 1, 0, 0, 0 });
numericUpDown_Physics_Length.ValueChanged += numericUpDown_Physics_ValueChanged;
//
// label76
//
label76.AutoSize = true;
label76.Location = new Point(128, 29);
label76.Name = "label76";
label76.Size = new Size(20, 15);
label76.TabIndex = 4;
label76.Text = "kg";
//
// numericUpDown_Physics_Mass
//
numericUpDown_Physics_Mass.DecimalPlaces = 2;
numericUpDown_Physics_Mass.Location = new Point(57, 27);
numericUpDown_Physics_Mass.Maximum = new decimal(new int[] { 1000, 0, 0, 0 });
numericUpDown_Physics_Mass.Minimum = new decimal(new int[] { 1, 0, 0, 131072 });
numericUpDown_Physics_Mass.Name = "numericUpDown_Physics_Mass";
numericUpDown_Physics_Mass.Size = new Size(65, 23);
numericUpDown_Physics_Mass.TabIndex = 3;
numericUpDown_Physics_Mass.Value = new decimal(new int[] { 5, 0, 0, 65536 });
numericUpDown_Physics_Mass.ValueChanged += numericUpDown_Physics_ValueChanged;
//
// label75
//
label75.AutoSize = true;
label75.Location = new Point(8, 87);
label75.Name = "label75";
label75.Size = new Size(43, 15);
label75.TabIndex = 2;
label75.Text = "Power:";
//
// label74
//
label74.AutoSize = true;
label74.Location = new Point(7, 58);
label74.Name = "label74";
label74.Size = new Size(47, 15);
label74.TabIndex = 1;
label74.Text = "Length:";
//
// label27
//
label27.AutoSize = true;
label27.Location = new Point(17, 29);
label27.Name = "label27";
label27.Size = new Size(37, 15);
label27.TabIndex = 0;
label27.Text = "Mass:";
//
// groupBox_Navi // groupBox_Navi
// //
groupBox_Navi.Controls.Add(panel1); groupBox_Navi.Controls.Add(panel1);
groupBox_Navi.Controls.Add(comboBox_Drone); groupBox_Navi.Controls.Add(comboBox_Drone);
groupBox_Navi.Dock = DockStyle.Right; groupBox_Navi.Dock = DockStyle.Right;
groupBox_Navi.Location = new Point(684, 24); groupBox_Navi.Location = new Point(684, 0);
groupBox_Navi.Name = "groupBox_Navi"; groupBox_Navi.Name = "groupBox_Navi";
groupBox_Navi.Size = new Size(200, 917); groupBox_Navi.Size = new Size(200, 816);
groupBox_Navi.TabIndex = 3; groupBox_Navi.TabIndex = 3;
groupBox_Navi.TabStop = false; groupBox_Navi.TabStop = false;
groupBox_Navi.Tag = "#navigation"; groupBox_Navi.Tag = "#navigation";
@ -2226,7 +2325,7 @@
panel1.Dock = DockStyle.Fill; panel1.Dock = DockStyle.Fill;
panel1.Location = new Point(3, 42); panel1.Location = new Point(3, 42);
panel1.Name = "panel1"; panel1.Name = "panel1";
panel1.Size = new Size(194, 872); panel1.Size = new Size(194, 771);
panel1.TabIndex = 3; panel1.TabIndex = 3;
// //
// listBox_Drones // listBox_Drones
@ -2275,19 +2374,15 @@
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(884, 941); ClientSize = new Size(884, 816);
Controls.Add(groupBox_Screen); Controls.Add(groupBox_Screen);
Controls.Add(groupBox_Navi); Controls.Add(groupBox_Navi);
Controls.Add(tabControl_Menu); Controls.Add(tabControl_Menu);
Controls.Add(menuStrip_Menu);
Icon = (Icon)resources.GetObject("$this.Icon"); Icon = (Icon)resources.GetObject("$this.Icon");
MainMenuStrip = menuStrip_Menu; MinimumSize = new Size(900, 855);
MinimumSize = new Size(900, 980);
Name = "Form_Main"; Name = "Form_Main";
Text = "Drone Simulator V1.0"; Text = "Drone Simulator V1.0";
FormClosing += Form_Main_FormClosing; FormClosing += Form_Main_FormClosing;
menuStrip_Menu.ResumeLayout(false);
menuStrip_Menu.PerformLayout();
groupBox_Screen.ResumeLayout(false); groupBox_Screen.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)pictureBox_2D).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureBox_2D).EndInit();
tabControl_Menu.ResumeLayout(false); tabControl_Menu.ResumeLayout(false);
@ -2372,16 +2467,18 @@
((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Alt).EndInit(); ((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Alt).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Lon).EndInit(); ((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Lon).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Lat).EndInit(); ((System.ComponentModel.ISupportInitialize)numericUpDown_GPS_Lat).EndInit();
tabPage_Drone.ResumeLayout(false);
groupBox_Physics.ResumeLayout(false);
groupBox_Physics.PerformLayout();
((System.ComponentModel.ISupportInitialize)numericUpDown_Physics_Power).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Physics_Length).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown_Physics_Mass).EndInit();
groupBox_Navi.ResumeLayout(false); groupBox_Navi.ResumeLayout(false);
panel1.ResumeLayout(false); panel1.ResumeLayout(false);
ResumeLayout(false); ResumeLayout(false);
PerformLayout();
} }
#endregion #endregion
private MenuStrip menuStrip_Menu;
private ToolStripMenuItem fileToolStripMenuItem;
private GroupBox groupBox_Screen; private GroupBox groupBox_Screen;
private TabControl tabControl_Menu; private TabControl tabControl_Menu;
private TabPage tabPage_Main; private TabPage tabPage_Main;
@ -2405,7 +2502,6 @@
private Button button_Drone_Color; private Button button_Drone_Color;
private ComboBox comboBox_Drone_Rotor; private ComboBox comboBox_Drone_Rotor;
private Panel panel1; private Panel panel1;
private ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.Timer timer_Test; private System.Windows.Forms.Timer timer_Test;
private NumericUpDown numericUpDown_Visual_Limit; private NumericUpDown numericUpDown_Visual_Limit;
private Label label1; private Label label1;
@ -2445,7 +2541,6 @@
private GroupBox groupBox_Acc; private GroupBox groupBox_Acc;
private NumericUpDown numericUpDown_Acc_Freq; private NumericUpDown numericUpDown_Acc_Freq;
private Label label20; private Label label20;
private Label label27;
private NumericUpDown numericUpDown_Mag_Noise; private NumericUpDown numericUpDown_Mag_Noise;
private Label label28; private Label label28;
private Label label25; private Label label25;
@ -2560,5 +2655,16 @@
private Label label82; private Label label82;
private Label label81; private Label label81;
private Label label80; private Label label80;
private TabPage tabPage_Drone;
private GroupBox groupBox_Physics;
private Label label27;
private NumericUpDown numericUpDown_Physics_Length;
private Label label76;
private NumericUpDown numericUpDown_Physics_Mass;
private Label label75;
private Label label74;
private Label label78;
private NumericUpDown numericUpDown_Physics_Power;
private Label label77;
} }
} }

View File

@ -28,6 +28,11 @@ namespace DroneSimulator
numericUpDown_Pos_Update(null, null); numericUpDown_Pos_Update(null, null);
numericUpDown_Bar_Update(null, null); numericUpDown_Bar_Update(null, null);
numericUpDown_Range_Update(null, null); numericUpDown_Range_Update(null, null);
numericUpDown_OF_Update(null, null);
checkBox_Area_Freeze_CheckedChanged(null, null);
numericUpDown_Area_Wind_Update(null, null);
numericUpDown_GPS_ValueChanged(null, null);
numericUpDown_Physics_ValueChanged(null, null);
} }
private void ClientConnectionCallback(object o) private void ClientConnectionCallback(object o)
@ -42,7 +47,7 @@ namespace DroneSimulator
if (data.Connect) if (data.Connect)
{ {
Drone drone = new Drone(data.ID); Drone drone = new Drone(data.ID);
drone.Create(1.0f, 0.5f, 1.0f); drone.Create();
screen2D.CreateDrone(Color.Red, data.ID); screen2D.CreateDrone(Color.Red, data.ID);
@ -174,7 +179,7 @@ namespace DroneSimulator
Invoke((MethodInvoker)delegate Invoke((MethodInvoker)delegate
{ {
label_Clients_Num.Text = data.Count.ToString(); label_Visual_Num.Text = data.Count.ToString();
}); });
if (data.Connect) if (data.Connect)
@ -330,7 +335,7 @@ namespace DroneSimulator
{ {
GPS.Home.Lat = (double)numericUpDown_GPS_Lat.Value; GPS.Home.Lat = (double)numericUpDown_GPS_Lat.Value;
GPS.Home.Lon = (double)numericUpDown_GPS_Lon.Value; GPS.Home.Lon = (double)numericUpDown_GPS_Lon.Value;
GPS.Home.Alt = (double)numericUpDown_GPS_Alt.Value; GPS.Home.Alt = (float)numericUpDown_GPS_Alt.Value;
GPS.State.Fix = (byte)numericUpDown_GPS_Fix.Value; GPS.State.Fix = (byte)numericUpDown_GPS_Fix.Value;
GPS.State.SatVisible = (byte)numericUpDown_GPS_Vis.Value; GPS.State.SatVisible = (byte)numericUpDown_GPS_Vis.Value;
@ -340,5 +345,12 @@ namespace DroneSimulator
GPS.State.Vdop = (float)numericUpDown_GPS_VDOP.Value; GPS.State.Vdop = (float)numericUpDown_GPS_VDOP.Value;
GPS.State.Pdop = (float)numericUpDown_GPS_PDOP.Value; GPS.State.Pdop = (float)numericUpDown_GPS_PDOP.Value;
} }
private void numericUpDown_Physics_ValueChanged(object sender, EventArgs e)
{
Drone.Physics.Mass = (float)numericUpDown_Physics_Mass.Value;
Drone.Physics.Length = (float)numericUpDown_Physics_Length.Value;
Drone.Physics.MaxPower = (float)numericUpDown_Physics_Power.Value;
}
} }
} }

View File

@ -117,9 +117,6 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="menuStrip_Menu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="timer_Test.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="timer_Test.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>162, 5</value> <value>162, 5</value>
</metadata> </metadata>

View File

@ -3,25 +3,72 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
using System.Text; using System.Text;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace DroneSimulator namespace DroneSimulator
{ {
internal class GPS internal class GPS
{
public struct Home
{ {
public static double Lat, Lon; static double PI = 3.14159265358979323846;
public static float Alt; public struct Home
} {
public static double Lat, Lon;
public static float Alt;
}
public struct State public struct State
{ {
public static byte Fix; // Тип решения 0-8 (NMEA Fix type) public static byte Fix; // Тип решения 0-8 (NMEA Fix type)
public static byte SatVisible; // Количество видимых спутников public static byte SatVisible; // Количество видимых спутников
public static byte SatUsed; // Количество используемых спутников public static byte SatUsed; // Количество используемых спутников
public static float Hdop, Vdop, Pdop; // Геометрический фактор public static float Hdop, Vdop, Pdop; // Геометрический фактор
public static float Noise; // Шум (db) public static float Noise; // Шум (db)
}
public struct GlobalCoords
{
public double latitude, longitude;
}
public struct Point
{
public double x, y;
}
// Конвертация градусов в радианы
static double deg2rad(double deg)
{
return deg * PI / 180.0;
}
// Конвертация радиан в градусы
static double rad2deg(double rad)
{
return rad * 180.0 / PI;
}
// Перевод локальных координат в глобальные
public static GlobalCoords localToGlobal(Point local, GlobalCoords origin)
{
const double er = 6371000; // Radius of the earth in m
// Преобразование приращений координат
double dLat = local.x / er; // В радианах
double originLatRad = deg2rad(origin.latitude);
// Вычисление новой широты
double newLatRad = originLatRad + dLat;
double newLat = rad2deg(newLatRad);
// Вычисление новой долготы (с использованием средней широты для точности)
double avgLatRad = (originLatRad + newLatRad) / 2.0;
double dLon = local.y / (er * Math.Cos(avgLatRad)); // В радианах
double newLon = origin.longitude + rad2deg(dLon);
GlobalCoords coord = new GlobalCoords();
coord.latitude = newLat;
coord.longitude = newLon;
return coord;
}
} }
}
} }