summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2021-04-04 23:14:39 -0700
committerJacob Palecki <[email protected]>2021-04-04 23:14:39 -0700
commit069bf5795fbf127d2a8c3233988a77aa7b2107d7 (patch)
tree2df5907768e11caba199df466287f29595daa8e8
parentAdd differing table types (diff)
downloadrawaccel-069bf5795fbf127d2a8c3233988a77aa7b2107d7.tar.xz
rawaccel-069bf5795fbf127d2a8c3233988a77aa7b2107d7.zip
Fix most errors from wrapper rewrite
-rw-r--r--grapher/Form1.cs2
-rw-r--r--grapher/Layouts/LinearLayout.cs6
-rw-r--r--grapher/Layouts/NaturalGainLayout.cs24
-rw-r--r--grapher/Models/AccelGUI.cs9
-rw-r--r--grapher/Models/Options/AccelOptionSet.cs4
-rw-r--r--grapher/Models/Options/AccelTypeOptions.cs55
-rw-r--r--grapher/Models/Options/ApplyOptions.cs8
-rw-r--r--grapher/Models/Options/CapOptions.cs12
-rw-r--r--grapher/Models/Options/OffsetOptions.cs5
-rw-r--r--grapher/Models/Serialized/RawAccelSettings.cs4
-rw-r--r--grapher/Models/Serialized/SettingsManager.cs6
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;