diff options
| author | JacobPalecki <[email protected]> | 2020-08-31 23:03:46 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-08-31 23:03:46 -0700 |
| commit | 471fe599bab6ba0632ddd1dacd20c7fc42db0eee (patch) | |
| tree | 90a82ee14dbb112621657efbd2523ed35f59d154 /grapher/Models/Serialized/SettingsManager.cs | |
| parent | Merge pull request #16 from JacobPalecki/Misc (diff) | |
| parent | add independent xy accel to driver (diff) | |
| download | rawaccel-471fe599bab6ba0632ddd1dacd20c7fc42db0eee.tar.xz rawaccel-471fe599bab6ba0632ddd1dacd20c7fc42db0eee.zip | |
Merge pull request #17 from a1xd/indep
Indep
Diffstat (limited to 'grapher/Models/Serialized/SettingsManager.cs')
| -rw-r--r-- | grapher/Models/Serialized/SettingsManager.cs | 115 |
1 files changed, 45 insertions, 70 deletions
diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs index 848606d..fc58387 100644 --- a/grapher/Models/Serialized/SettingsManager.cs +++ b/grapher/Models/Serialized/SettingsManager.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; +using Newtonsoft.Json; +using System; using System.Windows.Forms; namespace grapher.Models.Serialized @@ -32,63 +28,38 @@ namespace grapher.Models.Serialized private ToolStripMenuItem AutoWriteMenuItem { get; set; } - public void UpdateActiveSettings( - int mode, - double degrees, - double sensitivityX, - double sensitivityY, - double weightX, - double weightY, - double capX, - double capY, - double offset, - double accel, - double limitOrExp, - double midpoint, - double gainCap) + public void UpdateActiveSettings(DriverSettings settings) { - ActiveAccel.UpdateAccel( - mode, - degrees, - sensitivityX, - sensitivityY, - weightX, - weightY, - capX, - capY, - offset, - accel, - limitOrExp, - midpoint, - gainCap); + try + { + settings.SendToDriverAndUpdate(ActiveAccel); - RawAccelSettings.AccelerationSettings = new modifier_args(ActiveAccel); - RawAccelSettings.GUISettings = new GUISettings + RawAccelSettings.AccelerationSettings = settings; + RawAccelSettings.GUISettings = new GUISettings { AutoWriteToDriverOnStartup = AutoWriteMenuItem.Checked, DPI = (int)DpiField.Data, PollRate = (int)PollRateField.Data }; - RawAccelSettings.Save(); + RawAccelSettings.Save(); + } + catch (DriverWriteCDException) + { + Console.WriteLine("write on cooldown"); + } } - public void UpdateActiveAccelFromFileSettings() + public void UpdateActiveAccelFromFileSettings(DriverSettings settings) { - ActiveAccel.UpdateAccel( - RawAccelSettings.AccelerationSettings.acc_fn_args.accel_mode, - RawAccelSettings.AccelerationSettings.degrees, - RawAccelSettings.AccelerationSettings.sens.x, - RawAccelSettings.AccelerationSettings.sens.y, - RawAccelSettings.AccelerationSettings.acc_fn_args.acc_args.weight.x, - RawAccelSettings.AccelerationSettings.acc_fn_args.acc_args.weight.y, - RawAccelSettings.AccelerationSettings.acc_fn_args.cap.x, - RawAccelSettings.AccelerationSettings.acc_fn_args.cap.y, - RawAccelSettings.AccelerationSettings.acc_fn_args.acc_args.offset, - RawAccelSettings.AccelerationSettings.acc_fn_args.acc_args.accel, - RawAccelSettings.AccelerationSettings.acc_fn_args.acc_args.exponent, - RawAccelSettings.AccelerationSettings.acc_fn_args.acc_args.midpoint, - RawAccelSettings.AccelerationSettings.acc_fn_args.acc_args.gain_cap); + try + { + settings.SendToDriverAndUpdate(ActiveAccel); + } + catch (DriverWriteCDException) + { + Console.WriteLine("write on cd during file init"); + } DpiField.SetToEntered(RawAccelSettings.GUISettings.DPI); PollRateField.SetToEntered(RawAccelSettings.GUISettings.PollRate); AutoWriteMenuItem.Checked = RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup; @@ -96,28 +67,32 @@ namespace grapher.Models.Serialized public void Startup() { - ActiveAccel.ReadFromDriver(); - - if(RawAccelSettings.Exists()) + if (RawAccelSettings.Exists()) { - RawAccelSettings = RawAccelSettings.Load(); - if (RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup) + try { - UpdateActiveAccelFromFileSettings(); - } - } - else - { - RawAccelSettings = new RawAccelSettings( - ActiveAccel, - new GUISettings + RawAccelSettings = RawAccelSettings.Load(); + if (RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup) { - AutoWriteToDriverOnStartup = AutoWriteMenuItem.Checked, - DPI = (int)DpiField.Data, - PollRate = (int)PollRateField.Data - }); - RawAccelSettings.Save(); + UpdateActiveAccelFromFileSettings(RawAccelSettings.AccelerationSettings); + } + return; + } + catch (JsonSerializationException e) + { + Console.WriteLine($"bad settings: {e}"); + } } + + RawAccelSettings = new RawAccelSettings( + DriverSettings.GetActive(), + new GUISettings + { + AutoWriteToDriverOnStartup = AutoWriteMenuItem.Checked, + DPI = (int)DpiField.Data, + PollRate = (int)PollRateField.Data + }); + RawAccelSettings.Save(); } } } |