[chronojump] forceSensor triggers on SQL
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] forceSensor triggers on SQL
- Date: Mon, 19 Oct 2020 09:05:36 +0000 (UTC)
commit b53a34114bc6ab6f31069e224da3d2b52b72c485
Author: Xavier de Blas <xaviblas gmail com>
Date: Mon Oct 19 11:05:15 2020 +0200
forceSensor triggers on SQL
src/gui/app1/forceSensor.cs | 44 +++++++++++++++++++++++++++++++++-----------
src/gui/app1/runEncoder.cs | 7 +------
src/gui/trigger.cs | 28 ++++++++++++++++++++++------
3 files changed, 56 insertions(+), 23 deletions(-)
---
diff --git a/src/gui/app1/forceSensor.cs b/src/gui/app1/forceSensor.cs
index d794cfae..9a785532 100644
--- a/src/gui/app1/forceSensor.cs
+++ b/src/gui/app1/forceSensor.cs
@@ -837,9 +837,9 @@ public partial class ChronoJumpWindow
int time;
double force;
- string trigger;
+ string triggerCode;
if(! forceSensorProcessCapturedLine(str, out time, out force,
- false, out trigger))
+ false, out triggerCode)) //false: do not read triggers
continue;
forceSensorValues.TimeLast = time;
@@ -1098,6 +1098,7 @@ public partial class ChronoJumpWindow
TextWriter writer = File.CreateText(fileName);
writer.WriteLine("Time (micros);Force(N)");
+ triggerListForceSensor = new TriggerList();
str = "";
int firstTime = 0;
// bool forceSensorBinary = forceSensorBinaryCapture();
@@ -1117,7 +1118,7 @@ public partial class ChronoJumpWindow
LogB.Information("at bucle");
int time = 0;
double force = 0;
- string trigger = "";
+ string triggerCode = "";
if(forceSensorBinaryCapture)
{
@@ -1132,7 +1133,7 @@ public partial class ChronoJumpWindow
else {
str = portFS.ReadLine();
if(! forceSensorProcessCapturedLine(str, out time, out force,
- readTriggers, out trigger))
+ readTriggers, out triggerCode))
continue;
}
@@ -1144,10 +1145,21 @@ public partial class ChronoJumpWindow
time -= firstTime;
//if RCA or button at the moment just print it here (now that time has been corrected
using firstTime)
- if(readTriggers && trigger != "")
+ if( readTriggers && (triggerCode == "r" || triggerCode == "R") )
{
- LogB.Information(string.Format("At: {0}, trigger: {1}",
- time.ToString(), ForceSensor.ReadTrigger(trigger)));
+ LogB.Information(string.Format("At: {0}, triggerCode: {1}",
+ time.ToString(),
ForceSensor.ReadTrigger(triggerCode)));
+
+ Trigger trigger;
+ if(triggerCode == "r")
+ trigger = new Trigger(Trigger.Modes.FORCESENSOR, time, false);
+ else //if(triggerCode == "R")
+ trigger = new Trigger(Trigger.Modes.FORCESENSOR, time, true);
+
+ if(! triggerListForceSensor.NewSameTypeThanBefore(trigger) &&
+ ! triggerListForceSensor.IsSpurious(trigger,
TriggerList.Type3.BOTH, 50))
+ triggerListForceSensor.Add(trigger);
+
continue;
}
@@ -1227,11 +1239,11 @@ public partial class ChronoJumpWindow
private bool forceSensorProcessCapturedLine (string str,
out int time, out double force,
- bool readTriggers, out string trigger)
+ bool readTriggers, out string triggerCode)
{
time = 0;
force = 0;
- trigger = "";
+ triggerCode = "";
//check if there is one and only one ';'
if( ! (str.Contains(";") && str.IndexOf(";") == str.LastIndexOf(";")) )
@@ -1251,7 +1263,7 @@ public partial class ChronoJumpWindow
else if(readTriggers)
{
time = Convert.ToInt32(strFull[0]);
- trigger = strFull[1];
+ triggerCode = strFull[1];
return true;
} else
return false;
@@ -1304,6 +1316,8 @@ LogB.Information(" fs C ");
currentForceSensorExercise.Name);
currentForceSensor.UniqueID = currentForceSensor.InsertSQL(false);
+ triggerListForceSensor.SQLInsert(currentForceSensor.UniqueID);
+ //showForceSensorTriggers (); TODO until know where to put it
//stop camera
if(webcamEnd (Constants.TestTypes.FORCESENSOR,
currentForceSensor.UniqueID))
@@ -1806,6 +1820,14 @@ LogB.Information(" fs R ");
changeTestImage("", "", "FORCESENSOR_NOT_ELASTIC");
}
+ //triggers
+ triggerListForceSensor = new TriggerList(
+ SqliteTrigger.Select(
+ false, Trigger.Modes.FORCESENSOR,
+ Convert.ToInt32(currentForceSensor.UniqueID))
+ );
+ //showForceSensorTriggers (); TODO until know where to put it
+
forceSensorCopyTempAndDoGraphs(forceSensorGraphsEnum.SIGNAL);
image_force_sensor_graph.Sensitive = false; //unsensitivize the RFD image (can contain info
of previous data)
@@ -2055,7 +2077,7 @@ LogB.Information(" fs R ");
ForceSensorGraph fsg = new ForceSensorGraph(getForceSensorCaptureOptions(), rfdList, impulse,
duration, Convert.ToInt32(spin_force_rfd_duration_percent.Value),
- title, exercise, currentForceSensor.DateTimePublic);
+ title, exercise, currentForceSensor.DateTimePublic); //TODO: add triggers
int imageWidth = UtilGtk.WidgetWidth(viewport_force_sensor_graph);
int imageHeight = UtilGtk.WidgetHeight(viewport_force_sensor_graph);
diff --git a/src/gui/app1/runEncoder.cs b/src/gui/app1/runEncoder.cs
index c96c02f8..5d0f99c3 100644
--- a/src/gui/app1/runEncoder.cs
+++ b/src/gui/app1/runEncoder.cs
@@ -1105,7 +1105,7 @@ public partial class ChronoJumpWindow
currentRunEncoderExercise.Name);
currentRunEncoder.UniqueID = currentRunEncoder.InsertSQL(false);
- SaveTriggers(currentRunEncoder.UniqueID);
+ triggerListRunEncoder.SQLInsert(currentRunEncoder.UniqueID);
showRaceAnalyzerTriggers ();
//stop camera
@@ -1248,11 +1248,6 @@ public partial class ChronoJumpWindow
return true;
}
- public void SaveTriggers(int signalID)
- {
- triggerListRunEncoder.SQLInsert(signalID);
- }
-
private bool button_run_encoder_analyze_analyze_was_sensitive; //needed this temp variable
void runEncoderButtonsSensitive(bool sensitive)
diff --git a/src/gui/trigger.cs b/src/gui/trigger.cs
index 90abaaad..b576be79 100644
--- a/src/gui/trigger.cs
+++ b/src/gui/trigger.cs
@@ -57,24 +57,40 @@ public partial class ChronoJumpWindow
}
// <--------------- end of encoder
- // start of race analyzer ------------->
+ // start of force sensor & race analyzer ------------->
+
+ //[Widget] Gtk.TextView textview_force_sensor_triggers; //TODO: until know where to put it
[Widget] Gtk.TextView textview_run_encoder_triggers;
+ TriggerList triggerListForceSensor;
TriggerList triggerListRunEncoder;
+ /*
+ TODO: until know where to put it
+ private void showForceSensorTriggers()
+ {
+ showTestTriggers(triggerListForceSensor, textview_force_sensor_triggers);
+ }
+ */
private void showRaceAnalyzerTriggers()
{
- triggerListRunEncoder.Print();
- if(triggerListRunEncoder.Count() > 0)
+ showTestTriggers(triggerListRunEncoder, textview_run_encoder_triggers);
+ }
+
+ private void showTestTriggers(TriggerList trigger_l, Gtk.TextView textview)
+ {
+ trigger_l.Print();
+ if(trigger_l.Count() > 0)
{
//fill textview
TextBuffer tb1 = new TextBuffer (new TextTagTable());
- tb1.Text = triggerListRunEncoder.ToString();
- textview_run_encoder_triggers.Buffer = tb1;
+ tb1.Text = trigger_l.ToString();
+ textview.Buffer = tb1;
} else {
TextBuffer tb1 = new TextBuffer (new TextTagTable());
tb1.Text = "";
- textview_run_encoder_triggers.Buffer = tb1;
+ textview.Buffer = tb1;
}
}
+ // <--------------- end of force sensor & race_analyzer
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]