You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a user just starting to use the project (0.6.0-rc.4), let me start by saying I love the work you're doing! This project makes developing on embedded so modular and breezy, I am excited to contribute.
Now, the issue: the #[app] macro is too opaque. I feel right now in order to figure out the behavior of the rtic macros, users must look at rtic's source code and use cargo-expand.
This is far from an ideal UX and could be solved by maintaining a "macro reference" document (in the book or elsewhere) that would answer the following common questions ([n] refers to a comment in code sample below):
[1]: what do #[init] and #[task] do to my functions?
[2]: what is in the generated init module?
[2]: what is the shape of init::Context?
[3]: there's a field init::Context.core, what is the shape of that structure?
[4]: what is in the generated foo module?
[5]: what is the shape of foo::Context?
[6]: what is available in the generated monotonics module?
[6]: what other modules are available to me that aren't clearly documented?
We have discussed this, and it was intended for the under the hood section (its partly there but commented out).
On the one hand its valuable for a developer to understand what to expect from he macros, but on the hand this should not be necessary for using RTIC. Moreover, it would just reflect the current implementation and has no stability guarantees.
We aim to provide a separate design document, explaining the current implementation and soundness considerations. Intended to 1) make it easier to contribute to RTIC, 2) as a foundation for potential certification.
As a user just starting to use the project (0.6.0-rc.4), let me start by saying I love the work you're doing! This project makes developing on embedded so modular and breezy, I am excited to contribute.
Now, the issue: the
#[app]
macro is too opaque. I feel right now in order to figure out the behavior of the rtic macros, users must look at rtic's source code and usecargo-expand
.This is far from an ideal UX and could be solved by maintaining a "macro reference" document (in the book or elsewhere) that would answer the following common questions ([n] refers to a comment in code sample below):
#[init]
and#[task]
do to my functions?init
module?init::Context
?init::Context.core
, what is the shape of that structure?foo
module?foo::Context
?monotonics
module?Click to see code sample
The text was updated successfully, but these errors were encountered: