From f939e79e69c066fa2bc865c17190ce4cb1020190 Mon Sep 17 00:00:00 2001 From: glax Date: Thu, 1 Feb 2024 23:07:48 +0100 Subject: [PATCH] Update Readme --- README.md | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 303a0d4..782f303 100644 --- a/README.md +++ b/README.md @@ -7,45 +7,40 @@ Library to interact with Shock-Collars that are remotely controllable via ESP32- ```csharp public static void Main(string[] args){ - List shockerIds = new(); IntensityRange intensityRange = new IntensityRange(30, 50); DurationRange durationRange = new DurationRange(1000, 2000); string apiKey = ":)"; - OpenShockHttp openShockHttp = new OpenShockHttp(shockerIds, intensityRange, durationRange, apiKey); - openShockHttp.ShockerIds.AddRange(openShockHttp.GetShockers()); - string username = "username"; - string shareCode = "sharecode"; - PiShockHttp piShockHttp = new PiShockHttp(shockerIds, intensityRange, durationRange, apiKey, username, shareCode, apiUri); + OpenShockHttp openShockHttp = new (intensityRange, durationRange, apiKey); + OpenShockShocker shocker1 = openShockHttp.GetShockers(apiKey).First(); + shocker1.Control(ControlAction.Vibrate, 20, 1000); - ControlAction action = ControlAction.Shock; - openShockHttp.Control(action, shockerIds.First(), 20, 1000); - piShockHttp.Control(action); + shocker1.Dispose(); + + List serialPorts = SerialHelper.GetSerialPorts(); + int selectedPort = 1; + OpenShockSerial openShockSerial = new(intensityRange, durationRange, serialPorts[selectedPort], apiKey); + OpenShockShocker shocker2 = openShockSerial.GetShockers(apiKey).First(); + shocker2.Control(ControlAction.Vibrate, 20, 1000); + + shocker2.Dispose(); } ``` ## `Shocker.Control` ```csharp -Control(ControlAction action, string? shockerId = null, int? intensity = null, int? duration = null) +Control(ControlAction action, int? intensity = null, int? duration = null) ``` -If `shockerId` is `null`, all IDs will be used. If `intensity` or `duration` are `null`, a random value within the +If `intensity` or `duration` are `null`, a random value within the configured range will be used. ### ControlAction -From [here](https://github.com/C9Glax/CShocker/blob/master/CShocker/Shockers/ControlAction.cs) +From [here](https://github.com/C9Glax/CShocker/blob/master/CShocker/Devices/Additional/ControlActionEnum.cs) ## Variables ### ApiKey - For OpenShock (HTTP) get token [here](https://shocklink.net/#/dashboard/tokens) -- For PiShock (HTTP) get information [here](https://apidocs.pishock.com/#header-authenticating) - -### ShockerIds -List of Shocker-Ids, comma seperated. - -`[ "ID-1-asdasd", "ID-2-fghfgh" ]` - -OpenShockHttp also can retrieve IDs automatically. ### Intensity Range in percent @@ -57,8 +52,9 @@ in ms - `0-30000` OpenShock - `0-15000` PiShock -### Username (PiShockHttp only) -For PiShock (HTTP) get information [here](https://apidocs.pishock.com/#header-authenticating) +## Future +### ~~Username (PiShockHttp only)~~ +~~For PiShock (HTTP) get information [here](https://apidocs.pishock.com/#header-authenticating)~~ -### Sharecode (PiShockHttp only) -For PiShock (HTTP) get information [here](https://apidocs.pishock.com/#header-authenticating) \ No newline at end of file +### ~~Sharecode (PiShockHttp only)~~ +~~For PiShock (HTTP) get information [here](https://apidocs.pishock.com/#header-authenticating)~~