[chronojump] forceSensor object and SQL with captureOption



commit a03d9a44fee45942c90fe7082cf9f239263a55f7
Author: Xavier de Blas <xaviblas gmail com>
Date:   Mon Sep 9 13:29:43 2019 +0200

    forceSensor object and SQL with captureOption

 src/forceSensor.cs         |  9 ++++++---
 src/gui/chronojumpIcons.cs |  1 +
 src/gui/forceSensor.cs     |  4 +++-
 src/sqlite/forceSensor.cs  | 22 +++++++++++++---------
 4 files changed, 23 insertions(+), 13 deletions(-)
---
diff --git a/src/forceSensor.cs b/src/forceSensor.cs
index 75c62cd4..5278da67 100644
--- a/src/forceSensor.cs
+++ b/src/forceSensor.cs
@@ -33,6 +33,7 @@ public class ForceSensor
        private int sessionID;
        private int exerciseID;
        private int angle;
+       private CaptureOptions captureOption;
        private string laterality;
        private string filename;
        private string url;     //relative
@@ -43,13 +44,14 @@ public class ForceSensor
        private string exerciseName;
 
        //constructor
-       public ForceSensor(int uniqueID, int personID, int sessionID, int exerciseID, int angle,
+       public ForceSensor(int uniqueID, int personID, int sessionID, int exerciseID, CaptureOptions 
captureOption, int angle,
                        string laterality, string filename, string url, string dateTime, string comments, 
string videoURL, string exerciseName)
        {
                this.uniqueID = uniqueID;
                this.personID = personID;
                this.sessionID = sessionID;
                this.exerciseID = exerciseID;
+               this.captureOption = captureOption;
                this.angle = angle;
                this.laterality = laterality;
                this.filename = filename;
@@ -73,19 +75,20 @@ public class ForceSensor
                        uniqueIDStr = uniqueID.ToString();
 
                return
-                       "(" + uniqueIDStr + ", " + personID + ", " + sessionID + ", " + exerciseID + ", " +
+                       "(" + uniqueIDStr + ", " + personID + ", " + sessionID + ", " + exerciseID + ", \"" + 
captureOption.ToString() + "\", " +
                        angle + ", \"" + laterality + "\", \"" + filename + "\", \"" + url + "\", \"" + 
dateTime + "\", \"" +
                        comments + "\", \"" + videoURL + "\")";
        }
 
        public string [] ToStringArray (int count)
        {
-               int all = 7;
+               int all = 8;
                string [] str = new String [all];
                int i=0;
                str[i++] = uniqueID.ToString();
                str[i++] = count.ToString();
                str[i++] = exerciseName;
+               str[i++] = Catalog.GetString(captureOption.ToString());
                str[i++] = Catalog.GetString(laterality);
                str[i++] = dateTime;
                str[i++] = videoURL;
diff --git a/src/gui/chronojumpIcons.cs b/src/gui/chronojumpIcons.cs
index fa4822cc..a8800a18 100644
--- a/src/gui/chronojumpIcons.cs
+++ b/src/gui/chronojumpIcons.cs
@@ -179,6 +179,7 @@ public partial class ChronoJumpWindow
 
        //race encoder
        [Widget] Gtk.Image image_race_encoder_open_folder;
+       [Widget] Gtk.Image image_race_encoder_capture_recalculate;
 
        //video play icons
        [Widget] Gtk.Image image_video_play_this_test;
diff --git a/src/gui/forceSensor.cs b/src/gui/forceSensor.cs
index 4c329dc1..d9d713fa 100644
--- a/src/gui/forceSensor.cs
+++ b/src/gui/forceSensor.cs
@@ -895,7 +895,8 @@ public partial class ChronoJumpWindow
                capturingForce = arduinoCaptureStatus.STOP;
 
                ForceSensor forceSensor = new ForceSensor(-1, currentPerson.UniqueID, currentSession.UniqueID,
-                               currentForceSensorExercise.UniqueID, ForceSensor.AngleUndefined, 
getLaterality(false),
+                               currentForceSensorExercise.UniqueID, getForceSensorCaptureOptions(),
+                               ForceSensor.AngleUndefined, getLaterality(false),
                                Util.GetLastPartOfPath(fileName), //filename
                                Util.MakeURLrelative(Util.GetForceSensorSessionDir(currentSession.UniqueID)), 
//url
                                UtilDate.ToFile(forceSensorTimeStartCapture), captureComment, "", //dateTime, 
comment, videoURL
@@ -1238,6 +1239,7 @@ LogB.Information(" re R ");
                        Catalog.GetString("ID"),
                        Catalog.GetString("Set"),
                        Catalog.GetString("Exercise"),
+                       Catalog.GetString("Capture option"),
                        Catalog.GetString("Laterality"),
                        Catalog.GetString("Date"),
                        Catalog.GetString("Video"),
diff --git a/src/sqlite/forceSensor.cs b/src/sqlite/forceSensor.cs
index 19a5b4b0..ae9f8ae3 100644
--- a/src/sqlite/forceSensor.cs
+++ b/src/sqlite/forceSensor.cs
@@ -48,6 +48,7 @@ class SqliteForceSensor : Sqlite
                        "personID INT, " +
                        "sessionID INT, " +
                        "exerciseID INT, " +
+                       "captureOption TEXT, " + //ForceSensor.CaptureOptions {NORMAL, ABS, INVERTED}
                        "angle INT, " +         //angle can be different than the defaultAngle on exercise
                        "laterality TEXT, " +   //"Both" "Right" "Left". stored in english
                        "filename TEXT, " +
@@ -65,7 +66,7 @@ class SqliteForceSensor : Sqlite
                        Sqlite.Open();
 
                dbcmd.CommandText = "INSERT INTO " + table +
-                               " (uniqueID, personID, sessionID, exerciseID, angle, laterality, filename, 
url, dateTime, comments, videoURL)" +
+                               " (uniqueID, personID, sessionID, exerciseID, captureOption, angle, 
laterality, filename, url, dateTime, comments, videoURL)" +
                                " VALUES " + insertString;
                LogB.SQL(dbcmd.CommandText.ToString());
                dbcmd.ExecuteNonQuery(); //TODO uncomment this again
@@ -112,14 +113,16 @@ class SqliteForceSensor : Sqlite
                                        Convert.ToInt32(reader[1].ToString()),  //personID
                                        Convert.ToInt32(reader[2].ToString()),  //sessionID
                                        Convert.ToInt32(reader[3].ToString()),  //exerciseID
-                                       Convert.ToInt32(reader[4].ToString()),  //angle
-                                       reader[5].ToString(),                   //laterality
-                                       reader[6].ToString(),                   //filename
-                                       reader[7].ToString(),                   //url
-                                       reader[8].ToString(),                   //datetime
-                                       reader[9].ToString(),                   //comments
-                                       reader[10].ToString(),                  //videoURL
-                                       reader[11].ToString()                   //exerciseName
+                                       (ForceSensor.CaptureOptions) Enum.Parse(
+                                               typeof(ForceSensor.CaptureOptions), reader[4].ToString()),    
  //captureOption
+                                       Convert.ToInt32(reader[5].ToString()),  //angle
+                                       reader[6].ToString(),                   //laterality
+                                       reader[7].ToString(),                   //filename
+                                       reader[8].ToString(),                   //url
+                                       reader[9].ToString(),                   //datetime
+                                       reader[10].ToString(),                  //comments
+                                       reader[11].ToString(),                  //videoURL
+                                       reader[12].ToString()                   //exerciseName
                                        );
                        array.Add(fs);
                }
@@ -201,6 +204,7 @@ class SqliteForceSensor : Sqlite
                                }
 
                                ForceSensor forceSensor = new ForceSensor(-1, p.UniqueID, 
Convert.ToInt32(session.Name), exerciseID,
+                                               ForceSensor.CaptureOptions.NORMAL,
                                                ForceSensor.AngleUndefined, lat,
                                                myFilename,
                                                
Util.MakeURLrelative(Util.GetForceSensorSessionDir(Convert.ToInt32(session.Name))),


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