533: Book poc r=Dirbaio a=lulf
This is a Proof of Concept for an embassy book. It's using Antora/Asciidoc.
* Asciidoc because it's a single specification with a slightly richer feature set than markdown.
* Antora because it allows keeping content in the embassy repo, while book definition in another repo (embassy-book).
Using antora also allows for easy embedding of embassy doc in other projects, which I think in turn increases probability of upstream contributions.
The sources of content are located in docs/ but could also be in a separate repo. However, keeping it in the embassy repo makes it easier to support one version of the book per embassy version in the future.
At present, the book is automatically built every hour from this branch and published at: https://embassy-rs.github.io/embassy-book/embassy/dev/index.html
Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
534: Provides AsyncWrite with flush r=huntc a=huntc
As per Tokio and others, this commit provides a `poll_flush` method on `AsyncWrite` so that a best-effort attempt at wakening once all bytes are flushed can be made.
Co-authored-by: huntc <huntchr@gmail.com>
As per Tokio and others, this commit provides a `poll_flush` method on `AsyncWrite` so that a best-effort attempt at wakening once all bytes are flushed can be made.
531: Rust Analyzer documentation r=Dirbaio a=huntc
Intends to clarify how to make Embassy usable from within Visual Studio Code by assuming the presence of the Rust Analyzer.
Note that IntelliJ does not support the Rust Analyzer, so an open question remains as to the whether this is a good move. If it turns out not to be a good move then we should still look at clarifying the use of a workspace file.
Co-authored-by: huntc <huntchr@gmail.com>
Intends to clarify how to make Embassy usable from within Visual Studio Code by assuming the presence of the Rust Analyzer.
Note that IntelliJ does not support the Rust Analyzer, so an open question remains as to the whether this is a good move. If it turns out not to be a good move then we should still look at clarifying the use of a workspace file.
500: Low level DMA channel API. r=Dirbaio a=matoushybl
This should be an improved version of the PR by `@theunkn0wn1.`
Co-authored-by: Joshua Salzedo <joshuasalzedo@gmail.com>
Co-authored-by: Matous Hybl <hyblmatous@gmail.com>
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
`async fn`s do nothing until polled, but we want the DMA transfer to
immediately start in this case. Drivers rely on it. Some require special
orders, such as "start DMA, start SPI, then wait for DMA" which is awkward
to do without eager start.
Also use a manually-impl'd future, this allows getting rid of the "double"
Unborrow channel clone.