aboutsummaryrefslogtreecommitdiff
path: root/macros/src
AgeCommit message (Collapse)Author
2017-12-17add missing commaJorge Aparicio
2017-12-09safe `&'static mut` references via init.resourcesJorge Aparicio
2017-12-09implement the Resource trait for owned resourcesJorge Aparicio
this unbreaks the "generics" example
2017-12-09drop the Static wrapperJorge Aparicio
2017-12-09make resource proxies not SyncJorge Aparicio
2017-12-09make resource proxies !SendJorge Aparicio
2017-12-09rename LateResourceValues to LateResourcesJorge Aparicio
2017-12-09remove special case around peripherals from codegenJorge Aparicio
2017-12-09peripherals as scoped singletonsJorge Aparicio
2017-11-22v0.2.2Jorge Aparicio
2017-10-02fix `idle::Resources::new`Jorge Aparicio
it assumed that all resources were "early" resources
2017-09-22Fix shared resource handling and extend example.Jonas Schievink
The extended example tests that this actually works this time.
2017-09-22Simplify iterator usageJonas Schievink
2017-09-06Use `untagged_option` crateJonas Schievink
2017-09-03Allow initialization of resources in `init`.Jonas Schievink
2017-07-29v0.2.0Jorge Aparicio
2017-07-29update examplesJorge Aparicio
2017-07-27`Send`-ness check is now in rtfm-coreJorge Aparicio
2017-07-27make task.$T.path mandatoryJorge Aparicio
2017-07-27make task.$T.enabled optionalJorge Aparicio
and move the logic that differentiates interrupts from exceptions from the crate to the procedural macro logic
2017-07-27don't generate empty modulesJorge Aparicio
2017-07-27make task.$T.priority optionalJorge Aparicio
default the value to 1 if omitted
2017-07-27refactor Resource / Threshold into its own crate, drop task!, tweak rtfm::atomicJorge Aparicio
task! can be re-added in a backward compatible fashion and I'd like to not have two ways to assign a task handler to an interrupt / exception in the first release. rtfm::atomic now uses the `Threshold` token instead of the `CriticalSection` token. This reduces overhead by dropping the "are interrupts enabled?" check.
2017-07-26provide a Threshold token even when all resources are locklessJorge Aparicio
because the token will always be required for calling generic functions
2017-07-26fix around owned idle resourceJorge Aparicio
2017-07-25fix errors around the use of `super` in relative pathsJorge Aparicio
2017-07-24more "hygiene"Jorge Aparicio
prepend an underscore to the name of the statics generated in the root of the crate
2017-07-24task! is not needed if tasks.$T.path is specifiedJorge Aparicio
2017-07-23don't wrap static references in a `Static`Jorge Aparicio
2017-07-23drop rtfm::CellJorge Aparicio
2017-07-23drop idle.localsJorge Aparicio
2017-07-20misc fixesJorge Aparicio
2017-07-20doc tweaksJorge Aparicio
2017-07-20`Resource` trait, docs, examples and rtfm-syntax related changesJorge Aparicio
2017-07-18make compatible with the unsafe_code lintJorge Aparicio
2017-07-18tasks / idle have exclusive access to Threshold, but do not own the tokenJorge Aparicio
2017-07-18resources owned by idle have 'static lifetimeJorge Aparicio
2017-07-18adapt to changes in rtfm-syntaxJorge Aparicio
2017-07-14rename rtfm! to app! and adapt to changes in rtfm-syntaxJorge Aparicio
2017-07-14split macro parser into its own crate and improve error handling / reportingJorge Aparicio
2017-07-11compiler plugin -> proc macroJorge Aparicio
2017-07-09make the init::Resources argument optionalJorge Aparicio
2017-07-08make the tasks and resources fields optionalJorge Aparicio
2017-07-08fix unused variable warning around interrupt::freeJorge Aparicio
2017-07-06syntax tweaks, relax check, add set_pending(), deal with imported typesJorge Aparicio
- 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-06rtfm!: remove init.resources and make idle.local optionalJorge Aparicio
2017-07-04rtfm! macro take 2Jorge Aparicio