summaryrefslogtreecommitdiff
path: root/grapher/Models/Serialized/SettingsManager.cs
diff options
context:
space:
mode:
authorJacobPalecki <[email protected]>2020-08-31 23:03:46 -0700
committerGitHub <[email protected]>2020-08-31 23:03:46 -0700
commit471fe599bab6ba0632ddd1dacd20c7fc42db0eee (patch)
tree90a82ee14dbb112621657efbd2523ed35f59d154 /grapher/Models/Serialized/SettingsManager.cs
parentMerge pull request #16 from JacobPalecki/Misc (diff)
parentadd independent xy accel to driver (diff)
downloadrawaccel-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.cs115
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();
}
}
}