[RFC] establish a process for adding new traits
This PR establish a process for adding new traits. The details can be found in the diff. This PR is
also proposing using the `embedded-hal-driver` and `embedded-hal-impl` keywords on crates.io to make
implementations of `embedded-hal` and drivers built on top of it more discoverable.
Feel free to suggest changes to these proposals in the comments.
The PR is also adding a list of (WIP) `embedded-hal` implementations and `embedded-hal` drivers. If
your crate is not listed there or if you know of a crate that should be there feel free to send a
follow up PR adding it.
---
Finally, I'd like to use this chance to call for collaborators that will help me with:
- Merging PRs that update the lists in the README
- Triaging issues to make sure that they are properly labeled and that they are following the
established process.
- "Shepherding" proposals / discussions by preventing them from going off topic and by helping them
reach a conclusion / consensus, e.g. "Concern $X needs to be addressed before reaching a
conclusion", "How would this proposal fulfill use case $Y?", etc.
If you'd like to become a collaborator let me know in the comments!
Add blocking serial write implementation
Also adds all blocking traits to the prelude that weren't there already.
There are failign doc tests, but those seem unrelated to this change.
Change traits to take `&mut self`, where appropriate
This pull request supersedes #16, which seems stalled. It is based on #19. Only the last two commits are actually relevant to this pull request itself. I suggest merging #19 first, then I can rebase this one.
Please note that it still doesn't compile, partly because parts of it
are pseudo-code, partly because of futures-related issues that I don't
understand, and don't currently have the time to get into.
Fix some problems in the `Mutex` example. Please note that it still
doesn't compile, as it's obviously rather abstract and incomplete, in
order to demonstrate the principle.
Made the necessary changes to get this example to compile. This includes
replacing the ".." placeholders with comments. I also changed the
formatting of the `else if` block in `read`, to make it easier to
include a placeholder comment in there.