[][src]Struct atat::IngressManager

pub struct IngressManager<BufLen = U256, U = NoopUrcMatcher, ComCapacity = U3, ResCapacity = U5, UrcCapacity = U10> where
    BufLen: ArrayLength<u8>,
    U: UrcMatcher<BufLen>,
    ComCapacity: ArrayLength<Command>,
    ResCapacity: ArrayLength<Result<Vec<u8, BufLen>, Error>>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>, 
{ /* fields omitted */ }

Implementations

impl<BufLen, ComCapacity, ResCapacity, UrcCapacity> IngressManager<BufLen, NoopUrcMatcher, ComCapacity, ResCapacity, UrcCapacity> where
    BufLen: ArrayLength<u8>,
    ComCapacity: ArrayLength<Command>,
    ResCapacity: ArrayLength<Result<Vec<u8, BufLen>, Error>>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>, 
[src]

#[must_use]pub fn new(
    res_p: Producer<'static, Result<Vec<u8, BufLen>, Error>, ResCapacity, u8>,
    urc_p: Producer<'static, Vec<u8, BufLen>, UrcCapacity, u8>,
    com_c: Consumer<'static, Command, ComCapacity, u8>,
    config: Config
) -> Self
[src]

impl<BufLen, U, ComCapacity, ResCapacity, UrcCapacity> IngressManager<BufLen, U, ComCapacity, ResCapacity, UrcCapacity> where
    U: UrcMatcher<BufLen>,
    BufLen: ArrayLength<u8>,
    ComCapacity: ArrayLength<Command>,
    ResCapacity: ArrayLength<Result<Vec<u8, BufLen>, Error>>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>, 
[src]

pub fn with_custom_urc_matcher(
    res_p: Producer<'static, Result<Vec<u8, BufLen>, Error>, ResCapacity, u8>,
    urc_p: Producer<'static, Vec<u8, BufLen>, UrcCapacity, u8>,
    com_c: Consumer<'static, Command, ComCapacity, u8>,
    config: Config,
    custom_urc_matcher: Option<U>
) -> Self
[src]

pub fn write(&mut self, data: &[u8])[src]

Write data into the internal buffer raw bytes being the core type allows the ingress manager to be abstracted over the communication medium.

This function should be called by the UART Rx, either in a receive interrupt, or a DMA interrupt, to move data from the peripheral into the ingress manager receive buffer.

pub fn digest(&mut self)[src]

Process the receive buffer, checking for AT responses, URC's or errors

This function should be called regularly for the ingress manager to work

Auto Trait Implementations

impl<BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, U = NoopUrcMatcher, ComCapacity = UInt<UInt<UTerm, B1>, B1>, ResCapacity = UInt<UInt<UInt<UTerm, B1>, B0>, B1>, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !RefUnwindSafe for IngressManager<BufLen, U, ComCapacity, ResCapacity, UrcCapacity>

impl<BufLen, U, ComCapacity, ResCapacity, UrcCapacity> Send for IngressManager<BufLen, U, ComCapacity, ResCapacity, UrcCapacity> where
    U: Send

impl<BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, U = NoopUrcMatcher, ComCapacity = UInt<UInt<UTerm, B1>, B1>, ResCapacity = UInt<UInt<UInt<UTerm, B1>, B0>, B1>, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !Sync for IngressManager<BufLen, U, ComCapacity, ResCapacity, UrcCapacity>

impl<BufLen, U, ComCapacity, ResCapacity, UrcCapacity> Unpin for IngressManager<BufLen, U, ComCapacity, ResCapacity, UrcCapacity> where
    U: Unpin,
    <BufLen as ArrayLength<u8>>::ArrayType: Unpin

impl<BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, U = NoopUrcMatcher, ComCapacity = UInt<UInt<UTerm, B1>, B1>, ResCapacity = UInt<UInt<UInt<UTerm, B1>, B0>, B1>, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !UnwindSafe for IngressManager<BufLen, U, ComCapacity, ResCapacity, UrcCapacity>

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[src]

type Output = T

Should always be Self

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.