aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-27fix yet another warning on ARMv6-MJorge Aparicio
2017-07-27travis: install linkerJorge Aparicio
2017-07-27fix warning on ARMv6-MJorge Aparicio
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-27update tests and examplesJorge Aparicio
with task! gone 3 types of errors / gotchas have been eliminated :tada:
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-25inline claimJorge Aparicio
because it's needed for proper optimization / inlining
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-24add another duplicated-handler cfail testJorge Aparicio
2017-07-24task! is not needed if tasks.$T.path is specifiedJorge Aparicio
2017-07-23document `task!` moreJorge Aparicio
2017-07-23add cfail test: borrow can't escape critical sectionsJorge Aparicio
2017-07-23bump the static-ref dependencyJorge Aparicio
2017-07-23don't wrap static references in a `Static`Jorge Aparicio
2017-07-23update cfail testsJorge Aparicio
2017-07-23update examplesJorge Aparicio
2017-07-23drop rtfm::CellJorge Aparicio
2017-07-23drop idle.localsJorge Aparicio
2017-07-23add example about placing init, idle and tasks in modulesJorge Aparicio
2017-07-20misc fixesJorge Aparicio
2017-07-20doc tweaksJorge Aparicio
2017-07-20update CIJorge Aparicio
2017-07-20`Resource` trait, docs, examples and rtfm-syntax related changesJorge Aparicio
2017-07-20more cfail testsJorge Aparicio
2017-07-20bump cortex-m version to v0.3.1Jorge Aparicio
barrier! is no longer needed
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-18add cfail testsJorge 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-08rename rtfm-macros to cortex-m-rtfm-macrosJorge 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
2017-06-05v0.1.1Jorge Aparicio
2017-06-05fix unused macro errorJorge Aparicio
2017-05-25make the register_block field optional in the peripherals! macroJorge Aparicio
with svd2rust 0.8.x peripheral types are written in UPPERCASE and match their names so specifying the type in the register_block field is no longer necessary.
2017-05-15fix links in the references sectionJorge Aparicio
2017-05-09v0.1.0Jorge Aparicio