Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions crates/buttplug_server/src/device/protocol_impl/itoys.rs
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,22 @@ impl ProtocolHandler for IToys {
.into(),
])
}

fn handle_output_constrict_cmd(&self, _feature_index: u32, feature_id: Uuid, level: u32) -> Result<Vec<HardwareCommand>, 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(),
]) }
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": {
"major": 5,
"minor": 30
"minor": 39
},
"protocols": {
"activejoy": {
Expand Down Expand Up @@ -1526,6 +1526,8 @@
"BGZY",
"A531",
"YXSJ",
"K128",
"CD16",
"G317",
"G312",
"G302",
Expand Down Expand Up @@ -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": [
{
Expand Down Expand Up @@ -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": [
{
Expand Down Expand Up @@ -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": {
Expand Down Expand Up @@ -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": {
Expand Down Expand Up @@ -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": {
Expand Down Expand Up @@ -6217,6 +6324,13 @@
],
"name": "JoyHub Rhythmic 3"
},
{
"id": "a4c8897e-9aab-49d0-81c4-125b708f9939",
"identifier": [
"J-Passfree"
],
"name": "JoyHub Passfree"
},
{
"features": [
{
Expand Down Expand Up @@ -6465,6 +6579,13 @@
],
"name": "JoyHub Vellum"
},
{
"id": "2ec7cee3-9a50-46de-ad2b-41511d79e651",
"identifier": [
"J-Prax"
],
"name": "JoyHub Prax"
},
{
"features": [
{
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -10608,8 +10729,8 @@
}
},
{
"id": "482f1b86-7392-4fb8-bfac-22be525ea243",
"index": 5,
"id": "615d3f5a-a3ed-46eb-8760-caa296069baf",
"index": 4,
"output": {
"constrict": {
"value": [
Expand Down Expand Up @@ -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": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Loading