pub struct Padout<S, RX, TX, RTS, CTS>where
S: Sercom,{ /* private fields */ }
👎Deprecated since 0.13.0: The
sercom::v1::uart
module is deprecated, and will be removed in a subsequent release.
Please use the sercom::v2::uart
module instead.Expand description
A pad mapping configuration for the SERCOM in UART mode.
This type can only be constructed using the From implementations in this module, which are restricted to valid configurations.
Defines which sercom pad is mapped to which UART function.
Implementations§
source§impl<S, RX, TX, RTS, CTS> Padout<S, RX, TX, RTS, CTS>where
S: Sercom,
impl<S, RX, TX, RTS, CTS> Padout<S, RX, TX, RTS, CTS>where S: Sercom,
sourcepub fn split(self) -> (TxPadout<S, TX, RTS>, RxPadout<S, RX, CTS>)
👎Deprecated since 0.13.0: The sercom::v1::uart
module is deprecated, and will be removed in a subsequent release.
Please use the sercom::v2::uart
module instead.
pub fn split(self) -> (TxPadout<S, TX, RTS>, RxPadout<S, RX, CTS>)
sercom::v1::uart
module is deprecated, and will be removed in a subsequent release.
Please use the sercom::v2::uart
module instead.Splits the padout into transmit and receive halves
sourcepub fn join(
tx: TxPadout<S, TX, RTS>,
rx: RxPadout<S, RX, CTS>
) -> Padout<S, RX, TX, RTS, CTS>
👎Deprecated since 0.13.0: The sercom::v1::uart
module is deprecated, and will be removed in a subsequent release.
Please use the sercom::v2::uart
module instead.
pub fn join( tx: TxPadout<S, TX, RTS>, rx: RxPadout<S, RX, CTS> ) -> Padout<S, RX, TX, RTS, CTS>
sercom::v1::uart
module is deprecated, and will be removed in a subsequent release.
Please use the sercom::v2::uart
module instead.Combines transmit and receive halves back into a duplex padout
Trait Implementations§
source§impl<S, PAD0, PAD1> From<(PAD0, PAD1)> for Padout<S, PAD0, PAD1, (), ()>where
S: Sercom,
PAD0: CompatiblePad<Sercom = S>,
PAD1: CompatiblePad<Sercom = S>,
(<PAD0 as CompatiblePad>::PadNum, <PAD1 as CompatiblePad>::PadNum): RxpoTxpo,
impl<S, PAD0, PAD1> From<(PAD0, PAD1)> for Padout<S, PAD0, PAD1, (), ()>where S: Sercom, PAD0: CompatiblePad<Sercom = S>, PAD1: CompatiblePad<Sercom = S>, (<PAD0 as CompatiblePad>::PadNum, <PAD1 as CompatiblePad>::PadNum): RxpoTxpo,
Convert from a tuple of (RX, TX) to UARTXPadout
source§impl<S, PAD0, PAD1, PAD2, PAD3> From<(PAD0, PAD1, PAD2, PAD3)> for Padout<S, PAD0, PAD1, PAD2, PAD3>where
S: Sercom,
PAD0: CompatiblePad<Sercom = S>,
PAD1: CompatiblePad<Sercom = S>,
PAD2: CompatiblePad<Sercom = S>,
PAD3: CompatiblePad<Sercom = S>,
(<PAD0 as CompatiblePad>::PadNum, <PAD1 as CompatiblePad>::PadNum, <PAD2 as CompatiblePad>::PadNum, <PAD3 as CompatiblePad>::PadNum): RxpoTxpo,
impl<S, PAD0, PAD1, PAD2, PAD3> From<(PAD0, PAD1, PAD2, PAD3)> for Padout<S, PAD0, PAD1, PAD2, PAD3>where S: Sercom, PAD0: CompatiblePad<Sercom = S>, PAD1: CompatiblePad<Sercom = S>, PAD2: CompatiblePad<Sercom = S>, PAD3: CompatiblePad<Sercom = S>, (<PAD0 as CompatiblePad>::PadNum, <PAD1 as CompatiblePad>::PadNum, <PAD2 as CompatiblePad>::PadNum, <PAD3 as CompatiblePad>::PadNum): RxpoTxpo,
Convert from a tuple of (RX, TX, RTS, CTS) to UARTXPadout
source§fn from(pads: (PAD0, PAD1, PAD2, PAD3)) -> Padout<S, PAD0, PAD1, PAD2, PAD3>
fn from(pads: (PAD0, PAD1, PAD2, PAD3)) -> Padout<S, PAD0, PAD1, PAD2, PAD3>
Converts to this type from the input type.
source§impl<S, PAD0, PAD1> RxpoTxpo for Padout<S, PAD0, PAD1, (), ()>where
S: Sercom,
PAD0: CompatiblePad<Sercom = S>,
PAD1: CompatiblePad<Sercom = S>,
(<PAD0 as CompatiblePad>::PadNum, <PAD1 as CompatiblePad>::PadNum): RxpoTxpo,
impl<S, PAD0, PAD1> RxpoTxpo for Padout<S, PAD0, PAD1, (), ()>where S: Sercom, PAD0: CompatiblePad<Sercom = S>, PAD1: CompatiblePad<Sercom = S>, (<PAD0 as CompatiblePad>::PadNum, <PAD1 as CompatiblePad>::PadNum): RxpoTxpo,
source§const RXPO: u8 = <(PAD0::PadNum, PAD1::PadNum)>::RXPO
const RXPO: u8 = <(PAD0::PadNum, PAD1::PadNum)>::RXPO
👎Deprecated since 0.13.0: The
sercom::v1::uart
module is deprecated, and will be removed in a subsequent release.
Please use the sercom::v2::uart
module instead.source§impl<S, PAD0, PAD1, PAD2, PAD3> RxpoTxpo for Padout<S, PAD0, PAD1, PAD2, PAD3>where
S: Sercom,
PAD0: CompatiblePad<Sercom = S>,
PAD1: CompatiblePad<Sercom = S>,
PAD2: CompatiblePad<Sercom = S>,
PAD3: CompatiblePad<Sercom = S>,
(<PAD0 as CompatiblePad>::PadNum, <PAD1 as CompatiblePad>::PadNum, <PAD2 as CompatiblePad>::PadNum, <PAD3 as CompatiblePad>::PadNum): RxpoTxpo,
impl<S, PAD0, PAD1, PAD2, PAD3> RxpoTxpo for Padout<S, PAD0, PAD1, PAD2, PAD3>where S: Sercom, PAD0: CompatiblePad<Sercom = S>, PAD1: CompatiblePad<Sercom = S>, PAD2: CompatiblePad<Sercom = S>, PAD3: CompatiblePad<Sercom = S>, (<PAD0 as CompatiblePad>::PadNum, <PAD1 as CompatiblePad>::PadNum, <PAD2 as CompatiblePad>::PadNum, <PAD3 as CompatiblePad>::PadNum): RxpoTxpo,
source§const RXPO: u8 = <(PAD0::PadNum, PAD1::PadNum, PAD2::PadNum, PAD3::PadNum)>::RXPO
const RXPO: u8 = <(PAD0::PadNum, PAD1::PadNum, PAD2::PadNum, PAD3::PadNum)>::RXPO
👎Deprecated since 0.13.0: The
sercom::v1::uart
module is deprecated, and will be removed in a subsequent release.
Please use the sercom::v2::uart
module instead.Auto Trait Implementations§
impl<S, RX, TX, RTS, CTS> RefUnwindSafe for Padout<S, RX, TX, RTS, CTS>where CTS: RefUnwindSafe, RTS: RefUnwindSafe, RX: RefUnwindSafe, S: RefUnwindSafe, TX: RefUnwindSafe,
impl<S, RX, TX, RTS, CTS> Send for Padout<S, RX, TX, RTS, CTS>where CTS: Send, RTS: Send, RX: Send, S: Send, TX: Send,
impl<S, RX, TX, RTS, CTS> Sync for Padout<S, RX, TX, RTS, CTS>where CTS: Sync, RTS: Sync, RX: Sync, S: Sync, TX: Sync,
impl<S, RX, TX, RTS, CTS> Unpin for Padout<S, RX, TX, RTS, CTS>where CTS: Unpin, RTS: Unpin, RX: Unpin, S: Unpin, TX: Unpin,
impl<S, RX, TX, RTS, CTS> UnwindSafe for Padout<S, RX, TX, RTS, CTS>where CTS: UnwindSafe, RTS: UnwindSafe, RX: UnwindSafe, S: UnwindSafe, TX: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more