From 0f15c683e57b416ae58f7c7d5f4eb4ae1e466343 Mon Sep 17 00:00:00 2001 From: mandrolic Date: Wed, 16 Feb 2011 23:49:54 +0000 Subject: [PATCH] Configurator.Net: Added Sensor Calibration to main sensor view; killed old calibration tab git-svn-id: https://arducopter.googlecode.com/svn/trunk@1665 f9c3cf11-9bcb-44bc-f272-b75c42450872 --- .../ArducopterConfigurator.csproj | 11 - .../CalibrationOffsetsDataVm.cs | 80 ------ .../PresentationModels/MainVm.cs | 1 - .../PresentationModels/SensorsVm.cs | 148 ++++++++--- .../PresentationModels/VmBase.cs | 2 +- .../Views/CalibrationView.Designer.cs | 251 ------------------ .../Configurator.Net/Views/CalibrationView.cs | 32 --- .../Views/CalibrationView.resx | 123 --------- .../Views/FlightDataView.Designer.cs | 163 ++++++++++-- .../Configurator.Net/Views/FlightDataView.cs | 2 + .../Views/FlightDataView.resx | 92 +++++++ .../Configurator.Net/Views/mainForm.cs | 1 - 12 files changed, 355 insertions(+), 551 deletions(-) delete mode 100644 Configurator/Configurator.Net/PresentationModels/CalibrationOffsetsDataVm.cs delete mode 100644 Configurator/Configurator.Net/Views/CalibrationView.Designer.cs delete mode 100644 Configurator/Configurator.Net/Views/CalibrationView.cs delete mode 100644 Configurator/Configurator.Net/Views/CalibrationView.resx diff --git a/Configurator/Configurator.Net/ArducopterConfigurator.csproj b/Configurator/Configurator.Net/ArducopterConfigurator.csproj index 5eef9172c0..873250a174 100644 --- a/Configurator/Configurator.Net/ArducopterConfigurator.csproj +++ b/Configurator/Configurator.Net/ArducopterConfigurator.csproj @@ -79,7 +79,6 @@ mainForm.cs - @@ -100,10 +99,6 @@ AltitudeHoldConfigView.cs - - CalibrationView.cs - Designer - PositionHoldConfigView.cs @@ -153,12 +148,6 @@ AltitudeHoldConfigView.cs - - UserControl - - - CalibrationView.cs - diff --git a/Configurator/Configurator.Net/PresentationModels/CalibrationOffsetsDataVm.cs b/Configurator/Configurator.Net/PresentationModels/CalibrationOffsetsDataVm.cs deleted file mode 100644 index 2660ef98e4..0000000000 --- a/Configurator/Configurator.Net/PresentationModels/CalibrationOffsetsDataVm.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; - -namespace ArducopterConfigurator.PresentationModels -{ - public class CalibrationOffsetsDataVm : NotifyProperyChangedBase, IPresentationModel - { - private readonly string[] PropsInUpdateOrder = new[] - { - "GyroRollOffset", - "GyroPitchOffset", - "GyroYawOffset", - "AccelRollOffset", - "AccelPitchOffset", - "AccelZOffset" - }; - - public CalibrationOffsetsDataVm() - { - - - RefreshCommand = new DelegateCommand(_ => RefreshValues()); - UpdateCommand = new DelegateCommand(_ => UpdateValues()); - } - - public ICommand RefreshCommand { get; private set; } - - public ICommand UpdateCommand { get; private set; } - - public float GyroRollOffset { get; set; } - public float GyroPitchOffset { get; set; } - public float GyroYawOffset { get; set; } - - public float AccelRollOffset { get; set; } - public float AccelPitchOffset { get; set; } - public float AccelZOffset { get; set; } - - private void RefreshValues() - { - if (sendTextToApm != null) - sendTextToApm(this, new sendTextToApmEventArgs("J")); - } - - public void UpdateValues() - { - if (sendTextToApm != null) - { - var apmString = PropertyHelper.ComposePropValuesWithCommand(this, PropsInUpdateOrder, "I"); - sendTextToApm(this, new sendTextToApmEventArgs(apmString)); - } - } - - public string Name - { - get { return "Calibration"; } - } - - public void Activate() - { - RefreshValues(); - } - - public void DeActivate() - { - } - - public event EventHandler updatedByApm; - - public void handleLineOfText(string strRx) - { - PropertyHelper.PopulatePropsFromUpdate(this, PropsInUpdateOrder, strRx, true); - - if (updatedByApm != null) - updatedByApm(this, EventArgs.Empty); - } - - public event EventHandler sendTextToApm; - } -} \ No newline at end of file diff --git a/Configurator/Configurator.Net/PresentationModels/MainVm.cs b/Configurator/Configurator.Net/PresentationModels/MainVm.cs index de718220b4..154703d65b 100644 --- a/Configurator/Configurator.Net/PresentationModels/MainVm.cs +++ b/Configurator/Configurator.Net/PresentationModels/MainVm.cs @@ -28,7 +28,6 @@ namespace ArducopterConfigurator.PresentationModels new FlightControlPidsVm(), new PositionAltitudePidsVm(), //new MotorCommandsVm(session), - new CalibrationOffsetsDataVm(), new SerialMonitorVm() }; diff --git a/Configurator/Configurator.Net/PresentationModels/SensorsVm.cs b/Configurator/Configurator.Net/PresentationModels/SensorsVm.cs index c1a8d94fa8..6c8f26107f 100644 --- a/Configurator/Configurator.Net/PresentationModels/SensorsVm.cs +++ b/Configurator/Configurator.Net/PresentationModels/SensorsVm.cs @@ -27,53 +27,139 @@ namespace ArducopterConfigurator.PresentationModels /// public class SensorsVm : NotifyProperyChangedBase, IPresentationModel { + + private const string CALIB_REFRESH = "J"; + private const string CALIB_UPDATE = "I"; + private const string SEND_SENSOR_DATA = "S"; + private const string STOP_UPDATES = "X"; + + private bool waitingForCalibData; + public SensorsVm() + { + RefreshCalibrationOffsetsCommand = new DelegateCommand(_ => RefreshCalibValues()); + UpdateCalibrationOffsetsCommand = new DelegateCommand(_ => UpdateCalibValues()); + CalculateCalibrationOffsetsCommand = new DelegateCommand(_ => CalcCalibValues()); + } + + public void RefreshCalibValues() + { + sendString(STOP_UPDATES); + waitingForCalibData = true; + sendString(CALIB_REFRESH); + } + + public void UpdateCalibValues() + { + sendString(PropertyHelper.ComposePropValuesWithCommand(this, _calibrationPropsInUpdateOrder, CALIB_UPDATE)); + sendString(SEND_SENSOR_DATA); + } + + public void CalcCalibValues() + { + AccelRollOffset = AccelRollOffset - AccelRoll; + AccelPitchOffset = AccelPitchOffset - AccelPitch; + //AccelZOffset = AccelZOffset - AccelZ; + FirePropertyChanged("AccelRollOffset"); + FirePropertyChanged("AccelPitchOffset"); + //FirePropertyChanged("AccelZOffset"); + } + public string Name { get { return "Sensor Data"; } } - private readonly string[] _propsInUpdateOrder = new[] - { - "LoopTime", - "GyroRoll", - "GyroPitch", - "GyroYaw", - "Unused", // Throttle - "Unused", // control roll - "Unused", // control pitch - "Unused", // control yaw - "MotorFront", - "MotorRear", - "MotorRight", - "MotorLeft", - "AccelRoll", - "AccelPitch", - "AccelZ", - }; + + + + private readonly string[] _sensorPropsInUpdateOrder = new[] + { + "LoopTime", + "GyroRoll", + "GyroPitch", + "GyroYaw", + "Unused", // Throttle + "Unused", // control roll + "Unused", // control pitch + "Unused", // control yaw + "MotorFront", + "MotorRear", + "MotorRight", + "MotorLeft", + "AccelRoll", + "AccelPitch", + "AccelZ", + }; + + private readonly string[] _calibrationPropsInUpdateOrder = new[] + { + "GyroRollOffset", + "GyroPitchOffset", + "GyroYawOffset", + "AccelRollOffset", + "AccelPitchOffset", + "AccelZOffset" + }; + + private void sendString(string str) + { + if (sendTextToApm != null) + sendTextToApm(this, new sendTextToApmEventArgs(str)); + } + public void Activate() { - if (sendTextToApm!=null) - sendTextToApm(this, new sendTextToApmEventArgs("S")); + // Get the calib. data first + waitingForCalibData = true; + sendString(CALIB_REFRESH); } public void DeActivate() { - if (sendTextToApm != null) - sendTextToApm(this, new sendTextToApmEventArgs("X")); + sendString(STOP_UPDATES); + } + + public void handleLineOfText(string strRx) + { + if ( waitingForCalibData) + { + PropertyHelper.PopulatePropsFromUpdate(this, _calibrationPropsInUpdateOrder, strRx, true); + waitingForCalibData = false; + sendString(SEND_SENSOR_DATA); + } + else + { + PropertyHelper.PopulatePropsFromUpdate(this, _sensorPropsInUpdateOrder, strRx, false); + } } public event EventHandler updatedByApm; - - public void handleLineOfText(string strRx) - { - PropertyHelper.PopulatePropsFromUpdate(this, _propsInUpdateOrder, strRx, false); - } - - public event EventHandler sendTextToApm; - + + public ICommand RefreshCalibrationOffsetsCommand { get; private set; } + + public ICommand UpdateCalibrationOffsetsCommand { get; private set; } + + public ICommand CalculateCalibrationOffsetsCommand { get; private set; } + + + #region Calibration Properties + + public float GyroRollOffset { get; set; } + public float GyroPitchOffset { get; set; } + public float GyroYawOffset { get; set; } + + public float AccelRollOffset { get; set; } + public float AccelPitchOffset { get; set; } + public float AccelZOffset { get; set; } + + + #endregion + + #region Sensor Properties + private int _loopTime; public int LoopTime { @@ -195,6 +281,7 @@ namespace ArducopterConfigurator.PresentationModels } private int accelZ; + public int AccelZ { get { return accelZ; } @@ -205,6 +292,7 @@ namespace ArducopterConfigurator.PresentationModels FirePropertyChanged("AccelZ"); } } + #endregion public int Unused { get; set; } } diff --git a/Configurator/Configurator.Net/PresentationModels/VmBase.cs b/Configurator/Configurator.Net/PresentationModels/VmBase.cs index af8af989df..763639e790 100644 --- a/Configurator/Configurator.Net/PresentationModels/VmBase.cs +++ b/Configurator/Configurator.Net/PresentationModels/VmBase.cs @@ -20,7 +20,7 @@ namespace ArducopterConfigurator /// instead of having specific value assignment logic in every class to pick /// apart the update and populate properties, this guy will Set the properties /// in the correct order. All the interested class needs to provide is the - /// list of property names in the same order as the update from the APM + /// list of property names in the same order as the update from the APMwl /// public static class PropertyHelper { diff --git a/Configurator/Configurator.Net/Views/CalibrationView.Designer.cs b/Configurator/Configurator.Net/Views/CalibrationView.Designer.cs deleted file mode 100644 index cbba61eabd..0000000000 --- a/Configurator/Configurator.Net/Views/CalibrationView.Designer.cs +++ /dev/null @@ -1,251 +0,0 @@ -namespace ArducopterConfigurator.Views -{ - partial class CalibrationView - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.label3 = new System.Windows.Forms.Label(); - this.textBox3 = new System.Windows.Forms.TextBox(); - this.calibrationOffsetsDataVmBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.label2 = new System.Windows.Forms.Label(); - this.textBox2 = new System.Windows.Forms.TextBox(); - this.label1 = new System.Windows.Forms.Label(); - this.textBox1 = new System.Windows.Forms.TextBox(); - this.label4 = new System.Windows.Forms.Label(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.textBox4 = new System.Windows.Forms.TextBox(); - this.label5 = new System.Windows.Forms.Label(); - this.textBox5 = new System.Windows.Forms.TextBox(); - this.label6 = new System.Windows.Forms.Label(); - this.textBox6 = new System.Windows.Forms.TextBox(); - this.button2 = new System.Windows.Forms.Button(); - this.button1 = new System.Windows.Forms.Button(); - this.groupBox1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.calibrationOffsetsDataVmBindingSource)).BeginInit(); - this.groupBox2.SuspendLayout(); - this.SuspendLayout(); - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.label3); - this.groupBox1.Controls.Add(this.textBox3); - this.groupBox1.Controls.Add(this.label2); - this.groupBox1.Controls.Add(this.textBox2); - this.groupBox1.Controls.Add(this.label1); - this.groupBox1.Controls.Add(this.textBox1); - this.groupBox1.Location = new System.Drawing.Point(3, 3); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(141, 107); - this.groupBox1.TabIndex = 0; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "Gyro Offset"; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(6, 84); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(28, 13); - this.label3.TabIndex = 5; - this.label3.Text = "Yaw"; - // - // textBox3 - // - this.textBox3.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.calibrationOffsetsDataVmBindingSource, "GyroYawOffset", true)); - this.textBox3.Location = new System.Drawing.Point(59, 77); - this.textBox3.Name = "textBox3"; - this.textBox3.Size = new System.Drawing.Size(71, 20); - this.textBox3.TabIndex = 4; - // - // calibrationOffsetsDataVmBindingSource - // - this.calibrationOffsetsDataVmBindingSource.DataSource = typeof(ArducopterConfigurator.PresentationModels.CalibrationOffsetsDataVm); - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(6, 58); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(31, 13); - this.label2.TabIndex = 3; - this.label2.Text = "Pitch"; - // - // textBox2 - // - this.textBox2.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.calibrationOffsetsDataVmBindingSource, "GyroPitchOffset", true)); - this.textBox2.Location = new System.Drawing.Point(59, 51); - this.textBox2.Name = "textBox2"; - this.textBox2.Size = new System.Drawing.Size(71, 20); - this.textBox2.TabIndex = 2; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(6, 32); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(25, 13); - this.label1.TabIndex = 1; - this.label1.Text = "Roll"; - // - // textBox1 - // - this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.calibrationOffsetsDataVmBindingSource, "GyroRollOffset", true)); - this.textBox1.Location = new System.Drawing.Point(59, 25); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(71, 20); - this.textBox1.TabIndex = 0; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(6, 84); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(14, 13); - this.label4.TabIndex = 5; - this.label4.Text = "Z"; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.label4); - this.groupBox2.Controls.Add(this.textBox4); - this.groupBox2.Controls.Add(this.label5); - this.groupBox2.Controls.Add(this.textBox5); - this.groupBox2.Controls.Add(this.label6); - this.groupBox2.Controls.Add(this.textBox6); - this.groupBox2.Location = new System.Drawing.Point(150, 3); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(141, 107); - this.groupBox2.TabIndex = 6; - this.groupBox2.TabStop = false; - this.groupBox2.Text = "Accel Offset"; - // - // textBox4 - // - this.textBox4.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.calibrationOffsetsDataVmBindingSource, "AccelZOffset", true)); - this.textBox4.Location = new System.Drawing.Point(59, 77); - this.textBox4.Name = "textBox4"; - this.textBox4.Size = new System.Drawing.Size(71, 20); - this.textBox4.TabIndex = 4; - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(6, 58); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(31, 13); - this.label5.TabIndex = 3; - this.label5.Text = "Pitch"; - // - // textBox5 - // - this.textBox5.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.calibrationOffsetsDataVmBindingSource, "AccelPitchOffset", true)); - this.textBox5.Location = new System.Drawing.Point(59, 51); - this.textBox5.Name = "textBox5"; - this.textBox5.Size = new System.Drawing.Size(71, 20); - this.textBox5.TabIndex = 2; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(6, 32); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(25, 13); - this.label6.TabIndex = 1; - this.label6.Text = "Roll"; - // - // textBox6 - // - this.textBox6.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.calibrationOffsetsDataVmBindingSource, "AccelRollOffset", true)); - this.textBox6.Location = new System.Drawing.Point(59, 25); - this.textBox6.Name = "textBox6"; - this.textBox6.Size = new System.Drawing.Size(71, 20); - this.textBox6.TabIndex = 0; - // - // button2 - // - this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.button2.DataBindings.Add(new System.Windows.Forms.Binding("Tag", this.calibrationOffsetsDataVmBindingSource, "RefreshCommand", true)); - this.button2.Location = new System.Drawing.Point(143, 117); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(74, 23); - this.button2.TabIndex = 14; - this.button2.Text = "Refresh"; - this.button2.UseVisualStyleBackColor = true; - // - // button1 - // - this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.button1.DataBindings.Add(new System.Windows.Forms.Binding("Tag", this.calibrationOffsetsDataVmBindingSource, "UpdateCommand", true)); - this.button1.Location = new System.Drawing.Point(223, 117); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(74, 23); - this.button1.TabIndex = 13; - this.button1.Text = "Update"; - this.button1.UseVisualStyleBackColor = true; - // - // CalibrationView - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.button2); - this.Controls.Add(this.button1); - this.Controls.Add(this.groupBox2); - this.Controls.Add(this.groupBox1); - this.Name = "CalibrationView"; - this.Size = new System.Drawing.Size(300, 143); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.calibrationOffsetsDataVmBindingSource)).EndInit(); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.TextBox textBox3; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.TextBox textBox2; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.TextBox textBox1; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.GroupBox groupBox2; - private System.Windows.Forms.TextBox textBox4; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.TextBox textBox5; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.TextBox textBox6; - private System.Windows.Forms.BindingSource calibrationOffsetsDataVmBindingSource; - private System.Windows.Forms.Button button2; - private System.Windows.Forms.Button button1; - } -} diff --git a/Configurator/Configurator.Net/Views/CalibrationView.cs b/Configurator/Configurator.Net/Views/CalibrationView.cs deleted file mode 100644 index ef0fe79323..0000000000 --- a/Configurator/Configurator.Net/Views/CalibrationView.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; -using ArducopterConfigurator.PresentationModels; - -namespace ArducopterConfigurator.Views -{ - public partial class CalibrationView : CalibrationViewDesignable - { - public CalibrationView() - { - InitializeComponent(); - BindButtons(); - } - - public override void SetDataContext(CalibrationOffsetsDataVm vm) - { - calibrationOffsetsDataVmBindingSource.DataSource = vm; - - - if (Program.IsMonoRuntime) - vm.PropertyChanged += ((sender, e) => calibrationOffsetsDataVmBindingSource.ResetBindings(false)); - } - } - - // Required for VS2008 designer. No functional value - public class CalibrationViewDesignable : ViewCommon { } -} diff --git a/Configurator/Configurator.Net/Views/CalibrationView.resx b/Configurator/Configurator.Net/Views/CalibrationView.resx deleted file mode 100644 index 29d67c743d..0000000000 --- a/Configurator/Configurator.Net/Views/CalibrationView.resx +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - \ No newline at end of file diff --git a/Configurator/Configurator.Net/Views/FlightDataView.Designer.cs b/Configurator/Configurator.Net/Views/FlightDataView.Designer.cs index a3f55fd303..cb6b388cd8 100644 --- a/Configurator/Configurator.Net/Views/FlightDataView.Designer.cs +++ b/Configurator/Configurator.Net/Views/FlightDataView.Designer.cs @@ -29,6 +29,7 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FlightDataView)); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); @@ -60,6 +61,15 @@ this.linearIndicatorControl6 = new ArducopterConfigurator.Views.controls.LinearIndicatorControl(); this.linearIndicatorControl7 = new ArducopterConfigurator.Views.controls.LinearIndicatorControl(); this.linearIndicatorControl8 = new ArducopterConfigurator.Views.controls.LinearIndicatorControl(); + this.textBox11 = new System.Windows.Forms.TextBox(); + this.textBox12 = new System.Windows.Forms.TextBox(); + this.textBox13 = new System.Windows.Forms.TextBox(); + this.button2 = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.label11 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.FlightDataVmBindingSource)).BeginInit(); this.SuspendLayout(); // @@ -75,7 +85,7 @@ // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(68, 138); + this.label2.Location = new System.Drawing.Point(53, 138); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(31, 13); this.label2.TabIndex = 3; @@ -84,7 +94,7 @@ // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(124, 138); + this.label3.Location = new System.Drawing.Point(100, 138); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(30, 13); this.label3.TabIndex = 5; @@ -93,7 +103,7 @@ // label4 // this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(176, 138); + this.label4.Location = new System.Drawing.Point(146, 138); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(32, 13); this.label4.TabIndex = 7; @@ -102,10 +112,10 @@ // textBox1 // this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.FlightDataVmBindingSource, "MotorLeft", true)); - this.textBox1.Location = new System.Drawing.Point(2, 247); + this.textBox1.Location = new System.Drawing.Point(11, 247); this.textBox1.Name = "textBox1"; this.textBox1.ReadOnly = true; - this.textBox1.Size = new System.Drawing.Size(47, 20); + this.textBox1.Size = new System.Drawing.Size(35, 20); this.textBox1.TabIndex = 8; // // FlightDataVmBindingSource @@ -127,7 +137,7 @@ this.textBox2.Location = new System.Drawing.Point(124, 28); this.textBox2.Name = "textBox2"; this.textBox2.ReadOnly = true; - this.textBox2.Size = new System.Drawing.Size(47, 20); + this.textBox2.Size = new System.Drawing.Size(35, 20); this.textBox2.TabIndex = 12; // // textBox3 @@ -136,7 +146,7 @@ this.textBox3.Location = new System.Drawing.Point(124, 78); this.textBox3.Name = "textBox3"; this.textBox3.ReadOnly = true; - this.textBox3.Size = new System.Drawing.Size(47, 20); + this.textBox3.Size = new System.Drawing.Size(35, 20); this.textBox3.TabIndex = 13; // // label6 @@ -154,7 +164,7 @@ this.textBox4.Location = new System.Drawing.Point(187, 109); this.textBox4.Name = "textBox4"; this.textBox4.ReadOnly = true; - this.textBox4.Size = new System.Drawing.Size(47, 20); + this.textBox4.Size = new System.Drawing.Size(35, 20); this.textBox4.TabIndex = 17; // // label7 @@ -181,7 +191,7 @@ this.textBox5.Location = new System.Drawing.Point(247, 109); this.textBox5.Name = "textBox5"; this.textBox5.ReadOnly = true; - this.textBox5.Size = new System.Drawing.Size(47, 20); + this.textBox5.Size = new System.Drawing.Size(35, 20); this.textBox5.TabIndex = 20; // // label9 @@ -199,7 +209,7 @@ this.textBox6.Location = new System.Drawing.Point(340, 157); this.textBox6.Name = "textBox6"; this.textBox6.ReadOnly = true; - this.textBox6.Size = new System.Drawing.Size(47, 20); + this.textBox6.Size = new System.Drawing.Size(35, 20); this.textBox6.TabIndex = 26; // // label10 @@ -217,7 +227,7 @@ this.textBox7.Location = new System.Drawing.Point(343, 109); this.textBox7.Name = "textBox7"; this.textBox7.ReadOnly = true; - this.textBox7.Size = new System.Drawing.Size(47, 20); + this.textBox7.Size = new System.Drawing.Size(35, 20); this.textBox7.TabIndex = 23; // // textBox8 @@ -226,25 +236,25 @@ this.textBox8.Location = new System.Drawing.Point(55, 247); this.textBox8.Name = "textBox8"; this.textBox8.ReadOnly = true; - this.textBox8.Size = new System.Drawing.Size(47, 20); + this.textBox8.Size = new System.Drawing.Size(35, 20); this.textBox8.TabIndex = 29; // // textBox9 // this.textBox9.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.FlightDataVmBindingSource, "MotorRear", true)); - this.textBox9.Location = new System.Drawing.Point(108, 247); + this.textBox9.Location = new System.Drawing.Point(99, 247); this.textBox9.Name = "textBox9"; this.textBox9.ReadOnly = true; - this.textBox9.Size = new System.Drawing.Size(47, 20); + this.textBox9.Size = new System.Drawing.Size(35, 20); this.textBox9.TabIndex = 30; // // textBox10 // this.textBox10.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.FlightDataVmBindingSource, "MotorRight", true)); - this.textBox10.Location = new System.Drawing.Point(161, 247); + this.textBox10.Location = new System.Drawing.Point(143, 247); this.textBox10.Name = "textBox10"; this.textBox10.ReadOnly = true; - this.textBox10.Size = new System.Drawing.Size(47, 20); + this.textBox10.Size = new System.Drawing.Size(35, 20); this.textBox10.TabIndex = 31; // // indicatorRollGyro @@ -323,7 +333,7 @@ this.linearIndicatorControl2.BarLight = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(144)))), ((int)(((byte)(252))))); this.linearIndicatorControl2.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.FlightDataVmBindingSource, "AccelPitch", true)); this.linearIndicatorControl2.IsVertical = true; - this.linearIndicatorControl2.Location = new System.Drawing.Point(264, 21); + this.linearIndicatorControl2.Location = new System.Drawing.Point(259, 21); this.linearIndicatorControl2.Max = 500; this.linearIndicatorControl2.MaxWaterMark = 0; this.linearIndicatorControl2.Min = -500; @@ -367,7 +377,7 @@ this.linearIndicatorControl4.BarLight = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(144)))), ((int)(((byte)(252))))); this.linearIndicatorControl4.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.FlightDataVmBindingSource, "MotorFront", true)); this.linearIndicatorControl4.IsVertical = true; - this.linearIndicatorControl4.Location = new System.Drawing.Point(71, 157); + this.linearIndicatorControl4.Location = new System.Drawing.Point(60, 157); this.linearIndicatorControl4.Max = 2000; this.linearIndicatorControl4.MaxWaterMark = 0; this.linearIndicatorControl4.Min = 1000; @@ -389,7 +399,7 @@ this.linearIndicatorControl5.BarLight = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(144)))), ((int)(((byte)(252))))); this.linearIndicatorControl5.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.FlightDataVmBindingSource, "MotorRear", true)); this.linearIndicatorControl5.IsVertical = true; - this.linearIndicatorControl5.Location = new System.Drawing.Point(124, 157); + this.linearIndicatorControl5.Location = new System.Drawing.Point(105, 157); this.linearIndicatorControl5.Max = 2000; this.linearIndicatorControl5.MaxWaterMark = 0; this.linearIndicatorControl5.Min = 1000; @@ -411,7 +421,7 @@ this.linearIndicatorControl6.BarLight = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(144)))), ((int)(((byte)(252))))); this.linearIndicatorControl6.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.FlightDataVmBindingSource, "MotorRear", true)); this.linearIndicatorControl6.IsVertical = true; - this.linearIndicatorControl6.Location = new System.Drawing.Point(179, 157); + this.linearIndicatorControl6.Location = new System.Drawing.Point(150, 157); this.linearIndicatorControl6.Max = 2000; this.linearIndicatorControl6.MaxWaterMark = 0; this.linearIndicatorControl6.Min = 1000; @@ -455,7 +465,7 @@ this.linearIndicatorControl8.BarLight = System.Drawing.Color.FromArgb(((int)(((byte)(102)))), ((int)(((byte)(144)))), ((int)(((byte)(252))))); this.linearIndicatorControl8.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.FlightDataVmBindingSource, "AccelZ", true)); this.linearIndicatorControl8.IsVertical = true; - this.linearIndicatorControl8.Location = new System.Drawing.Point(353, 21); + this.linearIndicatorControl8.Location = new System.Drawing.Point(347, 21); this.linearIndicatorControl8.Max = 500; this.linearIndicatorControl8.MaxWaterMark = 0; this.linearIndicatorControl8.Min = -500; @@ -467,10 +477,112 @@ this.linearIndicatorControl8.Value = 100; this.linearIndicatorControl8.WatermarkLineColor = System.Drawing.Color.DarkGray; // + // textBox11 + // + this.textBox11.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox11.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.FlightDataVmBindingSource, "AccelRollOffset", true)); + this.textBox11.Enabled = false; + this.textBox11.Location = new System.Drawing.Point(47, 98); + this.textBox11.Name = "textBox11"; + this.textBox11.ReadOnly = true; + this.textBox11.Size = new System.Drawing.Size(35, 13); + this.textBox11.TabIndex = 42; + this.textBox11.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // textBox12 + // + this.textBox12.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox12.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.FlightDataVmBindingSource, "AccelZOffset", true)); + this.textBox12.Enabled = false; + this.textBox12.Location = new System.Drawing.Point(313, 46); + this.textBox12.Name = "textBox12"; + this.textBox12.ReadOnly = true; + this.textBox12.Size = new System.Drawing.Size(34, 13); + this.textBox12.TabIndex = 43; + this.textBox12.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // textBox13 + // + this.textBox13.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox13.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.FlightDataVmBindingSource, "AccelPitchOffset", true)); + this.textBox13.Enabled = false; + this.textBox13.Location = new System.Drawing.Point(225, 46); + this.textBox13.Name = "textBox13"; + this.textBox13.ReadOnly = true; + this.textBox13.Size = new System.Drawing.Size(34, 13); + this.textBox13.TabIndex = 44; + this.textBox13.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // button2 + // + this.button2.DataBindings.Add(new System.Windows.Forms.Binding("Tag", this.FlightDataVmBindingSource, "RefreshCalibrationOffsetsCommand", true)); + this.button2.Image = ((System.Drawing.Image)(resources.GetObject("button2.Image"))); + this.button2.Location = new System.Drawing.Point(225, 241); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(26, 26); + this.button2.TabIndex = 46; + this.button2.UseVisualStyleBackColor = true; + // + // button1 + // + this.button1.DataBindings.Add(new System.Windows.Forms.Binding("Tag", this.FlightDataVmBindingSource, "UpdateCalibrationOffsetsCommand", true)); + this.button1.Image = ((System.Drawing.Image)(resources.GetObject("button1.Image"))); + this.button1.Location = new System.Drawing.Point(225, 212); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(26, 26); + this.button1.TabIndex = 45; + this.button1.UseVisualStyleBackColor = true; + // + // button3 + // + this.button3.DataBindings.Add(new System.Windows.Forms.Binding("Tag", this.FlightDataVmBindingSource, "CalculateCalibrationOffsetsCommand", true)); + this.button3.Image = ((System.Drawing.Image)(resources.GetObject("button3.Image"))); + this.button3.Location = new System.Drawing.Point(225, 183); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(26, 26); + this.button3.TabIndex = 47; + this.button3.UseVisualStyleBackColor = true; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(257, 190); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(48, 13); + this.label11.TabIndex = 48; + this.label11.Text = "Calibrate"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(257, 219); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(84, 13); + this.label12.TabIndex = 49; + this.label12.Text = "Save Calibration"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(257, 250); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(96, 13); + this.label13.TabIndex = 50; + this.label13.Text = "Refresh Calibration"; + // // FlightDataView // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.label13); + this.Controls.Add(this.label12); + this.Controls.Add(this.label11); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.textBox13); + this.Controls.Add(this.textBox12); + this.Controls.Add(this.textBox11); this.Controls.Add(this.linearIndicatorControl8); this.Controls.Add(this.linearIndicatorControl7); this.Controls.Add(this.linearIndicatorControl6); @@ -546,5 +658,14 @@ private ArducopterConfigurator.Views.controls.LinearIndicatorControl linearIndicatorControl6; private ArducopterConfigurator.Views.controls.LinearIndicatorControl linearIndicatorControl7; private ArducopterConfigurator.Views.controls.LinearIndicatorControl linearIndicatorControl8; + private System.Windows.Forms.TextBox textBox11; + private System.Windows.Forms.TextBox textBox12; + private System.Windows.Forms.TextBox textBox13; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label13; } } diff --git a/Configurator/Configurator.Net/Views/FlightDataView.cs b/Configurator/Configurator.Net/Views/FlightDataView.cs index 9b802b75ad..fba8d50a87 100644 --- a/Configurator/Configurator.Net/Views/FlightDataView.cs +++ b/Configurator/Configurator.Net/Views/FlightDataView.cs @@ -15,6 +15,7 @@ namespace ArducopterConfigurator.views public FlightDataView() { InitializeComponent(); + BindButtons(); } public override void SetDataContext(SensorsVm vm) @@ -24,6 +25,7 @@ namespace ArducopterConfigurator.views if (Program.IsMonoRuntime) vm.PropertyChanged += ((sender, e) => FlightDataVmBindingSource.ResetBindings(false)); } + } // Required for VS2008 designer. No functional value public class FlightDataViewDesignable : ViewCommon { } diff --git a/Configurator/Configurator.Net/Views/FlightDataView.resx b/Configurator/Configurator.Net/Views/FlightDataView.resx index 451adcab1f..538672bb6c 100644 --- a/Configurator/Configurator.Net/Views/FlightDataView.resx +++ b/Configurator/Configurator.Net/Views/FlightDataView.resx @@ -120,4 +120,96 @@ 20, 28 + + + + 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 + c7uNnGi8xn9S4RHZGLiTUQAAAABJRU5ErkJggg== + + + + + R0lGODlhFgAVAIMAADJ/x+/3/5rA40qOzrPP6v///1mX0sHY7lGT0PT4/LfS68bb70qUzgAAAAAAAAAA + ACH/C05FVFNDQVBFMi4wAwEBAAAh+QQABwD/ACwAAAAAFgAVAAAIdAALCBxIsACAgggTDjyosOFChxAZ + QlQocSLCihYLJBCAAAACAQkyJjBg4ACABQgMhJwowIDAgyMFWBxw4KVABQguAtjJs6fPnwlp2iyA02LL + kDAHyJw4EoECAARSrmTK0SPIjAQxYjW4taBWrF8zhrU4tkBAADs= + + \ No newline at end of file diff --git a/Configurator/Configurator.Net/Views/mainForm.cs b/Configurator/Configurator.Net/Views/mainForm.cs index f41051dc99..8dd2dbdb65 100644 --- a/Configurator/Configurator.Net/Views/mainForm.cs +++ b/Configurator/Configurator.Net/Views/mainForm.cs @@ -24,7 +24,6 @@ namespace ArducopterConfigurator { {typeof (SensorsVm), typeof (FlightDataView)}, {typeof (TransmitterChannelsVm), typeof (TransmitterChannelsView)}, - {typeof (CalibrationOffsetsDataVm), typeof (CalibrationView)}, {typeof (MotorCommandsVm), typeof (MotorCommandsView)}, {typeof (AcroModeConfigVm), typeof (AcroConfigView)}, {typeof (StableModeConfigVm), typeof (StableConfigView)},