nxp-pac

Crates

git

Versions

mcxa536

Flavors

MacExtConfiguration

Struct MacExtConfiguration 

Source
#[repr(transparent)]
pub struct MacExtConfiguration(pub u32);
Expand description

F70RM Rev. 1 section 51.7.1.3; manual text line 148664.

Tuple Fields§

§0: u32

Implementations§

Source§

impl MacExtConfiguration

Source

pub const fn gpsl(&self) -> u16

Giant Packet Size Limit. If the received packet size is greater than the value programmed in this field in units of bytes, the MAC declares the received packet as Giant packet. The value programmed in this field must be greater than or equal to 1,518 bytes. Any other programmed value is considered as 1,518 bytes. For VLAN tagged packets, the MAC adds 4 bytes to the programmed value. The MAC adds 8 bytes to the programmed value for double VLAN tagged packets. The value in this field is applicable when the GPSLCE bit is set in MAC_Configuration register.

Source

pub const fn set_gpsl(&mut self, val: u16)

Giant Packet Size Limit. If the received packet size is greater than the value programmed in this field in units of bytes, the MAC declares the received packet as Giant packet. The value programmed in this field must be greater than or equal to 1,518 bytes. Any other programmed value is considered as 1,518 bytes. For VLAN tagged packets, the MAC adds 4 bytes to the programmed value. The MAC adds 8 bytes to the programmed value for double VLAN tagged packets. The value in this field is applicable when the GPSLCE bit is set in MAC_Configuration register.

Source

pub const fn dcrcc(&self) -> bool

Disable CRC Checking for Received Packets. When this bit is set, the MAC receiver does not check the CRC field in the received packets. When this bit is reset, the MAC receiver always checks the CRC field in the received packets. 0b - CRC Checking is enabled 1b - CRC Checking is disabled

Source

pub const fn set_dcrcc(&mut self, val: bool)

Disable CRC Checking for Received Packets. When this bit is set, the MAC receiver does not check the CRC field in the received packets. When this bit is reset, the MAC receiver always checks the CRC field in the received packets. 0b - CRC Checking is enabled 1b - CRC Checking is disabled

Source

pub const fn spen(&self) -> bool

Slow Protocol Detection Enable. - 1: MAC processes the Slow Protocol packets (Ether Type = 0x8809) and provides the Slow Protocol Sub-Type and Code fields in the Rx status. - 0: MAC forwards all the error-free Slow Protocol packets to the application. The MAC considers such packets as normal Type packets. 0b - Slow Protocol Detection is disabled 1b - Slow Protocol Detection is enabled

Source

pub const fn set_spen(&mut self, val: bool)

Slow Protocol Detection Enable. - 1: MAC processes the Slow Protocol packets (Ether Type = 0x8809) and provides the Slow Protocol Sub-Type and Code fields in the Rx status. - 0: MAC forwards all the error-free Slow Protocol packets to the application. The MAC considers such packets as normal Type packets. 0b - Slow Protocol Detection is disabled 1b - Slow Protocol Detection is enabled

Source

pub const fn usp(&self) -> bool

Unicast Slow Protocol Packet Detect. When this bit is set, the MAC detects the Slow Protocol packets with unicast address of the station specified in the MAC_Address0_High and MAC_Address0_Low registers. The MAC also detects the Slow Protocol packets with the Slow Protocols multicast address (01-80-C2-00-00-02). When this bit is reset, the MAC detects only Slow Protocol packets with the Slow Protocol multicast address specified in the IEEE 802.3-2015, Section 5. 0b - Unicast Slow Protocol Packet Detection is disabled 1b - Unicast Slow Protocol Packet Detection is enabled

Source

pub const fn set_usp(&mut self, val: bool)

Unicast Slow Protocol Packet Detect. When this bit is set, the MAC detects the Slow Protocol packets with unicast address of the station specified in the MAC_Address0_High and MAC_Address0_Low registers. The MAC also detects the Slow Protocol packets with the Slow Protocols multicast address (01-80-C2-00-00-02). When this bit is reset, the MAC detects only Slow Protocol packets with the Slow Protocol multicast address specified in the IEEE 802.3-2015, Section 5. 0b - Unicast Slow Protocol Packet Detection is disabled 1b - Unicast Slow Protocol Packet Detection is enabled

Source

pub const fn eipgen(&self) -> bool

Extended Inter-Packet Gap Enable. 1: MAC uses the EIPG field for the extended inter-packet gap. For more details of how the MAC uses the EIPG field, see the description of the EIPG field. 0: MAC ignores EIPG field. MAC uses the IPG field of the MAC_Configuration register as the minimum IPG less than or equal to 96-bit times, in steps of 8-bit times. NOTE Use this feature only when operating in full-duplex mode. If you enable this feature in half-duplex mode, you might see undesirable effects on back-pressure function and frame transmission. 0b - Extended Inter-Packet Gap is disabled 1b - Extended Inter-Packet Gap is enabled

Source

pub const fn set_eipgen(&mut self, val: bool)

Extended Inter-Packet Gap Enable. 1: MAC uses the EIPG field for the extended inter-packet gap. For more details of how the MAC uses the EIPG field, see the description of the EIPG field. 0: MAC ignores EIPG field. MAC uses the IPG field of the MAC_Configuration register as the minimum IPG less than or equal to 96-bit times, in steps of 8-bit times. NOTE Use this feature only when operating in full-duplex mode. If you enable this feature in half-duplex mode, you might see undesirable effects on back-pressure function and frame transmission. 0b - Extended Inter-Packet Gap is disabled 1b - Extended Inter-Packet Gap is enabled

Source

pub const fn eipg(&self) -> u8

Extended Inter-Packet Gap. The value in this field is applicable when the EIPGEN bit of this register is 1. The 5 bits of this field are the most significant bits; IPG field of the MAC_Configuration register are the least significant 3 bits. Together, these 8 bits represent the value of the minimum IPG greater than 96-bit times, in steps of 8-bit times. {EIPG, IPG} 8’h00 - 104 bit times 8’h01 - 112 bit times 8’h02 - 120 bit times … 8’hFF - 2144 bit times

Source

pub const fn set_eipg(&mut self, val: u8)

Extended Inter-Packet Gap. The value in this field is applicable when the EIPGEN bit of this register is 1. The 5 bits of this field are the most significant bits; IPG field of the MAC_Configuration register are the least significant 3 bits. Together, these 8 bits represent the value of the minimum IPG greater than 96-bit times, in steps of 8-bit times. {EIPG, IPG} 8’h00 - 104 bit times 8’h01 - 112 bit times 8’h02 - 120 bit times … 8’hFF - 2144 bit times

Trait Implementations§

Source§

impl Clone for MacExtConfiguration

Source§

fn clone(&self) -> MacExtConfiguration

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MacExtConfiguration

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MacExtConfiguration

Source§

fn default() -> MacExtConfiguration

Returns the “default value” for a type. Read more
Source§

impl PartialEq for MacExtConfiguration

Source§

fn eq(&self, other: &MacExtConfiguration) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for MacExtConfiguration

Source§

impl Eq for MacExtConfiguration

Source§

impl StructuralPartialEq for MacExtConfiguration

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.