Skip to content

About

A C library for bluetooth communication with Bose QuietComfort Ultra headphones.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Bose-QuietComfort-Ultra-lib

A C library for bluetooth communication with Bose QuietComfort Ultra headphones.

This library is a direct implementation of the Bose QuietComfort Ultra Headphones Bluetooth SPP Protocol Reverse-engineered paper.

🚀 How to use

Compile from source

mkdir build && cd build
cmake ..
cmake --build . --config Debug/Release/RelWithDebInfo

You can also copy src/bose_qc.ultra.c and include/bose_qc_ultra.h directly into your project files.

Import in your code

#include <bose_qc_ultra.h>

// Your transport implementation for SPP protocol
int serial_transport(const uint8_t* tx_buf, size_t tx_len, uint8_t* rx_buf, size_t rx_len, void* ctx);

uint8_t volume;
int res = bose_get_volume(serial_transport, NULL, &volume);
if (res == 0) printf("Current volume is %u\n", volume);

For full list of supported functions and its parameters see include/bose_qc_ultra.h.

🏗️ Contribution

All pull requests and issues are welcome. However, before creating a new one, pay attention to what the described endpoint looks like in the Bose QuietComfort Ultra Headphones Bluetooth SPP Protocol Reverse-engineered paper. This library is a direct implementation of this document and in case of errors in it or if you want to add new functionality, it should be described in the documentation first.

How to run tests

mkdir build && cd build
cmake .. -DBUILD_TESTING=ON
cmake --build . --config Debug/Release/RelWithDebInfo
ctest --output-on-failure -c Debug/Release/RelWithDebInfo

About

A C library for bluetooth communication with Bose QuietComfort Ultra headphones.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages