diff options
| author | Jacob Palecki <[email protected]> | 2021-04-04 23:14:39 -0700 |
|---|---|---|
| committer | Jacob Palecki <[email protected]> | 2021-04-04 23:14:39 -0700 |
| commit | 069bf5795fbf127d2a8c3233988a77aa7b2107d7 (patch) | |
| tree | 2df5907768e11caba199df466287f29595daa8e8 | |
| parent | Add differing table types (diff) | |
| download | rawaccel-069bf5795fbf127d2a8c3233988a77aa7b2107d7.tar.xz rawaccel-069bf5795fbf127d2a8c3233988a77aa7b2107d7.zip | |
Fix most errors from wrapper rewrite
| -rw-r--r-- | grapher/Form1.cs | 2 | ||||
| -rw-r--r-- | grapher/Layouts/LinearLayout.cs | 6 | ||||
| -rw-r--r-- | grapher/Layouts/NaturalGainLayout.cs | 24 | ||||
| -rw-r--r-- | grapher/Models/AccelGUI.cs | 9 | ||||
| -rw-r--r-- | grapher/Models/Options/AccelOptionSet.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Options/AccelTypeOptions.cs | 55 | ||||
| -rw-r--r-- | grapher/Models/Options/ApplyOptions.cs | 8 | ||||
| -rw-r--r-- | grapher/Models/Options/CapOptions.cs | 12 | ||||
| -rw-r--r-- | grapher/Models/Options/OffsetOptions.cs | 5 | ||||
| -rw-r--r-- | grapher/Models/Serialized/RawAccelSettings.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Serialized/SettingsManager.cs | 6 |
11 files changed, 67 insertions, 68 deletions
diff --git a/grapher/Form1.cs b/grapher/Form1.cs index 51f1355..120bced 100644 --- a/grapher/Form1.cs +++ b/grapher/Form1.cs @@ -51,7 +51,7 @@ namespace grapher AccelGUI = AccelGUIFactory.Construct( this, - ManagedAccel.GetActiveAccel(), + ManagedAccel.GetActive(), AccelerationChart, AccelerationChartY, VelocityChart, diff --git a/grapher/Layouts/LinearLayout.cs b/grapher/Layouts/LinearLayout.cs index 0412a2a..186d655 100644 --- a/grapher/Layouts/LinearLayout.cs +++ b/grapher/Layouts/LinearLayout.cs @@ -4,11 +4,13 @@ namespace grapher.Layouts { public class LinearLayout : LayoutBase { + public const string LinearName = "Linear"; + public LinearLayout() : base() { - Name = "Linear"; - Index = (int)AccelMode.linear; + Name = LinearName; + Index = (int)AccelMode.classic; LogarithmicCharts = false; AccelLayout = new OptionLayout(true, Acceleration); diff --git a/grapher/Layouts/NaturalGainLayout.cs b/grapher/Layouts/NaturalGainLayout.cs deleted file mode 100644 index 12daed3..0000000 --- a/grapher/Layouts/NaturalGainLayout.cs +++ /dev/null @@ -1,24 +0,0 @@ -using grapher.Models.Serialized; - -namespace grapher.Layouts -{ - public class NaturalGainLayout : LayoutBase - { - public NaturalGainLayout() - : base() - { - Name = "NaturalGain"; - Index = (int)AccelMode.naturalgain; - LogarithmicCharts = false; - - AccelLayout = new OptionLayout(true, Acceleration); - ScaleLayout = new OptionLayout(false, string.Empty); - CapLayout = new OptionLayout(false, string.Empty); - WeightLayout = new OptionLayout(true, Weight); - OffsetLayout = new OptionLayout(true, Offset); - LimitLayout = new OptionLayout(true, Limit); - ExponentLayout = new OptionLayout(false, string.Empty); - MidpointLayout = new OptionLayout(false, string.Empty); - } - } -} diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index 4c4b598..943360b 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -137,8 +137,6 @@ namespace grapher var driverSettings = Settings.RawAccelSettings.AccelerationSettings; var newArgs = ApplyOptions.GetArgs(); - newArgs.x.speedCap = driverSettings.args.x.speedCap; - newArgs.y.speedCap = driverSettings.args.y.speedCap; var settings = new DriverSettings { @@ -150,13 +148,14 @@ namespace grapher y = ApplyOptions.Sensitivity.Fields.Y }, combineMagnitudes = ApplyOptions.IsWhole, - modes = ApplyOptions.GetModes(), args = newArgs, minimumTime = driverSettings.minimumTime, directionalMultipliers = driverSettings.directionalMultipliers, domainArgs = ApplyOptions.Directionality.GetDomainArgs(), rangeXY = ApplyOptions.Directionality.GetRangeXY(), deviceID = DeviceIDManager.ID, + maximumSpeed = driverSettings.maximumSpeed, + minimumSpeed = driverSettings.minimumSpeed }; ButtonDelay(WriteButton); @@ -252,13 +251,13 @@ namespace grapher { var settings = ToggleButton.Checked ? Settings.RawAccelSettings.AccelerationSettings : - DriverInterop.DefaultSettings; + AccelTypeOptions.DefaultSettings; LastToggleChecked = ToggleButton.Checked; ButtonDelay(ToggleButton); SettingsManager.SendToDriver(settings); - Settings.ActiveAccel.UpdateFromSettings(settings); + Settings.ActiveAccel.Settings = settings; RefreshOnRead(settings); } diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index 11a7f10..f4c08a1 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -108,11 +108,11 @@ namespace grapher.Models.Options return Options.GenerateArgs(); } - public void SetActiveValues(int mode, AccelArgs args) + public void SetActiveValues(AccelArgs args) { if (!Hidden) { - Options.SetActiveValues(mode, args); + Options.SetActiveValues(args); } } diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs index 8d3fecb..0547164 100644 --- a/grapher/Models/Options/AccelTypeOptions.cs +++ b/grapher/Models/Options/AccelTypeOptions.cs @@ -17,12 +17,13 @@ namespace grapher new LinearLayout(), new ClassicLayout(), new NaturalLayout(), - new NaturalGainLayout(), new PowerLayout(), new MotivityLayout(), new OffLayout() }.ToDictionary(k => k.Name); + public static readonly DriverSettings DefaultSettings = new DriverSettings(); + #endregion Fields #region Constructors @@ -187,16 +188,16 @@ namespace grapher Show(); } - public void SetActiveValues(int index, AccelArgs args) + public void SetActiveValues(AccelArgs args) { - AccelerationType = AccelerationTypes.Where(t => t.Value.Index == index).FirstOrDefault().Value; + AccelerationType = AccelTypeFromSettings(args); AccelTypeActiveValue.SetValue(AccelerationType.Name); AccelDropdown.SelectedIndex = AccelerationType.Index; Weight.SetActiveValue(args.weight); - Cap.SetActiveValues(args.gainCap, args.scaleCap, args.gainCap > 0 || args.scaleCap <= 0); - Offset.SetActiveValue(args.offset, args.legacyOffset); - Acceleration.SetActiveValue(args.acceleration); + Cap.SetActiveValues(args.cap, args.legacy); + Offset.SetActiveValue(args.offset); + Acceleration.SetActiveValue(AccelerationParameterFromArgs(args)); Scale.SetActiveValue(args.scale); Limit.SetActiveValue(args.limit); Exponent.SetActiveValue(args.exponent); @@ -227,15 +228,15 @@ namespace grapher public void SetArgs(ref AccelArgs args) { - AccelArgs defaults = DriverInterop.DefaultSettings.args.x; - args.acceleration = Acceleration.Visible ? Acceleration.Field.Data : defaults.acceleration; + AccelArgs defaults = DefaultSettings.args.x; + args.accelClassic = defaults.accelClassic; + args.accelMotivity = defaults.accelMotivity; + args.accelNatural = defaults.accelClassic; args.scale = Scale.Visible ? Scale.Field.Data : defaults.scale; - args.gainCap = Cap.Visible ? Cap.VelocityGainCap : defaults.gainCap; - args.scaleCap = Cap.Visible ? Cap.SensitivityCap : defaults.scaleCap; + args.cap = Cap.Visible ? Cap.SensitivityCap : defaults.cap; args.limit = Limit.Visible ? Limit.Field.Data : defaults.limit; args.exponent = Exponent.Visible ? Exponent.Field.Data : defaults.exponent; args.offset = Offset.Visible ? Offset.Offset : defaults.offset; - args.legacyOffset = Offset.IsLegacy; args.midpoint = Midpoint.Visible ? Midpoint.Field.Data : defaults.midpoint; args.weight = Weight.Visible ? Weight.Field.Data : defaults.weight; } @@ -292,6 +293,38 @@ namespace grapher top); } + private LayoutBase AccelTypeFromSettings(AccelArgs args) + { + LayoutBase type; + if (args.mode == AccelMode.classic && args.exponent == 2) + { + type = AccelerationTypes.Values.Where(t => string.Equals(t.Name, LinearLayout.LinearName)).FirstOrDefault(); + } + else + { + int index = (int)args.mode; + type = AccelerationTypes.Where(t => t.Value.Index == index).FirstOrDefault().Value; + } + + return type; + } + + private double AccelerationParameterFromArgs(AccelArgs args) + { + if (args.mode == AccelMode.motivity) + { + return args.accelMotivity; + } + else if (args.mode == AccelMode.natural) + { + return args.accelNatural; + } + else + { + return args.accelClassic; + } + } + #endregion Methods } } diff --git a/grapher/Models/Options/ApplyOptions.cs b/grapher/Models/Options/ApplyOptions.cs index ffe430d..43a2da8 100644 --- a/grapher/Models/Options/ApplyOptions.cs +++ b/grapher/Models/Options/ApplyOptions.cs @@ -108,19 +108,17 @@ namespace grapher.Models.Options double xSens, double ySens, double rotation, - int xMode, - int yMode, AccelArgs xArgs, AccelArgs yArgs, bool isWhole) { Sensitivity.SetActiveValues(xSens, ySens); Rotation.SetActiveValue(rotation); - OptionSetX.SetActiveValues(xMode, xArgs); + OptionSetX.SetActiveValues(xArgs); WholeVectorCheckBox.Checked = isWhole; ByComponentVectorCheckBox.Checked = !isWhole; ByComponentVectorXYLock.Checked = xArgs.Equals(yArgs); - OptionSetY.SetActiveValues(yMode, yArgs); + OptionSetY.SetActiveValues(yArgs); } public void SetActiveValues(DriverSettings settings) @@ -129,8 +127,6 @@ namespace grapher.Models.Options settings.sensitivity.x, settings.sensitivity.y, settings.rotation, - (int)settings.modes.x, - (int)settings.modes.y, settings.args.x, settings.args.y, settings.combineMagnitudes); diff --git a/grapher/Models/Options/CapOptions.cs b/grapher/Models/Options/CapOptions.cs index c459c50..b4afa5c 100644 --- a/grapher/Models/Options/CapOptions.cs +++ b/grapher/Models/Options/CapOptions.cs @@ -149,24 +149,20 @@ namespace grapher } - public void SetActiveValues(double gainCap, double sensCap, bool capGainEnabled) + public void SetActiveValues(double cap, bool legacyCap) { - if (capGainEnabled) + if (!legacyCap) { CapOption.ActiveValueLabel.FormatString = Constants.GainCapFormatString; CapOption.ActiveValueLabel.Prefix = "Gain"; - CapOption.SetActiveValue(gainCap); - LegacyCapCheck.Checked = false; - VelocityGainCapCheck.Checked = true; } else { CapOption.ActiveValueLabel.FormatString = Constants.DefaultActiveValueFormatString; CapOption.ActiveValueLabel.Prefix = string.Empty; - CapOption.SetActiveValue(sensCap); - LegacyCapCheck.Checked = true; - VelocityGainCapCheck.Checked = false; } + + CapOption.SetActiveValue(cap); } public override void AlignActiveValues() diff --git a/grapher/Models/Options/OffsetOptions.cs b/grapher/Models/Options/OffsetOptions.cs index 6638ed7..42d2d92 100644 --- a/grapher/Models/Options/OffsetOptions.cs +++ b/grapher/Models/Options/OffsetOptions.cs @@ -106,12 +106,9 @@ namespace grapher.Models.Options OffsetOption.Show(name); } - public void SetActiveValue(double offset, bool legacy) + public void SetActiveValue(double offset) { OffsetOption.SetActiveValue(offset); - - VelocityGainOffsetCheck.Checked = !legacy; - LegacyOffsetCheck.Checked = legacy; } public override void AlignActiveValues() diff --git a/grapher/Models/Serialized/RawAccelSettings.cs b/grapher/Models/Serialized/RawAccelSettings.cs index 17db910..dc4eb0a 100644 --- a/grapher/Models/Serialized/RawAccelSettings.cs +++ b/grapher/Models/Serialized/RawAccelSettings.cs @@ -123,7 +123,7 @@ namespace grapher.Models.Serialized public static bool IsDefaultEquivalent(DriverSettings accelSettings) { bool wholeOrNoY = accelSettings.combineMagnitudes || - accelSettings.modes.y == AccelMode.noaccel; + accelSettings.args.y.mode == AccelMode.noaccel; return string.IsNullOrEmpty(accelSettings.deviceID) && accelSettings.sensitivity.x == 1 && @@ -132,7 +132,7 @@ namespace grapher.Models.Serialized accelSettings.directionalMultipliers.y <= 0 && accelSettings.rotation == 0 && accelSettings.snap == 0 && - accelSettings.modes.x == AccelMode.noaccel && + accelSettings.args.x.mode == AccelMode.noaccel && wholeOrNoY; } diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs index 3773a9e..1a57838 100644 --- a/grapher/Models/Serialized/SettingsManager.cs +++ b/grapher/Models/Serialized/SettingsManager.cs @@ -79,7 +79,7 @@ namespace grapher.Models.Serialized public SettingsErrors TryUpdateAccel(DriverSettings settings) { var errors = SendToDriverSafe(settings); - if (errors.Empty()) ActiveAccel.UpdateFromSettings(settings); + if (errors.Empty()) ActiveAccel.Settings = settings; return errors; } @@ -90,7 +90,7 @@ namespace grapher.Models.Serialized public static SettingsErrors SendToDriverSafe(DriverSettings settings) { - var errors = DriverInterop.GetSettingsErrors(settings); + var errors = new SettingsErrors(settings); if (errors.Empty()) SendToDriver(settings); return errors; } @@ -129,7 +129,7 @@ namespace grapher.Models.Serialized } RawAccelSettings = new RawAccelSettings( - DriverInterop.GetActiveSettings(), + ManagedAccel.GetActive().Settings, MakeGUISettingsFromFields()); RawAccelSettings.Save(); return true; |