Commit graph

258 commits

Author SHA1 Message Date
Jorge Aparicio
98596554b3 split macro parser into its own crate and improve error handling / reporting 2017-07-14 18:57:02 -05:00
Jorge Aparicio
59afbf02aa compiler plugin -> proc macro 2017-07-11 23:44:54 -05:00
Jorge Aparicio
8485a24d36 make the init::Resources argument optional 2017-07-09 16:30:04 -05:00
Jorge Aparicio
b7e43c1dbc make the tasks and resources fields optional 2017-07-08 21:56:39 -05:00
Jorge Aparicio
e18eb9610e fix unused variable warning around interrupt::free 2017-07-08 21:56:15 -05:00
Jorge Aparicio
3cebf49a2f 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.
2017-07-06 23:25:29 -05:00
Jorge Aparicio
4b0c3bff87 rtfm!: remove init.resources and make idle.local optional 2017-07-06 17:51:34 -05:00
Jorge Aparicio
86a360a396 rtfm! macro take 2 2017-07-04 11:26:11 -05:00