[chronojump] encoder cont for a long time deletes the zeros to capture faster next set



commit 547988836869e969aa3c71cd61445c2bdacdf4e9
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Feb 16 16:21:01 2017 +0100

    encoder cont for a long time deletes the zeros to capture faster next set

 src/encoderCapture.cs |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/src/encoderCapture.cs b/src/encoderCapture.cs
index 34b0ec1..f6a5565 100644
--- a/src/encoderCapture.cs
+++ b/src/encoderCapture.cs
@@ -227,7 +227,22 @@ public abstract class EncoderCapture
                                        byteReaded *= -1;
 
                                if(byteReaded == 0)
+                               {
                                        consecutiveZeros ++;
+
+                                       //clean variables when we are on cont and long time elapsed
+                                       if(cont && Ecca.curvesAccepted == 0 && consecutiveZeros >= 
consecutiveZerosMax)
+                                       {
+                                               consecutiveZeros = -1;
+                                               encoderReadedInertialDisc = new List<int>();
+                                               encoderReaded = new List<int>();
+                                               EncoderCapturePoints = new List<Gdk.Point>();
+                                               EncoderCapturePointsInertialDisc = new List<Gdk.Point>();
+                                               EncoderCapturePointsCaptured = 0;
+                                               EncoderCapturePointsPainted = 0;        //-1 means delete 
screen
+                                               i = 0;
+                                       }
+                               }
                                else
                                        consecutiveZeros = -1;
 
@@ -246,7 +261,7 @@ public abstract class EncoderCapture
                                        finish = true;
                                        LogB.Information("SHOULD FINISH");
                                }
-                               
+
 
                                //on inertialCalibrated set mark where 0 is crossed for the first time
                                if(inertialCalibrated && inertialCalibratedFirstCross0Pos == 0)


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