[−][src]Trait sunrise_kernel::utils::io::Io
The Io trait allows for accessing device IO in a generic way, abstracting over different IO accesses (Port IO and Memory Mapped IO).
Associated Types
Loading content...Required methods
fn read(&self) -> Self::Value
Reads from this Io.
fn write(&mut self, value: Self::Value)
Writes value
to this Io.
Provided methods
fn readf(&self, flags: Self::Value) -> bool where
Self::Value: PartialEq<Self::Value>,
Self::Value: BitAnd<Self::Value>,
<Self::Value as BitAnd<Self::Value>>::Output == Self::Value,
Self::Value: PartialEq<Self::Value>,
Self::Value: BitAnd<Self::Value>,
<Self::Value as BitAnd<Self::Value>>::Output == Self::Value,
Read from this Io, and mask the value with flags
.
fn writef(&mut self, flags: Self::Value, value: bool) where
Self::Value: PartialEq<Self::Value>,
Self::Value: BitAnd<Self::Value>,
Self::Value: BitOr<Self::Value>,
Self::Value: Not,
<Self::Value as BitAnd<Self::Value>>::Output == Self::Value,
<Self::Value as BitOr<Self::Value>>::Output == Self::Value,
<Self::Value as Not>::Output == Self::Value,
Self::Value: PartialEq<Self::Value>,
Self::Value: BitAnd<Self::Value>,
Self::Value: BitOr<Self::Value>,
Self::Value: Not,
<Self::Value as BitAnd<Self::Value>>::Output == Self::Value,
<Self::Value as BitOr<Self::Value>>::Output == Self::Value,
<Self::Value as Not>::Output == Self::Value,
Mask value
with flags
, and write it to this device address. Note that
this causes a read!
Implementors
impl Io for Pio<u16>
[src]
Read/Write for word PIO
impl Io for Pio<u32>
[src]
Read/Write for doubleword PIO
impl Io for Pio<u8>
[src]
Read/Write for byte PIO
impl<T> Io for Mmio<T> where
T: Copy,
[src]
T: Copy,
type Value = T
fn read(&self) -> T
[src]
Performs a volatile read of the value.
fn write(&mut self, value: T)
[src]
Performs a volatile write of the value.