[chronojump] Encoder calcs done with gearedDown and angles
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Encoder calcs done with gearedDown and angles
- Date: Mon, 24 Feb 2014 19:19:15 +0000 (UTC)
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"><b>Main Chronopic</b>
(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"><b>Supplementary</b> (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"><b>Main Chronopic</b>
(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"><b>Supplementary</b> (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 "League Gothic". 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]