From 70382da847f2a9f4353ea2f981199f832c600ca4 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Thu, 1 Apr 2021 21:01:41 -0700 Subject: Add lookuptable json --- grapher/Models/AccelGUI.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index 3a30a9b..4c4b598 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -45,7 +45,7 @@ namespace grapher ToggleButton.Click += new System.EventHandler(OnToggleButtonClick); AccelForm.FormClosing += new FormClosingEventHandler(SaveGUISettingsOnClose); - ButtonTimerInterval = Convert.ToInt32(DriverInterop.WriteDelayMs); + ButtonTimerInterval = Convert.ToInt32(DriverSettings.WriteDelayMs); ButtonTimer = new Timer(); ButtonTimer.Tick += new System.EventHandler(OnButtonTimerTick); @@ -62,7 +62,7 @@ namespace grapher } else { - DriverSettings active = DriverInterop.GetActiveSettings(); + DriverSettings active = ManagedAccel.GetActive().Settings; bool activeNotDefault = !RawAccelSettings.IsDefaultEquivalent(active); LastToggleChecked = activeNotDefault; -- cgit v1.2.3 From 069bf5795fbf127d2a8c3233988a77aa7b2107d7 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Sun, 4 Apr 2021 23:14:39 -0700 Subject: Fix most errors from wrapper rewrite --- grapher/Models/AccelGUI.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'grapher/Models/AccelGUI.cs') 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); } -- cgit v1.2.3 From 9864bc77331baf61a95f49dd2d96dbda51e841db Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Mon, 5 Apr 2021 19:46:04 -0700 Subject: It builds --- grapher/Models/AccelGUI.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index 943360b..5a04030 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -249,16 +249,16 @@ namespace grapher private void OnToggleButtonClick(object sender, EventArgs e) { - var settings = ToggleButton.Checked ? - Settings.RawAccelSettings.AccelerationSettings : + var accel = ToggleButton.Checked ? + new ManagedAccel(Settings.RawAccelSettings.AccelerationSettings) : AccelTypeOptions.DefaultSettings; LastToggleChecked = ToggleButton.Checked; ButtonDelay(ToggleButton); - SettingsManager.SendToDriver(settings); - Settings.ActiveAccel.Settings = settings; - RefreshOnRead(settings); + SettingsManager.SendToDriver(accel); + Settings.ActiveAccel = accel; + RefreshOnRead(accel.Settings); } private void OnButtonTimerTick(object sender, EventArgs e) -- cgit v1.2.3 From 7c1f14845bc948e9ea25908e96099203d9433a69 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Tue, 6 Apr 2021 01:21:42 -0400 Subject: update wrapper + writer to handle lut grapher is building but applying options still broken for the most part --- grapher/Models/AccelGUI.cs | 124 ++++++++++++++++----------------------------- 1 file changed, 44 insertions(+), 80 deletions(-) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index 5a04030..9ed2cb9 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -32,7 +32,7 @@ namespace grapher AccelCharts = accelCharts; ApplyOptions = applyOptions; WriteButton = writeButton; - ToggleButton = (CheckBox)toggleButton; + DisableButton = (CheckBox)toggleButton; ScaleMenuItem = scaleMenuItem; Settings = settings; DefaultButtonFont = WriteButton.Font; @@ -42,7 +42,7 @@ namespace grapher ScaleMenuItem.Click += new System.EventHandler(OnScaleMenuItemClick); WriteButton.Click += new System.EventHandler(OnWriteButtonClick); - ToggleButton.Click += new System.EventHandler(OnToggleButtonClick); + DisableButton.Click += new System.EventHandler(DisableDriverEventHandler); AccelForm.FormClosing += new FormClosingEventHandler(SaveGUISettingsOnClose); ButtonTimerInterval = Convert.ToInt32(DriverSettings.WriteDelayMs); @@ -51,25 +51,8 @@ namespace grapher ChartRefresh = SetupChartTimer(); - bool settingsActive = Settings.Startup(); - SettingsNotDefault = !Settings.RawAccelSettings.IsDefaultEquivalent(); - - if (settingsActive) - { - LastToggleChecked = SettingsNotDefault; - ToggleButton.Enabled = LastToggleChecked; - RefreshOnRead(Settings.RawAccelSettings.AccelerationSettings); - } - else - { - DriverSettings active = ManagedAccel.GetActive().Settings; - bool activeNotDefault = !RawAccelSettings.IsDefaultEquivalent(active); - - LastToggleChecked = activeNotDefault; - ToggleButton.Enabled = SettingsNotDefault || activeNotDefault; - RefreshOnRead(active); - } - + RefreshUser(); + RefreshActive(); SetupButtons(); // TODO: The below removes an overlapping form from the anisotropy panel. @@ -94,7 +77,7 @@ namespace grapher public Button WriteButton { get; } - public CheckBox ToggleButton { get; } + public CheckBox DisableButton { get; } public Timer ButtonTimer { get; } @@ -104,8 +87,6 @@ namespace grapher public DeviceIDManager DeviceIDManager { get; } - public Action UpdateInputManagers { get; private set; } - private Timer ChartRefresh { get; } private Font SmallButtonFont { get; } @@ -125,46 +106,37 @@ namespace grapher private void SaveGUISettingsOnClose(Object sender, FormClosingEventArgs e) { var guiSettings = Settings.MakeGUISettingsFromFields(); - if (!Settings.RawAccelSettings.GUISettings.Equals(guiSettings)) + if (!Settings.GuiSettings.Equals(guiSettings)) { - Settings.RawAccelSettings.GUISettings = guiSettings; - Settings.RawAccelSettings.Save(); + guiSettings.Save(); } } public void UpdateActiveSettingsFromFields() { - var driverSettings = Settings.RawAccelSettings.AccelerationSettings; - - var newArgs = ApplyOptions.GetArgs(); - var settings = new DriverSettings { rotation = ApplyOptions.Rotation.Field.Data, - snap = driverSettings.snap, sensitivity = new Vec2 { x = ApplyOptions.Sensitivity.Fields.X, y = ApplyOptions.Sensitivity.Fields.Y }, combineMagnitudes = ApplyOptions.IsWhole, - args = newArgs, - minimumTime = driverSettings.minimumTime, - directionalMultipliers = driverSettings.directionalMultipliers, + args = ApplyOptions.GetArgs(), domainArgs = ApplyOptions.Directionality.GetDomainArgs(), rangeXY = ApplyOptions.Directionality.GetRangeXY(), deviceID = DeviceIDManager.ID, - maximumSpeed = driverSettings.maximumSpeed, - minimumSpeed = driverSettings.minimumSpeed }; + Settings.SetHiddenOptions(settings); + ButtonDelay(WriteButton); - SettingsErrors errors = Settings.TryUpdateActiveSettings(settings); + + SettingsErrors errors = Settings.TryActivate(settings); if (errors.Empty()) { - SettingsNotDefault = !Settings.RawAccelSettings.IsDefaultEquivalent(); - LastToggleChecked = SettingsNotDefault; - RefreshOnRead(Settings.RawAccelSettings.AccelerationSettings); + RefreshActive(); } else { @@ -172,25 +144,28 @@ namespace grapher } } - public void RefreshOnRead(DriverSettings args) + public void UpdateInputManagers() { - UpdateShownActiveValues(args); - UpdateGraph(args); - - UpdateInputManagers = () => - { - MouseWatcher.UpdateHandles(args.deviceID); - DeviceIDManager.Update(args.deviceID); - }; + MouseWatcher.UpdateHandles(Settings.ActiveSettings.baseSettings.deviceID); + DeviceIDManager.Update(Settings.ActiveSettings.baseSettings.deviceID); + } + public void RefreshActive() + { + UpdateGraph(); UpdateInputManagers(); } - public void UpdateGraph(DriverSettings args) + public void RefreshUser() + { + UpdateShownActiveValues(Settings.UserSettings); + } + + public void UpdateGraph() { AccelCharts.Calculate( Settings.ActiveAccel, - args); + Settings.ActiveSettings.baseSettings); AccelCharts.Bind(); } @@ -214,32 +189,31 @@ namespace grapher { WriteButton.Top = Constants.SensitivityChartAloneHeight - Constants.ButtonVerticalOffset; - ToggleButton.Appearance = Appearance.Button; - ToggleButton.FlatStyle = FlatStyle.System; - ToggleButton.TextAlign = ContentAlignment.MiddleCenter; - ToggleButton.Size = WriteButton.Size; - ToggleButton.Top = WriteButton.Top; + DisableButton.Appearance = Appearance.Button; + DisableButton.FlatStyle = FlatStyle.System; + DisableButton.TextAlign = ContentAlignment.MiddleCenter; + DisableButton.Size = WriteButton.Size; + DisableButton.Top = WriteButton.Top; SetButtonDefaults(); } private void SetButtonDefaults() { - ToggleButton.Checked = LastToggleChecked; - - ToggleButton.Font = DefaultButtonFont; - ToggleButton.Text = ToggleButton.Checked ? "Disable" : "Enable"; - ToggleButton.Update(); + DisableButton.Font = DefaultButtonFont; + DisableButton.Text = "Disable"; + DisableButton.Enabled = true; + DisableButton.Update(); WriteButton.Font = DefaultButtonFont; WriteButton.Text = Constants.WriteButtonDefaultText; - WriteButton.Enabled = ToggleButton.Checked || !ToggleButton.Enabled; + WriteButton.Enabled = true; WriteButton.Update(); } private void OnScaleMenuItemClick(object sender, EventArgs e) { - UpdateGraph(Settings.RawAccelSettings.AccelerationSettings); + UpdateGraph(); } private void OnWriteButtonClick(object sender, EventArgs e) @@ -247,24 +221,16 @@ namespace grapher UpdateActiveSettingsFromFields(); } - private void OnToggleButtonClick(object sender, EventArgs e) + private void DisableDriverEventHandler(object sender, EventArgs e) { - var accel = ToggleButton.Checked ? - new ManagedAccel(Settings.RawAccelSettings.AccelerationSettings) : - AccelTypeOptions.DefaultSettings; - - LastToggleChecked = ToggleButton.Checked; - ButtonDelay(ToggleButton); - - SettingsManager.SendToDriver(accel); - Settings.ActiveAccel = accel; - RefreshOnRead(accel.Settings); + ButtonDelay(DisableButton); + Settings.DisableDriver(); + RefreshActive(); } private void OnButtonTimerTick(object sender, EventArgs e) { ButtonTimer.Stop(); - ToggleButton.Enabled = SettingsNotDefault; SetButtonDefaults(); } @@ -276,15 +242,13 @@ namespace grapher private void ButtonDelay(ButtonBase btn) { - ToggleButton.Checked = false; - - ToggleButton.Enabled = false; + DisableButton.Enabled = false; WriteButton.Enabled = false; btn.Font = SmallButtonFont; btn.Text = $"{Constants.ButtonDelayText} : {ButtonTimerInterval} ms"; - ToggleButton.Update(); + DisableButton.Update(); WriteButton.Update(); StartButtonTimer(); -- cgit v1.2.3 From 5e858b059436375ed1c17f7dc1b3e47a7e8e1d5d Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Wed, 7 Apr 2021 01:05:59 -0700 Subject: Add active value labels for gain switch --- grapher/Models/AccelGUI.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index 9ed2cb9..ec570d3 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -154,6 +154,7 @@ namespace grapher { UpdateGraph(); UpdateInputManagers(); + UpdateShownActiveValues(Settings.UserSettings); } public void RefreshUser() -- cgit v1.2.3 From a6926be0e911b7b7637861866f41c3bca31a87a3 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Tue, 13 Apr 2021 23:59:21 -0400 Subject: move arbitrary input into settings separate arbitrary mode from spaced modes, arbitrary now deserializes from default settings file --- grapher/Models/AccelGUI.cs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index ec570d3..324dcb1 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -114,20 +114,19 @@ namespace grapher public void UpdateActiveSettingsFromFields() { - var settings = new DriverSettings + var settings = new DriverSettings(); + + settings.rotation = ApplyOptions.Rotation.Field.Data; + settings.sensitivity = new Vec2 { - rotation = ApplyOptions.Rotation.Field.Data, - sensitivity = new Vec2 - { - x = ApplyOptions.Sensitivity.Fields.X, - y = ApplyOptions.Sensitivity.Fields.Y - }, - combineMagnitudes = ApplyOptions.IsWhole, - args = ApplyOptions.GetArgs(), - domainArgs = ApplyOptions.Directionality.GetDomainArgs(), - rangeXY = ApplyOptions.Directionality.GetRangeXY(), - deviceID = DeviceIDManager.ID, + x = ApplyOptions.Sensitivity.Fields.X, + y = ApplyOptions.Sensitivity.Fields.Y }; + settings.combineMagnitudes = ApplyOptions.IsWhole; + ApplyOptions.SetArgs(ref settings.args); + settings.domainArgs = ApplyOptions.Directionality.GetDomainArgs(); + settings.rangeXY = ApplyOptions.Directionality.GetRangeXY(); + settings.deviceID = DeviceIDManager.ID; Settings.SetHiddenOptions(settings); -- cgit v1.2.3 From 44c20e12d53434c47b08dbe855567316159d0469 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Sat, 3 Jul 2021 14:52:54 -0700 Subject: Small fixes, guide additions, tweaks --- grapher/Models/AccelGUI.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index 324dcb1..9ca7fed 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -151,9 +151,9 @@ namespace grapher public void RefreshActive() { + UpdateShownActiveValues(Settings.UserSettings); UpdateGraph(); UpdateInputManagers(); - UpdateShownActiveValues(Settings.UserSettings); } public void RefreshUser() -- cgit v1.2.3