[chronojump/optimizeRFD] Race analyzer shows also distance (text) while capturing (NEED TEST)



commit ae73acd509a0ba48f85ca7e78128964798258a84
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Dec 31 09:00:44 2020 +0100

    Race analyzer shows also distance (text) while capturing (NEED TEST)

 src/gui/app1/runEncoder.cs | 10 +++++++---
 src/gui/cairo/radial.cs    |  7 +++++--
 2 files changed, 12 insertions(+), 5 deletions(-)
---
diff --git a/src/gui/app1/runEncoder.cs b/src/gui/app1/runEncoder.cs
index b9e854cb0..9afdeed8e 100644
--- a/src/gui/app1/runEncoder.cs
+++ b/src/gui/app1/runEncoder.cs
@@ -61,6 +61,7 @@ public partial class ChronoJumpWindow
        static bool runEncoderProcessCancel;
        static bool runEncoderProcessError;
         static string runEncoderPulseMessage = "";
+       static double runEncoderCaptureDistance = 0;
        static double runEncoderCaptureSpeed = 0;
        
        private RunEncoder currentRunEncoder;
@@ -237,6 +238,8 @@ public partial class ChronoJumpWindow
                runEncoderPulseMessage = "";
                runEncoderButtonsSensitive(false);
                sensitiveLastTestButtons(false);
+
+               runEncoderCaptureDistance = 0;
                runEncoderCaptureSpeed = 0;
                if(cairoRadial != null)
                        cairoRadial.ResetSpeedMax();
@@ -510,7 +513,9 @@ public partial class ChronoJumpWindow
                        {
                                if(timePre > 0)
                                {
-                                       runEncoderCaptureSpeed = 
UtilAll.DivideSafe(Math.Abs(encoderDisplacement) * 1000000 * 0.003003, (time - timePre)); //hardcoded: same 
as sprintEncoder.R
+                                       runEncoderCaptureDistance = Math.Abs(encoderDisplacement) * 1000000 * 
0.003003; //hardcoded: same as sprintEncoder.R
+                                       runEncoderCaptureSpeed = 
UtilAll.DivideSafe(runEncoderCaptureDistance, (time - timePre));
+
                                        LogB.Information(string.Format("encoderDisplacement: {0}; 
runEncoderCaptureSpeed: {1}; time: {2}; timePre: {3}",
                                                                encoderDisplacement, runEncoderCaptureSpeed, 
time, timePre));
                                }
@@ -1322,8 +1327,7 @@ public partial class ChronoJumpWindow
                {
                        event_execute_label_message.Text = runEncoderPulseMessage;
 
-                       //label_race_analyzer_capture_speed.Text = 
Util.TrimDecimals(runEncoderCaptureSpeed,3) + " m/s";
-                       cairoRadial.GraphSpeed(runEncoderCaptureSpeed);
+                       cairoRadial.GraphSpeedAndDistance(runEncoderCaptureSpeed, runEncoderCaptureDistance);
 
                        if(runEncoderPulseMessage == capturingMessage)
                                event_execute_button_finish.Sensitive = true;
diff --git a/src/gui/cairo/radial.cs b/src/gui/cairo/radial.cs
index 262f30980..3f4a36b66 100644
--- a/src/gui/cairo/radial.cs
+++ b/src/gui/cairo/radial.cs
@@ -122,7 +122,7 @@ public class CairoRadial : CairoGeneric
                speedMax = 0;
        }
 
-       public void GraphSpeed(double speed)
+       public void GraphSpeedAndDistance(double speed, double distance)
        {
                if(speed > speedMax)
                        speedMax = speed;
@@ -135,7 +135,10 @@ public class CairoRadial : CairoGeneric
                graphLineFromCenter(speed, colorArrow);
                printText(Convert.ToInt32(margin + graphWidth/2),
                                Convert.ToInt32(margin + (.66 * graphHeight)),
-                               0, textHeight, "Speed: " + Util.TrimDecimals(speed, 1) + " m/s", g, 
alignTypes.CENTER);
+                               0, textHeight,
+                               "Speed: " + Util.TrimDecimals(speed, 1) + " m/s" +
+                               "\nDistance: " + Util.TrimDecimals(distance, 3) + " m",
+                               g, alignTypes.CENTER);
 
                if(speedMax > speed)
                        graphLineFromCenter(speedMax, gray);


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