aboutsummaryrefslogtreecommitdiff
path: root/macros/src/syntax/mod.rs
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <jorge@japaric.io> 2017-07-06 23:25:29 -0500
committerGravatar Jorge Aparicio <jorge@japaric.io> 2017-07-06 23:25:29 -0500
commit3cebf49a2feb10b6dbf7e40e4671dbf7a3d8bedf (patch)
treed9b842d6f60439370ef81a4015993ed70f9aa7f8 /macros/src/syntax/mod.rs
parent4b0c3bff871eb6125835fd911891bf503c61c820 (diff)
downloadrtic-3cebf49a2feb10b6dbf7e40e4671dbf7a3d8bedf.tar.gz
rtic-3cebf49a2feb10b6dbf7e40e4671dbf7a3d8bedf.tar.zst
rtic-3cebf49a2feb10b6dbf7e40e4671dbf7a3d8bedf.zip
syntax tweaks, relax check, add set_pending(), deal with imported types
- allow trailing commas in list of resources - make task.resources optional - add rtfm::set_pending function which can be used to force an interrupt into the pending state. This is a replacement of the old rtfm::request. rtfm::set_pending takes the Interrupt enum provided by the device crate as argument. (The old rtfm::request took a task function as argument) - the user may want to use types they imported into the root of the crate. These types are not available in e.g. `mod idle` so `idle::Resources` *can't* be defined in that module. To workaround this problem `idle::Resources` will be defined in the root, with some other name, and then be re-exported in the `idle` module. - remove the "a resource only used by one task should be local data" check. In some cases you do want a resource owned by a single task instead of local data since `init` can access resources but not a task local data.
Diffstat (limited to 'macros/src/syntax/mod.rs')
-rw-r--r--macros/src/syntax/mod.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/macros/src/syntax/mod.rs b/macros/src/syntax/mod.rs
index 53c17a82..757e05ed 100644
--- a/macros/src/syntax/mod.rs
+++ b/macros/src/syntax/mod.rs
@@ -10,7 +10,7 @@ pub struct App {
pub device: Tokens,
pub idle: Idle,
pub init: Init,
- pub resources: Resources,
+ pub resources: Statics,
pub tasks: Tasks,
}
@@ -21,7 +21,7 @@ pub struct Init {
#[derive(Debug)]
pub struct Idle {
- pub local: Resources,
+ pub local: Statics,
pub path: Tokens,
pub resources: HashSet<Ident>,
}
@@ -46,6 +46,6 @@ pub struct Resource {
pub ty: Tokens,
}
-pub type Resources = HashMap<Ident, Resource>;
+pub type Statics = HashMap<Ident, Resource>;
pub type Tasks = HashMap<Ident, Task>;