mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-11-25 21:19:35 +01:00
make as_ceiling
a general method of P<N>
This commit is contained in:
parent
a3cc01df67
commit
ec2df608ca
2 changed files with 10 additions and 11 deletions
10
build.rs
10
build.rs
|
@ -55,7 +55,6 @@ fn main() {
|
|||
|
||||
// Priorities
|
||||
for i in 0..(1 << bits) + 1 {
|
||||
let c = Ident::new(format!("C{}", i));
|
||||
let p = Ident::new(format!("P{}", i));
|
||||
let u = Ident::new(format!("U{}", i));
|
||||
|
||||
|
@ -76,15 +75,6 @@ fn main() {
|
|||
quote! {
|
||||
#[doc = #doc]
|
||||
pub type #p = P<::typenum::#u>;
|
||||
|
||||
impl #p {
|
||||
/// Turns this priority into a ceiling
|
||||
pub fn as_ceiling(&self) -> &#c {
|
||||
unsafe {
|
||||
::core::mem::transmute(self)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
|
11
src/lib.rs
11
src/lib.rs
|
@ -436,7 +436,7 @@ extern crate typenum;
|
|||
|
||||
use core::cell::UnsafeCell;
|
||||
use core::marker::PhantomData;
|
||||
use core::ptr;
|
||||
use core::{mem, ptr};
|
||||
|
||||
use cortex_m::ctxt::Context;
|
||||
use cortex_m::interrupt::Nr;
|
||||
|
@ -719,6 +719,15 @@ pub struct P<T> {
|
|||
_marker: PhantomData<T>,
|
||||
}
|
||||
|
||||
impl<N> P<N> {
|
||||
/// Turns this priority into a ceiling
|
||||
pub fn as_ceiling(&self) -> &C<N> {
|
||||
unsafe {
|
||||
mem::transmute(self)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> P<T>
|
||||
where
|
||||
T: Unsigned,
|
||||
|
|
Loading…
Reference in a new issue