Struct atat::IngressManager [−][src]
pub struct IngressManager<D, U, const BUF_LEN: usize, const RES_CAPACITY: usize, const URC_CAPACITY: usize> where
U: UrcMatcher,
D: Digester, { /* fields omitted */ }
Implementations
impl<const BUF_LEN: usize, const RES_CAPACITY: usize, const URC_CAPACITY: usize> IngressManager<DefaultDigester, DefaultUrcMatcher, BUF_LEN, RES_CAPACITY, URC_CAPACITY>
impl<const BUF_LEN: usize, const RES_CAPACITY: usize, const URC_CAPACITY: usize> IngressManager<DefaultDigester, DefaultUrcMatcher, BUF_LEN, RES_CAPACITY, URC_CAPACITY>
pub fn new(
res_p: FrameProducer<'static, RES_CAPACITY>,
urc_p: FrameProducer<'static, URC_CAPACITY>,
com_c: Consumer<'static, Command, { COM_CAPACITY + 1 }>
) -> Self
impl<U, D, const BUF_LEN: usize, const RES_CAPACITY: usize, const URC_CAPACITY: usize> IngressManager<D, U, BUF_LEN, RES_CAPACITY, URC_CAPACITY> where
D: Digester,
U: UrcMatcher,
impl<U, D, const BUF_LEN: usize, const RES_CAPACITY: usize, const URC_CAPACITY: usize> IngressManager<D, U, BUF_LEN, RES_CAPACITY, URC_CAPACITY> where
D: Digester,
U: UrcMatcher,
pub fn with_customs(
res_p: FrameProducer<'static, RES_CAPACITY>,
urc_p: FrameProducer<'static, URC_CAPACITY>,
com_c: Consumer<'static, Command, { COM_CAPACITY + 1 }>,
urc_matcher: U,
digester: D
) -> Self
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.
Return the current length of the internal buffer
This can be useful for custom flowcontrol implementations
Returns whether the internal buffer is empty
This can be useful for custom flowcontrol implementations
Return the capacity of the internal buffer
This can be useful for custom flowcontrol implementations