From 5657d5a54c0a8e980c9b0cac39e2d16e452f302e Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Thu, 3 Dec 2020 20:00:31 -0500 Subject: add directional multipliers adds multipliers for movement in negative directions (up & left by default, can be flipped by rot or sens) avoid division by user input in mousewatcher --- grapher/Models/Calculations/AccelData.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'grapher/Models/Calculations') diff --git a/grapher/Models/Calculations/AccelData.cs b/grapher/Models/Calculations/AccelData.cs index 67d4f3f..778c5a2 100644 --- a/grapher/Models/Calculations/AccelData.cs +++ b/grapher/Models/Calculations/AccelData.cs @@ -56,9 +56,9 @@ namespace grapher.Models.Calculations OutVelocityToPoints.Clear(); } - public void CalculateDots(int x, int y, double timeInMs) + public void CalculateDots(double x, double y, double timeInMsRecip) { - var outVelocity = AccelCalculator.Velocity(x, y, timeInMs); + var outVelocity = AccelCalculator.Magnitude(x, y) * timeInMsRecip; (var inCombVel, var combSens, var combGain) = Combined.FindPointValuesFromOut(outVelocity); Estimated.Velocity.Set(inCombVel, outVelocity); @@ -66,10 +66,10 @@ namespace grapher.Models.Calculations Estimated.Gain.Set(inCombVel, combGain); } - public void CalculateDotsXY(int x, int y, double timeInMs) + public void CalculateDotsXY(double x, double y, double timeInMsRecip) { - var outX = Math.Abs(x) / timeInMs; - var outY = Math.Abs(y) / timeInMs; + var outX = Math.Abs(x) * timeInMsRecip; + var outY = Math.Abs(y) * timeInMsRecip; (var inXVelocity, var xSensitivity, var xGain) = X.FindPointValuesFromOut(outX); EstimatedX.Velocity.Set(inXVelocity, outX); @@ -82,10 +82,10 @@ namespace grapher.Models.Calculations EstimatedY.Gain.Set(inYVelocity, yGain); } - public void CalculateDotsCombinedDiffSens(int x, int y, double timeInMs, DriverSettings settings) + public void CalculateDotsCombinedDiffSens(double x, double y, double timeInMsRecip, DriverSettings settings) { (var xStripped, var yStripped) = AccelCalculator.StripSens(x, y, settings.sensitivity.x, settings.sensitivity.y); - var outVelocity = AccelCalculator.Velocity(xStripped, yStripped, timeInMs); + var outVelocity = AccelCalculator.Magnitude(xStripped, yStripped) * timeInMsRecip; if (OutVelocityToPoints.TryGetValue(outVelocity, out var points)) { -- cgit v1.2.3 From c5c3c2a8a841d664a422380ab31497b3f741f07f Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Thu, 3 Dec 2020 20:01:49 -0500 Subject: filter out abs move raw input --- grapher/Models/Calculations/AccelChartData.cs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'grapher/Models/Calculations') diff --git a/grapher/Models/Calculations/AccelChartData.cs b/grapher/Models/Calculations/AccelChartData.cs index 60d4c89..48374c1 100644 --- a/grapher/Models/Calculations/AccelChartData.cs +++ b/grapher/Models/Calculations/AccelChartData.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; namespace grapher.Models.Calculations @@ -80,6 +81,8 @@ namespace grapher.Models.Calculations public int GetVelocityIndex(double outVelocityValue) { + Debug.Assert(outVelocityValue >= 0); + var log = Math.Log10(outVelocityValue); if (log < -2) { -- cgit v1.2.3 From c221eb3d62ccbd7f2a5203abd3e0eae8e9bf31e8 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Thu, 3 Dec 2020 22:42:29 -0500 Subject: add changes from review rename some vars prefer exceptions over assert refactor poll rate field usage in MouseWatcher --- grapher/Models/Calculations/AccelChartData.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'grapher/Models/Calculations') diff --git a/grapher/Models/Calculations/AccelChartData.cs b/grapher/Models/Calculations/AccelChartData.cs index 48374c1..71ee927 100644 --- a/grapher/Models/Calculations/AccelChartData.cs +++ b/grapher/Models/Calculations/AccelChartData.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; namespace grapher.Models.Calculations @@ -81,7 +80,10 @@ namespace grapher.Models.Calculations public int GetVelocityIndex(double outVelocityValue) { - Debug.Assert(outVelocityValue >= 0); + if (outVelocityValue < 0) + { + throw new ArgumentException($"invalid velocity: {outVelocityValue}"); + } var log = Math.Log10(outVelocityValue); if (log < -2) -- cgit v1.2.3 From 2c7c24ee1513616dc6260849bf97340d8484b6b4 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Sat, 5 Dec 2020 01:21:03 -0500 Subject: add more changes from review improve version error messages revert poll time changes add range validation after text parse --- grapher/Models/Calculations/AccelData.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'grapher/Models/Calculations') diff --git a/grapher/Models/Calculations/AccelData.cs b/grapher/Models/Calculations/AccelData.cs index 778c5a2..d35217f 100644 --- a/grapher/Models/Calculations/AccelData.cs +++ b/grapher/Models/Calculations/AccelData.cs @@ -56,9 +56,9 @@ namespace grapher.Models.Calculations OutVelocityToPoints.Clear(); } - public void CalculateDots(double x, double y, double timeInMsRecip) + public void CalculateDots(double x, double y, double timeInMs) { - var outVelocity = AccelCalculator.Magnitude(x, y) * timeInMsRecip; + var outVelocity = AccelCalculator.Velocity(x, y, timeInMs); (var inCombVel, var combSens, var combGain) = Combined.FindPointValuesFromOut(outVelocity); Estimated.Velocity.Set(inCombVel, outVelocity); @@ -66,10 +66,10 @@ namespace grapher.Models.Calculations Estimated.Gain.Set(inCombVel, combGain); } - public void CalculateDotsXY(double x, double y, double timeInMsRecip) + public void CalculateDotsXY(double x, double y, double timeInMs) { - var outX = Math.Abs(x) * timeInMsRecip; - var outY = Math.Abs(y) * timeInMsRecip; + 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); @@ -82,10 +82,10 @@ namespace grapher.Models.Calculations EstimatedY.Gain.Set(inYVelocity, yGain); } - public void CalculateDotsCombinedDiffSens(double x, double y, double timeInMsRecip, DriverSettings settings) + public void CalculateDotsCombinedDiffSens(double x, double y, double timeInMs, DriverSettings settings) { (var xStripped, var yStripped) = AccelCalculator.StripSens(x, y, settings.sensitivity.x, settings.sensitivity.y); - var outVelocity = AccelCalculator.Magnitude(xStripped, yStripped) * timeInMsRecip; + var outVelocity = AccelCalculator.Velocity(xStripped, yStripped, timeInMs); if (OutVelocityToPoints.TryGetValue(outVelocity, out var points)) { -- cgit v1.2.3