Struct shared_bus::I2cProxy[][src]

pub struct I2cProxy<'a, M> { /* fields omitted */ }

Proxy type for I2C bus sharing.

The I2cProxy implements all (blocking) I2C traits so it can be passed to drivers instead of the bus instance. Internally, it holds reference to the bus via a mutex, ensuring that all accesses are strictly synchronized.

An I2cProxy is created by calling BusManager::acquire_i2c().

Trait Implementations

impl<'a, M: BusMutex> Clone for I2cProxy<'a, M>[src]

impl<'a, M: Debug> Debug for I2cProxy<'a, M>[src]

impl<'a, M: BusMutex> Read for I2cProxy<'a, M> where
    M::Bus: Read
[src]

type Error = <M::Bus as Read>::Error

Error type

impl<'a, M: BusMutex> Write for I2cProxy<'a, M> where
    M::Bus: Write
[src]

type Error = <M::Bus as Write>::Error

Error type

impl<'a, M: BusMutex> WriteRead for I2cProxy<'a, M> where
    M::Bus: WriteRead
[src]

type Error = <M::Bus as WriteRead>::Error

Error type

Auto Trait Implementations

impl<'a, M> RefUnwindSafe for I2cProxy<'a, M> where
    M: RefUnwindSafe

impl<'a, M> Send for I2cProxy<'a, M> where
    M: Sync

impl<'a, M> Sync for I2cProxy<'a, M> where
    M: Sync

impl<'a, M> Unpin for I2cProxy<'a, M>

impl<'a, M> UnwindSafe for I2cProxy<'a, M> where
    M: RefUnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.