diff options
| author | a1xd <[email protected]> | 2020-12-05 01:21:03 -0500 |
|---|---|---|
| committer | a1xd <[email protected]> | 2020-12-05 01:21:03 -0500 |
| commit | 2c7c24ee1513616dc6260849bf97340d8484b6b4 (patch) | |
| tree | 2210c90268748f685297313e0541862bf6894aa0 | |
| parent | add changes from review (diff) | |
| download | rawaccel-2c7c24ee1513616dc6260849bf97340d8484b6b4.tar.xz rawaccel-2c7c24ee1513616dc6260849bf97340d8484b6b4.zip | |
add more changes from review
improve version error messages
revert poll time changes
add range validation after text parse
| -rw-r--r-- | grapher/Models/AccelGUIFactory.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Calculations/AccelData.cs | 14 | ||||
| -rw-r--r-- | grapher/Models/Charts/AccelCharts.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/ChartState.cs | 2 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/CombinedState.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/XYOneGraphState.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/XYTwoGraphState.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Fields/Field.cs | 20 | ||||
| -rw-r--r-- | grapher/Models/Mouse/MouseWatcher.cs | 6 | ||||
| -rw-r--r-- | wrapper/wrapper.cpp | 10 |
10 files changed, 41 insertions, 31 deletions
diff --git a/grapher/Models/AccelGUIFactory.cs b/grapher/Models/AccelGUIFactory.cs index d789593..901a1b5 100644 --- a/grapher/Models/AccelGUIFactory.cs +++ b/grapher/Models/AccelGUIFactory.cs @@ -105,8 +105,8 @@ namespace grapher.Models Label mouseLabel) { var accelCalculator = new AccelCalculator( - new Field(dpiTextBox.TextBox, form, Constants.DefaultDPI), - new Field(pollRateTextBox.TextBox, form, Constants.DefaultPollRate)); + new Field(dpiTextBox.TextBox, form, Constants.DefaultDPI, 1), + new Field(pollRateTextBox.TextBox, form, Constants.DefaultPollRate, 1)); var accelCharts = new AccelCharts( form, 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)) { diff --git a/grapher/Models/Charts/AccelCharts.cs b/grapher/Models/Charts/AccelCharts.cs index 188db10..b7abb35 100644 --- a/grapher/Models/Charts/AccelCharts.cs +++ b/grapher/Models/Charts/AccelCharts.cs @@ -99,9 +99,9 @@ namespace grapher #region Methods - public void MakeDots(double x, double y, double timeInMsRecip) + public void MakeDots(double x, double y, double timeInMs) { - ChartState.MakeDots(x, y, timeInMsRecip); + ChartState.MakeDots(x, y, timeInMs); } public void DrawLastMovement() diff --git a/grapher/Models/Charts/ChartState/ChartState.cs b/grapher/Models/Charts/ChartState/ChartState.cs index c1b8e9b..0bb141e 100644 --- a/grapher/Models/Charts/ChartState/ChartState.cs +++ b/grapher/Models/Charts/ChartState/ChartState.cs @@ -40,7 +40,7 @@ namespace grapher.Models.Charts.ChartState internal bool TwoDotsPerGraph { get; set; } - public abstract void MakeDots(double x, double y, double timeInMsRecip); + public abstract void MakeDots(double x, double y, double timeInMs); public abstract void Bind(); diff --git a/grapher/Models/Charts/ChartState/CombinedState.cs b/grapher/Models/Charts/ChartState/CombinedState.cs index 9fcdc11..9eadb87 100644 --- a/grapher/Models/Charts/ChartState/CombinedState.cs +++ b/grapher/Models/Charts/ChartState/CombinedState.cs @@ -30,9 +30,9 @@ namespace grapher.Models.Charts.ChartState GainChart.ClearSecondDots(); } - public override void MakeDots(double x, double y, double timeInMsRecip) + public override void MakeDots(double x, double y, double timeInMs) { - Data.CalculateDots(x, y, timeInMsRecip); + Data.CalculateDots(x, y, timeInMs); } public override void Bind() diff --git a/grapher/Models/Charts/ChartState/XYOneGraphState.cs b/grapher/Models/Charts/ChartState/XYOneGraphState.cs index 95c4b20..2b3cd9c 100644 --- a/grapher/Models/Charts/ChartState/XYOneGraphState.cs +++ b/grapher/Models/Charts/ChartState/XYOneGraphState.cs @@ -28,9 +28,9 @@ namespace grapher.Models.Charts.ChartState GainChart.SetCombined(); } - public override void MakeDots(double x, double y, double timeInMsRecip) + public override void MakeDots(double x, double y, double timeInMs) { - Data.CalculateDotsCombinedDiffSens(x, y, timeInMsRecip, Settings); + Data.CalculateDotsCombinedDiffSens(x, y, timeInMs, Settings); } public override void Bind() diff --git a/grapher/Models/Charts/ChartState/XYTwoGraphState.cs b/grapher/Models/Charts/ChartState/XYTwoGraphState.cs index 075cc0f..732ea3c 100644 --- a/grapher/Models/Charts/ChartState/XYTwoGraphState.cs +++ b/grapher/Models/Charts/ChartState/XYTwoGraphState.cs @@ -33,9 +33,9 @@ namespace grapher.Models.Charts.ChartState GainChart.ClearSecondDots(); } - public override void MakeDots(double x, double y, double timeInMsRecip) + public override void MakeDots(double x, double y, double timeInMs) { - Data.CalculateDotsXY(x, y, timeInMsRecip); + Data.CalculateDotsXY(x, y, timeInMs); } public override void Bind() diff --git a/grapher/Models/Fields/Field.cs b/grapher/Models/Fields/Field.cs index 541bbe2..345f814 100644 --- a/grapher/Models/Fields/Field.cs +++ b/grapher/Models/Fields/Field.cs @@ -27,12 +27,16 @@ namespace grapher #region Constructors - public Field(TextBox box, Form containingForm, double defaultData) + public Field(TextBox box, Form containingForm, double defaultData, + double minData = double.MinValue, + double maxData = double.MaxValue) { DefaultText = DecimalString(defaultData); Box = box; _data = defaultData; DefaultData = defaultData; + MinData = minData; + MaxData = maxData; State = FieldState.Undefined; ContainingForm = containingForm; FormatString = Constants.DefaultFieldFormatString; @@ -69,7 +73,7 @@ namespace grapher { return DefaultData; } - } + } } public int Top @@ -122,6 +126,10 @@ namespace grapher private double DefaultData { get; set; } + private double MinData { get; } + + private double MaxData { get; } + #endregion Properties #region Methods @@ -268,12 +276,10 @@ namespace grapher private void TextToData() { - try - { - _data = Convert.ToDouble(Box.Text); - } - catch + if (double.TryParse(Box.Text, out double value) && + value <= MaxData && value >= MinData) { + _data = value; } Box.Text = DecimalString(Data); diff --git a/grapher/Models/Mouse/MouseWatcher.cs b/grapher/Models/Mouse/MouseWatcher.cs index ae48a76..cbfc119 100644 --- a/grapher/Models/Mouse/MouseWatcher.cs +++ b/grapher/Models/Mouse/MouseWatcher.cs @@ -711,9 +711,9 @@ namespace grapher.Models.Mouse private MouseData MouseData { get; } - private double PollTimeReciprocal + private double PollTime { - get => Math.Abs(SettingsManager.PollRateField.Data) * 0.001; + get => 1000 / SettingsManager.PollRateField.Data; } #endregion Properties @@ -757,7 +757,7 @@ namespace grapher.Models.Mouse } MouseData.Set(rawInput.Data.Mouse.LastX, rawInput.Data.Mouse.LastY); - AccelCharts.MakeDots(x, y, PollTimeReciprocal); + AccelCharts.MakeDots(x, y, PollTime); } } diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp index c59dc00..fcbf2e8 100644 --- a/wrapper/wrapper.cpp +++ b/wrapper/wrapper.cpp @@ -355,16 +355,20 @@ public ref struct VersionHelper } catch (DriverIOException^) { // Assume version ioctl is unimplemented (driver version < v1.3.0) - throw gcnew VersionException("driver version is out of date, run installer.exe to reinstall"); + throw gcnew VersionException("driver version is out of date\n\nrun installer.exe to reinstall"); } Version^ drv_ver_managed = convert(drv_ver); if (drv_ver_managed < convert(min_driver_version)) { - throw gcnew VersionException("driver version is out of date, run installer.exe to reinstall"); + throw gcnew VersionException( + String::Format("driver version is out of date (v{0})\n\nrun installer.exe to reinstall", + drv_ver_managed)); } else if (drv_ver_managed > wrapperActual) { - throw gcnew VersionException("newer driver version is installed"); + throw gcnew VersionException( + String::Format("newer driver version is installed (v{0})", + drv_ver_managed)); } else { return drv_ver_managed; |