aboutsummaryrefslogtreecommitdiff
path: root/macros/src/check.rs (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-09-01Remove stale code, fix comment stylingGravatar Henrik Tjäder 1-29/+4
2020-09-01Cargo fmtGravatar Henrik Tjäder 1-12/+5
2020-09-01Brutally yank out multicoreGravatar Henrik Tjäder 1-72/+42
2020-06-11Rename RTFM to RTICGravatar Henrik Tjäder 1-3/+3
2019-08-20adapt to changes in rtfm-syntaxGravatar Jorge Aparicio 1-3/+4
2019-06-20RFC #207Gravatar Jorge Aparicio 1-13/+6
2019-06-18add homogeneous multi-core supportGravatar Jorge Aparicio 1-0/+22
2019-06-13rtfm-syntax refactor + heterogeneous multi-core supportGravatar Jorge Aparicio 1-100/+187
2019-05-21remove unused checkGravatar Jorge Aparicio 1-260/+17
that was added in #140 but it's no longer required
2019-05-01rtfm::app: update error messageGravatar Jorge Aparicio 1-1/+1
2019-05-01implement RFCs 147 and 155, etc.Gravatar Jorge Aparicio 1-15/+6
This commit: - Implements RFC 147: "all functions must be safe" - Implements RFC 155: "explicit Context parameter" - Implements the pending breaking change #141: reject assign syntax in `init` (which was used to initialize late resources) - Refactors code generation to make it more readable -- there are no more random identifiers in the output -- and align it with the book description of RTFM internals. - Makes the framework hard depend on `core::mem::MaybeUninit` and thus will require nightly until that API is stabilized. - Fixes a ceiling analysis bug where the priority of the system timer was not considered in the analysis. - Shrinks the size of all the internal queues by turning `AtomicUsize` indices into `AtomicU8`s. - Removes the integration with `owned_singleton`.
2019-02-26refactor: make `binds` harder to misuseGravatar Jorge Aparicio 1-6/+2
2019-02-26make cfail test actually failGravatar Jorge Aparicio 1-3/+9
2019-02-16cargo fmtGravatar Jorge Aparicio 1-4/+4
2019-02-12accept `init: fn() -> init::LateResources`Gravatar Jorge Aparicio 1-14/+25
2019-02-12forbid early returns in initGravatar Jorge Aparicio 1-1/+246
2018-12-16move macros crate to the 2018 editionGravatar Jorge Aparicio 1-3/+3
2018-12-16properly handle `#[cfg]` (conditional compilation) on tasksGravatar Jorge Aparicio 1-1/+2
2018-11-03v0.4.0Gravatar Jorge Aparicio 1-81/+101
closes #32 closes #33
2018-06-07Fix "Could not find `Op` in `proc_macro`"Gravatar Ferdia McKeogh 1-1/+1
2018-04-16update parserGravatar Jorge Aparicio 1-83/+8
closes #69 this doesn't change functionality per se but improves diagnostics in some cases. Some hard errors have becomes warnings, for example: when `resources` is empty, or when `idle.path` is set to the default `idle` path.
2017-12-09safe `&'static mut` references via init.resourcesGravatar Jorge Aparicio 1-0/+31
2017-12-09peripherals as scoped singletonsGravatar Jorge Aparicio 1-4/+14
2017-07-29update examplesrelease/v0.1Gravatar Jorge Aparicio 1-2/+2
2017-07-27make task.$T.path mandatoryGravatar Jorge Aparicio 1-2/+2
2017-07-27make task.$T.enabled optionalGravatar Jorge Aparicio 1-7/+66
and move the logic that differentiates interrupts from exceptions from the crate to the procedural macro logic
2017-07-27make task.$T.priority optionalGravatar Jorge Aparicio 1-20/+8
default the value to 1 if omitted
2017-07-24task! is not needed if tasks.$T.path is specifiedGravatar Jorge Aparicio 1-0/+2
2017-07-18adapt to changes in rtfm-syntaxGravatar Jorge Aparicio 1-3/+2
2017-07-14rename rtfm! to app! and adapt to changes in rtfm-syntaxGravatar Jorge Aparicio 1-17/+19
2017-07-14split macro parser into its own crate and improve error handling / reportingGravatar Jorge Aparicio 1-9/+76
2017-07-06syntax tweaks, relax check, add set_pending(), deal with imported typesGravatar Jorge Aparicio 1-13/+8
- 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-04rtfm! macro take 2Gravatar Jorge Aparicio 1-0/+17