aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-04-25hide the unsafe Peripheral::new constructorJorge Aparicio
`peripherals!` is the safe way to declare `Peripheral`s
2017-04-25ignore no_mangle related warningJorge Aparicio
2017-04-25add a `peripherals!` macroJorge Aparicio
for safe declaration of `Peripheral`s closes #12
2017-04-25fix build for thumbv6mJorge Aparicio
2017-04-25update examples in doc commentsJorge Aparicio
2017-04-25change tasks! syntax to resemble struct initializationJorge Aparicio
2017-04-25update examplesJorge Aparicio
2017-04-21update the examples in the crate documentationJorge Aparicio
2017-04-21add `enable` / `disable` functions, add $enabled parameter to tasks!Jorge Aparicio
2017-04-21rename `borrow` to `access`Jorge Aparicio
2017-04-21add `borrow_mut` to LocalJorge Aparicio
2017-04-21raise_to -> Ceiling.raiseJorge Aparicio
2017-04-21drop `lock` methods, add `raise_to` functionJorge Aparicio
2017-04-21rename "system ceiling" to "current ceiling"Jorge Aparicio
2017-04-21more docs, remove Ceiling / Priority / Level traitsJorge Aparicio
2017-04-20fix warning on thumbv6m-none-eabiJorge Aparicio
2017-04-19remove claim, add Priority.as_ceilingJorge Aparicio
2017-04-19remove the _mut methodsJorge Aparicio
they are too limited
2017-04-19tasks! macro: update the signature of `idle`Jorge Aparicio
2017-04-19critical: don't let the ceiling token escape the critical sectionJorge Aparicio
2017-04-19don't let the ceiling token escape the critical sectionJorge Aparicio
2017-04-17with new formatting (perhaps)pln
2017-04-17pub interface to logical2hw and hw2logicalpln
2017-04-14wrap references to resources in static-ref's Ref/RefMutJorge Aparicio
to assert that they point to `static` data
2017-04-14re-export bkptJorge Aparicio
2017-04-14change signature of `idle` to !Jorge Aparicio
2017-04-14remove unnecessary trait boundsJorge Aparicio
2017-04-14pass P0 to init, derive GreaterThanOrEqual for U0Jorge Aparicio
2017-04-13add `critical`, a global critical sectionJorge Aparicio
2017-04-13remove system ceiling from `lock_mut` closureJorge Aparicio
now it's impossible to do a `borrow` within that critical section as a borrow of the task priority is required (and that's already mutably borrowed by the `lock_mut` closure)
2017-04-13fix memory safety hole around `borrow`Jorge Aparicio
2017-04-13re-export Local and wfi from cortex-mJorge Aparicio
make Context private
2017-04-12fix warningJorge Aparicio
2017-04-12no lock_mut on thumbv6mJorge Aparicio
2017-04-12implement lock_mutJorge Aparicio
2017-04-12add `claim_mut`Jorge Aparicio
2017-04-12fix the tasks! macroJorge Aparicio
NVIC.set_priority now requires unsafe
2017-04-11partial thumv6m-none-eabi supportJorge Aparicio
2017-04-09simplify the tasks! macro, make the `request` function more straightforwardJorge Aparicio
in its meaning
2017-04-09compile time verified ceilingsJorge Aparicio
2017-04-07drop global critical sections in checked::ResourceJorge Aparicio
2017-04-07use volatile read/writes for checked::Resource.lockedJorge Aparicio
2017-04-07removed global critical section from checked::releaseJorge Aparicio
2017-04-07use hw ceilings in checked::Resource.lock{,mut}Jorge Aparicio
2017-04-07allow returns from checked::Resource.lock{,mut}Jorge Aparicio
also add compiler barriers
2017-04-07impl Sync for checked::ResourceJorge Aparicio
2017-04-07initial version of checked resourcesJorge Aparicio
2017-04-07remove the borrow_mut method from resourcesJorge Aparicio
it can be used to break references rules within nested locks ``` rust static R1: Resource<bool, C1> = unsafe { Resource::new(false) }; static R2: Resource<bool, C2> = unsafe { Resource::new(false) }; static R3: Resource<bool, C3> = unsafe { Resource::new(false) }; // Priority = 1 extern "C" fn j1(task: interrupt::Exti0Irq) { R1.lock(&task, |r1, c1| { R2.lock(&task, |r2, c2| { R3.lock(&task, |r3, mut c3| { // BAD &- and &mut - that point to the same data let r1_ref: &bool = R1.borrow(&c2); let r1_ref_mut: &mut bool = R1.borrow_mut(&mut c3); }); }); }); } ```
2017-04-06partial thumbv6m-none-eabi supportJorge Aparicio
2017-04-04split get in get / get_mutJorge Aparicio