The Open Device Partnership project welcomes your suggestions and contributions! Before opening your first issue or pull request, please review our Code of Conduct to understand how our community interacts in an inclusive and respectful manner.
Most of our code is distributed under the terms of the MIT license, and when you contribute code that you wrote to our repositories, you agree that you are contributing under those same terms. In addition, by submitting your contributions you are indicating that you have the right to submit those contributions under those terms.
If you wish to contribute code or documentation authored by others, or using the terms of any other license, please indicate that clearly in your pull request so that the project team can discuss the situation with you.
- For any new HAL driver added, please add corresponding test in the examples
- Format the code with
cargo fmt
. Or better yet, enable format on save in your IDE for rust source files. - Use meaningful commit messages. See this blogpost
- Create a draft PR first
- Make sure that your branch has
.github
folder and all the code linting/sanity check workflows are passing in your draft PR before sending it out to code reviewers.
Working with embedded, using of unsafe
is a necessity. However, please wrap unsafe code with safe interfaces to prevent unsafe
keyword being sprinkled everywhere.
If you want feedback on your design or HAL driver early, please create a draft PR with title prefix RFC:
.
For now, we're not using forks. Eventually a personal fork will be required for any PRs to limit the amount of people with merge access to the main branch. Until that happens, please use meaningful branch names like this user_alias/feature
and avoid sending PRs from branches containing prefixes such as "wip", "test", etc. Prior to sending a PR, please rename the branch.
We disabled squashing of commit and would like to maintain a clean commit history. So please reorganize your commits with the following items:
- Each commit builds successfully without warning from
rustc
orclippy
- Miscellaneous commits to fix typos + formatting are squashed
When reporting a regression, please ensure that you use git bisect
to find the first offending commit, as that will help us finding the culprit a lot faster.