summaryrefslogtreecommitdiff
path: root/grapher
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2020-09-19 19:27:37 -0700
committerJacob Palecki <[email protected]>2020-09-19 19:27:37 -0700
commit8f5c6c2a733812b19641789e34552afe9e601686 (patch)
tree9ad46aea405930b77ee89587a1339ea1ed51fa45 /grapher
parentFurhter designer changes (diff)
downloadrawaccel-8f5c6c2a733812b19641789e34552afe9e601686.tar.xz
rawaccel-8f5c6c2a733812b19641789e34552afe9e601686.zip
further work
Diffstat (limited to 'grapher')
-rw-r--r--grapher/Models/Calculations/AccelCalculator.cs54
-rw-r--r--grapher/Models/Calculations/AccelData.cs4
-rw-r--r--grapher/Models/Charts/ChartState/CombinedState.cs2
3 files changed, 35 insertions, 25 deletions
diff --git a/grapher/Models/Calculations/AccelCalculator.cs b/grapher/Models/Calculations/AccelCalculator.cs
index ab1f346..ff1088b 100644
--- a/grapher/Models/Calculations/AccelCalculator.cs
+++ b/grapher/Models/Calculations/AccelCalculator.cs
@@ -57,35 +57,14 @@ namespace grapher.Models.Calculations
#region Methods
- public void Calculate(AccelChartData data, ManagedAccel accel, double starter, ICollection<MagnitudeData> magnitudeData, bool strip = false, DriverSettings settings = null)
+ public void Calculate(AccelChartData data, ManagedAccel accel, double starter, ICollection<MagnitudeData> magnitudeData)
{
double lastInputMagnitude = 0;
double lastOutputMagnitude = 0;
- bool stripSens = strip && ShouldStripSens(ref settings);
- bool stripRot = strip && ShouldStripRot(ref settings);
-
- if(stripSens)
- {
- Sensitivity = GetSens(ref settings);
- }
-
- if (stripRot)
- {
- RotationVector = GetRotVector(ref settings);
- }
-
foreach (var magnitudeDatum in magnitudeData)
{
var output = accel.Accelerate(magnitudeDatum.x, magnitudeDatum.y, MeasurementTime);
- var outputX = output.Item1;
- var outputY = output.Item2;
-
- if (stripSens)
- {
- (outputX, outputY) = StripThisSens(outputX, outputY);
- }
-
var outMagnitude = Magnitude(output.Item1, output.Item2);
var ratio = magnitudeDatum.magnitude > 0 ? outMagnitude / magnitudeDatum.magnitude : starter;
@@ -115,6 +94,37 @@ namespace grapher.Models.Calculations
data.OrderedVelocityPointsList.AddRange(data.VelocityPoints.Values.ToList());
}
+ public void CalculateCombinedDiffSens(AccelData data, ManagedAccel accel, DriverSettings settings, ICollection<MagnitudeData> magnitudeData)
+ {
+ double lastInputMagnitudeX = 0;
+ double lastOutputMagnitudeX = 0;
+ double lastInputMagnitudeY = 0;
+ double lastOutputMagnitudeY = 0;
+
+ Sensitivity = GetSens(ref settings);
+
+ foreach (var magnitudeDatum in magnitudeData)
+ {
+ var output = accel.Accelerate(magnitudeDatum.x, magnitudeDatum.y, MeasurementTime);
+ var outputWithoutSens = StripThisSens(output.Item1, output.Item2);
+ var magnitudeWithoutSens = Magnitude(outputWithoutSens.Item1, outputWithoutSens.Item2);
+
+ var ratio = magnitudeDatum.magnitude > 0 ? magnitudeWithoutSens / magnitudeDatum.magnitude : 1;
+
+ if (!data.Combined.AccelPoints.ContainsKey(magnitudeDatum.magnitude))
+ {
+ data.Combined.AccelPoints.Add(magnitudeDatum.magnitude, ratio);
+ }
+
+ var xRatio = magnitudeDatum.x > 0 ? output.Item1 / magnitudeDatum.x : settings.sensitivity.x * ratio;
+
+ if (!data.X.AccelPoints.ContainsKey(magnitudeDatum.magnitude))
+ {
+
+ }
+ }
+ }
+
public ReadOnlyCollection<MagnitudeData> GetMagnitudes()
{
var magnitudes = new List<MagnitudeData>();
diff --git a/grapher/Models/Calculations/AccelData.cs b/grapher/Models/Calculations/AccelData.cs
index eef4d01..057a53b 100644
--- a/grapher/Models/Calculations/AccelData.cs
+++ b/grapher/Models/Calculations/AccelData.cs
@@ -60,8 +60,8 @@ namespace grapher.Models.Calculations
public void CalculateDotsXY(int x, int y, double timeInMs)
{
- var outX = Math.Abs(x);
- var outY = Math.Abs(y);
+ var outX = Math.Abs(x) / timeInMs;
+ var outY = Math.Abs(y) / timeInMs;
(var inXVelocity, var xSensitivity, var xGain) = X.FindPointValuesFromOut(outX);
EstimatedX.Velocity.Set(inXVelocity, outX);
diff --git a/grapher/Models/Charts/ChartState/CombinedState.cs b/grapher/Models/Charts/ChartState/CombinedState.cs
index c788775..17cd68a 100644
--- a/grapher/Models/Charts/ChartState/CombinedState.cs
+++ b/grapher/Models/Charts/ChartState/CombinedState.cs
@@ -40,7 +40,7 @@ namespace grapher.Models.Charts.ChartState
public override void Calculate(ManagedAccel accel, DriverSettings settings)
{
- Calculator.Calculate(Data.Combined, accel, settings.sensitivity.x, Calculator.MagnitudesCombined, true, settings);
+ Calculator.Calculate(Data.Combined, accel, settings.sensitivity.x, Calculator.MagnitudesCombined);
}
}
}