Skip to content

Conversation

@AshyHacker
Copy link

Hello, I've added support for Syncbot, a new powerful sex toy.

The encrypt key is hardcoded. You must use the correct encrypt key for the protocol to work properly.

The implementation was tested using intiface-engine.

@blackspherefollower blackspherefollower self-requested a review March 15, 2025 15:43
@blackspherefollower blackspherefollower self-assigned this Mar 15, 2025
- 0
services:
0000ffe0-0000-1000-8000-00805f9b34fb:
tx: 0000ffe1-0000-1000-8000-00805f9b34fb
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't suppose you did any work to understand the touch slider readings?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right. Syncbot also has Rx channel and can read battery level and slider, but this PR focuses on the core functionality. (This is just FYI question, right?)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty much. Ideally I'd ask for the protocol to be documented (both directions) in an issue on https://github.com/buttplugio/docs.buttplug.io just so we at least have the notes recorded so it'll be quicker to add sensor support later

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. I have summarized the findings from my analysis in an issue.

buttplugio/docs.buttplug.io#42

Copy link
Collaborator

@blackspherefollower blackspherefollower left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a couple of minor tweaks needed, but overall the fact you've worked out what the protocol is doing is a major achievement here.

I'll test with my hardware when I'm back home in a week.

@blackspherefollower
Copy link
Collaborator

So, I think this is in good shape (maybe run cargo fmt -- --emit=files for code formatting if you haven't already), but I'd like to test with my hardware before it lands.

Thanks for your hard work on this one

@blackspherefollower
Copy link
Collaborator

Hmm... Unfortunately mine isn't behaving with this implementation.
I'm going to compare some traces from mine to see how they compare.

@AshyHacker
Copy link
Author

That's unfortunate... One possibility is that the encryption key is generated based on information specific to a particular device (such as the MAC address). I'll do a deeper analysis when I have time.

@qdot qdot marked this pull request as draft April 20, 2025 18:24
@qdot qdot force-pushed the dev branch 3 times, most recently from 0f9713e to e71d832 Compare September 7, 2025 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants