[chronojump] Encoder calcs done with gearedDown and angles



commit 8f1c32cc174ff92f2a46ac05e43d510f827c7ee3
Author: Xavier de Blas <xaviblas gmail com>
Date:   Mon Feb 24 20:03:47 2014 +0100

    Encoder calcs done with gearedDown and angles

 diagrams/classes/encoder_classes.dia               |  Bin 0 -> 2059 bytes
 encoder/graph.R                                    |   66 +-
 glade/chronojump.glade                             | 4068 ++++++++++----------
 ...der-linear-inclined-plane-weight-diff-angle.png |  Bin 0 -> 20257 bytes
 images/svg/encoder-mode-icons.svg                  |  673 +++-
 src/Makefile.am                                    |    1 +
 src/constants.cs                                   |    4 +-
 src/encoder.cs                                     |  101 +-
 src/gui/encoder.cs                                 |   59 +-
 src/gui/encoderConfiguration.cs                    |   22 +-
 src/sqlite/encoder.cs                              |   49 +-
 src/sqlite/main.cs                                 |   35 +-
 src/utilEncoder.cs                                 |   41 +-
 13 files changed, 2828 insertions(+), 2291 deletions(-)
---
diff --git a/diagrams/classes/encoder_classes.dia b/diagrams/classes/encoder_classes.dia
new file mode 100644
index 0000000..a66aaa4
Binary files /dev/null and b/diagrams/classes/encoder_classes.dia differ
diff --git a/encoder/graph.R b/encoder/graph.R
index 9f19842..ababc06 100644
--- a/encoder/graph.R
+++ b/encoder/graph.R
@@ -82,7 +82,7 @@ cols=c(colSpeed,colForce,colPower); lty=rep(1,3)
 #way A. passing options to a file
 getOptionsFromFile <- function(optionsFile) {
        optionsCon <- file(optionsFile, 'r')
-       options=readLines(optionsCon,n=23)
+       options=readLines(optionsCon,n=27)
        close(optionsCon)
        return (options)
 }
@@ -103,7 +103,7 @@ print(options)
 
 OutputData2 = options[4] #currently used to display processing feedback
 SpecialData = options[5]
-OperatingSystem=options[23]
+OperatingSystem=options[27]
 EncoderConfiguration = ""
 
 write("(1/5) Starting R", OutputData2)
@@ -621,8 +621,7 @@ print("WARNING ECS\n\n\n\n\n")
                }
        }
 
-       #TODO: pass demult and angle
-       mass = getMassByEncoderConfiguration(massBody, massExtra, exercisePercentBodyWeight, 1, 90)
+       mass = getMassByEncoderConfiguration(massBody, massExtra, exercisePercentBodyWeight, gearedDown, 
anglePush, angleWeight)
        print(c("MASS: ", mass, massBody, massExtra, exercisePercentBodyWeight))
 
 #      force <- mass*accel$y
@@ -999,8 +998,7 @@ paint <- function(displacement, eccon, xmin, xmax, yrange, knRanges, superpose,
                #mtext(text=paste("max accel:",round(max(accel$y),3)),side=3,at=which(accel$y == 
max(accel$y)),cex=.8,col=cols[1],line=2)
        }
 
-       #TODO: pass demult and angle
-       mass = getMassByEncoderConfiguration(massBody, massExtra, exercisePercentBodyWeight, 1, 90)
+       mass = getMassByEncoderConfiguration(massBody, massExtra, exercisePercentBodyWeight, gearedDown, 
anglePush, angleWeight)
 
 #print(c(knRanges$accely, max(accel$y), min(accel$y)))
 #      force <- mass*accel$y
