diff options
| author | Jacob Palecki <[email protected]> | 2020-09-17 00:18:52 -0700 |
|---|---|---|
| committer | Jacob Palecki <[email protected]> | 2020-09-17 00:18:52 -0700 |
| commit | efa60a8f0a340b320517096e4def497669b187cd (patch) | |
| tree | 5306c626256c9f33de11daaaa43294dbd76bd01a /grapher/Models/Calculations/AccelCalculator.cs | |
| parent | Unsure if I will use this (diff) | |
| parent | Fix chart scaling for DPIs < 1200 (diff) | |
| download | rawaccel-efa60a8f0a340b320517096e4def497669b187cd.tar.xz rawaccel-efa60a8f0a340b320517096e4def497669b187cd.zip | |
Merge branch 'GUI' into Unsure
Diffstat (limited to 'grapher/Models/Calculations/AccelCalculator.cs')
| -rw-r--r-- | grapher/Models/Calculations/AccelCalculator.cs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/grapher/Models/Calculations/AccelCalculator.cs b/grapher/Models/Calculations/AccelCalculator.cs index 092a7aa..4627732 100644 --- a/grapher/Models/Calculations/AccelCalculator.cs +++ b/grapher/Models/Calculations/AccelCalculator.cs @@ -46,6 +46,8 @@ namespace grapher.Models.Calculations private double XYMaxVelocity { get; set; } private int Increment { get; set; } + + private double MeasurementTime { get; set; } #endregion Fields @@ -62,14 +64,14 @@ namespace grapher.Models.Calculations Calculate(data.Y, accel, settings.sensitivity.y, MagnitudesY); } - public static void Calculate(AccelChartData data, ManagedAccel accel, double starter, ICollection<MagnitudeData> magnitudeData) + public void Calculate(AccelChartData data, ManagedAccel accel, double starter, ICollection<MagnitudeData> magnitudeData) { double lastInputMagnitude = 0; double lastOutputMagnitude = 0; foreach (var magnitudeDatum in magnitudeData) { - var output = accel.Accelerate(magnitudeDatum.x, magnitudeDatum.y, 1); + var output = accel.Accelerate(magnitudeDatum.x, magnitudeDatum.y, MeasurementTime); var outMagnitude = Magnitude(output.Item1, output.Item2); var ratio = magnitudeDatum.magnitude > 0 ? outMagnitude / magnitudeDatum.magnitude : starter; @@ -176,7 +178,9 @@ namespace grapher.Models.Calculations { var dpiPollFactor = DPI.Data / PollRate.Data; CombinedMaxVelocity = dpiPollFactor * Constants.MaxMultiplier; - Increment = (int)Math.Floor(CombinedMaxVelocity / Constants.Resolution); + var ratio = CombinedMaxVelocity / Constants.Resolution; + Increment = ratio > 1 ? (int) Math.Floor(ratio) : 1; + MeasurementTime = Increment == 1 ? 1 / ratio : 1; XYMaxVelocity = CombinedMaxVelocity * Constants.XYToCombinedRatio; MagnitudesCombined = GetMagnitudes(); MagnitudesX = GetMagnitudesX(); |