pub struct Ethernet<'d, T: Instance, P: PHY> { /* private fields */ }Expand description
Ethernet driver.
Implementations§
Source§impl<'d, T: Instance, P: PHY> Ethernet<'d, T, P>
 
impl<'d, T: Instance, P: PHY> Ethernet<'d, T, P>
Sourcepub fn new<const TX: usize, const RX: usize>(
    queue: &'d mut PacketQueue<TX, RX>,
    peri: impl Peripheral<P = T> + 'd,
    _irq: impl Binding<ETH, InterruptHandler> + 'd,
    ref_clk: impl Peripheral<P = impl RefClkPin<T>> + 'd,
    mdio: impl Peripheral<P = impl MDIOPin<T>> + 'd,
    mdc: impl Peripheral<P = impl MDCPin<T>> + 'd,
    crs: impl Peripheral<P = impl CRSPin<T>> + 'd,
    rx_d0: impl Peripheral<P = impl RXD0Pin<T>> + 'd,
    rx_d1: impl Peripheral<P = impl RXD1Pin<T>> + 'd,
    tx_d0: impl Peripheral<P = impl TXD0Pin<T>> + 'd,
    tx_d1: impl Peripheral<P = impl TXD1Pin<T>> + 'd,
    tx_en: impl Peripheral<P = impl TXEnPin<T>> + 'd,
    phy: P,
    mac_addr: [u8; 6],
) -> Self
 
pub fn new<const TX: usize, const RX: usize>( queue: &'d mut PacketQueue<TX, RX>, peri: impl Peripheral<P = T> + 'd, _irq: impl Binding<ETH, InterruptHandler> + 'd, ref_clk: impl Peripheral<P = impl RefClkPin<T>> + 'd, mdio: impl Peripheral<P = impl MDIOPin<T>> + 'd, mdc: impl Peripheral<P = impl MDCPin<T>> + 'd, crs: impl Peripheral<P = impl CRSPin<T>> + 'd, rx_d0: impl Peripheral<P = impl RXD0Pin<T>> + 'd, rx_d1: impl Peripheral<P = impl RXD1Pin<T>> + 'd, tx_d0: impl Peripheral<P = impl TXD0Pin<T>> + 'd, tx_d1: impl Peripheral<P = impl TXD1Pin<T>> + 'd, tx_en: impl Peripheral<P = impl TXEnPin<T>> + 'd, phy: P, mac_addr: [u8; 6], ) -> Self
safety: the returned instance is not leak-safe
Trait Implementations§
Source§impl<'d, T: Instance, P: PHY> Driver for Ethernet<'d, T, P>
 
impl<'d, T: Instance, P: PHY> Driver for Ethernet<'d, T, P>
Source§type TxToken<'a> = TxToken<'a, 'd>
where
    Self: 'a
 
type TxToken<'a> = TxToken<'a, 'd> where Self: 'a
A token to transmit a single network packet.
Source§fn receive(
    &mut self,
    cx: &mut Context<'_>,
) -> Option<(Self::RxToken<'_>, Self::TxToken<'_>)>
 
fn receive( &mut self, cx: &mut Context<'_>, ) -> Option<(Self::RxToken<'_>, Self::TxToken<'_>)>
Construct a token pair consisting of one receive token and one transmit token. Read more
Source§fn transmit(&mut self, cx: &mut Context<'_>) -> Option<Self::TxToken<'_>>
 
fn transmit(&mut self, cx: &mut Context<'_>) -> Option<Self::TxToken<'_>>
Construct a transmit token. Read more
Source§fn capabilities(&self) -> Capabilities
 
fn capabilities(&self) -> Capabilities
Get a description of device capabilities.
Source§fn hardware_address(&self) -> HardwareAddress
 
fn hardware_address(&self) -> HardwareAddress
Get the device’s hardware address. Read more
Auto Trait Implementations§
impl<'d, T, P> Freeze for Ethernet<'d, T, P>
impl<'d, T, P> !RefUnwindSafe for Ethernet<'d, T, P>
impl<'d, T, P> Send for Ethernet<'d, T, P>where
    P: Send,
impl<'d, T, P> !Sync for Ethernet<'d, T, P>
impl<'d, T, P> Unpin for Ethernet<'d, T, P>
impl<'d, T, P> !UnwindSafe for Ethernet<'d, T, P>
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