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

Early Satisfyer devices are not identified correctly #547

Open
blackspherefollower opened this issue Jan 13, 2023 · 3 comments
Open

Early Satisfyer devices are not identified correctly #547

blackspherefollower opened this issue Jan 13, 2023 · 3 comments
Assignees
Labels

Comments

@blackspherefollower
Copy link
Collaborator

Describe the bug
The early Satisfyer devices don't return any useful information on the manufacturer characteristic, so whilst we match them based on the advertised information, we can't actually work out which device is connected.

Expected behavior/Actual behavior
The Satisfyer Curvy2 should appear as a dual vibe, but in fact it only appears as a single.

Additional context
The "hacky" solution here would probably be to fall back to the device name at this point, but ideally the advertised information would be passed into the intialialiser, so the matched manufacturer data could be used.

@MoePenguin
Copy link

This issue can also be reproduced with the Satisfyer Mono Flex.

It has 2 motors, but control only allows for Vibrate/All Motors, which sometimes includes the second motor and sometimes won't when changing the value.

@qdot
Copy link
Member

qdot commented May 22, 2023

@blackspherefollower was this fixed in v7.1.0?

@blackspherefollower
Copy link
Collaborator Author

No, not yet. My original idea for a fix was going to be to fall back to requesting the device name, but since we now know that that's a no go on CoreBluetooth that's going to cause more problems than it solves.

I think it could be solved by passing the whole advertisement struct into the identifier method, but that's quite a large change.

blackspherefollower added a commit to blackspherefollower/buttplug-rs that referenced this issue May 24, 2024
This change passes the ProtocolCommunicationSpecifier down into
ProtocolIdentifier::identify(), which affects all protocols, but
means that the identify() method can access the same data that
was used to decide that this was a suitable protocol implementation
in the first place.

Fixes buttplugio#547
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants