[chronojump] Ensure mode inertial gets default encoderConfiguration that works



commit aacd2f53a7b3be9f4f72aca29c50a5d44bbeef0c
Author: Xavier de Blas <xaviblas gmail com>
Date:   Fri May 27 16:23:03 2016 +0200

    Ensure mode inertial gets default encoderConfiguration that works

 src/encoder.cs                  |    8 ++++++++
 src/gui/chronojump.cs           |    3 ++-
 src/gui/encoder.cs              |   20 ++++++++++----------
 src/gui/encoderConfiguration.cs |    4 +++-
 4 files changed, 23 insertions(+), 12 deletions(-)
---
diff --git a/src/encoder.cs b/src/encoder.cs
index b189797..5bd4cd8 100644
--- a/src/encoder.cs
+++ b/src/encoder.cs
@@ -1393,6 +1393,14 @@ public class EncoderConfiguration {
                }
        }
 
+       public void SetInertialDefaultOptions() {
+               //after creating Constants.EncoderConfigurationNames.ROTARYAXISINERTIAL
+               inertiaMachine = 900;
+               d = 5;
+               list_d = new List<double>(); 
+               list_d.Add(d);
+       }
+
        public void ReadParamsFromSQL (string [] strFull) 
        {
                //adds other params
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 76ef723..5ad9ecf 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -3073,6 +3073,7 @@ public partial class ChronoJumpWindow
                                if(! encoderConfigurationCurrent.has_inertia) {
                                        encoderConfigurationCurrent = new EncoderConfiguration(
                                                        
Constants.EncoderConfigurationNames.ROTARYAXISINERTIAL);        
+                                       encoderConfigurationCurrent.SetInertialDefaultOptions();
                                        changed = true;
                                }
                                
@@ -3082,8 +3083,8 @@ public partial class ChronoJumpWindow
                                radiobutton_encoder_analyze_1RM.Visible = false;
                                radiobutton_encoder_analyze_neuromuscular_profile.Visible = false;
                        }
+                       encoderGuiChangesAfterEncoderConfigurationWin(true);
                        if(changed) {
-                               label_encoder_selected.Text = encoderConfigurationCurrent.code;
                                prepareAnalyzeRepetitions ();
                        }
                } else {        //m == menuitem_modes.OTHER (contacts / other)
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 3a40470..365298c 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -438,7 +438,8 @@ public partial class ChronoJumpWindow
                        new EventHandler(on_button_encoder_cancel_clicked);
        }
 
-       void on_encoder_configuration_win_accepted (object o, EventArgs args) {
+       void on_encoder_configuration_win_accepted (object o, EventArgs args) 
+       {
                encoder_configuration_win.Button_accept.Clicked -= new 
EventHandler(on_encoder_configuration_win_accepted);
                
                EncoderConfiguration eConfNew = encoder_configuration_win.GetAcceptedValues();
@@ -446,28 +447,27 @@ public partial class ChronoJumpWindow
                        return;
                        
                bool combo_encoder_anchorage_should_update = (encoderConfigurationCurrent.list_d != 
eConfNew.list_d);
-
-
+               
                encoderConfigurationCurrent = eConfNew;
                LogB.Information("EncoderConfigurationCurrent = " + 
encoderConfigurationCurrent.ToStringOutput(EncoderConfiguration.Outputs.SQL));
-               
-
+       
+               encoderGuiChangesAfterEncoderConfigurationWin(combo_encoder_anchorage_should_update);
+       }
+       void encoderGuiChangesAfterEncoderConfigurationWin(bool combo_encoder_anchorage_should_update) 
+       {
                if(encoderConfigurationCurrent.has_inertia) {
-                       notebook_encoder_capture_extra_mass.CurrentPage = 1;
-
                        if(combo_encoder_anchorage_should_update) {
                                UtilGtk.ComboUpdate(combo_encoder_anchorage, 
encoderConfigurationCurrent.list_d);
                                combo_encoder_anchorage.Active = 0;
                        }
-                       
+
                        encoderConfigurationCurrent.extraWeightN = (int) spin_encoder_im_weights_n.Value; 
                        encoderConfigurationCurrent.inertiaTotal = 
UtilEncoder.CalculeInertiaTotal(encoderConfigurationCurrent);
                        label_encoder_im_total.Text = encoderConfigurationCurrent.inertiaTotal.ToString();
 
                        //if inertial, select ecc-con
                        combo_encoder_eccon.Active = 1;
-               } else
-                       notebook_encoder_capture_extra_mass.CurrentPage = 0;
+               }
 
                label_encoder_selected.Text = encoderConfigurationCurrent.code;
 
diff --git a/src/gui/encoderConfiguration.cs b/src/gui/encoderConfiguration.cs
index 7d421eb..65578c6 100644
--- a/src/gui/encoderConfiguration.cs
+++ b/src/gui/encoderConfiguration.cs
@@ -148,8 +148,10 @@ public class EncoderConfigurationWindow
                        definedInConfig = false;
                        if(gravitatory)
                                ec = new EncoderConfiguration(); //LINEAR, not inertial
-                       else
+                       else {
                                ec = new 
EncoderConfiguration(Constants.EncoderConfigurationNames.ROTARYAXISINERTIAL);
+                               ec.SetInertialDefaultOptions();
+                       }
                }
 
                if (EncoderConfigurationWindowBox == null) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]