diff --git a/crates/buttplug_server/src/device/protocol_impl/itoys.rs b/crates/buttplug_server/src/device/protocol_impl/itoys.rs index 8cc34bda5..ce6b4cea0 100644 --- a/crates/buttplug_server/src/device/protocol_impl/itoys.rs +++ b/crates/buttplug_server/src/device/protocol_impl/itoys.rs @@ -84,4 +84,22 @@ impl ProtocolHandler for IToys { .into(), ]) } + + fn handle_output_constrict_cmd(&self, _feature_index: u32, feature_id: Uuid, level: u32) -> Result, ButtplugDeviceError> { + Ok(vec![ + HardwareWriteCmd::new( + &[feature_id], + Endpoint::Tx, + vec![ + 0xa0, + 0x0d, + 0x00, + 0x00, + level as u8, + if level == 0 { 0x00 } else { 0x64 }, + ], + false, + ) + .into(), + ]) } } diff --git a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json index a1aeeeaa0..b78785ff9 100644 --- a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json +++ b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json @@ -1,7 +1,7 @@ { "version": { "major": 5, - "minor": 30 + "minor": 39 }, "protocols": { "activejoy": { @@ -1526,6 +1526,8 @@ "BGZY", "A531", "YXSJ", + "K128", + "CD16", "G317", "G312", "G302", @@ -2029,6 +2031,20 @@ ], "name": "Adorime Pink Touch" }, + { + "id": "f81414d2-6a99-4dde-9b59-e6e77fd037df", + "identifier": [ + "K128" + ], + "name": "Galaku F1" + }, + { + "id": "103cfcd7-e87b-4684-bba6-6662dfffa83b", + "identifier": [ + "CD16" + ], + "name": "Adorime Panty Vibrator" + }, { "features": [ { @@ -3937,6 +3953,59 @@ ], "name": "Adorime Backy" }, + { + "features": [ + { + "description": "Thruster", + "id": "0a42e499-11b4-4fa6-aec8-a9d0aa3a8eff", + "index": 0, + "output": { + "oscillate": { + "value": [ + 0, + 100 + ] + } + } + }, + { + "description": "Vibrate", + "id": "ee2e67ea-12c4-4dc9-9e81-0edcefd31d6c", + "index": 1, + "output": { + "vibrate": { + "value": [ + 0, + 100 + ] + } + } + }, + { + "description": "Battery Level", + "id": "37e2c89c-17a6-4449-8d5b-629c9abaca03", + "index": 2, + "input": { + "battery": { + "command": [ + "Read" + ], + "value": [ + [ + 0, + 100 + ] + ] + } + } + } + ], + "id": "d5a1963d-ec8c-4e89-af2f-df1572315b90", + "identifier": [ + "AK71" + ], + "name": "Adorime Anal Vibrator 2" + }, { "features": [ { @@ -5812,7 +5881,8 @@ "26-021-B", "SML-2310-SZ-B", "ASF-001-BT-R", - "IJVB-W10-BT-RX" + "IJVB-W10-BT-RX", + "YSSY-073-BT" ], "services": { "0000ffa0-0000-1000-8000-00805f9b34fb": { @@ -5916,6 +5986,39 @@ "IJVB-W10-BT-RX" ], "name": "Bestvibe Rotational Vibration" + }, + { + "features": [ + { + "id": "fc4214cc-3876-4d80-bc1c-9a42fbfb9f56", + "index": 0, + "output": { + "vibrate": { + "value": [ + 0, + 255 + ] + } + } + }, + { + "id": "43f5a752-fe61-4024-8eff-b2a5f9ef495a", + "index": 1, + "output": { + "constrict": { + "value": [ + 0, + 1 + ] + } + } + } + ], + "id": "4a6ae74b-9960-4bec-9ef3-45cb5c0191e0", + "identifier": [ + "YSSY-073-BT" + ], + "name": "iToys Lach" } ], "defaults": { @@ -6142,7 +6245,11 @@ "J-MartinoIII", "J-Punisher", "J-Prismcy", - "J-AresIII" + "J-AresIII", + "J-Passfree", + "J-Prax", + "J-Poptint", + "J-Tauros" ], "services": { "0000ffa0-0000-1000-8000-00805f9b34fb": { @@ -6217,6 +6324,13 @@ ], "name": "JoyHub Rhythmic 3" }, + { + "id": "a4c8897e-9aab-49d0-81c4-125b708f9939", + "identifier": [ + "J-Passfree" + ], + "name": "JoyHub Passfree" + }, { "features": [ { @@ -6465,6 +6579,13 @@ ], "name": "JoyHub Vellum" }, + { + "id": "2ec7cee3-9a50-46de-ad2b-41511d79e651", + "identifier": [ + "J-Prax" + ], + "name": "JoyHub Prax" + }, { "features": [ { @@ -9523,10 +9644,10 @@ { "features": [ { - "id": "4e3b6192-d5dd-4fcf-b307-7487ca18fc1b", + "id": "6503f7fe-bcb2-4929-ac1e-8234a3d7a62e", "index": 3, "output": { - "rotate": { + "oscillate": { "value": [ 0, 255 @@ -10608,8 +10729,8 @@ } }, { - "id": "482f1b86-7392-4fb8-bfac-22be525ea243", - "index": 5, + "id": "615d3f5a-a3ed-46eb-8760-caa296069baf", + "index": 4, "output": { "constrict": { "value": [ @@ -10762,6 +10883,84 @@ "J-AresIII" ], "name": "JoyHub Ares III" + }, + { + "features": [ + { + "id": "f6aea1c0-f7a3-4884-8bbd-d84bf06fa177", + "index": 0, + "output": { + "oscillate": { + "value": [ + 0, + 255 + ] + } + } + }, + { + "id": "4db52130-47c7-4a9f-ae79-9a98f2e35b91", + "index": 1, + "output": { + "vibrate": { + "value": [ + 0, + 255 + ] + } + } + }, + { + "id": "abb2f1f0-fcb2-4bcd-be12-2fe215b876a4", + "index": 6, + "output": { + "temperature": { + "value": [ + 0, + 255 + ] + } + } + } + ], + "id": "62adc3c9-9ef5-402e-b3e2-969a0d1701b8", + "identifier": [ + "J-Poptint" + ], + "name": "JoyHub Poptint" + }, + { + "features": [ + { + "id": "56f480a9-a069-4e4f-8b37-68c74cab302a", + "index": 0, + "output": { + "vibrate": { + "value": [ + 0, + 255 + ] + } + } + }, + { + "id": "f8705382-ecfd-4398-9e4c-fadbffbd694a", + "index": 1, + "output": { + "vibrate": { + "value": [ + 0, + 255 + ] + } + } + } + ], + "id": "ddec69a6-d108-428a-8fd7-ab8d42457082", + "identifier": [ + "J-Tauros" + ], + "name": "JoyHub Tauros" } ], "defaults": { diff --git a/crates/buttplug_server_device_config/device-config/protocols/galaku.yml b/crates/buttplug_server_device_config/device-config/protocols/galaku.yml index fd5c5840b..5f8d9e5b4 100644 --- a/crates/buttplug_server_device_config/device-config/protocols/galaku.yml +++ b/crates/buttplug_server_device_config/device-config/protocols/galaku.yml @@ -280,6 +280,14 @@ configurations: - A531 name: Adorime Pink Touch id: 5cfdd204-e0dd-4ec5-b133-205bd6ce660a +- identifier: + - K128 + name: Galaku F1 + id: f81414d2-6a99-4dde-9b59-e6e77fd037df +- identifier: + - CD16 + name: Adorime Panty Vibrator + id: 103cfcd7-e87b-4684-bba6-6662dfffa83b # Type 1 - identifier: - G317 @@ -1397,6 +1405,37 @@ configurations: - Read index: 2 id: 349e64b6-931f-4e1a-b69c-4f9652f0cf2c +- identifier: + - AK71 + name: Adorime Anal Vibrator 2 + features: + - description: Thruster + id: 0a42e499-11b4-4fa6-aec8-a9d0aa3a8eff + output: + oscillate: + value: + - 0 + - 100 + index: 0 + - description: Vibrate + id: ee2e67ea-12c4-4dc9-9e81-0edcefd31d6c + output: + vibrate: + value: + - 0 + - 100 + index: 1 + - description: Battery Level + id: 37e2c89c-17a6-4449-8d5b-629c9abaca03 + input: + battery: + value: + - - 0 + - 100 + command: + - Read + index: 2 + id: d5a1963d-ec8c-4e89-af2f-df1572315b90 - identifier: - YXSJ name: Adorime Cock Ring @@ -1645,6 +1684,8 @@ communication: - BGZY # Adorime Penis Helmet Vibrator - A531 # Adorime Pink Touch - YXSJ # Adorime Cock Ring + - K128 # Galaku F1 + - CD16 # Adorime Panty Vibrator # Type 1 - G317 - G312 diff --git a/crates/buttplug_server_device_config/device-config/protocols/itoys.yml b/crates/buttplug_server_device_config/device-config/protocols/itoys.yml index a9359a0ed..7d7d6b4c5 100644 --- a/crates/buttplug_server_device_config/device-config/protocols/itoys.yml +++ b/crates/buttplug_server_device_config/device-config/protocols/itoys.yml @@ -65,6 +65,25 @@ configurations: - 0 - 3 index: 1 +- identifier: + - YSSY-073-BT + name: iToys Lach + id: 4a6ae74b-9960-4bec-9ef3-45cb5c0191e0 + features: + - id: fc4214cc-3876-4d80-bc1c-9a42fbfb9f56 + output: + vibrate: + value: + - 0 + - 255 + index: 0 + - id: 43f5a752-fe61-4024-8eff-b2a5f9ef495a + output: + constrict: + value: + - 0 + - 1 + index: 1 communication: - btle: names: @@ -72,6 +91,7 @@ communication: - SML-2310-SZ-B - ASF-001-BT-R - IJVB-W10-BT-RX + - YSSY-073-BT services: 0000ffa0-0000-1000-8000-00805f9b34fb: tx: 0000ffa1-0000-1000-8000-00805f9b34fb diff --git a/crates/buttplug_server_device_config/device-config/protocols/joyhub.yml b/crates/buttplug_server_device_config/device-config/protocols/joyhub.yml index 2f943dfe3..565395c72 100644 --- a/crates/buttplug_server_device_config/device-config/protocols/joyhub.yml +++ b/crates/buttplug_server_device_config/device-config/protocols/joyhub.yml @@ -44,9 +44,13 @@ configurations: name: JoyHub Rhythmic 2 id: 46533dc6-6f1b-4b17-9f31-06b076f417d6 - identifier: - - J-Rhythmic3 + - J-Rhythmic3 name: JoyHub Rhythmic 3 id: 1a5dd035-8107-4db3-924d-503113b1c600 +- identifier: + - J-Passfree + name: JoyHub Passfree + id: a4c8897e-9aab-49d0-81c4-125b708f9939 - identifier: - J-Rainbow name: JoyHub Rainbow @@ -189,6 +193,10 @@ configurations: - J-Vellum name: JoyHub Vellum id: a168338f-a110-4485-94b4-8f2186a0f4b0 +- identifier: + - J-Prax + name: JoyHub Prax + id: 2ec7cee3-9a50-46de-ad2b-41511d79e651 - identifier: - J-Petalwish2 name: JoyHub Petalwish 2 @@ -1970,9 +1978,9 @@ configurations: - J-MowgliII name: JoyHub Mowgli II features: - - id: 4e3b6192-d5dd-4fcf-b307-7487ca18fc1b + - id: 6503f7fe-bcb2-4929-ac1e-8234a3d7a62e output: - rotate: + oscillate: value: - 0 - 255 @@ -2598,13 +2606,13 @@ configurations: - 0 - 255 index: 0 - - id: 482f1b86-7392-4fb8-bfac-22be525ea243 + - id: 615d3f5a-a3ed-46eb-8760-caa296069baf output: constrict: value: - 0 - 9 - index: 5 + index: 4 id: 9065a86a-0151-47d7-aca7-4bc78ec0fcd5 - identifier: - J-Jason @@ -2685,6 +2693,51 @@ configurations: - J-AresIII name: JoyHub Ares III id: 5f902050-ee3f-4503-abcb-d0794c27180c +- identifier: + - J-Poptint + name: JoyHub Poptint + features: + - id: f6aea1c0-f7a3-4884-8bbd-d84bf06fa177 + output: + oscillate: + value: + - 0 + - 255 + index: 0 + - id: 4db52130-47c7-4a9f-ae79-9a98f2e35b91 + output: + vibrate: + value: + - 0 + - 255 + index: 1 + - id: abb2f1f0-fcb2-4bcd-be12-2fe215b876a4 + output: + temperature: + value: + - 0 + - 255 + index: 6 + id: 62adc3c9-9ef5-402e-b3e2-969a0d1701b8 +- identifier: + - J-Tauros + name: JoyHub Tauros + features: + - id: 56f480a9-a069-4e4f-8b37-68c74cab302a + output: + vibrate: + value: + - 0 + - 255 + index: 0 + - id: f8705382-ecfd-4398-9e4c-fadbffbd694a + output: + vibrate: + value: + - 0 + - 255 + index: 1 + id: ddec69a6-d108-428a-8fd7-ab8d42457082 communication: - btle: names: @@ -2843,6 +2896,10 @@ communication: - J-Punisher - J-Prismcy - J-AresIII + - J-Passfree + - J-Prax + - J-Poptint + - J-Tauros services: 0000ffa0-0000-1000-8000-00805f9b34fb: tx: 0000ffa1-0000-1000-8000-00805f9b34fb diff --git a/crates/buttplug_server_device_config/device-config/version.yaml b/crates/buttplug_server_device_config/device-config/version.yaml index 03b91ac4b..e0867707f 100644 --- a/crates/buttplug_server_device_config/device-config/version.yaml +++ b/crates/buttplug_server_device_config/device-config/version.yaml @@ -1,3 +1,3 @@ version: major: 5 - minor: 30 + minor: 39