Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add support for the Joyroid Loob #545

Draft
wants to merge 9 commits into
base: dev
Choose a base branch
from
4 changes: 3 additions & 1 deletion buttplug/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,10 @@ serde_json = "1.0.125"
serde_repr = "0.1.19"
uuid = { version = "1.10.0", features = ["serde"] }
url = "2.5.2"
btleplug = { version = "0.11.5", optional = true }
# btleplug = { version = "0.11.5", optional = true }
# btleplug = { path = "../../btleplug", optional = true}
# btleplug = { git = 'https://github.com/deviceplug/btleplug', branch = 'master', optional = true }
btleplug = { git = 'https://github.com/blackspherefollower/btleplug', branch = 'dev', optional = true }
strum_macros = "0.26.4"
strum = "0.26.3"
once_cell = "1.19.0"
Expand Down Expand Up @@ -99,6 +100,7 @@ aes = { version = "0.8.4" }
ecb = { version = "0.1.2", features = ["std"] }
rand = { version = "0.8.5" }
sha2 = { version = "0.10.8", features = ["std"] }
log = "0.4.22"

[dev-dependencies]
serde_yaml = "0.9.34"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": {
"major": 2,
"minor": 31
"minor": 32
},
"protocols": {
"lovense": {
Expand Down Expand Up @@ -10099,6 +10099,32 @@
]
}
}
},
"loob": {
"btle": {
"names": [
"LOOB"
],
"services": {
"b75c49d2-04a3-4071-a0b5-35853eb08307": {
"tx": "ba5c49d2-04a3-4071-a0b5-35853eb08307"
}
}
},
"defaults": {
"name": "Joyroid Loob",
"messages": {
"LinearCmd": [
{
"StepRange": [
1,
1000
],
"ActuatorType": "Position"
}
]
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": {
"major": 3,
"minor": 5
"minor": 7
},
"protocols": {
"lovense": {
Expand Down Expand Up @@ -758,6 +758,19 @@
]
}
},
{
"feature-type": "Position",
"description": "Stroker Position Based Movement",
"actuator": {
"step-range": [
0,
100
],
"messages": [
"LinearCmd"
]
}
},
{
"feature-type": "Battery",
"description": "Battery Level",
Expand Down Expand Up @@ -15727,6 +15740,38 @@
}
}
]
},
{
"identifier": [
"J-VBarbiep"
],
"name": "JoyHub VBarbie p",
"features": [
{
"feature-type": "Vibrate",
"actuator": {
"step-range": [
0,
255
],
"messages": [
"ScalarCmd"
]
}
},
{
"feature-type": "Vibrate",
"actuator": {
"step-range": [
0,
255
],
"messages": [
"ScalarCmd"
]
}
}
]
}
],
"communication": [
Expand Down Expand Up @@ -15763,7 +15808,8 @@
"J-Fabledragon",
"J-Faunus",
"J-VortexTongue2",
"J-Torin"
"J-Torin",
"J-VBarbiep"
],
"services": {
"0000ffa0-0000-1000-8000-00805f9b34fb": {
Expand Down Expand Up @@ -16325,6 +16371,126 @@
}
}
]
},
"feelingso": {
"defaults": {
"name": "FeelingSo Flair Feel",
"features": [
{
"feature-type": "Vibrate",
"actuator": {
"step-range": [
0,
19
],
"messages": [
"ScalarCmd"
]
}
},
{
"feature-type": "Oscillate",
"actuator": {
"step-range": [
0,
19
],
"messages": [
"ScalarCmd"
]
}
}
]
},
"communication": [
{
"btle": {
"names": [
"Flair Feel"
],
"services": {
"42410001-0000-0101-0000-736278637a72": {
"tx": "42410002-0000-0101-0000-736278637a72",
"rx": "42410003-0000-0101-0000-736278637a72"
}
}
}
}
]
},
"deepsire": {
"defaults": {
"name": "DeepSire Device",
"features": [
{
"feature-type": "Vibrate",
"actuator": {
"step-range": [
0,
255
],
"messages": [
"ScalarCmd"
]
}
}
]
},
"configurations": [
{
"identifier": [
"IMP 3"
],
"name": "Kuirkish Imp 3"
}
],
"communication": [
{
"btle": {
"names": [
"IMP 3"
],
"services": {
"0000ffe0-0000-1000-8000-00805f9b34fb": {
"tx": "0000ffe1-0000-1000-8000-00805f9b34fb"
}
}
}
}
]
},
"loob": {
"defaults": {
"name": "Joyroid Loob",
"features": [
{
"feature-type": "Position",
"actuator": {
"step-range": [
0,
1000
],
"messages": [
"LinearCmd"
]
}
}
]
},
"communication": [
{
"btle": {
"names": [
"LOOB"
],
"services": {
"b75c49d2-04a3-4071-a0b5-35853eb08307": {
"tx": "ba5c49d2-04a3-4071-a0b5-35853eb08307"
}
}
}
}
]
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
# user in the user device config file.
version:
major: 2
minor: 31
minor: 32
protocols:
lovense:
# Lovense is special. Special in oh so many ways.
Expand Down Expand Up @@ -4974,3 +4974,16 @@ protocols:
ScalarCmd:
- StepRange: [ 0, 100 ]
ActuatorType: Vibrate
loob:
btle:
names:
- LOOB
services:
b75c49d2-04a3-4071-a0b5-35853eb08307:
tx: ba5c49d2-04a3-4071-a0b5-35853eb08307
defaults:
name: Joyroid Loob
messages:
LinearCmd:
- StepRange: [1, 1000]
ActuatorType: Position
Loading