JojiiOfficial / LiveBudsCli

A tool to control your Galaxy buds+, Live, Buds Pro and Buds 2 Pro
https://crates.io/crates/earbuds
GNU General Public License v3.0
192 stars 16 forks source link

Missing features // TODO #29

Open JojiiOfficial opened 3 years ago

JojiiOfficial commented 3 years ago
ecumene commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

hi is this works on ubuntu?

JojiiOfficial commented 3 years ago

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