2024-01-29 15:37:19 +01:00
|
|
|
|
using CShocker.Devices;
|
|
|
|
|
using CShocker.Devices.Abstract;
|
|
|
|
|
using CShocker.Devices.Additional;
|
|
|
|
|
using CShocker.Ranges;
|
|
|
|
|
using CShocker.Shockers;
|
2024-01-20 20:02:12 +01:00
|
|
|
|
using CShocker.Shockers.Abstract;
|
2024-01-29 15:37:19 +01:00
|
|
|
|
using CShocker.Shockers.Additional;
|
|
|
|
|
using Newtonsoft.Json;
|
2024-01-20 20:21:23 +01:00
|
|
|
|
using TestApp;
|
2024-01-20 20:02:12 +01:00
|
|
|
|
|
2024-01-29 15:37:19 +01:00
|
|
|
|
Logger logger = new ();
|
|
|
|
|
List<OpenShockShocker> shockers = new();
|
2024-01-20 20:02:12 +01:00
|
|
|
|
|
2024-01-29 15:37:19 +01:00
|
|
|
|
Console.WriteLine("OpenShock API Key:");
|
|
|
|
|
string? apiKey = Console.ReadLine();
|
|
|
|
|
while(apiKey is null || apiKey.Length < 1)
|
|
|
|
|
apiKey = Console.ReadLine();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OpenShockHttp openShockHttp = new (new IntensityRange(30, 50), new DurationRange(1000, 1000), apiKey, logger: logger);
|
|
|
|
|
shockers = openShockHttp.GetShockers();
|
|
|
|
|
openShockHttp.Control(ControlAction.Vibrate, 20, 1000, shockers.First());
|
|
|
|
|
|
|
|
|
|
File.WriteAllText("devices.json", JsonConvert.SerializeObject(openShockHttp));
|
|
|
|
|
OpenShockHttp deserialized = JsonConvert.DeserializeObject<OpenShockHttp>(File.ReadAllText("devices.json"))!;
|
|
|
|
|
Thread.Sleep(1100); //Wait for previous to end
|
|
|
|
|
deserialized.Control(ControlAction.Vibrate, 20, 1000, shockers.First());
|
|
|
|
|
openShockHttp.Dispose();
|
|
|
|
|
deserialized.Dispose();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
2024-01-20 20:02:12 +01:00
|
|
|
|
#pragma warning disable CA1416
|
2024-01-29 15:37:19 +01:00
|
|
|
|
List<SerialPortInfo> serialPorts = SerialHelper.GetSerialPorts();
|
2024-01-20 20:02:12 +01:00
|
|
|
|
|
|
|
|
|
if (serialPorts.Count < 1)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
for(int i = 0; i < serialPorts.Count; i++)
|
|
|
|
|
Console.WriteLine($"{i}) {serialPorts[i]}");
|
|
|
|
|
|
|
|
|
|
Console.WriteLine($"Select Serial Port [0-{serialPorts.Count-1}]:");
|
|
|
|
|
string? selectedPortStr = Console.ReadLine();
|
2024-01-29 15:37:19 +01:00
|
|
|
|
int selectedPort;
|
2024-01-20 20:02:12 +01:00
|
|
|
|
while (!int.TryParse(selectedPortStr, out selectedPort) || selectedPort < 0 || selectedPort > serialPorts.Count - 1)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"Select Serial Port [0-{serialPorts.Count-1}]:");
|
|
|
|
|
selectedPortStr = Console.ReadLine();
|
|
|
|
|
}
|
|
|
|
|
|
2024-01-29 15:37:19 +01:00
|
|
|
|
OpenShockSerial openShockSerial = new(new IntensityRange(30, 50), new DurationRange(1000, 1000),serialPorts[selectedPort], apiKey, logger: logger);
|
|
|
|
|
shockers = openShockSerial.GetShockers();
|
|
|
|
|
openShockSerial.Control(ControlAction.Vibrate, 20, 1000, shockers.First());
|
|
|
|
|
File.WriteAllText("devices.json", JsonConvert.SerializeObject(openShockSerial));
|
|
|
|
|
OpenShockHttp deserialized = JsonConvert.DeserializeObject<OpenShockHttp>(File.ReadAllText("devices.json"))!;
|
|
|
|
|
openShockSerial.Dispose();
|
|
|
|
|
deserialized.Dispose();
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
foreach(OpenShockShocker s in shockers)
|
|
|
|
|
Console.Write(s);
|
|
|
|
|
File.WriteAllText("shockers.json", JsonConvert.SerializeObject(shockers));
|
|
|
|
|
List<IShocker> deserializedShockers = JsonConvert.DeserializeObject<List<IShocker>>(File.ReadAllText("shockers.json"), new ShockerJsonConverter())!;
|