Skip to content
New issue

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

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

Already on GitHub? # to your account

Missing features // TODO #29

Open
1 of 8 tasks
JojiiOfficial opened this issue Dec 29, 2020 · 4 comments
Open
1 of 8 tasks

Missing features // TODO #29

JojiiOfficial opened this issue Dec 29, 2020 · 4 comments

Comments

@JojiiOfficial
Copy link
Owner

JojiiOfficial commented Dec 29, 2020

  • Find my buds
  • Force firmware reboot
  • Buds original support
  • Actually check for daemon to be ready
  • Custom touchpad actions
  • Relieve pressure (Buds live)
  • Factory reset
  • Allow disconnect tap-action if touchpad is blocked
@ecumene
Copy link

ecumene commented Dec 30, 2020

I was wondering where the original issue for buds support went, but here it is!

I'm interested in adding original buds support, and you mentioned how to do it in the previous issue (simply make a proof of concept and you'll integrate it). I don't have experience with bluetooth in any way shape or form, but I have had the buds original for a few years now and want to use the features on PopOS

I also have a few years experience with rust, so I think wrapping my head around the crates required won't be that hard... Could you walk a noob Bluetooth hacker through how it's done? I'd love to help 😁

@JojiiOfficial
Copy link
Owner Author

You don't really need experience with bluetooth itself. If you look at the extisting code, you'll see that It's a simple protocol over rfocmm (a serial port protocol over bluetooth). There are 'messages' which represent a command or state information which get transferred over bluetooth. You can have a look at those examples, to get an idea how the transferring is implemented. You'd basically have to find out how the messages are implemented for the buds original. Here you can see how the message parsing works for the buds live and buds+. To find out how the messages are built up, you can have a look at this document, where most of the required calls are already listed. If you have a bit knowledge in C# you can also look at the code from this repo and see how the messages are implemented there.

@y0uzha
Copy link

y0uzha commented Aug 2, 2021

hi is this works on ubuntu?

@JojiiOfficial
Copy link
Owner Author

Yes it does and this is not a question thread. Please create a separate issue for your question next time.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants