Contributing to Bluepad32¶
There a different ways to contribute to the Bluepad32 project, like:
- Word of mouth
- and/or improving the documentation
- and/or filing bugs
- donations
Here is a detailed list of how you can contribute to the project:
| Type | Link | Rationale |
|---|---|---|
| Word of mouth | Spread the word in social media, forums, chat, etc | The more more, the merrier. |
| Filing bug reports / feature requests | Issue tracker | Something not working? Let us know! |
| Updating documentation | Docs | Documentation is not clear? Outdated? Help us improve it |
| Implementing features / fixing bugs | Send a Pull Request | Did you find a bug? want to fix it? Great! |
| Coffee | PayPal , Ko-fi , or Venmo | I don't drink much coffee, but I enjoy a morning Hot Chocolate |
| Donating hardware | Wanted hardware | We need gamepads, consoles and dev kits. It could be used hardware, and/or not fully working. Check link for details. If in doubt, email unijoysticle@gmail.com. |
| Purchasing Unijoysticle boards | ![]() |
Helps funding the project |
Running the Unit Tests¶
Bluepad32 uses ctest for its host testing suite. Before submitting a pull
request, run the tests:
# Build and run the core tests
cmake -S tests -B tests/build
cmake --build tests/build
ctest --test-dir tests/build --output-on-failure -V
# Build and run the examples/posix_imgui diagnostic suite
git clone --depth 1 https://github.com/ocornut/imgui.git external/imgui
cmake -S examples/posix_imgui -B examples/posix_imgui/build
cmake --build examples/posix_imgui/build
ctest --test-dir examples/posix_imgui/build --output-on-failure -V
Code Formatting¶
Bluepad32 enforces clang-format on all C and C++ source code. Please format
your code before creating a pull request:
find src/components/bluepad32 examples tests \
\( -name '*.c' -o -name '*.h' -o -name '*.cpp' \) \
! -name 'btstack_config.h' \
-exec clang-format -i {} +