@@ -1692,7 +1690,7 @@ getDisplacement <- function(data, diameter, diameterExt) {
        if(EncoderConfiguration == "LINEARINVERTED") {
                data = -data
        } else if(EncoderConfiguration == "WEIGHTEDMOVPULLEYONLINEARENCODER") {
-               #default is: demultiplication = 2. Future maybe this will be a parameter
+               #default is: gearedDowniplication = 2. Future maybe this will be a parameter
                data = data *2
        } else if(EncoderConfiguration == "ROTARYFRICTIONAXIS") {
                data = data * diameter / diameterExt
@@ -1715,12 +1713,12 @@ getAcceleration <- function(speed) {
        return (predict( speed, deriv=1 ))
 }
 
-#demult is positive, normally 2
-getMass <- function(mass, demult, angle) {
+#gearedDown is positive, normally 2
+getMass <- function(mass, gearedDown, angle) {
        if(mass == 0)
                return (0)
 
-       return ( ( mass / demult ) * sin( angle * pi / 180 ) )
+       return ( ( mass / gearedDown ) * sin( angle * pi / 180 ) )
 }
 
 getMassBodyByExercise <- function(mass.body, exercisePercentBodyWeight) {
@@ -1730,7 +1728,7 @@ getMassBodyByExercise <- function(mass.body, exercisePercentBodyWeight) {
        return (mass.body * exercisePercentBodyWeight / 100.0)
 }
 
-getMassByEncoderConfiguration <- function(mass.body, mass.extra, exercisePercentBodyWeight, demult, angle)
+getMassByEncoderConfiguration <- function(mass.body, mass.extra, exercisePercentBodyWeight, gearedDown, 
anglePush, angleWeight)
 {
        mass.body = getMassBodyByExercise(mass.body,exercisePercentBodyWeight)
 
@@ -1742,13 +1740,13 @@ getMassByEncoderConfiguration <- function(mass.body, mass.extra, exercisePercent
           EncoderConfiguration == "WEIGHTEDMOVPULLEYROTARYFRICTION" ||
           EncoderConfiguration == "WEIGHTEDMOVPULLEYROTARYAXIS" ) 
        {
-               #angle will be 90 degrees. We assume this.
-               #Maybe in the future, person or person and extra weight, 
-               #can be with different angle
-               mass.extra = getMass(mass.extra, demult, angle)
+               mass.extra = getMass(mass.extra, gearedDown, anglePush)
        } else if(EncoderConfiguration == "LINEARONPLANE") {
-               mass.body = getMass(mass.body, demult, angle)
-               mass.extra = getMass(mass.extra, demult, angle)
+               mass.body = getMass(mass.body, gearedDown, anglePush)
+               mass.extra = getMass(mass.extra, gearedDown, anglePush)
+       } else if(EncoderConfiguration == "LINEARONPLANEWEIGHTDIFFANGLE") {
+               mass.body = getMass(mass.body, gearedDown, anglePush)
+               mass.extra = getMass(mass.extra, gearedDown, angleWeight)
        }
                
        mass = mass.body + mass.extra
@@ -1756,9 +1754,9 @@ getMassByEncoderConfiguration <- function(mass.body, mass.extra, exercisePercent
 }
 
 #mass extra can be connected to body or connected to a pulley depending on EncoderConfiguration
-getDynamics <- function(speed, accel, mass.body, mass.extra, exercisePercentBodyWeight, demult, angle) 
+getDynamics <- function(speed, accel, mass.body, mass.extra, exercisePercentBodyWeight, gearedDown, 
anglePush, angleWeight) 
 {
-       mass = getMassByEncoderConfiguration (mass.body, mass.extra, exercisePercentBodyWeight, demult, angle)
+       mass = getMassByEncoderConfiguration (mass.body, mass.extra, exercisePercentBodyWeight, gearedDown, 
anglePush, angleWeight)
 
        force <- mass*(accel+g) #g:9.81 (used when movement is against gravity)
 
@@ -1859,9 +1857,6 @@ doProcess <- function(options) {
        SpecialData=options[5] #currently used to write 1RM. variable;result (eg. "1RM;82.78")
        MinHeight=as.numeric(options[6])*10 #from cm to mm
        ExercisePercentBodyWeight=as.numeric(options[7])        #was isJump=as.logical(options[6])
-       #Mass=as.numeric(options[8])    #TODO: This is displaced mass (can include body weight). Separate 
this in two different values. This affects:
-       #WEIGHTEDMOVPULLEYLINEARONPERSON1, WEIGHTEDMOVPULLEYLINEARONPERSON1INV,
-       #WEIGHTEDMOVPULLEYLINEARONPERSON2, WEIGHTEDMOVPULLEYLINEARONPERSON2INV,
        MassBody=as.numeric(options[8]) 
        MassExtra=as.numeric(options[9])        
 
@@ -1884,18 +1879,21 @@ doProcess <- function(options) {
        
        AnalysisOptions=options[13]     
 
-       EncoderConfiguration=           options[14]     
-       inertiaMomentum=        as.numeric(options[15])/10000   #comes in Kg*cm^2 eg: 100; convert it to 
Kg*m^2 eg: 0.010
-       diameter=               as.numeric(options[16]) #in meters, eg: 0.0175
-       diameterExt = 1 #TODO: pass this param
-       
-       SmoothingOneC=options[17]
-       Jump=options[18]
-       Width=as.numeric(options[19])
-       Height=as.numeric(options[20])
-       DecimalSeparator=options[21]
-       Title=options[22]
-       OperatingSystem=options[23]     #if this changes, change it also at start of this R file
+       EncoderConfiguration=   options[14]     #just the name of the EncoderConfiguration      
+       diameter=       as.numeric(options[15]) #in meters, eg: 0.0175
+       diameterExt=    as.numeric(options[16]) #in meters, eg: 0.0175
+       anglePush =     options[17]
+       angleWeight =   options[18]
+       inertiaMomentum=as.numeric(options[19])/10000   #comes in Kg*cm^2 eg: 100; convert it to Kg*m^2 eg: 
0.010
+       gearedDown =    options[20]
+
+       SmoothingOneC=options[21]
+       Jump=options[22]
+       Width=as.numeric(options[23])
+       Height=as.numeric(options[24])
+       DecimalSeparator=options[25]
+       Title=options[26]
+       OperatingSystem=options[27]     #if this changes, change it also at start of this R file
        #IMPORTANT, if this grows, change the readLines value on getOptionsFromFile
 
        print(File)
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 20a1f6f..fade565 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -6392,6 +6392,12 @@ Second Chronopic to platforms.</property>
                                                         <child>
                                                           <placeholder/>
                                                         </child>
+                                                        <child>
+                                                          <placeholder/>
+                                                        </child>
+                                                        <child>
+                                                          <placeholder/>
+                                                        </child>
                                                       </widget>
                                                       <packing>
                                                         <property name="expand">True</property>
@@ -7027,6 +7033,12 @@ Second Chronopic to platforms.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             </child>
                                                             <child>
@@ -7798,6 +7810,12 @@ Second Chronopic to platforms.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="position">2</property>
@@ -8328,6 +8346,12 @@ Second Chronopic to platforms.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="position">4</property>
@@ -15089,834 +15113,6 @@ Evaluator can use real name or nickname.</property>
       </widget>
     </child>
   </widget>
-  <widget class="GtkWindow" id="chronopic_window">
-    <property name="can_focus">False</property>
-    <property name="border_width">10</property>
-    <property name="title" translatable="yes">Chronopic window</property>
-    <property name="resizable">False</property>
-    <property name="window_position">center-always</property>
-    <signal name="delete_event" handler="on_delete_event" swapped="no"/>
-    <child>
-      <widget class="GtkVBox" id="vbox1">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">12</property>
-        <child>
-          <widget class="GtkAlignment" id="alignment5">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="top_padding">8</property>
-            <property name="left_padding">12</property>
-            <property name="right_padding">12</property>
-            <child>
-              <widget class="GtkFrame" id="frame3">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label_xalign">0</property>
-                <property name="label_yalign">0.69999998807907104</property>
-                <property name="shadow_type">out</property>
-                <child>
-                  <widget class="GtkAlignment" id="alignment7">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="top_padding">8</property>
-                    <property name="bottom_padding">8</property>
-                    <property name="left_padding">12</property>
-                    <property name="right_padding">12</property>
-                    <child>
-                      <widget class="GtkTable" id="table1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="n_columns">2</property>
-                        <property name="column_spacing">2</property>
-                        <property name="row_spacing">2</property>
-                        <child>
-                          <widget class="GtkRadioButton" id="radio_contacts">
-                            <property name="label" translatable="yes">Contacts
-(platform or photocell)</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="active">True</property>
-                            <property name="draw_indicator">True</property>
-                            <signal name="toggled" handler="on_radio_contacts_toggled" swapped="no"/>
-                          </widget>
-                        </child>
-                        <child>
-                          <widget class="GtkRadioButton" id="radio_encoder">
-                            <property name="label" translatable="yes">Encoder</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="draw_indicator">True</property>
-                            <property name="group">radio_contacts</property>
-                            <signal name="toggled" handler="on_radio_encoder_toggled" swapped="no"/>
-                          </widget>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                          </packing>
-                        </child>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="label4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Select your connection</property>
-                    <property name="use_markup">True</property>
-                  </widget>
-                  <packing>
-                    <property name="type">label_item</property>
-                  </packing>
-                </child>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkNotebook" id="notebook_main">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="show_tabs">False</property>
-            <property name="show_border">False</property>
-            <property name="tab_border">4</property>
-            <property name="tab_hborder">8</property>
-            <property name="tab_vborder">0</property>
-            <child>
-              <widget class="GtkAlignment" id="alignment1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="top_padding">12</property>
-                <property name="bottom_padding">12</property>
-                <property name="left_padding">12</property>
-                <property name="right_padding">12</property>
-                <child>
-                  <widget class="GtkVBox" id="vbox8">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="spacing">12</property>
-                    <child>
-                      <widget class="GtkFrame" id="frame1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label_xalign">0</property>
-                        <property name="label_yalign">0.69999998807907104</property>
-                        <property name="shadow_type">out</property>
-                        <child>
-                          <widget class="GtkAlignment" id="alignment2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="top_padding">8</property>
-                            <property name="bottom_padding">8</property>
-                            <property name="left_padding">12</property>
-                            <property name="right_padding">12</property>
-                            <child>
-                              <widget class="GtkTable" id="table2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="n_columns">4</property>
-                                <property name="column_spacing">8</property>
-                                <property name="row_spacing">8</property>
-                                <child>
-                                  <widget class="GtkHBox" id="hbox2">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <child>
-                                      <widget class="GtkComboBox" id="combo_linux1">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="items">/dev/ttyUSB?
-</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkComboBox" id="combo_windows1">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="items">COM?</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="right_attach">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkVBox" id="vbox5">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <child>
-                                      <widget class="GtkImage" id="image_cp1_no">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="stock">gtk-no</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkImage" id="image_cp1_yes">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="stock">gtk-yes</property>
-                                        <property name="icon-size">5</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">3</property>
-                                    <property name="right_attach">4</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkLabel" id="label7">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label">Chronopic 1</property>
-                                  </widget>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="button_connect_cp1">
-                                    <property name="label" translatable="yes">Connect</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <signal name="clicked" handler="on_button_connect_cp_clicked" 
swapped="no"/>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">2</property>
-                                    <property name="right_attach">3</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                            </child>
-                          </widget>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label5">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Main Chronopic&lt;/b&gt; 
(used on all tests)</property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkFrame" id="frame2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label_xalign">0</property>
-                        <property name="label_yalign">0.69999998807907104</property>
-                        <property name="shadow_type">out</property>
-                        <child>
-                          <widget class="GtkAlignment" id="alignment3">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="top_padding">8</property>
-                            <property name="bottom_padding">8</property>
-                            <property name="left_padding">12</property>
-                            <property name="right_padding">12</property>
-                            <child>
-                              <widget class="GtkVBox" id="vbox2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">4</property>
-                                <child>
-                                  <widget class="GtkCheckButton" id="checkbutton_multi_show">
-                                    <property name="label" translatable="yes">Show</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="draw_indicator">True</property>
-                                    <signal name="clicked" handler="on_checkbutton_multi_show_clicked" 
swapped="no"/>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkTable" id="table_multi_chronopic">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="n_rows">3</property>
-                                    <property name="n_columns">4</property>
-                                    <property name="column_spacing">8</property>
-                                    <property name="row_spacing">8</property>
-                                    <child>
-                                      <widget class="GtkHBox" id="hbox3">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkComboBox" id="combo_linux2">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="items">/dev/ttyUSB?
-</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkComboBox" id="combo_windows2">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="items">COM?</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkHBox" id="hbox4">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkComboBox" id="combo_linux3">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="items">/dev/ttyUSB?
-</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkComboBox" id="combo_windows3">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="items">COM?</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                        <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkHBox" id="hbox5">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkComboBox" id="combo_linux4">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="items">/dev/ttyUSB?
-</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkComboBox" id="combo_windows4">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="items">COM?</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="right_attach">2</property>
-                                        <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkVBox" id="vbox3">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkImage" id="image_cp2_no">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="stock">gtk-no</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkImage" id="image_cp2_yes">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="stock">gtk-yes</property>
-                                            <property name="icon-size">5</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">3</property>
-                                        <property name="right_attach">4</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkVBox" id="vbox4">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkImage" id="image_cp3_no">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="stock">gtk-no</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkImage" id="image_cp3_yes">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="stock">gtk-yes</property>
-                                            <property name="icon-size">5</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">3</property>
-                                        <property name="right_attach">4</property>
-                                        <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkVBox" id="vbox7">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkImage" id="image_cp4_no">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="stock">gtk-no</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkImage" id="image_cp4_yes">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="stock">gtk-yes</property>
-                                            <property name="icon-size">5</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">3</property>
-                                        <property name="right_attach">4</property>
-                                        <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkLabel" id="label1">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label">Chronopic 2</property>
-                                      </widget>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkLabel" id="label2">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label">Chronopic 3</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkLabel" id="label3">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label">Chronopic 4</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkButton" id="button_connect_cp2">
-                                        <property name="label" translatable="yes">Connect</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <signal name="clicked" handler="on_button_connect_cp_clicked" 
swapped="no"/>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">2</property>
-                                        <property name="right_attach">3</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkButton" id="button_connect_cp3">
-                                        <property name="label" translatable="yes">Connect</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <signal name="clicked" handler="on_button_connect_cp_clicked" 
swapped="no"/>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">2</property>
-                                        <property name="right_attach">3</property>
-                                        <property name="top_attach">1</property>
-                                        <property name="bottom_attach">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkButton" id="button_connect_cp4">
-                                        <property name="label" translatable="yes">Connect</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <signal name="clicked" handler="on_button_connect_cp_clicked" 
swapped="no"/>
-                                      </widget>
-                                      <packing>
-                                        <property name="left_attach">2</property>
-                                        <property name="right_attach">3</property>
-                                        <property name="top_attach">2</property>
-                                        <property name="bottom_attach">3</property>
-                                      </packing>
-                                    </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                            </child>
-                          </widget>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label6">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Supplementary&lt;/b&gt; (can 
be used on MultiChronopic)</property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label8">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Contacts
-(platform or photocell)</property>
-              </widget>
-              <packing>
-                <property name="tab_fill">False</property>
-                <property name="type">tab</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkAlignment" id="alignment4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="top_padding">12</property>
-                <property name="bottom_padding">12</property>
-                <property name="left_padding">12</property>
-                <property name="right_padding">12</property>
-                <child>
-                  <widget class="GtkVBox" id="vbox9">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="spacing">20</property>
-                    <child>
-                      <widget class="GtkLabel" id="label10">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Select the port where Chronopic is 
connected.
-
-There's no port comprobation or activation on encoder.
-
-Just select and then close this window.</property>
-                      </widget>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox6">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">20</property>
-                        <child>
-                          <widget class="GtkLabel" id="label11">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Chronopic</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox7">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <widget class="GtkComboBox" id="combo_linux_encoder">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="items">/dev/ttyUSB?
-</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkComboBox" id="combo_windows_encoder">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="items">COM?</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label9">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Encoder</property>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-                <property name="tab_fill">False</property>
-                <property name="type">tab</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkAlignment" id="alignment6">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="left_padding">12</property>
-            <property name="right_padding">12</property>
-            <child>
-              <widget class="GtkTextView" id="textview_ports_found_explanation">
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="pixels_above_lines">6</property>
-                <property name="pixels_below_lines">6</property>
-                <property name="editable">False</property>
-                <property name="wrap_mode">word</property>
-                <property name="left_margin">6</property>
-                <property name="right_margin">2</property>
-                <property name="cursor_visible">False</property>
-                <property name="accepts_tab">False</property>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">spread</property>
-            <child>
-              <widget class="GtkButton" id="button_reload">
-                <property name="label">gtk-refresh</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button_help">
-                <property name="label">gtk-help</property>
-                <property name="height_request">40</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="on_button_help_clicked" swapped="no"/>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button2">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="on_button_close_clicked" swapped="no"/>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">3</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
   <widget class="GtkWindow" id="confirm_window">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -17493,6 +16689,12 @@ by you</property>
                         <child>
                           <placeholder/>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -17931,6 +17133,12 @@ by you</property>
                         <child>
                           <placeholder/>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -18821,6 +18029,18 @@ by you</property>
             <child>
               <placeholder/>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </widget>
           <packing>
             <property name="expand">True</property>
@@ -20803,10 +20023,9 @@ comments</property>
             <property name="row_spacing">8</property>
             <child>
               <widget class="GtkLabel" id="label1">
-                <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
-                <property name="label" translatable="yes">Mode</property>
+                <property name="label">Mode</property>
               </widget>
             </child>
             <child>
@@ -20817,11 +20036,10 @@ comments</property>
                 <child>
                   <widget class="GtkRadioButton" id="radiobutton_encoder_capture_safe">
                     <property name="label" translatable="yes">Safe</property>
-                    <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="has_tooltip">True</property>
-                    <property name="tooltip" translatable="yes">Safe</property>
+                    <property name="tooltip">Safe</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </widget>
@@ -20834,7 +20052,6 @@ comments</property>
                 <child>
                   <widget class="GtkRadioButton" id="radiobutton_encoder_capture_external">
                     <property name="label">External DEPRECATED</property>
-                    <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="has_tooltip">True</property>
@@ -21554,7 +20771,7 @@ comments</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <property name="adjustment">4 0 80 0.10000000000000001 10 0</property>
+                                    <property name="adjustment">3.9999999999999996 0 80 0.10000000000000001 
10 0</property>
                                     <property name="climb_rate">1</property>
                                     <property name="digits">1</property>
                                     <property name="snap_to_ticks">True</property>
@@ -21646,7 +20863,7 @@ comments</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox_angle">
+                              <widget class="GtkHBox" id="hbox_angle_push">
                                 <property name="can_focus">False</property>
                                 <property name="spacing">8</property>
                                 <child>
@@ -21654,7 +20871,7 @@ comments</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">angle</property>
+                                    <property name="label" translatable="yes">Push angle</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -21663,7 +20880,7 @@ comments</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkSpinButton" id="spin_angle">
+                                  <widget class="GtkSpinButton" id="spin_angle_push">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="invisible_char">●</property>
@@ -21671,7 +20888,7 @@ comments</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <property name="adjustment">4 0 80 0.10000000000000001 10 0</property>
+                                    <property name="adjustment">15 0 90 1 10 0</property>
                                     <property name="climb_rate">1</property>
                                     <property name="snap_to_ticks">True</property>
                                     <property name="numeric">True</property>
@@ -21703,6 +20920,63 @@ comments</property>
                               </packing>
                             </child>
                             <child>
+                              <widget class="GtkHBox" id="hbox_angle_weight">
+                                <property name="can_focus">False</property>
+                                <property name="spacing">8</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label18">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Weight angle</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkSpinButton" id="spin_angle_weight">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="invisible_char">●</property>
+                                    <property name="primary_icon_activatable">False</property>
+                                    <property name="secondary_icon_activatable">False</property>
+                                    <property name="primary_icon_sensitive">True</property>
+                                    <property name="secondary_icon_sensitive">True</property>
+                                    <property name="adjustment">90 0 90 1 10 0</property>
+                                    <property name="climb_rate">1</property>
+                                    <property name="snap_to_ticks">True</property>
+                                    <property name="numeric">True</property>
+                                    <property name="update_policy">if-valid</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label19">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="label">º</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                            <child>
                               <widget class="GtkHBox" id="hbox_inertia">
                                 <property name="can_focus">False</property>
                                 <property name="spacing">4</property>
@@ -21759,7 +21033,7 @@ comments</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
-                                <property name="position">3</property>
+                                <property name="position">4</property>
                               </packing>
                             </child>
                             <child>
@@ -21817,7 +21091,7 @@ comments</property>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
-                                <property name="position">4</property>
+                                <property name="position">5</property>
                               </packing>
                             </child>
                           </widget>
@@ -25575,6 +24849,42 @@ options</property>
                     <child>
                       <placeholder/>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </widget>
                 </child>
               </widget>
@@ -26584,6 +25894,12 @@ options</property>
                                 <child>
                                   <placeholder/>
                                 </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
                               </widget>
                             </child>
                           </widget>
@@ -27081,6 +26397,12 @@ options</property>
                         <child>
                           <placeholder/>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -27113,6 +26435,1962 @@ options</property>
       </widget>
     </child>
   </widget>
+  <widget class="GtkWindow" id="query_server_window">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">10</property>
+    <property name="title" translatable="yes">Query to server</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <signal name="delete_event" handler="on_delete_event" swapped="no"/>
+    <child>
+      <widget class="GtkVBox" id="vbox191">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="spacing">8</property>
+        <child>
+          <widget class="GtkLabel" id="label754">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Perform a query to the server.</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkFrame" id="frame48">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">in</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment142">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkTable" id="table71">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">3</property>
+                    <property name="column_spacing">4</property>
+                    <property name="row_spacing">4</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_tests">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_test_types">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="has_focus">True</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label755">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Type of test</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label747">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Test</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkImage" id="image_test_type">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="stock">gtk-no</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label763">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Variable</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_variables">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label746">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Test variables</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkFrame" id="frame49">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">in</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment143">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkTable" id="table70">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="n_rows">9</property>
+                    <property name="n_columns">3</property>
+                    <property name="column_spacing">4</property>
+                    <property name="row_spacing">4</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label748">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Sex</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label_country">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Country</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">5</property>
+                        <property name="bottom_attach">6</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label751">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Sport</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">6</property>
+                        <property name="bottom_attach">7</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label752">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Level</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">8</property>
+                        <property name="bottom_attach">9</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label_speciallity">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Speciallity</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">7</property>
+                        <property name="bottom_attach">8</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_sexes">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_ages">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">4</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_countries">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">5</property>
+                        <property name="bottom_attach">6</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_sports">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">6</property>
+                        <property name="bottom_attach">7</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_speciallities">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">7</property>
+                        <property name="bottom_attach">8</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_levels">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">8</property>
+                        <property name="bottom_attach">9</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label762">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Continent</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">4</property>
+                        <property name="bottom_attach">5</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_continents">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">4</property>
+                        <property name="bottom_attach">5</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkImage" id="image_country">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="stock">gtk-no</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">5</property>
+                        <property name="bottom_attach">6</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_ages2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">4</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkTable" id="table73">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="n_rows">2</property>
+                        <property name="n_columns">3</property>
+                        <property name="column_spacing">6</property>
+                        <child>
+                          <widget class="GtkSpinButton" id="spin_ages1">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
+                            <property name="primary_icon_sensitive">True</property>
+                            <property name="secondary_icon_sensitive">True</property>
+                            <property name="adjustment">1 1 100 1 10 0</property>
+                            <property name="climb_rate">1</property>
+                            <property name="snap_to_ticks">True</property>
+                            <property name="numeric">True</property>
+                            <property name="update_policy">if-valid</property>
+                            <signal name="changed" handler="on_spin_ages1_changed" swapped="no"/>
+                          </widget>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="right_attach">3</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkSpinButton" id="spin_ages2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="primary_icon_activatable">False</property>
+                            <property name="secondary_icon_activatable">False</property>
+                            <property name="primary_icon_sensitive">True</property>
+                            <property name="secondary_icon_sensitive">True</property>
+                            <property name="adjustment">1 1 100 1 10 0</property>
+                            <property name="climb_rate">1</property>
+                            <property name="snap_to_ticks">True</property>
+                            <property name="numeric">True</property>
+                            <property name="update_policy">if-valid</property>
+                            <signal name="changed" handler="on_spin_ages2_changed" swapped="no"/>
+                          </widget>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="right_attach">3</property>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox_combo_ages1">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox_combo_ages2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label_age_and">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">And</property>
+                          </widget>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label_age">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0</property>
+                        <property name="label" translatable="yes">Age</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label756">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Person variables</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkFrame" id="frame1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">in</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkTable" id="table1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="n_columns">3</property>
+                    <property name="column_spacing">4</property>
+                    <property name="row_spacing">4</property>
+                    <child>
+                      <widget class="GtkLabel" id="label3">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Evaluator</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox_combo_evaluators">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label4">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Evaluator</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkFrame" id="frame50">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">in</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment144">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkVBox" id="vbox195">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">8</property>
+                    <child>
+                      <widget class="GtkVBox" id="vbox1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="check_show_query">
+                            <property name="label" translatable="yes">Show query</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="on_check_show_query_toggled" swapped="no"/>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkScrolledWindow" id="scrolledwindow_query">
+                            <property name="height_request">36</property>
+                            <property name="can_focus">True</property>
+                            <property name="hscrollbar_policy">never</property>
+                            <property name="vscrollbar_policy">automatic</property>
+                            <property name="shadow_type">in</property>
+                            <child>
+                              <widget class="GtkTextView" id="textview_query">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="editable">False</property>
+                                <property name="wrap_mode">word</property>
+                                <property name="cursor_visible">False</property>
+                                <property name="accepts_tab">False</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox368">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">8</property>
+                        <property name="homogeneous">True</property>
+                        <child>
+                          <widget class="GtkButton" id="button_search">
+                            <property name="label">gtk-find</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_stock">True</property>
+                            <signal name="clicked" handler="on_button_search_clicked" swapped="no"/>
+                          </widget>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkTable" id="table72">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="n_rows">2</property>
+                            <property name="n_columns">3</property>
+                            <property name="column_spacing">4</property>
+                            <property name="row_spacing">4</property>
+                            <child>
+                              <widget class="GtkLabel" id="label758">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Results:</property>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"/>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label759">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Average:</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"/>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label_results_num">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"/>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label_results_avg">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"/>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label_results_num_units">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">2</property>
+                                <property name="right_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"/>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label_results_avg_units">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">2</property>
+                                <property name="right_attach">3</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"/>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Query</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="padding">8</property>
+            <property name="position">4</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHButtonBox" id="hbuttonbox46">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <widget class="GtkButton" id="button_close">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="on_button_close_clicked" swapped="no"/>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">5</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkWindow" id="chronopic_window">
+    <property name="can_focus">False</property>
+    <property name="border_width">10</property>
+    <property name="title" translatable="yes">Chronopic window</property>
+    <property name="resizable">False</property>
+    <property name="window_position">center-always</property>
+    <signal name="delete_event" handler="on_delete_event" swapped="no"/>
+    <child>
+      <widget class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="spacing">12</property>
+        <child>
+          <widget class="GtkAlignment" id="alignment5">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">8</property>
+            <property name="left_padding">12</property>
+            <property name="right_padding">12</property>
+            <child>
+              <widget class="GtkFrame" id="frame3">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label_xalign">0</property>
+                <property name="label_yalign">0.69999998807907104</property>
+                <property name="shadow_type">out</property>
+                <child>
+                  <widget class="GtkAlignment" id="alignment7">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="top_padding">8</property>
+                    <property name="bottom_padding">8</property>
+                    <property name="left_padding">12</property>
+                    <property name="right_padding">12</property>
+                    <child>
+                      <widget class="GtkTable" id="table1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="n_columns">2</property>
+                        <property name="column_spacing">2</property>
+                        <property name="row_spacing">2</property>
+                        <child>
+                          <widget class="GtkRadioButton" id="radio_contacts">
+                            <property name="label" translatable="yes">Contacts
+(platform or photocell)</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="on_radio_contacts_toggled" swapped="no"/>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkRadioButton" id="radio_encoder">
+                            <property name="label" translatable="yes">Encoder</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">radio_contacts</property>
+                            <signal name="toggled" handler="on_radio_encoder_toggled" swapped="no"/>
+                          </widget>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Select your connection</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">label_item</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkNotebook" id="notebook_main">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="show_tabs">False</property>
+            <property name="show_border">False</property>
+            <property name="tab_border">4</property>
+            <property name="tab_hborder">8</property>
+            <property name="tab_vborder">0</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="top_padding">12</property>
+                <property name="bottom_padding">12</property>
+                <property name="left_padding">12</property>
+                <property name="right_padding">12</property>
+                <child>
+                  <widget class="GtkVBox" id="vbox8">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <widget class="GtkFrame" id="frame1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label_xalign">0</property>
+                        <property name="label_yalign">0.69999998807907104</property>
+                        <property name="shadow_type">out</property>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="top_padding">8</property>
+                            <property name="bottom_padding">8</property>
+                            <property name="left_padding">12</property>
+                            <property name="right_padding">12</property>
+                            <child>
+                              <widget class="GtkTable" id="table2">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="n_columns">4</property>
+                                <property name="column_spacing">8</property>
+                                <property name="row_spacing">8</property>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox2">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <child>
+                                      <widget class="GtkComboBox" id="combo_linux1">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="items">/dev/ttyUSB?
+</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkComboBox" id="combo_windows1">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="items">COM?</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkVBox" id="vbox5">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image_cp1_no">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="stock">gtk-no</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkImage" id="image_cp1_yes">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="stock">gtk-yes</property>
+                                        <property name="icon-size">5</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">3</property>
+                                    <property name="right_attach">4</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label7">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="label">Chronopic 1</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="button_connect_cp1">
+                                    <property name="label" translatable="yes">Connect</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">True</property>
+                                    <signal name="clicked" handler="on_button_connect_cp_clicked" 
swapped="no"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">3</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label5">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Main Chronopic&lt;/b&gt; 
(used on all tests)</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="type">label_item</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkFrame" id="frame2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label_xalign">0</property>
+                        <property name="label_yalign">0.69999998807907104</property>
+                        <property name="shadow_type">out</property>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment3">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="top_padding">8</property>
+                            <property name="bottom_padding">8</property>
+                            <property name="left_padding">12</property>
+                            <property name="right_padding">12</property>
+                            <child>
+                              <widget class="GtkVBox" id="vbox2">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="spacing">4</property>
+                                <child>
+                                  <widget class="GtkCheckButton" id="checkbutton_multi_show">
+                                    <property name="label" translatable="yes">Show</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="draw_indicator">True</property>
+                                    <signal name="clicked" handler="on_checkbutton_multi_show_clicked" 
swapped="no"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkTable" id="table_multi_chronopic">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="n_rows">3</property>
+                                    <property name="n_columns">4</property>
+                                    <property name="column_spacing">8</property>
+                                    <property name="row_spacing">8</property>
+                                    <child>
+                                      <widget class="GtkHBox" id="hbox3">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <child>
+                                          <widget class="GtkComboBox" id="combo_linux2">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="items">/dev/ttyUSB?
+</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkComboBox" id="combo_windows2">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="items">COM?</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkHBox" id="hbox4">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <child>
+                                          <widget class="GtkComboBox" id="combo_linux3">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="items">/dev/ttyUSB?
+</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkComboBox" id="combo_windows3">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="items">COM?</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkHBox" id="hbox5">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <child>
+                                          <widget class="GtkComboBox" id="combo_linux4">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="items">/dev/ttyUSB?
+</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkComboBox" id="combo_windows4">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="items">COM?</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkVBox" id="vbox3">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <child>
+                                          <widget class="GtkImage" id="image_cp2_no">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="stock">gtk-no</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkImage" id="image_cp2_yes">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="stock">gtk-yes</property>
+                                            <property name="icon-size">5</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkVBox" id="vbox4">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <child>
+                                          <widget class="GtkImage" id="image_cp3_no">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="stock">gtk-no</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkImage" id="image_cp3_yes">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="stock">gtk-yes</property>
+                                            <property name="icon-size">5</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkVBox" id="vbox7">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <child>
+                                          <widget class="GtkImage" id="image_cp4_no">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="stock">gtk-no</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkImage" id="image_cp4_yes">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="stock">gtk-yes</property>
+                                            <property name="icon-size">5</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label1">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label">Chronopic 2</property>
+                                      </widget>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label2">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label">Chronopic 3</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label3">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label">Chronopic 4</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="button_connect_cp2">
+                                        <property name="label" translatable="yes">Connect</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <signal name="clicked" handler="on_button_connect_cp_clicked" 
swapped="no"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="button_connect_cp3">
+                                        <property name="label" translatable="yes">Connect</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <signal name="clicked" handler="on_button_connect_cp_clicked" 
swapped="no"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="button_connect_cp4">
+                                        <property name="label" translatable="yes">Connect</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <signal name="clicked" handler="on_button_connect_cp_clicked" 
swapped="no"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label6">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Supplementary&lt;/b&gt; (can 
be used on MultiChronopic)</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="type">label_item</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label8">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Contacts
+(platform or photocell)</property>
+              </widget>
+              <packing>
+                <property name="tab_fill">False</property>
+                <property name="type">tab</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkAlignment" id="alignment4">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="top_padding">12</property>
+                <property name="bottom_padding">12</property>
+                <property name="left_padding">12</property>
+                <property name="right_padding">12</property>
+                <child>
+                  <widget class="GtkVBox" id="vbox9">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">20</property>
+                    <child>
+                      <widget class="GtkLabel" id="label10">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Select the port where Chronopic is 
connected.
+
+There's no port comprobation or activation on encoder.
+
+Just select and then close this window.</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox6">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">20</property>
+                        <child>
+                          <widget class="GtkLabel" id="label11">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">Chronopic</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox7">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <widget class="GtkComboBox" id="combo_linux_encoder">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="items">/dev/ttyUSB?
+</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="combo_windows_encoder">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="items">COM?</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label9">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Encoder</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+                <property name="type">tab</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkAlignment" id="alignment6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="left_padding">12</property>
+            <property name="right_padding">12</property>
+            <child>
+              <widget class="GtkTextView" id="textview_ports_found_explanation">
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="pixels_above_lines">6</property>
+                <property name="pixels_below_lines">6</property>
+                <property name="editable">False</property>
+                <property name="wrap_mode">word</property>
+                <property name="left_margin">6</property>
+                <property name="right_margin">2</property>
+                <property name="cursor_visible">False</property>
+                <property name="accepts_tab">False</property>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHButtonBox" id="hbuttonbox1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">spread</property>
+            <child>
+              <widget class="GtkButton" id="button_reload">
+                <property name="label">gtk-refresh</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="button_help">
+                <property name="label">gtk-help</property>
+                <property name="height_request">40</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="on_button_help_clicked" swapped="no"/>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="button2">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="on_button_close_clicked" swapped="no"/>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
   <widget class="GtkWindow" id="preferences">
     <property name="height_request">450</property>
     <property name="visible">True</property>
@@ -28234,1116 +29512,6 @@ show elevation as:</property>
       </widget>
     </child>
   </widget>
-  <widget class="GtkWindow" id="query_server_window">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">10</property>
-    <property name="title" translatable="yes">Query to server</property>
-    <property name="resizable">False</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <signal name="delete_event" handler="on_delete_event" swapped="no"/>
-    <child>
-      <widget class="GtkVBox" id="vbox191">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">8</property>
-        <child>
-          <widget class="GtkLabel" id="label754">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Perform a query to the server.</property>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkFrame" id="frame48">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">in</property>
-            <child>
-              <widget class="GtkAlignment" id="alignment142">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <widget class="GtkTable" id="table71">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="n_rows">3</property>
-                    <property name="n_columns">3</property>
-                    <property name="column_spacing">4</property>
-                    <property name="row_spacing">4</property>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_tests">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_test_types">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="has_focus">True</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label755">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Type of test</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label747">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Test</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkImage" id="image_test_type">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="stock">gtk-no</property>
-                      </widget>
-                      <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label763">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Variable</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_variables">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label746">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Test variables</property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="type">label_item</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkFrame" id="frame49">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">in</property>
-            <child>
-              <widget class="GtkAlignment" id="alignment143">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <widget class="GtkTable" id="table70">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="n_rows">9</property>
-                    <property name="n_columns">3</property>
-                    <property name="column_spacing">4</property>
-                    <property name="row_spacing">4</property>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label748">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Sex</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label_country">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Country</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label751">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Sport</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label752">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Level</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">8</property>
-                        <property name="bottom_attach">9</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label_speciallity">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Speciallity</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">7</property>
-                        <property name="bottom_attach">8</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_sexes">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_ages">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">4</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_countries">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_sports">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_speciallities">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">7</property>
-                        <property name="bottom_attach">8</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_levels">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">8</property>
-                        <property name="bottom_attach">9</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label762">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Continent</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_continents">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkImage" id="image_country">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="stock">gtk-no</property>
-                      </widget>
-                      <packing>
-                        <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_ages2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">4</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="x_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkTable" id="table73">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="n_rows">2</property>
-                        <property name="n_columns">3</property>
-                        <property name="column_spacing">6</property>
-                        <child>
-                          <widget class="GtkSpinButton" id="spin_ages1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
-                            <property name="adjustment">1 1 100 1 10 0</property>
-                            <property name="climb_rate">1</property>
-                            <property name="snap_to_ticks">True</property>
-                            <property name="numeric">True</property>
-                            <property name="update_policy">if-valid</property>
-                            <signal name="changed" handler="on_spin_ages1_changed" swapped="no"/>
-                          </widget>
-                          <packing>
-                            <property name="left_attach">2</property>
-                            <property name="right_attach">3</property>
-                            <property name="y_options"/>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkSpinButton" id="spin_ages2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="primary_icon_activatable">False</property>
-                            <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
-                            <property name="adjustment">1 1 100 1 10 0</property>
-                            <property name="climb_rate">1</property>
-                            <property name="snap_to_ticks">True</property>
-                            <property name="numeric">True</property>
-                            <property name="update_policy">if-valid</property>
-                            <signal name="changed" handler="on_spin_ages2_changed" swapped="no"/>
-                          </widget>
-                          <packing>
-                            <property name="left_attach">2</property>
-                            <property name="right_attach">3</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="y_options"/>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox_combo_ages1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="y_options">GTK_FILL</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox_combo_ages2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label_age_and">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">And</property>
-                          </widget>
-                          <packing>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"/>
-                          </packing>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label_age">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="yalign">0</property>
-                        <property name="label" translatable="yes">Age</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label756">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Person variables</property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="type">label_item</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkFrame" id="frame1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">in</property>
-            <child>
-              <widget class="GtkAlignment" id="alignment1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <widget class="GtkTable" id="table1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="n_columns">3</property>
-                    <property name="column_spacing">4</property>
-                    <property name="row_spacing">4</property>
-                    <child>
-                      <widget class="GtkLabel" id="label3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Evaluator</property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"/>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox_combo_evaluators">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Evaluator</property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="type">label_item</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">3</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkFrame" id="frame50">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">in</property>
-            <child>
-              <widget class="GtkAlignment" id="alignment144">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <widget class="GtkVBox" id="vbox195">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="spacing">8</property>
-                    <child>
-                      <widget class="GtkVBox" id="vbox1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <widget class="GtkCheckButton" id="check_show_query">
-                            <property name="label" translatable="yes">Show query</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="draw_indicator">True</property>
-                            <signal name="toggled" handler="on_check_show_query_toggled" swapped="no"/>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkScrolledWindow" id="scrolledwindow_query">
-                            <property name="height_request">36</property>
-                            <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">never</property>
-                            <property name="vscrollbar_policy">automatic</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <widget class="GtkTextView" id="textview_query">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="editable">False</property>
-                                <property name="wrap_mode">word</property>
-                                <property name="cursor_visible">False</property>
-                                <property name="accepts_tab">False</property>
-                              </widget>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">True</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkHBox" id="hbox368">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">8</property>
-                        <property name="homogeneous">True</property>
-                        <child>
-                          <widget class="GtkButton" id="button_search">
-                            <property name="label">gtk-find</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="can_default">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="use_stock">True</property>
-                            <signal name="clicked" handler="on_button_search_clicked" swapped="no"/>
-                          </widget>
-                          <packing>
-                            <property name="expand">True</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkTable" id="table72">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="n_rows">2</property>
-                            <property name="n_columns">3</property>
-                            <property name="column_spacing">4</property>
-                            <property name="row_spacing">4</property>
-                            <child>
-                              <widget class="GtkLabel" id="label758">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Results:</property>
-                              </widget>
-                              <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"/>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label759">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Average:</property>
-                              </widget>
-                              <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"/>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label_results_num">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"/>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label_results_avg">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"/>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label_results_num_units">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">2</property>
-                                <property name="right_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"/>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label_results_avg_units">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">2</property>
-                                <property name="right_attach">3</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"/>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">True</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Query</property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="type">label_item</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="padding">8</property>
-            <property name="position">4</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox46">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <widget class="GtkButton" id="button_close">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="on_button_close_clicked" swapped="no"/>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">5</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
   <widget class="GtkWindow" id="repair_sub_event">
     <property name="height_request">460</property>
     <property name="visible">True</property>
diff --git a/images/encoder-linear-inclined-plane-weight-diff-angle.png 
b/images/encoder-linear-inclined-plane-weight-diff-angle.png
new file mode 100644
index 0000000..4ab30b7
Binary files /dev/null and b/images/encoder-linear-inclined-plane-weight-diff-angle.png differ
diff --git a/images/svg/encoder-mode-icons.svg b/images/svg/encoder-mode-icons.svg
index 3f86e78..a306d93 100644
--- a/images/svg/encoder-mode-icons.svg
+++ b/images/svg/encoder-mode-icons.svg
@@ -9,7 +9,7 @@
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
    id="svg4136"
-   viewBox="0 0 11643.037 16174.3"
+   viewBox="0 0 11643.038 18043.762"
    version="1.1"
    inkscape:version="0.48.4 r9939"
    width="100%"
@@ -31,9 +31,9 @@
      inkscape:window-height="711"
      id="namedview5689"
      showgrid="false"
-     inkscape:zoom="0.034684653"
-     inkscape:cx="5821.5191"
-     inkscape:cy="8188.0593"
+     inkscape:zoom="0.34648292"
+     inkscape:cx="1719.3653"
+     inkscape:cy="1063.6248"
      inkscape:window-x="0"
      inkscape:window-y="27"
      inkscape:window-maximized="1"
@@ -10428,7 +10428,7 @@
        xlink:href="#linearGradient5962-7-3-3"
        id="linearGradient6645"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(1.0060803,0,0,1.0060803,11291.388,3325.5691)"
+       gradientTransform="matrix(1.0060803,0,0,1.0060803,11291.388,3325.5693)"
        x1="-1016.8681"
        y1="4258.1187"
        x2="-833.49841"
@@ -10508,7 +10508,7 @@
        xlink:href="#linearGradient30038-5-7-0-4-9-0-9-7-2"
        id="linearGradient6682"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(1.0036372,0,0,1.0036372,9628.6586,2327.7891)"
+       gradientTransform="matrix(1.0036372,0,0,1.0036372,9628.6585,2327.7893)"
        x1="263.34442"
        y1="5017.9204"
        x2="272.7132"
@@ -10518,7 +10518,7 @@
        xlink:href="#linearGradient30038-5-7-0-4-9-0-9-7"
        id="linearGradient6687"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(1.0036372,0,0,1.0036372,9568.6268,2327.7892)"
+       gradientTransform="matrix(1.0036372,0,0,1.0036372,9568.6267,2327.7894)"
        x1="263.34442"
        y1="5017.9204"
        x2="272.7132"
@@ -10528,7 +10528,7 @@
        xlink:href="#linearGradient30038-5-7-0-4-9-0-91"
        id="linearGradient6691"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0,1.6605382,-0.94620763,0,10309.903,6852.6391)"
+       gradientTransform="matrix(0,1.6605382,-0.94620763,0,10309.903,6852.6393)"
        x1="175.72"
        y1="737.02002"
        x2="470"
@@ -10538,7 +10538,7 @@
        xlink:href="#linearGradient30038-5-7-0-4-19-9"
        id="linearGradient6704"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0,0.1614264,-0.07552953,0,10803.026,6851.6453)"
+       gradientTransform="matrix(0,0.1614264,-0.07552953,0,10803.026,6851.6455)"
        x1="175.72"
        y1="737.02002"
        x2="470"
@@ -10753,6 +10753,113 @@
        y1="4258.1187"
        x2="-833.49841"
        y2="3232.9158" />
+    <linearGradient
+       id="linearGradient5962-14-8-5">
+      <stop
+         style="stop-color:#fff842;stop-opacity:1;"
+         offset="0"
+         id="stop5964-61-5-0" />
+      <stop
+         style="stop-color:#f3ff80;stop-opacity:0;"
+         offset="1"
+         id="stop5966-8-0-3" />
+    </linearGradient>
+    <marker
+       inkscape:stockid="TriangleInL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleInL-08"
+       style="overflow:visible">
+      <path
+         id="path12556-45"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(-0.8,-0.8)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutL-1"
+       style="overflow:visible">
+      <path
+         id="path12565-40"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(0.8,0.8)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient30038-0-4-1-3-8-11-1-16-67"
+       id="linearGradient8020-5"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.90371528,0,0,0.97580118,1253.8612,192.3917)"
+       x1="13006.704"
+       y1="7719.4697"
+       x2="13086.345"
+       y2="7719.4697" />
+    <linearGradient
+       id="linearGradient30038-0-4-1-3-8-11-1-16-67"
+       y2="737.02002"
+       gradientUnits="userSpaceOnUse"
+       x2="470"
+       gradientTransform="matrix(0.47131,0,0,0.47131,8046.6,409.49)"
+       y1="737.02002"
+       x1="175.72">
+      <stop
+         id="stop12003-8-7-3-2-5-9-3-6-0"
+         stop-color="#1b4a78"
+         offset="0"
+         style="stop-color:#19262e;stop-opacity:1;" />
+      <stop
+         id="stop12005-3-5-4-7-7-4-6-20-9"
+         stop-color="#5dacd1"
+         offset="1"
+         style="stop-color:#244457;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient30038-0-4-1-3-7-1-8-0-3"
+       id="linearGradient8022-03"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2888541,0,0,0.41922837,-3770.8616,4587.414)"
+       x1="13087.136"
+       y1="7718.0806"
+       x2="13006.816"
+       y2="7718.0806" />
+    <linearGradient
+       id="linearGradient30038-0-4-1-3-7-1-8-0-3"
+       y2="737.02002"
+       gradientUnits="userSpaceOnUse"
+       x2="470"
+       gradientTransform="matrix(0.47131,0,0,0.47131,8046.6,409.49)"
+       y1="737.02002"
+       x1="175.72">
+      <stop
+         id="stop12003-8-7-3-2-58-7-4-34-31"
+         stop-color="#1b4a78"
+         offset="0"
+         style="stop-color:#dddddd;stop-opacity:1;" />
+      <stop
+         id="stop12005-3-5-4-7-2-6-9-3-4"
+         stop-color="#5dacd1"
+         offset="1"
+         style="stop-color:#244457;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5962-14-8-5"
+       id="linearGradient5680"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(2759.4689,13214.791)"
+       x1="-1016.8681"
+       y1="4258.1187"
+       x2="-833.49841"
+       y2="3232.9158" />
   </defs>
   <metadata
      id="metadata5687">
@@ -10769,7 +10876,7 @@
             <dc:title>Openclipart</dc:title>
           </cc:Agent>
         </dc:publisher>
-        <dc:title />
+        <dc:title></dc:title>
         <dc:date>2013-08-08T13:03:15</dc:date>
         <dc:description>Simple database or storage symbol. Font is &quot;League Gothic&quot;. Drawn on 
Inkscape</dc:description>
         <dc:source>http://openclipart.org/detail/181674/database-symbol-by-eternaltyro-181674</dc:source>
@@ -10801,7 +10908,7 @@
   </metadata>
   <g
      id="g6741"
-     transform="translate(2878.5128,-2146.101)"
+     transform="translate(2878.5127,-2146.1008)"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-free-weight.png"
      inkscape:export-xdpi="15.721952"
      inkscape:export-ydpi="15.721952">
@@ -10994,7 +11101,7 @@
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-rotary-friction-pulley.png"
      inkscape:export-xdpi="15.702842"
      inkscape:export-ydpi="15.702842"
-     transform="translate(6644.9496,-4238.5135)">
+     transform="translate(6644.9495,-4238.5133)">
     <rect
        y="5279.5215"
        x="62.179787"
@@ -11139,7 +11246,8 @@
      id="g5270"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-free-weight-inv.png"
      inkscape:export-xdpi="15.721946"
-     inkscape:export-ydpi="15.721946">
+     inkscape:export-ydpi="15.721946"
+     transform="translate(-1.249641e-4,2.1731853e-4)">
     <rect
        y="1113.181"
        x="3478.2959"
@@ -11325,7 +11433,8 @@
      id="g5635"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-rotary-friction-pulley-axis.png"
      inkscape:export-xdpi="15.721946"
-     inkscape:export-ydpi="15.721946">
+     inkscape:export-ydpi="15.721946"
+     transform="translate(-1.249641e-4,2.1731853e-4)">
     <rect
        inkscape:export-ydpi="15.721959"
        inkscape:export-xdpi="15.721959"
@@ -11511,25 +11620,25 @@
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
      x="6698.2964"
-     y="2384.8787"
+     y="2384.8789"
      id="text5892-2-9"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
        x="6698.2964"
-       y="2384.8787"
+       y="2384.8789"
        id="tspan6546">Rotary friction encoder on pulley</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3469.4629"
-     y="2422.5042"
+     x="3469.4626"
+     y="2422.5044"
      id="text5892-2"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="3469.4629"
-       y="2422.5042"
+       x="3469.4626"
+       y="2422.5044"
        id="tspan14125">Linear encoder inverted</tspan></text>
   <text
      xml:space="preserve"
@@ -11582,68 +11691,68 @@
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="887.93121"
+     x="887.93109"
      y="4651.8252"
      id="text5892-2-9-6-2-6"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
-       x="887.93121"
+       x="887.93109"
        y="4651.8252"
        id="tspan6546-9-9-2"
        style="font-size:90px">Linear encoder on inertial machine</tspan><tspan
        sodipodi:role="line"
-       x="887.93121"
+       x="887.93109"
        y="4764.3252"
        style="font-size:90px"
        id="tspan10259">NOT RECOMMENDED!</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3422.4929"
+     x="3422.4927"
      y="10212.491"
      id="text5892-2-9-6-2-6-6"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
-       x="3422.4929"
+       x="3422.4927"
        y="10212.491"
        style="font-size:90px"
        id="tspan14030">Linear inverted encoder on person.</tspan><tspan
        sodipodi:role="line"
-       x="3422.4929"
+       x="3422.4927"
        y="10324.991"
        style="font-size:90px"
        id="tspan16732">Fixed pulley attached to a weighted moving pulley</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3517.5674"
+     x="3517.5671"
      y="7097.916"
      id="text5892-2-9-6-2-6-6-9"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
-       x="3517.5674"
+       x="3517.5671"
        y="7097.916"
        style="font-size:90px"
        id="tspan10259-8-7">Linear inverted encoder on person.</tspan><tspan
        sodipodi:role="line"
-       x="3517.5674"
+       x="3517.5671"
        y="7210.416"
        style="font-size:90px"
        id="tspan14030-6">Weighted moving pulley</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="925.20795"
+     x="925.20782"
      y="13022.087"
      id="text5892-2-9-6-2-6-6-9-0"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
-       x="925.20795"
+       x="925.20782"
        y="13022.087"
        style="font-size:90px"
        id="tspan14030-6-1">Linear encoder attached on</tspan><tspan
        sodipodi:role="line"
-       x="925.20795"
+       x="925.20782"
        y="13134.587"
        style="font-size:90px"
        id="tspan16728">weighted moving pulley</tspan></text>
@@ -11664,7 +11773,7 @@
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-rotary-friction-on-fixed-pulley-with-weighted-moving-pulley.png"
      inkscape:export-xdpi="15.702841"
      inkscape:export-ydpi="15.702841"
-     transform="translate(-3334.249,3641.774)">
+     transform="translate(-3334.2491,3641.7742)">
     <rect
        y="6221.8716"
        x="9861.7822"
@@ -11920,21 +12029,21 @@
   <text
      xml:space="preserve"
      
style="font-size:857.96234131px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="-90.907143"
+     x="-90.907318"
      y="6294.4229"
      id="text7097"
      sodipodi:linespacing="125%"
      transform="scale(0.70647597,1.4154763)"><tspan
        sodipodi:role="line"
        id="tspan7099"
-       x="-90.907143"
+       x="-90.907318"
        y="6294.4229">=</tspan></text>
   <g
      id="g16382"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-inclined-plane.png"
      inkscape:export-xdpi="15.702651"
      inkscape:export-ydpi="15.702651"
-     transform="translate(-6323.5802,8326.7296)">
+     transform="translate(-6323.5803,8326.7298)">
     <rect
        y="6221.5996"
        x="7232.2095"
@@ -12055,7 +12164,7 @@
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-inv-on-person-weighted-moving-pulley2.png"
      inkscape:export-xdpi="15.702846"
      inkscape:export-ydpi="15.702846"
-     transform="translate(2962.7764,10.865125)">
+     transform="translate(2962.7763,10.865342)">
     <rect
        y="8844.4395"
        x="468.5499"
@@ -12339,60 +12448,60 @@
      xml:space="preserve"
      
style="font-size:247.23146057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
      x="4265.8735"
-     y="557.42365"
+     y="557.42389"
      id="text14119"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan14121"
        x="4265.8735"
-       y="557.42365">All graph's height = 200px</tspan></text>
+       y="557.42389">All graph's height = 200px</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3473.3301"
-     y="2590.3621"
+     x="3473.3298"
+     y="2590.3623"
      id="text5892-2-6"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="3473.3301"
-       y="2590.3621"
+       x="3473.3298"
+       y="2590.3623"
        id="tspan14125-8">encoder-linear-free-weight-inv.png</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="1029.686"
-     y="2388.7581"
+     x="1029.6859"
+     y="2388.7583"
      id="text5892-2-2"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="1029.686"
-       y="2388.7581"
+       x="1029.6859"
+       y="2388.7583"
        id="tspan14125-1">Linear encoder</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="1033.5532"
-     y="2556.616"
+     x="1033.5531"
+     y="2556.6162"
      id="text5892-2-6-7"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="1033.5532"
-       y="2556.616"
+       x="1033.5531"
+       y="2556.6162"
        id="tspan14125-8-4">encoder-linear-free-weight.png</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
      x="6702.1636"
-     y="2580.6296"
+     y="2580.6299"
      id="text5892-2-6-7-2"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
        x="6702.1636"
-       y="2580.6296"
+       y="2580.6299"
        id="tspan14125-8-4-2">encoder-rotary-friction-pulley.png</tspan></text>
   <text
      xml:space="preserve"
@@ -12445,13 +12554,13 @@
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="891.7984"
+     x="891.79828"
      y="4926.7451"
      id="text5892-2-6-6-1-6"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="891.7984"
+       x="891.79828"
        y="4926.7451"
        id="tspan14125-8-0-1-1">encoder-linear-inertial.png</tspan></text>
   <g
@@ -12459,7 +12568,7 @@
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-inv-on-person-weighted-moving-pulley1.png"
      inkscape:export-xdpi="15.702712"
      inkscape:export-ydpi="15.702712"
-     transform="translate(2962.7764,10.865125)">
+     transform="translate(2962.7763,10.865342)">
     <rect
        y="5715.561"
        x="557.7782"
@@ -12710,7 +12819,7 @@
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-on-weighted-moving-pulley.png"
      inkscape:export-xdpi="15.702839"
      inkscape:export-ydpi="15.702839"
-     transform="translate(-11347.666,8284.2046)">
+     transform="translate(-11347.666,8284.2048)">
     <rect
        y="3333.1479"
        x="12276.653"
@@ -12943,25 +13052,25 @@
   <text
      xml:space="preserve"
      
style="font-size:71.03011322px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3517.0923"
+     x="3517.092"
      y="7418.9072"
      id="text5892-2-6-6-1-6-1"
      sodipodi:linespacing="125%"><tspan
        style="font-size:62.76649094px"
        sodipodi:role="line"
-       x="3517.0923"
+       x="3517.092"
        y="7418.9072"
        id="tspan14125-8-0-1-1-8">encoder-linear-inv-on-person-weighted-moving-pulley1.png</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:81.30310059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="925.02338"
+     x="925.02325"
      y="13358.223"
      id="text5892-2-6-6-1-6-1-3-1"
      sodipodi:linespacing="125%"><tspan
        style="font-size:71.84432983px"
        sodipodi:role="line"
-       x="925.02338"
+       x="925.02325"
        y="13358.223"
        id="tspan14125-8-0-1-1-8-9-9">encoder-linear-on-weighted-moving-pulley.png</tspan></text>
   <text
@@ -12991,53 +13100,53 @@
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="896.96466"
+     x="896.96454"
      y="15860.712"
      id="text5892-2-6-6-1-6-1-3-8-4"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="896.96466"
+       x="896.96454"
        y="15860.712"
        id="tspan14125-8-0-1-1-8-9-98-3">encoder-linear-inclined-plane.png</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="1035.9263"
-     y="2763.0342"
+     x="1035.9261"
+     y="2763.0344"
      id="text5892-2-6-7-0"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="1035.9263"
-       y="2763.0342"
+       x="1035.9261"
+       y="2763.0344"
        id="tspan14125-8-4-6">encoderMode = LINEAR</tspan><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="1035.9263"
-       y="2875.5342"
+       x="1035.9261"
+       y="2875.5344"
        id="tspan15436">x is captured always like this</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3475.7031"
-     y="2700.5408"
+     x="3475.7029"
+     y="2700.541"
      id="text5892-2-6-7-0-0"
      sodipodi:linespacing="125%"><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="3475.7031"
-       y="2700.5408"
+       x="3475.7029"
+       y="2700.541"
        id="tspan14125-8-4-6-7" /><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="3475.7031"
-       y="2813.0408"
+       x="3475.7029"
+       y="2813.041"
        id="tspan15438">encoderMode = LINEARINVERTED</tspan><tspan
        style="font-size:90px"
        sodipodi:role="line"
-       x="3475.7031"
-       y="2925.5408"
+       x="3475.7029"
+       y="2925.541"
        id="tspan15440">x *= -1</tspan></text>
   <text
      xml:space="preserve"
@@ -13075,23 +13184,23 @@
      xml:space="preserve"
      
style="font-size:90.17471313px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
      x="6702.7329"
-     y="2696.6855"
+     y="2696.6858"
      id="text5892-2-6-7-0-0-0-1"
      sodipodi:linespacing="125%"><tspan
        style="font-size:79.683815px"
        sodipodi:role="line"
        x="6702.7329"
-       y="2696.6855"
+       y="2696.6858"
        id="tspan14125-8-4-6-7-4-2" /><tspan
        style="font-size:79.683815px"
        sodipodi:role="line"
        x="6702.7329"
-       y="2796.2903"
+       y="2796.2905"
        id="tspan15428-0">encoderMode = ROTARYFRICTIONSIDE</tspan><tspan
        style="font-size:79.683815px"
        sodipodi:role="line"
        x="6702.7329"
-       y="2895.895"
+       y="2895.8953"
        id="tspan15432-1">(like LINEAR mode)</tspan></text>
   <text
      xml:space="preserve"
@@ -13133,13 +13242,13 @@
   <text
      xml:space="preserve"
      
style="font-size:71.03011322px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3427.863"
+     x="3427.8628"
      y="10494.887"
      id="text5892-2-6-6-1-6-1-9"
      sodipodi:linespacing="125%"><tspan
        style="font-size:62.76649475px"
        sodipodi:role="line"
-       x="3427.863"
+       x="3427.8628"
        y="10494.887"
        id="tspan14125-8-0-1-1-8-0">encoder-linear-inv-on-person-weighted-moving-pulley2.png</tspan></text>
   <text
@@ -13160,116 +13269,116 @@
   <text
      xml:space="preserve"
      
style="font-size:97.40011597px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="893.95807"
+     x="893.95795"
      y="5161.7153"
      id="text15614-8"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan15616-9"
-       x="893.95807"
+       x="893.95795"
        y="5161.7153">encoderMode = LINEARINERTIAL</tspan><tspan
        sodipodi:role="line"
-       x="893.95807"
+       x="893.95795"
        y="5283.4653"
        id="tspan15669-4">x = </tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:97.40011597px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3517.7495"
+     x="3517.7493"
      y="7635"
      id="text15614-65"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan15616-7"
-       x="3517.7495"
+       x="3517.7493"
        y="7635">encoderMode =</tspan><tspan
        sodipodi:role="line"
-       x="3517.7495"
+       x="3517.7493"
        y="7756.75"
        id="tspan5082">WEIGHTEDMOVPULLEYLINEARONPERSON1INV</tspan><tspan
        sodipodi:role="line"
-       x="3517.7495"
+       x="3517.7493"
        y="7878.5005"
        id="tspan5086">x *=-1</tspan><tspan
        sodipodi:role="line"
-       x="3517.7495"
+       x="3517.7493"
        y="8000.2505"
        id="tspan15669-8">demult = 2</tspan><tspan
        sodipodi:role="line"
-       x="3517.7495"
+       x="3517.7493"
        y="8122.0005"
        id="tspan15867">massPulley = mass / demult</tspan><tspan
        sodipodi:role="line"
-       x="3517.7495"
+       x="3517.7493"
        y="8243.751"
        id="tspan15869">P = (massPulley*a + massSubj? *(a+g))*v</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:97.40011597px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3428.092"
+     x="3428.0918"
      y="10690.677"
      id="text15614-65-1"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan15616-7-9"
-       x="3428.092"
+       x="3428.0918"
        y="10690.677">encoderMode =</tspan><tspan
        sodipodi:role="line"
-       x="3428.092"
+       x="3428.0918"
        y="10812.427"
        id="tspan5084">WEIGHTEDMOVPULLEYLINEARONPERSON2INV</tspan><tspan
        sodipodi:role="line"
-       x="3428.092"
+       x="3428.0918"
        y="10934.177"
        id="tspan15669-8-5">(same as</tspan><tspan
        sodipodi:role="line"
-       x="3428.092"
+       x="3428.0918"
        y="11055.927"
        id="tspan15871">WEIGHTEDMOVPULLEYLINEARONPERSON1INV)</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:97.40011597px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="926.18158"
+     x="926.18146"
      y="13674.427"
      id="text15614-65-1-3"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan15616-7-9-3"
-       x="926.18158"
+       x="926.18146"
        y="13674.427">encoderMode =</tspan><tspan
        sodipodi:role="line"
-       x="926.18158"
+       x="926.18146"
        y="13796.177"
        id="tspan15782">WEIGHTEDMOVPULLEYONLINEARENCODER</tspan><tspan
        sodipodi:role="line"
-       x="926.18158"
+       x="926.18146"
        y="13917.927"
        id="tspan15669-8-5-7">demult = 2</tspan><tspan
        sodipodi:role="line"
-       x="926.18158"
+       x="926.18146"
        y="14039.677"
        id="tspan15873">x'=x * demult</tspan><tspan
        sodipodi:role="line"
-       x="926.18158"
-       y="14161.427"
+       x="926.18146"
+       y="14161.428"
        id="tspan15877">P = mass * a * v + massSubj? * (a'+g)*v'</tspan><tspan
        sodipodi:role="line"
-       x="926.18158"
-       y="14283.177"
+       x="926.18146"
+       y="14283.178"
        id="tspan15875" /></text>
   <text
      xml:space="preserve"
      
style="font-size:97.40011597px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="887.50519"
+     x="887.50507"
      y="16051.171"
      id="text15614-65-5"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
-       x="887.50519"
+       x="887.50507"
        y="16051.171"
        id="tspan15778-5">encoderMode = LINEARONPLANE</tspan><tspan
        sodipodi:role="line"
-       x="887.50519"
+       x="887.50507"
        y="16172.921"
        id="tspan15669-8-3">data = </tspan></text>
   <text
@@ -13324,7 +13433,7 @@
        id="tspan15883">mass = mass / demult</tspan></text>
   <g
      id="g6537"
-     transform="matrix(1.4658455,0,0,1.4658455,7418.2005,10926.384)"
+     transform="matrix(1.4658455,0,0,1.4658455,7418.2004,10926.384)"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear.png"
      inkscape:export-xdpi="14.4"
      inkscape:export-ydpi="14.4">
@@ -13458,7 +13567,7 @@
        id="tspan8405-5-3-5">encoder-rotary-axis.png</tspan></text>
   <g
      id="g6578"
-     transform="matrix(1.4775722,0,0,1.4775722,8979.239,9773.0475)"
+     transform="matrix(1.4775722,0,0,1.4775722,8979.2389,9773.0477)"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-rotary-axis.png"
      inkscape:export-xdpi="14.4"
      inkscape:export-ydpi="14.4">
@@ -13520,7 +13629,7 @@
   </g>
   <g
      id="g6559"
-     transform="matrix(1.4658455,0,0,1.4658455,8814.9938,9918.1365)"
+     transform="matrix(1.4658455,0,0,1.4658455,8814.9937,9918.1367)"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-rotary-friction.png"
      inkscape:export-xdpi="14.4"
      inkscape:export-ydpi="14.4">
@@ -13625,7 +13734,7 @@
        id="tspan6625">encoder-linear.png</tspan></text>
   <g
      id="g6044"
-     transform="translate(7836.4297,-886.13257)">
+     transform="translate(7836.4296,-886.13235)">
     <g
        transform="translate(-913.77888,10797.41)"
        id="g9874">
@@ -13728,66 +13837,66 @@
        y="12963.655">This at height = 80px</tspan></text>
   <path
      
style="fill:none;stroke:#000000;stroke-width:8.50190353;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-     d="m 4655.3515,13078.111 4051.6397,0"
+     d="m 4655.3514,13078.111 4051.6397,0"
      id="path6643"
      inkscape:connector-curvature="0" />
   <path
      
style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-     d="m 195.01321,8993.7441 0,2188.0319"
+     d="m 195.01309,8993.7443 0,2188.0317"
      id="path5088"
      inkscape:connector-curvature="0" />
   <path
      
style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-     d="m 188.96241,6080.0607 0,2188.0321"
+     d="m 188.96229,6080.0609 0,2188.0321"
      id="path5088-1"
      inkscape:connector-curvature="0" />
   <text
      xml:space="preserve"
      
style="font-size:247.23146057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="1415.2639"
-     y="183.61259"
+     x="1415.2638"
+     y="183.61281"
      id="text14119-2"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan14121-3"
-       x="1415.2639"
-       y="183.61259">LINEAR</tspan></text>
+       x="1415.2638"
+       y="183.61281">LINEAR</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:247.23146057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
      x="6436.5938"
-     y="183.49188"
+     y="183.4921"
      id="text14119-2-7"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan14121-3-5"
        x="6436.5938"
-       y="183.49188">ROTARY FRICTION</tspan></text>
+       y="183.4921">ROTARY FRICTION</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:247.23146057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
      x="9518.2754"
-     y="183.49188"
+     y="183.4921"
      id="text14119-2-7-8"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan14121-3-5-3"
        x="9518.2754"
-       y="183.49188">ROTARY AXIS</tspan></text>
+       y="183.4921">ROTARY AXIS</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="851.55646"
+     x="851.55634"
      y="7048.2383"
      id="text5892-2-9-6-2-6-6-9-1"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
-       x="851.55646"
+       x="851.55634"
        y="7048.2383"
        style="font-size:90px"
        id="tspan10259-8-7-6">Linear encoder on person.</tspan><tspan
        sodipodi:role="line"
-       x="851.55646"
+       x="851.55634"
        y="7160.7383"
        style="font-size:90px"
        id="tspan14030-6-0">Weighted moving pulley</tspan></text>
@@ -13796,7 +13905,7 @@
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-on-person-weighted-moving-pulley1.png"
      inkscape:export-xdpi="15.702712"
      inkscape:export-ydpi="15.702712"
-     transform="translate(2962.7764,10.865125)">
+     transform="translate(2962.7763,10.865342)">
     <rect
        y="5665.8833"
        x="-2108.2327"
@@ -14039,71 +14148,71 @@
   <text
      xml:space="preserve"
      
style="font-size:71.03011322px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="851.08136"
+     x="851.08124"
      y="7369.2295"
      id="text5892-2-6-6-1-6-1-96"
      sodipodi:linespacing="125%"><tspan
        style="font-size:62.76649094px"
        sodipodi:role="line"
-       x="851.08136"
+       x="851.08124"
        y="7369.2295"
        id="tspan14125-8-0-1-1-8-9">encoder-linear-on-person-weighted-moving-pulley1.png</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:97.40011597px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="851.73859"
+     x="851.73846"
      y="7585.3223"
      id="text15614-65-3"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan15616-7-3"
-       x="851.73859"
+       x="851.73846"
        y="7585.3223">encoderMode =</tspan><tspan
        sodipodi:role="line"
-       x="851.73859"
+       x="851.73846"
        y="7707.0723"
        id="tspan5082-6">WEIGHTEDMOVPULLEYLINEARONPERSON1</tspan><tspan
        sodipodi:role="line"
-       x="851.73859"
+       x="851.73846"
        y="7828.8228"
        id="tspan5086-1" /><tspan
        sodipodi:role="line"
-       x="851.73859"
+       x="851.73846"
        y="7950.5728"
        id="tspan15669-8-59">demult = 2</tspan><tspan
        sodipodi:role="line"
-       x="851.73859"
+       x="851.73846"
        y="8072.3228"
        id="tspan15867-1">massPulley = mass / demult</tspan><tspan
        sodipodi:role="line"
-       x="851.73859"
-       y="8194.0723"
+       x="851.73846"
+       y="8194.0732"
        id="tspan15869-1">P = (massPulley*a + massSubj? *(a+g))*v</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:247.23146057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="3311.4927"
-     y="183.61259"
+     x="3311.4924"
+     y="183.61281"
      id="text14119-2-1"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan14121-3-58"
-       x="3311.4927"
-       y="183.61259">LINEAR INVERTED</tspan></text>
+       x="3311.4924"
+       y="183.61281">LINEAR INVERTED</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="851.44855"
+     x="851.44843"
      y="10232.475"
      id="text5892-2-9-6-2-6-6-4"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
-       x="851.44855"
+       x="851.44843"
        y="10232.475"
        style="font-size:90px"
        id="tspan14030-5">Linear encoder on person.</tspan><tspan
        sodipodi:role="line"
-       x="851.44855"
+       x="851.44843"
        y="10344.975"
        style="font-size:90px"
        id="tspan16732-0">Fixed pulley attached to a weighted moving pulley</tspan></text>
@@ -14112,7 +14221,7 @@
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-on-person-weighted-moving-pulley2.png"
      inkscape:export-xdpi="15.702846"
      inkscape:export-ydpi="15.702846"
-     transform="translate(2962.7764,10.865125)">
+     transform="translate(2962.7763,10.865342)">
     <rect
        y="8864.4219"
        x="-2102.4941"
@@ -14401,43 +14510,44 @@
   <text
      xml:space="preserve"
      
style="font-size:71.03011322px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="856.81866"
+     x="856.81854"
      y="10514.87"
      id="text5892-2-6-6-1-6-1-9-8"
      sodipodi:linespacing="125%"><tspan
        style="font-size:62.76649475px"
        sodipodi:role="line"
-       x="856.81866"
+       x="856.81854"
        y="10514.87"
        id="tspan14125-8-0-1-1-8-0-0">encoder-linear-on-person-weighted-moving-pulley2.png</tspan></text>
   <text
      xml:space="preserve"
      
style="font-size:97.40011597px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="857.04767"
+     x="857.04755"
      y="10710.66"
      id="text15614-65-1-0"
      sodipodi:linespacing="125%"><tspan
        sodipodi:role="line"
        id="tspan15616-7-9-7"
-       x="857.04767"
+       x="857.04755"
        y="10710.66">encoderMode =</tspan><tspan
        sodipodi:role="line"
-       x="857.04767"
+       x="857.04755"
        y="10832.41"
        id="tspan15780-7">WEIGHTEDMOVPULLEYLINEARONPERSON2</tspan><tspan
        sodipodi:role="line"
-       x="857.04767"
+       x="857.04755"
        y="10954.16"
        id="tspan15669-8-5-76">(same as</tspan><tspan
        sodipodi:role="line"
-       x="857.04767"
+       x="857.04755"
        y="11075.91"
        id="tspan15871-7">WEIGHTEDMOVPULLEYLINEARONPERSON1)</tspan></text>
   <g
      id="g5671"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-rotary-axis-pulley-axis.png"
      inkscape:export-xdpi="15.721946"
-     inkscape:export-ydpi="15.721946">
+     inkscape:export-ydpi="15.721946"
+     transform="translate(-1.249641e-4,2.1731853e-4)">
     <rect
        y="3427.8142"
        x="9403.0088"
@@ -14594,7 +14704,7 @@
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-rotary-axis-on-fixed-pulley-with-weighted-moving-pulley.png"
      inkscape:export-xdpi="15.702832"
      inkscape:export-ydpi="15.702832"
-     transform="translate(0,1675.639)">
+     transform="translate(-1.249641e-4,1675.6392)">
     <g
        transform="translate(-2869.48,1842.4965)"
        inkscape:export-ydpi="15.702841"
@@ -14836,7 +14946,8 @@
      id="g7141"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-calcule-im.png"
      inkscape:export-xdpi="21"
-     inkscape:export-ydpi="21">
+     inkscape:export-ydpi="21"
+     transform="translate(-1.249641e-4,2.1731853e-4)">
     <rect
        y="13275.515"
        x="10111.672"
@@ -14846,7 +14957,7 @@
        style="fill:url(#linearGradient7139);fill-opacity:1;stroke:none" />
     <path
        transform="translate(190.14845,370.07913)"
-       d="m 10515.328,13205.436 a 293.8046,293.8046 0 1 1 -587.6092,0 293.8046,293.8046 0 1 1 587.6092,0 z"
+       d="m 10515.328,13205.436 c 0,162.263 -131.541,293.804 -293.805,293.804 -162.263,0 -293.8042,-131.541 
-293.8042,-293.804 0,-162.264 131.5412,-293.805 293.8042,-293.805 162.264,0 293.805,131.541 293.805,293.805 z"
        sodipodi:ry="293.8046"
        sodipodi:rx="293.8046"
        sodipodi:cy="13205.436"
@@ -14856,7 +14967,7 @@
        sodipodi:type="arc" />
     <path
        transform="matrix(0.13249837,0,0,0.13249837,9203.686,11651.498)"
-       d="m 10515.328,13205.436 a 293.8046,293.8046 0 1 1 -587.6092,0 293.8046,293.8046 0 1 1 587.6092,0 z"
+       d="m 10515.328,13205.436 c 0,162.263 -131.541,293.804 -293.805,293.804 -162.263,0 -293.8042,-131.541 
-293.8042,-293.804 0,-162.264 131.5412,-293.805 293.8042,-293.805 162.264,0 293.805,131.541 293.805,293.805 z"
        sodipodi:ry="293.8046"
        sodipodi:rx="293.8046"
        sodipodi:cy="13205.436"
@@ -14967,7 +15078,8 @@
        y="7392.2964"
        id="tspan15669-1-8">x = </tspan></text>
   <g
-     id="g5777">
+     id="g5777"
+     transform="translate(-1.249641e-4,2.1731853e-4)">
     <rect
        y="5501.4692"
        x="6559.2812"
@@ -15337,7 +15449,8 @@
      id="g7868"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-friction-axis-inertial.png"
      inkscape:export-xdpi="15.683772"
-     inkscape:export-ydpi="15.683772">
+     inkscape:export-ydpi="15.683772"
+     transform="translate(-1.249641e-4,2.1731853e-4)">
     <rect
        y="7586.6606"
        x="6551.0918"
@@ -15612,7 +15725,7 @@
        inkscape:connector-curvature="0"
        id="path3928-8-9-2-8"
        d="m 7251.8554,8041.018 0,60.6462"
-       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.50000003;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
+       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
     <text
        sodipodi:linespacing="125%"
        id="text4734-4-5-5"
@@ -15629,7 +15742,7 @@
        inkscape:connector-curvature="0"
        id="path3928-8-9-2-8-9"
        d="m 7985.9043,8041.018 0,60.6462"
-       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.50000003;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
+       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
     <text
        sodipodi:linespacing="125%"
        id="text4734-4-5-5-6"
@@ -15646,7 +15759,8 @@
      id="g8006"
      
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-inertial.png"
      inkscape:export-xdpi="15.61662"
-     inkscape:export-ydpi="15.61662">
+     inkscape:export-ydpi="15.61662"
+     transform="translate(-1.249641e-4,2.1731853e-4)">
     <g
        transform="translate(-11182.724,2755.4745)"
        inkscape:export-ydpi="15.627689"
@@ -15991,7 +16105,7 @@
        inkscape:connector-curvature="0"
        id="path3928-8-9-2-8-9-4"
        d="m 2364.7632,3660.9704 -0.6272,65.0363"
-       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.50000003;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
+       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
     <text
        sodipodi:linespacing="125%"
        id="text4734-4-5-5-6-2"
@@ -16008,7 +16122,7 @@
        inkscape:connector-curvature="0"
        id="path3928-8-9-2-8-9-4-4"
        d="m 1502.3568,3660.9704 -0.6272,65.0363"
-       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.50000003;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
+       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
     <text
        sodipodi:linespacing="125%"
        id="text4734-4-5-5-6-2-4"
@@ -16033,7 +16147,7 @@
      inkscape:export-ydpi="15.626947" />
   <g
      id="g5130"
-     transform="matrix(1.0036372,0,0,1.0036372,10123.093,1868.0995)">
+     transform="matrix(1.0036372,0,0,1.0036372,10123.093,1868.0997)">
     <path
        d="m 318.42253,4774.061 -0.58926,0 c 0.19506,0.035 0.39465,0.074 0.58926,0.1017 l 0,-0.1017 z m 
0,486.6215 c -0.66094,0.1056 -1.33667,0.2071 -2.00334,0.2071 l 2.00334,0 0,-0.2071 z m -2.00334,0.2071 c 
-30.10905,0 -54.53321,-109.0879 -54.53321,-243.4722 0,-132.285 23.66004,-240.032 53.11899,-243.367 l 
-81.3737,0 c -0.4676,-0.053 -0.91425,-0.053 -1.38474,-0.053 -0.45095,0 -0.90681,0 -1.35517,0.053 
-29.48696,3.1998 -53.20702,110.9977 -53.20702,243.367 0,132.3729 23.72006,240.1689 53.20702,243.3669 l 
0,0.1016 85.52635,0 z"
        id="path30030-4-0-4-5-9-0"
@@ -16047,13 +16161,13 @@
   </g>
   <path
      
style="fill:none;stroke:#000000;stroke-width:6.64596415;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
-     d="m 10582.599,6548.1651 c -0.541,181.8259 6.259,395 -43.702,393.1323"
+     d="m 10582.599,6548.1653 c -0.541,181.8259 6.259,395 -43.702,393.1323"
      id="path8419-6-5-8-1"
      inkscape:connector-curvature="0"
      sodipodi:nodetypes="cc" />
   <g
      id="g5176"
-     transform="matrix(1.0036372,0,0,1.0036372,10328.153,1842.9504)">
+     transform="matrix(1.0036372,0,0,1.0036372,10328.153,1842.9506)">
     <path
        sodipodi:nodetypes="cccccccccsccscscccc"
        d="m 362.54183,5008.879 -0.0813,0 c 0.0269,0 0.0545,0.01 0.0813,0.014 z m 0,67.1619 c -0.0912,0.015 
-0.18448,0.029 -0.27649,0.029 l 0.27649,0 z m -0.27649,0.029 c -4.15556,0 -7.5265,-15.0559 -7.5265,-33.6032 
0,-18.2576 3.26548,-33.1284 7.33131,-33.5887 l -11.23093,0 c -0.0645,-0.01 -0.12619,-0.01 -0.19112,-0.01 
-0.0622,0 -242.28384,0 -242.34572,0.01 -4.06969,0.4416 -7.34346,15.3195 -7.34346,33.5887 0,18.2697 
3.27696,33.1473 7.34665,33.5887 l 0,0.014 253.95956,0 z"
@@ -16068,7 +16182,7 @@
   </g>
   <path
      
style="fill:none;stroke:#000000;stroke-width:6.64596367;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
-     d="m 10510.13,6548.1651 c 8.711,187.9533 -20.921,383.7665 28.019,393.1323"
+     d="m 10510.13,6548.1653 c 8.711,187.9533 -20.921,383.7665 28.019,393.1323"
      id="path8419-6-5-8"
      inkscape:connector-curvature="0"
      sodipodi:nodetypes="cc" />
@@ -16076,10 +16190,10 @@
      style="fill:#a08e3a;fill-opacity:1"
      inkscape:connector-curvature="0"
      id="path30032-2-0-6-2-2-7"
-     d="m 10827.021,6928.7552 c -5.158,0 -9.339,-10.6346 -9.339,-23.7524 0,-13.1182 4.182,-23.7523 
9.339,-23.7523 5.158,0 9.34,10.6346 9.34,23.7523 0,13.1183 -4.182,23.7524 -9.34,23.7524 z" />
+     d="m 10827.021,6928.7554 c -5.158,0 -9.339,-10.6346 -9.339,-23.7524 0,-13.1182 4.182,-23.7523 
9.339,-23.7523 5.158,0 9.34,10.6346 9.34,23.7523 0,13.1183 -4.182,23.7524 -9.34,23.7524 z" />
   <path
      
style="fill:none;stroke:#19262e;stroke-width:4.67189407;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-     d="m 10884.52,6993.2219 c 0,0 50.181,146.8758 87.026,137.8293 36.844,-9.0465 53.855,-19.16 
100.022,-0.6668"
+     d="m 10884.52,6993.2221 c 0,0 50.181,146.8758 87.026,137.8293 36.844,-9.0465 53.855,-19.16 
100.022,-0.6668"
      id="path6847-0-4"
      inkscape:connector-curvature="0"
      sodipodi:nodetypes="czc" />
@@ -16088,10 +16202,10 @@
      style="fill:url(#linearGradient6704);fill-opacity:1"
      inkscape:connector-curvature="0"
      id="path30030-4-1-3-3-1-5-6"
-     d="m 10752.996,6880.0048 -0.05,0 c 0.01,0 0.03,0 0.05,0.015 z m 0,47.4783 c -0.05,0.016 -0.107,0.02 
-0.16,0.02 l 0.16,0 z m -0.16,0.02 c -2.412,0 -4.369,-10.6433 -4.369,-23.7546 0,-12.9068 1.896,-23.4193 
4.256,-23.7446 l -6.52,0 c -0.04,0 -0.07,0 -0.11,0 -0.04,0 -55.653,3e-4 -55.689,0 -2.362,0.3122 
-4.264,10.8296 -4.264,23.7446 0,12.9151 1.901,23.4325 4.263,23.7444 l 55.581,0.015 6.852,0 z" />
+     d="m 10752.996,6880.005 -0.05,0 c 0.01,0 0.03,0 0.05,0.015 z m 0,47.4783 c -0.05,0.016 -0.107,0.02 
-0.16,0.02 l 0.16,0 z m -0.16,0.02 c -2.412,0 -4.369,-10.6433 -4.369,-23.7546 0,-12.9068 1.896,-23.4193 
4.256,-23.7446 l -6.52,0 c -0.04,0 -0.07,0 -0.11,0 -0.04,0 -55.653,3e-4 -55.689,0 -2.362,0.3122 
-4.264,10.8296 -4.264,23.7446 0,12.9151 1.901,23.4325 4.263,23.7444 l 55.581,0.015 6.852,0 z" />
   <g
      id="g5322"
-     transform="matrix(1.0036372,0,0,1.0036372,10456.619,1851.0562)">
+     transform="matrix(1.0036372,0,0,1.0036372,10456.619,1851.0564)">
     <g
        id="g6686-2-1-4"
        transform="matrix(2.2905221,0,0,2.2905221,-782.12981,3823.2278)">
@@ -16133,7 +16247,7 @@
   </g>
   <path
      
style="fill:none;stroke:#000000;stroke-width:6.64596415;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
-     d="m 9834.0373,6940.8052 c -8.7106,187.9532 15.4706,530.9663 -35.8263,529.491"
+     d="m 9834.0372,6940.8054 c -8.7106,187.9532 15.4706,530.9663 -35.8263,529.491"
      id="path8419-6-5-8-4-4"
      inkscape:connector-curvature="0"
      sodipodi:nodetypes="cc" />
@@ -16141,21 +16255,21 @@
      style="fill:url(#linearGradient6691);fill-opacity:1"
      inkscape:connector-curvature="0"
      id="path30030-4-0-4-5-9-0-1"
-     d="m 9683.147,7144.3635 -0.5915,0 c 0.1958,0.035 0.3962,0.074 0.5915,0.102 l 0,-0.102 z m 0,488.3914 c 
-0.6633,0.106 -1.3416,0.2078 -2.0106,0.2078 l 2.0106,0 0,-0.2078 z m -2.0106,0.2078 c -30.2186,0 
-54.7316,-109.4846 -54.7316,-244.3577 0,-132.7662 23.7461,-240.9051 53.3121,-244.2522 l -81.6696,0 c 
-0.4693,-0.053 -0.9176,-0.053 -1.3898,-0.053 -0.4525,0 -0.9101,0 -1.3601,0.053 -29.5941,3.2114 
-53.4005,111.4014 -53.4005,244.2522 0,132.8544 23.8064,241.0424 53.4005,244.2521 l 0,0.1019 85.8375,0 z" />
+     d="m 9683.1469,7144.3637 -0.5915,0 c 0.1958,0.035 0.3962,0.074 0.5915,0.102 l 0,-0.102 z m 0,488.3914 c 
-0.6633,0.106 -1.3416,0.2078 -2.0106,0.2078 l 2.0106,0 0,-0.2078 z m -2.0106,0.2078 c -30.2186,0 
-54.7316,-109.4846 -54.7316,-244.3577 0,-132.7662 23.7461,-240.9051 53.3121,-244.2522 l -81.6696,0 c 
-0.4693,-0.053 -0.9176,-0.053 -1.3898,-0.053 -0.4525,0 -0.9101,0 -1.3601,0.053 -29.5941,3.2114 
-53.4005,111.4014 -53.4005,244.2522 0,132.8544 23.8064,241.0424 53.4005,244.2521 l 0,0.1019 85.8375,0 z" />
   <path
      style="fill:#edc6de;fill-opacity:1"
      inkscape:connector-curvature="0"
      id="path30032-2-1-4-0-11-5-1"
-     d="m 9676.9036,7144.2268 c -30.2345,0 -54.7428,109.3927 -54.7428,244.3311 0,134.9436 24.5105,244.3312 
54.7428,244.3312 30.2345,0 54.7429,-109.3929 54.7429,-244.3312 0,-134.9433 -24.5105,-244.3311 
-54.7429,-244.3311 z" />
+     d="m 9676.9035,7144.227 c -30.2345,0 -54.7428,109.3927 -54.7428,244.3311 0,134.9436 24.5105,244.3312 
54.7428,244.3312 30.2345,0 54.7429,-109.3929 54.7429,-244.3312 0,-134.9433 -24.5105,-244.3311 
-54.7429,-244.3311 z" />
   <path
      style="fill:url(#linearGradient6687);fill-opacity:1"
      inkscape:connector-curvature="0"
      id="path30030-4-0-4-5-9-0-8-6"
-     d="m 9932.4873,7354.8865 -0.081,0 c 0.027,0 0.055,0.01 0.081,0.014 z m -0.162,67.9552 c 
-577.5233,-688.1518 -288.7616,-344.076 0,0 z m 59.4814,-0.5441 c 1.0948,-1.8012 1.1747,-17.7528 
1.1747,-36.3676 0,-18.324 -0.2708,-28.5605 -1.2553,-31.024 l -72.078,-0.02 c -3.3913,1.4607 4.3781,1.985 
0.9021,-0.01 -0.054,-0.031 -248.7514,-92.5229 -248.8134,-92.5128 -1.2351,0.4432 -7.9578,110.3802 
-7.9578,126.7086 0,18.3361 3.7823,119.6893 7.8668,120.1323 l -0.099,0.1468 248.8934,-86.2204 z"
+     d="m 9932.4872,7354.8867 -0.081,0 c 0.027,0 0.055,0.01 0.081,0.014 z m -0.162,67.9552 c 
-577.5233,-688.1518 -288.7616,-344.076 0,0 z m 59.4814,-0.5441 c 1.0948,-1.8012 1.1747,-17.7528 
1.1747,-36.3676 0,-18.324 -0.2708,-28.5605 -1.2553,-31.024 l -72.078,-0.02 c -3.3913,1.4607 4.3781,1.985 
0.9021,-0.01 -0.054,-0.031 -248.7514,-92.5229 -248.8134,-92.5128 -1.2351,0.4432 -7.9578,110.3802 
-7.9578,126.7086 0,18.3361 3.7823,119.6893 7.8668,120.1323 l -0.099,0.1468 248.8934,-86.2204 z"
      sodipodi:nodetypes="cccccccsccscscccc" />
   <path
      
style="fill:none;stroke:#000000;stroke-width:6.64596367;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
-     d="m 9762.154,6940.8052 c 8.7106,187.9532 -15.4706,530.9663 35.8262,529.491"
+     d="m 9762.1539,6940.8054 c 8.7106,187.9532 -15.4706,530.9663 35.8262,529.491"
      id="path8419-6-5-8-4"
      inkscape:connector-curvature="0"
      sodipodi:nodetypes="cc" />
@@ -16163,15 +16277,15 @@
      style="fill:#a08e3a;fill-opacity:1"
      inkscape:connector-curvature="0"
      id="path30032-2-0-6-2-2-7-4"
-     d="m 10067.495,7413.5939 c -5.158,0 -9.339,-10.6345 -9.339,-23.7523 0,-13.1183 4.181,-23.7523 
9.339,-23.7523 5.158,0 9.339,10.6345 9.339,23.7523 0,13.1183 -4.181,23.7523 -9.339,23.7523 z" />
+     d="m 10067.495,7413.5941 c -5.158,0 -9.339,-10.6345 -9.339,-23.7523 0,-13.1183 4.181,-23.7523 
9.339,-23.7523 5.158,0 9.339,10.6345 9.339,23.7523 0,13.1183 -4.181,23.7523 -9.339,23.7523 z" />
   <path
-     d="m 9991.6574,7354.8676 c -4.1728,0 -7.5554,15.0981 -7.5554,33.7218 0,18.6245 3.3829,33.7218 
7.5554,33.7218 4.1729,0 7.5555,-15.098 7.5555,-33.7218 0,-18.6244 -3.3829,-33.7218 -7.5555,-33.7218 z"
+     d="m 9991.6573,7354.8678 c -4.1728,0 -7.5554,15.0981 -7.5554,33.7218 0,18.6245 3.3829,33.7218 
7.5554,33.7218 4.1729,0 7.5555,-15.098 7.5555,-33.7218 0,-18.6244 -3.3829,-33.7218 -7.5555,-33.7218 z"
      id="path30032-2-1-4-0-11-5-3-0-0"
      inkscape:connector-curvature="0"
      style="fill:url(#linearGradient6682);fill-opacity:1" />
   <g
      id="g6264"
-     transform="matrix(1.0036372,0,0,1.0036372,9126.8456,2425.0058)">
+     transform="matrix(1.0036372,0,0,1.0036372,9126.8455,2425.006)">
     <path
        sodipodi:nodetypes="czc"
        inkscape:connector-curvature="0"
@@ -16228,13 +16342,14 @@
     </g>
   </g>
   <g
-     id="g7697">
+     id="g7697"
+     transform="translate(-1.249641e-4,2.1731853e-4)">
     <path
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
        id="path3928-8-9-2-8-9-4-4-3-0"
        d="m 9961.4454,7356.0477 0.094,65.6339"
-       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.50000003;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
+       
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 />
     <text
        sodipodi:linespacing="125%"
        id="text4734-4-5-5-6-2-4-1-0"
@@ -16248,7 +16363,7 @@
          sodipodi:role="line">d</tspan></text>
   </g>
   <g
-     transform="translate(686.91197,-485.37484)"
+     transform="translate(686.91185,-485.37462)"
      id="g7697-9">
     <path
        sodipodi:nodetypes="cc"
@@ -16268,4 +16383,192 @@
          id="tspan4736-8-2-9-4-8-9-5-2-0"
          sodipodi:role="line">d</tspan></text>
   </g>
+  <text
+     xml:space="preserve"
+     
style="font-size:101.84909058px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="886.08038"
+     y="17730.174"
+     id="text5892-2-6-6-1-6-1-3-8-4-2"
+     sodipodi:linespacing="125%"><tspan
+       style="font-size:90px"
+       sodipodi:role="line"
+       x="886.08038"
+       y="17730.174"
+       id="tspan14125-8-0-1-1-8-9-98-3-1">encoder-linear-inclined-plane-weight-diff-angle.png</tspan></text>
+  <text
+     xml:space="preserve"
+     
style="font-size:97.40011597px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="876.62091"
+     y="17920.633"
+     id="text15614-65-5-9"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       x="876.62091"
+       y="17920.633"
+       id="tspan15778-5-9">encoderMode = LINEARONPLANEWEIGHTDIFFANGLE</tspan><tspan
+       sodipodi:role="line"
+       x="876.62091"
+       y="18042.383"
+       id="tspan15669-8-3-1">data = </tspan></text>
+  <g
+     id="g6740"
+     
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-linear-inclined-plane-weight-diff-angle.png"
+     inkscape:export-xdpi="15.721953"
+     inkscape:export-ydpi="15.721953">
+    <rect
+       y="16417.791"
+       x="897.74506"
+       height="1144.896"
+       width="1643.2402"
+       id="rect5960-6-3-0"
+       style="fill:url(#linearGradient5680);fill-opacity:1;stroke:none" />
+    <path
+       transform="matrix(0.73977464,-0.19822202,0.19822202,0.73977464,-7768.4615,13710.856)"
+       d="m 9952.5078,7457.5874 a 56.383801,56.383801 0 1 1 -112.7676,0 56.383801,56.383801 0 1 1 112.7676,0 
z"
+       sodipodi:ry="56.383801"
+       sodipodi:rx="56.383801"
+       sodipodi:cy="7457.5874"
+       sodipodi:cx="9896.124"
+       id="path7750-1-0"
+       style="fill:#19262e;fill-opacity:1;stroke:none"
+       sodipodi:type="arc" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path12417-1-2-1-2-3-5-0"
+       d="m 1661.9349,17065.385 123.29,-33.036"
+       
style="fill:#fff200;fill-opacity:1;stroke:#000000;stroke-width:4.86109352;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleInL);marker-mid:none;marker-end:url(#TriangleOutL)"
 />
+    <rect
+       ry="0"
+       transform="matrix(0.96592582,-0.25881907,0.25881903,0.96592583,0,0)"
+       y="17003.549"
+       x="-3551.5232"
+       height="18.177877"
+       width="1432.4166"
+       id="rect9054-5-7"
+       style="fill:#666666;fill-opacity:1;stroke:none" />
+    <path
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path9142-8-2"
+       d="m 970.67588,17364.758 1266.49902,0"
+       
style="fill:none;stroke:#000000;stroke-width:2.51335645;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:30.16027805,
 30.16027805;stroke-dashoffset:0" />
+    <path
+       sodipodi:open="true"
+       sodipodi:end="0.23216623"
+       sodipodi:start="0.023184659"
+       transform="matrix(3.395168,0,0,-3.395168,-36068.748,44848.791)"
+       d="m 11213.013,8097.8463 a 372.34827,372.34827 0 0 1 -9.89,77.0402"
+       sodipodi:ry="372.34827"
+       sodipodi:rx="372.34827"
+       sodipodi:cy="8089.2144"
+       sodipodi:cx="10840.765"
+       id="path9146-8-3"
+       style="fill:none;stroke:#000000;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <text
+       transform="scale(1.0840646,0.92245425)"
+       sodipodi:linespacing="125%"
+       id="text12007-7-9-9-6-7-0"
+       y="18634.031"
+       x="1646.5481"
+       
style="font-size:62.82155228px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#1a1a1a;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="18634.031"
+         x="1646.5481"
+         id="tspan12009-9-7-2-6-9-4"
+         sodipodi:role="line">push</tspan><tspan
+         id="tspan6681"
+         y="18712.559"
+         x="1646.5481"
+         sodipodi:role="line">angle</tspan><tspan
+         id="tspan6709"
+         y="18791.086"
+         x="1646.5481"
+         sodipodi:role="line">15º</tspan></text>
+    <g
+       transform="matrix(0.96592583,-0.25881905,0.25881905,0.96592583,-13579.52,13131.132)"
+       id="g6219-1">
+      <rect
+         style="fill:#8686bf;fill-opacity:1;stroke:none"
+         id="rect7748-65-4-6"
+         width="156.1869"
+         height="61.737263"
+         x="12966.111"
+         y="7750.8271" />
+      <rect
+         style="fill:url(#linearGradient8020-5);fill-opacity:1;stroke:none"
+         id="rect7748-65-4-5-2"
+         width="71.972328"
+         height="51.53558"
+         x="13008.219"
+         y="7699.2915" />
+      <rect
+         style="fill:url(#linearGradient8022-03);fill-opacity:1;stroke:none"
+         id="rect7748-65-4-5-1-43"
+         width="102.64497"
+         height="22.140963"
+         x="12992.882"
+         y="7812.5645" />
+    </g>
+    <path
+       sodipodi:nodetypes="czc"
+       inkscape:connector-curvature="0"
+       id="path6674"
+       d="m 1116.4994,17271.876 c 405.4264,-110.102 1201.1129,-343.032 1238.342,-313.352 37.2291,29.68 
29.3054,117.874 30.7931,195.197"
+       
style="fill:none;stroke:#000000;stroke-width:1.65200007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
 />
+    <path
+       transform="matrix(0.32101161,0,0,0.32101161,1567.8366,11538.911)"
+       d="m 2501.9568,16966.516 a 101.9473,101.9473 0 1 1 -203.8946,0 101.9473,101.9473 0 1 1 203.8946,0 z"
+       sodipodi:ry="101.9473"
+       sodipodi:rx="101.9473"
+       sodipodi:cy="16966.516"
+       sodipodi:cx="2400.0095"
+       id="path5682"
+       
style="fill:#a0563a;fill-opacity:1;stroke:#ff0000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       sodipodi:type="arc" />
+    <g
+       transform="translate(-1.249641e-4,2.1731853e-4)"
+       id="g6676">
+      <rect
+         style="fill:#b8b560;fill-opacity:1;stroke:none"
+         id="rect7748-6-2-6"
+         width="268.14301"
+         height="178.76201"
+         x="2247.1548"
+         y="17154.088" />
+      <text
+         xml:space="preserve"
+         
style="font-size:67.14350891px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#1a1a1a;fill-opacity:1;stroke:none;font-family:Sans"
+         x="2291.5103"
+         y="17261.795"
+         id="text12007-7-9-9-2-5"
+         sodipodi:linespacing="125%"
+         inkscape:transform-center-x="-16.764795"
+         inkscape:transform-center-y="4.968234"><tspan
+           sodipodi:role="line"
+           id="tspan12009-9-7-2-7-5"
+           x="2291.5103"
+           y="17261.795">mass</tspan></text>
+    </g>
+    <text
+       transform="scale(1.0840646,0.92245425)"
+       sodipodi:linespacing="125%"
+       id="text12007-7-9-9-6-7-0-3"
+       y="18856.883"
+       x="2088.5652"
+       
style="font-size:62.82155228px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#1a1a1a;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="18856.883"
+         x="2088.5652"
+         id="tspan12009-9-7-2-6-9-4-4"
+         sodipodi:role="line">weight</tspan><tspan
+         id="tspan6681-8"
+         y="18935.41"
+         x="2088.5652"
+         sodipodi:role="line">angle</tspan><tspan
+         id="tspan6709-9"
+         y="19013.938"
+         x="2088.5652"
+         sodipodi:role="line">90º</tspan></text>
+  </g>
 </svg>
diff --git a/src/Makefile.am b/src/Makefile.am
index bbe503b..2ff1c54 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -276,6 +276,7 @@ RESOURCES = \
        
../images/encoder-linear-inv-on-person-weighted-moving-pulley2.png,encoder-linear-inv-on-person-weighted-moving-pulley2.png
 \
        ../images/encoder-linear-on-weighted-moving-pulley.png,encoder-linear-on-weighted-moving-pulley.png \
        ../images/encoder-linear-inclined-plane.png,encoder-linear-inclined-plane.png \
+       
../images/encoder-linear-inclined-plane-weight-diff-angle.png,encoder-linear-inclined-plane-weight-diff-angle.png
 \
        ../images/encoder-rotary-friction-pulley.png,encoder-rotary-friction-pulley.png \
        ../images/encoder-rotary-friction-pulley-axis.png,encoder-rotary-friction-pulley-axis.png \
        ../images/encoder-rotary-friction-side-inertial.png,encoder-rotary-friction-side-inertial.png \
diff --git a/src/constants.cs b/src/constants.cs
index 9a2e58b..8aaa60b 100644
--- a/src/constants.cs
+++ b/src/constants.cs
@@ -655,6 +655,7 @@ public class Constants
        public static string FileNameEncoderWeightedMovPulleyOnPerson2Inv = 
"encoder-linear-inv-on-person-weighted-moving-pulley2.png";
        public static string FileNameEncoderWeightedMovPulleyOnLinearEncoder = 
"encoder-linear-on-weighted-moving-pulley.png";
        public static string FileNameEncoderLinearOnPlane = "encoder-linear-inclined-plane.png";        
+       public static string FileNameEncoderLinearOnPlaneWeightDiffAngle = 
"encoder-linear-inclined-plane-weight-diff-angle.png";       
 
        //rotary friction
        public static string FileNameEncoderFrictionSide = "encoder-rotary-friction-pulley.png";
@@ -674,7 +675,8 @@ public class Constants
                LINEAR, LINEARINVERTED, LINEARINERTIAL, 
                WEIGHTEDMOVPULLEYLINEARONPERSON1, WEIGHTEDMOVPULLEYLINEARONPERSON1INV,
                WEIGHTEDMOVPULLEYLINEARONPERSON2, WEIGHTEDMOVPULLEYLINEARONPERSON2INV,
-               WEIGHTEDMOVPULLEYONLINEARENCODER, LINEARONPLANE, 
+               WEIGHTEDMOVPULLEYONLINEARENCODER, 
+               LINEARONPLANE, LINEARONPLANEWEIGHTDIFFANGLE, 
                ROTARYFRICTIONSIDE, ROTARYFRICTIONAXIS,                         //friction
                ROTARYFRICTIONSIDEINERTIAL, ROTARYFRICTIONAXISINERTIAL,         //friction
                WEIGHTEDMOVPULLEYROTARYFRICTION,                                //friction
diff --git a/src/encoder.cs b/src/encoder.cs
index adb97fd..bb319ec 100644
--- a/src/encoder.cs
+++ b/src/encoder.cs
@@ -44,9 +44,7 @@ public class EncoderParams
                                        
        //encoderConfiguration conversions
        //in signals and curves, need to do conversions (invert, inertiaMomentum, diameter)
-       private string encoderConfigurationName;        
-       private int inertiaMomentum; 
-       private double diameter;
+       private EncoderConfiguration encoderConfiguration;      
        
        private string smoothCon; //to pass always as "." to R
        private int curve;
@@ -70,6 +68,7 @@ public class EncoderParams
        {
        }
 
+       /*
        //to encoder capture
        //RunEncoderCapturePython: pyserial_pyper.py and pyserial_pyper_windows.py . This will be deprecated 
soon 
        public EncoderParams(int time, int minHeight, int exercisePercentBodyWeight, string mass, 
@@ -123,11 +122,12 @@ public class EncoderParams
                        " " + mainVariable //+ " " + Util.BoolToInt(inverted).ToString();
                ;
        }
+       */
        
        //to graph.R    
        public EncoderParams(int minHeight, int exercisePercentBodyWeight, string massBody, string massExtra, 
                        string eccon, string analysis, string analysisVariables, string analysisOptions, 
-                       string encoderConfigurationName, int inertiaMomentum, double diameter,
+                       EncoderConfiguration encoderConfiguration,
                        string smoothCon, int curve, int width, int height, string decimalSeparator)
        {
                this.minHeight = minHeight;
@@ -138,9 +138,7 @@ public class EncoderParams
                this.analysis = analysis;
                this.analysisVariables = analysisVariables;
                this.analysisOptions = analysisOptions;
-               this.encoderConfigurationName = encoderConfigurationName;
-               this.inertiaMomentum = inertiaMomentum;
-               this.diameter = diameter;
+               this.encoderConfiguration = encoderConfiguration;
                this.smoothCon = smoothCon;
                this.curve = curve;
                this.width = width;
@@ -152,7 +150,7 @@ public class EncoderParams
        {
                return minHeight + sep + exercisePercentBodyWeight + sep + massBody + sep + massExtra +
                        sep + eccon + sep + analysis + sep + analysisVariables + sep + analysisOptions + 
-                       sep + encoderConfigurationName + sep + inertiaMomentum.ToString() + sep + 
Util.ConvertToPoint(diameter) +
+                       sep + encoderConfiguration.ToString(sep, true) +
                        sep + smoothCon + sep + curve + sep + width + sep + height + sep + decimalSeparator;
        }
        
@@ -500,8 +498,6 @@ public class EncoderExercise
        public string ressistance;
        public string description;
        public double speed1RM;
-       public int bodyAngle;
-       public int weightAngle;
 
        public EncoderExercise() {
        }
@@ -510,8 +506,8 @@ public class EncoderExercise
                this.name = name;
        }
 
-       public EncoderExercise(int uniqueID, string name, int percentBodyWeight, string ressistance, string 
description, 
-                       double speed1RM, int bodyAngle, int weightAngle)
+       public EncoderExercise(int uniqueID, string name, int percentBodyWeight, 
+                       string ressistance, string description, double speed1RM)
        {
                this.uniqueID = uniqueID;
                this.name = name;
@@ -519,8 +515,6 @@ public class EncoderExercise
                this.ressistance = ressistance;
                this.description = description;
                this.speed1RM = speed1RM;
-               this.bodyAngle = bodyAngle;
-               this.weightAngle = weightAngle;
        }
 
        ~EncoderExercise() {}
@@ -620,12 +614,15 @@ public class EncoderConfiguration {
        public string text;
        public bool has_d;      //axis
        public bool has_D;      //external disc or pulley
-       public bool has_angle;
+       public bool has_angle_push;
+       public bool has_angle_weight;
        public bool has_inertia;
        public double d;        //axis
        public double D;        //external disc or pulley
-       public int angle;
+       public int anglePush;
+       public int angleWeight;
        public int inertia;
+       public int gearedDown;  //demultiplication
 
        //this is the default values
        public EncoderConfiguration() {
@@ -637,12 +634,33 @@ public class EncoderConfiguration {
                text = "Linear encoder attached to a barbell.";
                has_d = false;
                has_D = false;
-               has_angle = false;
+               has_angle_push = false;
+               has_angle_weight = false;
                has_inertia = false;
                d = -1;
                D = -1;
-               angle = -1;
+               anglePush = -1;
+               angleWeight = -1;
                inertia = -1;
+               gearedDown = 1;
+       }
+
+       //decimalPointForR: ensure decimal is point in order to work in R
+       public string ToString(string sep, bool decimalPointForR) {
+               string str_d = "";
+               string str_D = "";
+               if(decimalPointForR) {
+                       str_d = Util.ConvertToPoint(d);
+                       str_D = Util.ConvertToPoint(D);
+               } else {
+                       str_d = d.ToString();
+                       str_D = D.ToString();
+               }
+
+               return 
+                       name + sep + str_d + sep + str_D + sep + 
+                       anglePush.ToString() + sep + angleWeight.ToString() + sep +
+                       inertia.ToString() + sep + gearedDown.ToString();
        }
        
        /* note: if this changes, change also in:
@@ -652,8 +670,10 @@ public class EncoderConfiguration {
                this.name = name;
                has_d = false;
                has_D = false;
-               has_angle = false;
+               has_angle_push = false;
+               has_angle_weight = false;
                has_inertia = false;
+               gearedDown = 1;
 
                if(name == Constants.EncoderConfigurationNames.LINEAR) {
                        type = Constants.EncoderType.LINEAR;
@@ -685,7 +705,10 @@ public class EncoderConfiguration {
                        image = Constants.FileNameEncoderWeightedMovPulleyOnPerson1;
                        code = "Linear - barbell - moving pulley";
                        text = "Linear encoder attached to a barbell." + " " + 
-                               "Barbell is connected to a weighted moving pulley.";
+                               "Barbell is connected to a weighted moving pulley." 
+                               + " " + "Mass is geared down by 2."; 
+               
+                       gearedDown = 2;
                }
                else if(name == Constants.EncoderConfigurationNames.WEIGHTEDMOVPULLEYLINEARONPERSON1INV) {
                        type = Constants.EncoderType.LINEAR;
@@ -693,7 +716,10 @@ public class EncoderConfiguration {
                        image = Constants.FileNameEncoderWeightedMovPulleyOnPerson1Inv;
                        code = "Linear inv - barbell - moving pulley";
                        text = "Linear encoder inverted attached to a barbell." + " " + 
-                               "Barbell is connected to a weighted moving pulley.";
+                               "Barbell is connected to a weighted moving pulley."
+                               + " " + "Mass is geared down by 2."; 
+               
+                       gearedDown = 2;
                }
                else if(name == Constants.EncoderConfigurationNames.WEIGHTEDMOVPULLEYLINEARONPERSON2) {
                        type = Constants.EncoderType.LINEAR;
@@ -701,7 +727,10 @@ public class EncoderConfiguration {
                        image = Constants.FileNameEncoderWeightedMovPulleyOnPerson2;
                        code = "Linear - barbell - pulley - moving pulley";
                        text = "Linear encoder attached to a barbell." + " " + 
-                               "Barbell is connected to a fixed pulley that is connected to a weighted 
moving pulley.";
+                               "Barbell is connected to a fixed pulley that is connected to a weighted 
moving pulley."
+                               + " " + "Mass is geared down by 2."; 
+               
+                       gearedDown = 2;
                }
                else if(name == Constants.EncoderConfigurationNames.WEIGHTEDMOVPULLEYLINEARONPERSON2INV) {
                        type = Constants.EncoderType.LINEAR;
@@ -709,14 +738,20 @@ public class EncoderConfiguration {
                        image = Constants.FileNameEncoderWeightedMovPulleyOnPerson2Inv;
                        code = "Linear inv - barbell - pulley - moving pulley";
                        text = "Linear encoder inverted attached to a barbell." + " " + 
-                               "Barbell is connected to a fixed pulley that is connected to a weighted 
moving pulley.";
+                               "Barbell is connected to a fixed pulley that is connected to a weighted 
moving pulley."
+                               + " " + "Mass is geared down by 2."; 
+               
+                       gearedDown = 2;
                }
                else if(name == Constants.EncoderConfigurationNames.WEIGHTEDMOVPULLEYONLINEARENCODER) {
                        type = Constants.EncoderType.LINEAR;
                        position = 7;
                        image = Constants.FileNameEncoderWeightedMovPulleyOnLinearEncoder;
                        code = "Linear - moving pulley";
-                       text = "Linear encoder attached to a weighted moving pulley.";
+                       text = "Linear encoder attached to a weighted moving pulley."
+                               + " " + "Mass is geared down by 2."; 
+               
+                       gearedDown = 2;
                }
                else if(name == Constants.EncoderConfigurationNames.LINEARONPLANE) {
                        type = Constants.EncoderType.LINEAR;
@@ -725,7 +760,18 @@ public class EncoderConfiguration {
                        code = "Linear - inclinated plane";
                        text = "Linear encoder on a inclinated plane.";
                        
-                       has_angle = true;
+                       has_angle_push = true;
+                       has_angle_weight = false;
+               }
+               else if(name == Constants.EncoderConfigurationNames.LINEARONPLANEWEIGHTDIFFANGLE) {
+                       type = Constants.EncoderType.LINEAR;
+                       position = 9;
+                       image = Constants.FileNameEncoderLinearOnPlaneWeightDiffAngle;
+                       code = "Linear - inclinated plane different angle";
+                       text = "Linear encoder on a inclinated plane moving a weight in different angle.";
+                       
+                       has_angle_push = true;
+                       has_angle_weight = true;
                }
                else if(name == Constants.EncoderConfigurationNames.ROTARYFRICTIONSIDE) {
                        type = Constants.EncoderType.ROTARYFRICTION;
@@ -795,7 +841,10 @@ public class EncoderConfiguration {
                        position = 2;
                        image = Constants.FileNameEncoderAxisWithMovPulley;
                        code = "Rotary axis - moving pulley";
-                       text = "Rotary axis encoder on weighted moving pulley.";
+                       text = "Rotary axis encoder on weighted moving pulley."
+                               + " " + "Mass is geared down by 2."; 
+                       
+                       gearedDown = 2;
                }
        }
 }
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index e05314f..c75b4f7 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -310,6 +310,8 @@ public partial class ChronoJumpWindow
                if(! encoderCheckPort())
                        return;
                
+               /*
+                * DEPRECATED
                string analysisOptions = getEncoderAnalysisOptions(true);
 
                double heightHigherCondition = -1;
@@ -400,6 +402,7 @@ public partial class ChronoJumpWindow
                        encoderCalculeCurves(encoderActions.CAPTURE_EXTERNAL); //deprecated
                }
                else if (encoderCaptureOptionsWin.radiobutton_encoder_capture_safe.Active) {
+               */
                        //tis notebook has capture (signal plotting), and curves (shows R graph)        
                        if(notebook_encoder_capture.CurrentPage == 1)
                                notebook_encoder_capture.PrevPage();
@@ -412,7 +415,7 @@ public partial class ChronoJumpWindow
                        //entry_encoder_signal_comment.Text = "";
 
                        Log.WriteLine("ZZZZZZZZZZZZZZZ");
-               }
+               //}
        }
        
        void on_button_encoder_capture_calcule_im () 
@@ -685,9 +688,7 @@ public partial class ChronoJumpWindow
                                analysis,
                                "none",                         //analysisVariables (not needed in create 
curves). Cannot be blank
                                analysisOptions,
-                               encoderConfigurationCurrent.name.ToString(),
-                               encoderConfigurationCurrent.inertia,
-                               encoderConfigurationCurrent.d,
+                               encoderConfigurationCurrent,
                                Util.ConvertToPoint(encoderSmoothCon),                  //R decimal: '.'
                                0,                      //curve is not used here
                                image_encoder_width, image_encoder_height,
@@ -1260,9 +1261,7 @@ public partial class ChronoJumpWindow
                                "exportCSV",
                                "none",                                         //analysisVariables (not 
needed in create curves). Cannot be blank
                                analysisOptions,
-                               encoderConfigurationCurrent.name.ToString(),
-                               encoderConfigurationCurrent.inertia,
-                               encoderConfigurationCurrent.d,
+                               encoderConfigurationCurrent,
                                Util.ConvertToPoint(encoderSmoothCon),                  //R decimal: '.'
                                -1,
                                image_encoder_width,
@@ -1834,7 +1833,7 @@ public partial class ChronoJumpWindow
                //this is what's readed from encoder, as it's linear (non-inverted, not inertial, ...)
                //it's stored in file like this
                int byteReadedRaw;
-               //this it's converted applying encoderConfigurationConversions: inverted, inertial, diameter, 
demult, ...
+               //this it's converted applying encoderConfigurationConversions: inverted, inertial, diameter, 
gearedDown, ...
                double byteReaded;
                
                //initialize
@@ -2165,9 +2164,7 @@ public partial class ChronoJumpWindow
                                        sendAnalysis,
                                        analysisVariables,
                                        analysisOptions,
-                                       encoderConfigurationCurrent.name.ToString(),
-                                       encoderConfigurationCurrent.inertia,
-                                       encoderConfigurationCurrent.d,
+                                       encoderConfigurationCurrent,
                                        Util.ConvertToPoint(encoderSmoothCon),                  //R decimal: 
'.'
                                        myCurveNum,
                                        image_encoder_width, 
@@ -2275,9 +2272,7 @@ Log.WriteLine(str);
                                        sendAnalysis,
                                        analysisVariables, 
                                        analysisOptions,
-                                       encoderConfigurationCurrent.name.ToString(),
-                                       encoderConfigurationCurrent.inertia,
-                                       encoderConfigurationCurrent.d,
+                                       encoderConfigurationCurrent,
                                        Util.ConvertToPoint(encoderSmoothCon),                  //R decimal: 
'.'
                                        
Convert.ToInt32(UtilGtk.ComboGetActive(combo_encoder_analyze_curve_num_combo)),
                                        image_encoder_width,
@@ -2908,8 +2903,6 @@ Log.WriteLine(str);
                ArrayList a3 = new ArrayList();
                ArrayList a4 = new ArrayList();
                ArrayList a5 = new ArrayList();
-               ArrayList a6 = new ArrayList();
-               ArrayList a7 = new ArrayList();
 
                //0 is the widgget to show; 1 is the editable; 2 id default value
                a1.Add(Constants.GenericWindowShow.ENTRY); a1.Add(false); a1.Add(ex.name);
@@ -2927,12 +2920,6 @@ Log.WriteLine(str);
                a5.Add(Constants.GenericWindowShow.HBOXSPINDOUBLE2); a5.Add(true); a5.Add("");  //alowed to 
change
                bigArray.Add(a5);
                
-               a6.Add(Constants.GenericWindowShow.SPININT2); a6.Add(false); a6.Add("");
-               bigArray.Add(a6);
-               
-               a7.Add(Constants.GenericWindowShow.SPININT3); a7.Add(false); a7.Add("");
-               bigArray.Add(a7);
-               
                
                genericWin = GenericWindow.Show(false, Catalog.GetString("Encoder exercise name:"), bigArray);
                genericWin.LabelSpinInt = Catalog.GetString("Displaced body weight") + " (%)";
@@ -2942,10 +2929,13 @@ Log.WriteLine(str);
                genericWin.LabelSpinDouble2 = Catalog.GetString("Speed at 1RM");
                genericWin.SetSpinDouble2Value(ex.speed1RM);
                genericWin.SetSpinDouble2Increments(0.001,0.1);
+               /*
+                * Now this is in encoder configuration
                genericWin.LabelSpinInt2 = Catalog.GetString("Body angle") + " (º)";
                genericWin.SetSpin2Range(ex.bodyAngle,ex.bodyAngle); //done this because IsEditable does not 
affect the cursors
                genericWin.LabelSpinInt3 = Catalog.GetString("Weight angle") + " (º)";
                genericWin.SetSpin3Range(ex.weightAngle,ex.weightAngle); //done this because IsEditable does 
not affect the cursors
+               */
                genericWin.ShowButtonCancel(false);
                
                genericWin.Button_accept.Clicked += new 
EventHandler(on_button_encoder_exercise_info_accepted);
@@ -2961,8 +2951,6 @@ Log.WriteLine(str);
                ArrayList a3 = new ArrayList();
                ArrayList a4 = new ArrayList();
                ArrayList a5 = new ArrayList();
-               ArrayList a6 = new ArrayList();
-               ArrayList a7 = new ArrayList();
 
                //0 is the widgget to show; 1 is the editable; 2 id default value
                a1.Add(Constants.GenericWindowShow.ENTRY); a1.Add(true); a1.Add("");
@@ -2980,12 +2968,6 @@ Log.WriteLine(str);
                a5.Add(Constants.GenericWindowShow.HBOXSPINDOUBLE2); a5.Add(true); a5.Add("");
                bigArray.Add(a5);
                
-               a6.Add(Constants.GenericWindowShow.SPININT2); a6.Add(false); a6.Add("");
-               bigArray.Add(a6);
-               
-               a7.Add(Constants.GenericWindowShow.SPININT3); a7.Add(false); a7.Add("");
-               bigArray.Add(a7);
-               
                
                genericWin = GenericWindow.Show(false,  //don't show now
                                Catalog.GetString("Write the name of the encoder exercise:"), bigArray);
@@ -2995,12 +2977,15 @@ Log.WriteLine(str);
                genericWin.LabelEntry3 = Catalog.GetString("Description");
                genericWin.LabelSpinDouble2 = Catalog.GetString("Speed at 1RM");
                genericWin.SetSpinDouble2Increments(0.001,0.1);
+               /*
+                * Now this is in encoder configuration
                genericWin.LabelSpinInt2 = Catalog.GetString("Body angle") + " (º)";
                genericWin.SetSpin2Range(0,90);
                genericWin.SetSpin2Value(90);
                genericWin.LabelSpinInt3 = Catalog.GetString("Weight angle") + " (º)";
                genericWin.SetSpin3Range(0,90);
                genericWin.SetSpin3Value(90);
+               */
                genericWin.SetButtonAcceptLabel(Catalog.GetString("Add"));
                
                genericWin.HideOnAccept = false;
@@ -3036,13 +3021,13 @@ Log.WriteLine(str);
                        if(adding)
                                SqliteEncoder.InsertExercise(false, name, genericWin.SpinIntSelected, 
                                                genericWin.Entry2Selected, genericWin.Entry3Selected,
-                                               Util.ConvertToPoint(genericWin.SpinDouble2Selected),
-                                               genericWin.SpinInt2Selected, genericWin.SpinInt3Selected);
+                                               Util.ConvertToPoint(genericWin.SpinDouble2Selected)
+                                               );
                        else
                                SqliteEncoder.UpdateExercise(false, name, genericWin.SpinIntSelected, 
                                                genericWin.Entry2Selected, genericWin.Entry3Selected,
-                                               Util.ConvertToPoint(genericWin.SpinDouble2Selected),
-                                               genericWin.SpinInt2Selected, genericWin.SpinInt3Selected);
+                                               Util.ConvertToPoint(genericWin.SpinDouble2Selected)
+                                               );
 
                        ArrayList encoderExercises = SqliteEncoder.SelectEncoderExercises(false,-1, false);
                        encoderExercisesTranslationAndBodyPWeight = new String [encoderExercises.Count];
@@ -4434,11 +4419,9 @@ Log.WriteLine(str);
 
                                        capturingCsharp = encoderCaptureProcess.CAPTURING;
 
-                                       //TODO: add demult and angle    
-                                       massDisplacedEncoder = 
UtilEncoder.GetMassByEncoderConfiguration(encoderConfigurationCurrent, 
+                                       massDisplacedEncoder = UtilEncoder.GetMassByEncoderConfiguration( 
encoderConfigurationCurrent, 
                                                        findMass(Constants.MassType.BODY), 
findMass(Constants.MassType.EXTRA),
-                                                       getExercisePercentBodyWeightFromCombo(), 1, 90
-                                                       );
+                                                       getExercisePercentBodyWeightFromCombo() );
                                }
 
                                if(action == encoderActions.CAPTURE) {
diff --git a/src/gui/encoderConfiguration.cs b/src/gui/encoderConfiguration.cs
index 397589b..36da3ae 100644
--- a/src/gui/encoderConfiguration.cs
+++ b/src/gui/encoderConfiguration.cs
@@ -40,13 +40,15 @@ public class EncoderConfigurationWindow {
        [Widget] Gtk.TextView textview;
        [Widget] Gtk.Box hbox_d;
        [Widget] Gtk.Box hbox_D;
-       [Widget] Gtk.Box hbox_angle;
+       [Widget] Gtk.Box hbox_angle_push;
+       [Widget] Gtk.Box hbox_angle_weight;
        [Widget] Gtk.Box hbox_inertia;
        [Widget] Gtk.Box hbox_inertia2;
 
        [Widget] Gtk.SpinButton spin_d;
        [Widget] Gtk.SpinButton spin_D;
-       [Widget] Gtk.SpinButton spin_angle;
+       [Widget] Gtk.SpinButton spin_angle_push;
+       [Widget] Gtk.SpinButton spin_angle_weight;
        [Widget] Gtk.SpinButton spin_inertia;
                
        [Widget] Gtk.Box vbox_select_encoder;
@@ -107,7 +109,7 @@ public class EncoderConfigurationWindow {
 
                EncoderConfigurationWindowBox.initializeList(ec.type, ec.position);
                
-               EncoderConfigurationWindowBox.putValuesStoredPreviously(ec.d, ec.D, ec.angle, ec.inertia);
+               EncoderConfigurationWindowBox.putValuesStoredPreviously(ec.d, ec.D, ec.anglePush, 
ec.angleWeight, ec.inertia);
        
                EncoderConfigurationWindowBox.encoder_configuration.Show ();
                return EncoderConfigurationWindowBox;
@@ -161,7 +163,8 @@ public class EncoderConfigurationWindow {
                
                hbox_d.Visible = ec.has_d;
                hbox_D.Visible = ec.has_D;
-               hbox_angle.Visible = ec.has_angle;
+               hbox_angle_push.Visible = ec.has_angle_push;
+               hbox_angle_weight.Visible = ec.has_angle_weight;
                hbox_inertia.Visible = ec.has_inertia;
                hbox_inertia2.Visible = ec.has_inertia;
                
@@ -172,13 +175,15 @@ public class EncoderConfigurationWindow {
                        on_button_encoder_capture_inertial_show_clicked (new object(), new EventArgs());
        }
        
-       private void putValuesStoredPreviously(double d, double D, int angle, int inertia) {
+       private void putValuesStoredPreviously(double d, double D, int anglePush, int angleWeight, int 
inertia) {
                if(d != -1)
                        spin_d.Value = d;
                if(D != -1)
                        spin_D.Value = D;
-               if(angle != -1)
-                       spin_angle.Value = angle;
+               if(anglePush != -1)
+                       spin_angle_push.Value = anglePush;
+               if(angleWeight != -1)
+                       spin_angle_weight.Value = angleWeight;
                if(inertia != -1)
                        spin_inertia.Value = inertia;
        }
@@ -194,7 +199,8 @@ public class EncoderConfigurationWindow {
                EncoderConfiguration ec = (EncoderConfiguration) list[listCurrent];
                ec.d = (double) spin_d.Value; 
                ec.D = (double) spin_D.Value; 
-               ec.angle = (int) spin_angle.Value; 
+               ec.anglePush = (int) spin_angle_push.Value; 
+               ec.angleWeight = (int) spin_angle_weight.Value; 
                ec.inertia = (int) spin_inertia.Value; 
 
                return ec;
diff --git a/src/sqlite/encoder.cs b/src/sqlite/encoder.cs
index 05a0bff..3a83d0e 100644
--- a/src/sqlite/encoder.cs
+++ b/src/sqlite/encoder.cs
@@ -338,13 +338,13 @@ class SqliteEncoder : Sqlite
                        "ressistance TEXT, " +
                        "description TEXT, " +
                        "future1 TEXT, " +      //speed1RM: speed in m/s at 1RM with decimal point separator 
'.' ; 0 means undefined
-                       "future2 TEXT, " +      //bodyAngle
-                       "future3 TEXT )";       //weightAngle
+                       "future2 TEXT, " +      //bodyAngle (unused)
+                       "future3 TEXT )";       //weightAngle (unused)
                dbcmd.ExecuteNonQuery();
        }
        
        public static void InsertExercise(bool dbconOpened, string name, int percentBodyWeight, 
-                       string ressistance, string description, string speed1RM, int bodyAngle, int 
weightAngle) //speed1RM decimal point = '.'
+                       string ressistance, string description, string speed1RM)         //speed1RM decimal 
point = '.'
        {
                if(! dbconOpened)
                        dbcon.Open();
@@ -352,8 +352,7 @@ class SqliteEncoder : Sqlite
                dbcmd.CommandText = "INSERT INTO " + Constants.EncoderExerciseTable +  
                                " (uniqueID, name, percentBodyWeight, ressistance, description, future1, 
future2, future3)" +
                                " VALUES (NULL, '" + name + "', " + percentBodyWeight + ", '" + 
-                               ressistance + "', '" + description + "', '" + speed1RM + "', '" +
-                               bodyAngle.ToString() + "', '" + weightAngle.ToString() + "')";
+                               ressistance + "', '" + description + "', '" + speed1RM + "', '', '')";
                Log.WriteLine(dbcmd.CommandText.ToString());
                dbcmd.ExecuteNonQuery();
 
@@ -367,16 +366,14 @@ class SqliteEncoder : Sqlite
        protected internal static void initializeTableEncoderExercise()
        {
                string [] iniEncoderExercises = {
-                       //name:percentBodyWeight:ressistance:description:speed1RM:bodyAngle:weightAngle
-                       "Bench press:0:weight bar::0.185:90:90", //González-Badillo, J. 2010. Movement 
velocity as a measure of loading intensity in resistance training
-                       "Squat:100:weight bar::0.31:90:90" //González-Badillo, JJ.2000b 
http://foro.chronojump.org/showthread.php?tid=1288&page=3 
+                       //name:percentBodyWeight:ressistance:description:speed1RM:pullAngle:weightAngle
+                       "Bench press:0:weight bar::0.185::", //González-Badillo, J. 2010. Movement velocity 
as a measure of loading intensity in resistance training
+                       "Squat:100:weight bar::0.31::" //González-Badillo, JJ.2000b 
http://foro.chronojump.org/showthread.php?tid=1288&page=3 
                };
                
                foreach(string line in iniEncoderExercises) {
                        string [] parts = line.Split(new char[] {':'});
-                       InsertExercise(true, parts[0], Convert.ToInt32(parts[1]), parts[2], parts[3], 
parts[4],
-                                       Convert.ToInt32(parts[5]), Convert.ToInt32(parts[6])    //bodyAngle, 
weightAngle
-                                       );
+                       InsertExercise(true, parts[0], Convert.ToInt32(parts[1]), parts[2], parts[3], 
parts[4]);
                }
 
                addEncoderFreeExercise();
@@ -388,33 +385,30 @@ class SqliteEncoder : Sqlite
        {
                bool exists = Sqlite.Exists (true, Constants.EncoderExerciseTable, "Free");
                if(! exists)
-                       InsertExercise(true, "Free", 0, "", "", "", 90, 90);
+                       InsertExercise(true, "Free", 0, "", "", "");
        }
        protected internal static void addEncoderJumpExercise()
        {
                bool exists = Sqlite.Exists (true, Constants.EncoderExerciseTable, "Jump");
                if(! exists)
-                       InsertExercise(true, "Jump", 100, "", "", "", 90, 90);
+                       InsertExercise(true, "Jump", 100, "", "", "");
        }
        protected internal static void addEncoderInclinatedExercises()
        {
                string [] iniEncoderExercises = {
                        //name:percentBodyWeight:ressistance:description:speed1RM:bodyAngle:weightAngle
-                       "Inclinated plane:0:machine:::30:30",
-                       "Inclinated plane BW:100:machine:::30:30",
-                       "Inclinated plane Custom:100:machine:::30:90"
+                       "Inclinated plane:0:machine::::",
+                       "Inclinated plane BW:100:machine::::",
                };
                
                foreach(string line in iniEncoderExercises) {
                        string [] parts = line.Split(new char[] {':'});
-                       InsertExercise(true, parts[0], Convert.ToInt32(parts[1]), parts[2], parts[3], 
parts[4],
-                                       Convert.ToInt32(parts[5]), Convert.ToInt32(parts[6])    //bodyAngle, 
weightAngle
-                                       );
+                       InsertExercise(true, parts[0], Convert.ToInt32(parts[1]), parts[2], parts[3], 
parts[4]);
                }
        }
 
        public static void UpdateExercise(bool dbconOpened, string name, int percentBodyWeight, 
-                       string ressistance, string description, string speed1RM, int bodyAngle, int 
weightAngle)
+                       string ressistance, string description, string speed1RM)
        {
                if(! dbconOpened)
                        dbcon.Open();
@@ -424,8 +418,6 @@ class SqliteEncoder : Sqlite
                                ", ressistance = '" + ressistance +
                                "', description = '" + description +
                                "', future1 = '" + speed1RM +
-                               "', future2 = '" + bodyAngle +
-                               "', future3 = '" + weightAngle +
                                "' WHERE name = '" + name + "'" ;
 
                Log.WriteLine(dbcmd.CommandText.ToString());
@@ -477,9 +469,7 @@ class SqliteEncoder : Sqlite
                                                Convert.ToInt32(reader[2].ToString()),  //percentBodyWeight
                                                reader[3].ToString(),                   //ressistance
                                                reader[4].ToString(),                   //description
-                                               speed1RM,
-                                               Convert.ToInt32(reader[6].ToString()),  //bodyAngle
-                                               Convert.ToInt32(reader[7].ToString())   //weightAngle
+                                               speed1RM
                                                );
                                array.Add(ex);
                        }
@@ -501,6 +491,15 @@ class SqliteEncoder : Sqlite
                dbcmd.ExecuteNonQuery();
        }
        
+       //conversion from DB 1.02 to 1.03
+       protected internal static void removeEncoderExerciseAngles() {
+               dbcmd.CommandText = "UPDATE " + Constants.EncoderExerciseTable + 
+                       " SET future2 = '', future3 = ''";
+
+               Log.WriteLine(dbcmd.CommandText.ToString());
+               dbcmd.ExecuteNonQuery();
+       }
+       
        /*
         * 1RM stuff
         */
diff --git a/src/sqlite/main.cs b/src/sqlite/main.cs
index 4c234d5..6fa818d 100644
--- a/src/sqlite/main.cs
+++ b/src/sqlite/main.cs
@@ -74,7 +74,7 @@ class Sqlite
         * Important, change this if there's any update to database
         * Important2: if database version get numbers higher than 1, check if the comparisons with 
currentVersion works ok
         */
-       static string lastChronojumpDatabaseVersion = "1.02";
+       static string lastChronojumpDatabaseVersion = "1.03";
 
        public Sqlite() {
        }
@@ -1235,7 +1235,7 @@ class Sqlite
                        if(currentVersion == "0.90") {
                                dbcon.Open();
                                
-                               SqliteEncoder.UpdateExercise(true, "Squat", 100, "weight bar", "", "", 90, 
90); 
+                               SqliteEncoder.UpdateExercise(true, "Squat", 100, "weight bar", "", ""); 
                                Log.WriteLine("Encoder Squat 75% -> 100%");
                                
                                SqlitePreferences.Update ("databaseVersion", "0.91", true); 
@@ -1257,8 +1257,8 @@ class Sqlite
                        if(currentVersion == "0.92") {
                                dbcon.Open();
                                
-                               SqliteEncoder.UpdateExercise(true, "Bench press", 0, "weight bar", 
"","0.185",90,90);
-                               SqliteEncoder.UpdateExercise(true, "Squat", 100, "weight bar", 
"","0.31",90,90);
+                               SqliteEncoder.UpdateExercise(true, "Bench press", 0, "weight bar", 
"","0.185");
+                               SqliteEncoder.UpdateExercise(true, "Squat", 100, "weight bar", "","0.31");
                                Log.WriteLine("Added speed1RM on encoder exercise");
                                
                                SqlitePreferences.Update ("databaseVersion", "0.93", true); 
@@ -1415,6 +1415,18 @@ class Sqlite
 
                                currentVersion = "1.02";
                        }
+                       if(currentVersion == "1.02") {
+                               dbcon.Open();
+               
+                               DeleteFromName(true, Constants.EncoderExerciseTable, "Inclinated plane 
Custom");
+                               SqliteEncoder.removeEncoderExerciseAngles();
+
+                               Log.WriteLine("Updated encoder exercise, angle is now on encoder 
configuration");
+                               SqlitePreferences.Update ("databaseVersion", "1.03", true); 
+                               dbcon.Close();
+
+                               currentVersion = "1.03";
+                       }
 
                                
                }
@@ -1556,6 +1568,7 @@ class Sqlite
                SqliteCountry.initialize();
                
                //changes [from - to - desc]
+               //1.02 - 1-03 Converted DB to 1.03 Updated encoder exercise, angle is now on encoder 
configuration
                //1.01 - 1-02 Converted DB to 1.02 Added Agility Tests: Agility-T-Test, Agility-3L3R
                //1.00 - 1.01 Converted DB to 1.01 Added export to CSV configuration on preferences
                //0.99 - 1.00 Converted DB to 1.00 Encoder added Free and Inclinated Exercises
@@ -2367,6 +2380,20 @@ Console.WriteLine("5" + tableName);
                        dbcon.Close();
        }
 
+       public static void DeleteFromName(bool dbconOpened, string tableName, string name)
+       {
+               if( ! dbconOpened)
+                       dbcon.Open();
+
+               dbcmd.CommandText = "Delete FROM " + tableName +
+                       " WHERE name == '" + name + "'";
+               Log.WriteLine(dbcmd.CommandText.ToString());
+               dbcmd.ExecuteNonQuery();
+               
+               if( ! dbconOpened)
+                       dbcon.Close();
+       }
+
 
        /* end of methods for different classes */
        
diff --git a/src/utilEncoder.cs b/src/utilEncoder.cs
index bb258ed..6fa96ed 100644
--- a/src/utilEncoder.cs
+++ b/src/utilEncoder.cs
@@ -177,6 +177,8 @@ public class UtilEncoder
        }
 
        
+       /*
+        * DEPRECATED, now use always RDotNet
        public static void RunEncoderCapturePython(string title, EncoderStruct es, string port) 
        {
                CancelRScript = false;
@@ -193,11 +195,9 @@ public class UtilEncoder
                string outputFileCheck = "";
                
 
-               /*
-               on Windows (py2exe) we execute a exe with the py file that contains python
-               on linux we execute python and call to the py file
-               also on windows we need the full path to find R
-               */
+               //on Windows (py2exe) we execute a exe with the py file that contains python
+               //on linux we execute python and call to the py file
+               //also on windows we need the full path to find R
                if (UtilAll.IsWindows()) {
                        pBin=getEncoderScriptCapture();
                        pinfo.Arguments = title + " " + es.OutputData1 + " " + es.Ep.ToString1() + " " + port 
@@ -229,6 +229,7 @@ public class UtilEncoder
                p.WaitForExit();
                while ( ! ( File.Exists(outputFileCheck) || CancelRScript) );
        }
+       */
        
        public static bool RunEncoderGraph(string title, EncoderStruct es) 
        {
@@ -547,6 +548,8 @@ public class UtilEncoder
                                        
Constants.EncoderConfigurationNames.WEIGHTEDMOVPULLEYONLINEARENCODER));
                        list.Add(new EncoderConfiguration(
                                        Constants.EncoderConfigurationNames.LINEARONPLANE));
+                       list.Add(new EncoderConfiguration(
+                                       Constants.EncoderConfigurationNames.LINEARONPLANEWEIGHTDIFFANGLE));
                } else if(encoderType == Constants.EncoderType.ROTARYFRICTION) {
                        list.Add(new EncoderConfiguration(
                                        Constants.EncoderConfigurationNames.ROTARYFRICTIONSIDE));
@@ -583,14 +586,14 @@ public class UtilEncoder
                /* no change:
                 * WEIGHTEDMOVPULLEYLINEARONPERSON1, WEIGHTEDMOVPULLEYLINEARONPERSON1INV,
                 * WEIGHTEDMOVPULLEYLINEARONPERSON2, WEIGHTEDMOVPULLEYLINEARONPERSON2INV,
-                * LINEARONPLANE, ROTARYFRICTIONSIDE, WEIGHTEDMOVPULLEYROTARYFRICTION
+                * LINEARONPLANE, LINEARONPLANEWEIGHTDIFFANGLE, ROTARYFRICTIONSIDE, 
WEIGHTEDMOVPULLEYROTARYFRICTION
                 */
 
                double data = byteReaded;
                if(ec.name == Constants.EncoderConfigurationNames.LINEARINVERTED) {
                        data *= -1;
                } else if(ec.name == Constants.EncoderConfigurationNames.WEIGHTEDMOVPULLEYONLINEARENCODER) {
-                       //default is: demultiplication = 2. Future maybe this will be a parameter
+                       //default is: gearedDown = 2. Future maybe this will be a parameter
                        data *= 2;
                } else if(ec.name == Constants.EncoderConfigurationNames.ROTARYFRICTIONAXIS) {
                        data = data * ec.D / ec.d;
@@ -605,12 +608,12 @@ public class UtilEncoder
                return data;
        }
 
-       //demult is positive, normally 2
-       private static double getMass(double mass, int demult, int angle) {
+       //gearedDown is positive, normally 2
+       private static double getMass(double mass, int gearedDown, int angle) {
                if(mass == 0)
                        return 0;
 
-               return ( ( mass / demult ) * Math.Sin( angle * Math.PI / 180 ) );
+               return ( ( mass / gearedDown ) * Math.Sin( angle * Math.PI / 180 ) );
        }
 
        private static double getMassBodyByExercise(double massBody, int exercisePercentBodyWeight) {
@@ -621,8 +624,7 @@ public class UtilEncoder
        }
 
        public static double GetMassByEncoderConfiguration(
-                       EncoderConfiguration ec, double massBody, double massExtra, 
-                       int exercisePercentBodyWeight, int demult, int angle)
+                       EncoderConfiguration ec, double massBody, double massExtra, int 
exercisePercentBodyWeight)
        {
                massBody = getMassBodyByExercise(massBody, exercisePercentBodyWeight);
 
@@ -634,16 +636,15 @@ public class UtilEncoder
                        ec.name == Constants.EncoderConfigurationNames.WEIGHTEDMOVPULLEYROTARYFRICTION ||
                        ec.name == Constants.EncoderConfigurationNames.WEIGHTEDMOVPULLEYROTARYAXIS 
                  ) {
-                       /*
-                        * angle will be 90 degrees. We assume this.
-                        * Maybe in the future, person or person and extra weight, 
-                        * can have different angles
-                        */
-                       massExtra = getMass(massExtra, demult, angle);
+                       massExtra = getMass(massExtra, ec.gearedDown, ec.anglePush);
                } 
                else if(ec.name == Constants.EncoderConfigurationNames.LINEARONPLANE) {
-                       massBody = getMass(massBody, demult, angle);
-                       massExtra = getMass(massExtra, demult, angle);
+                       massBody = getMass(massBody, ec.gearedDown, ec.anglePush);
+                       massExtra = getMass(massExtra, ec.gearedDown, ec.anglePush);
+               }
+               else if(ec.name == Constants.EncoderConfigurationNames.LINEARONPLANEWEIGHTDIFFANGLE) {
+                       massBody = getMass(massBody, ec.gearedDown, ec.anglePush);
+                       massExtra = getMass(massExtra, ec.gearedDown, ec.angleWeight);
                }
 
                return (massBody + massExtra);


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