Struct xmc4300::ECAT0

source ·
pub struct ECAT0 { /* private fields */ }
Expand description

EtherCAT 0

Implementations§

source§

impl ECAT0

source

pub const PTR: *const RegisterBlock = {0x54010000 as *const ecat0::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn type_(&self) -> &TYPE

0x00 - Type of EtherCAT Controller

source

pub fn revision(&self) -> &REVISION

0x01 - Revision of EtherCAT Controller

source

pub fn build(&self) -> &BUILD

0x02 - Build Version

source

pub fn fmmu_num(&self) -> &FMMU_NUM

0x04 - FMMUs Supported

source

pub fn sync_manager(&self) -> &SYNC_MANAGER

0x05 - SyncManagers Supported

source

pub fn ram_size(&self) -> &RAM_SIZE

0x06 - RAM Size

source

pub fn port_desc(&self) -> &PORT_DESC

0x07 - Port Descriptor

source

pub fn feature(&self) -> &FEATURE

0x08 - ESC Features Supported

source

pub fn station_adr(&self) -> &STATION_ADR

0x10 - Configured Station Address

source

pub fn station_alias(&self) -> &STATION_ALIAS

0x12 - Configured Station Alias

source

pub fn wr_reg_enable(&self) -> &WR_REG_ENABLE

0x20 - Write Register Enable

source

pub fn wr_reg_protect(&self) -> &WR_REG_PROTECT

0x21 - Write Register Protection

source

pub fn esc_wr_enable(&self) -> &ESC_WR_ENABLE

0x30 - ESC Write Enable

source

pub fn esc_wr_protect(&self) -> &ESC_WR_PROTECT

0x31 - ESC Write Protection

source

pub fn readmode_esc_reset_ecat(&self) -> &READMODE_ESC_RESET_ECAT

0x40 - ESC Reset ECAT [READ Mode]

source

pub fn writemode_esc_reset_ecat(&self) -> &WRITEMODE_ESC_RESET_ECAT

0x40 - ESC Reset ECAT [WRITE Mode]

source

pub fn readmode_esc_reset_pdi(&self) -> &READMODE_ESC_RESET_PDI

0x41 - ESC Reset PDI [READ Mode]

source

pub fn writemode_esc_reset_pdi(&self) -> &WRITEMODE_ESC_RESET_PDI

0x41 - ESC Reset PDI [WRITE Mode]

source

pub fn esc_dl_control(&self) -> &ESC_DL_CONTROL

0x100 - ESC DL Control

source

pub fn physical_rw_offset(&self) -> &PHYSICAL_RW_OFFSET

0x108 - Physical Read/Write Offset

source

pub fn esc_dl_status(&self) -> &ESC_DL_STATUS

0x110 - ESC DL Status

source

pub fn al_control(&self) -> &AL_CONTROL

0x120 - AL Control

source

pub fn al_status(&self) -> &AL_STATUS

0x130 - AL Status

source

pub fn al_status_code(&self) -> &AL_STATUS_CODE

0x134 - AL Status Code

source

pub fn run_led(&self) -> &RUN_LED

0x138 - RUN LED Override

source

pub fn err_led(&self) -> &ERR_LED

0x139 - RUN ERR Override

source

pub fn pdi_control(&self) -> &PDI_CONTROL

0x140 - PDI Control

source

pub fn esc_config(&self) -> &ESC_CONFIG

0x141 - ESC Configuration

source

pub fn pdi_config(&self) -> &PDI_CONFIG

0x150 - PDI Control

source

pub fn sync_latch_config(&self) -> &SYNC_LATCH_CONFIG

0x151 - Sync/Latch[1:0] PDI Configuration

source

pub fn pdi_ext_config(&self) -> &PDI_EXT_CONFIG

0x152 - PDI Synchronous Microcontroller extended Configuration

source

pub fn event_mask(&self) -> &EVENT_MASK

0x200 - ECAT Event Mask

source

pub fn al_event_mask(&self) -> &AL_EVENT_MASK

0x204 - PDI AL Event Mask

source

pub fn event_req(&self) -> &EVENT_REQ

0x210 - ECAT Event Request

source

pub fn al_event_req(&self) -> &AL_EVENT_REQ

0x220 - AL Event Request

source

pub fn rx_err_count0(&self) -> &RX_ERR_COUNT0

0x300 - RX Error Counter Port 0

source

pub fn rx_err_count1(&self) -> &RX_ERR_COUNT1

0x302 - RX Error Counter Port 1

source

pub fn fwd_rx_err_count0(&self) -> &FWD_RX_ERR_COUNT0

0x308 - Forwarded RX Error Counter Port 0

source

pub fn fwd_rx_err_count1(&self) -> &FWD_RX_ERR_COUNT1

0x309 - Forwarded RX Error Counter Port 1

source

pub fn proc_err_count(&self) -> &PROC_ERR_COUNT

0x30c - ECAT Processing Unit Error Counter

source

pub fn pdi_err_count(&self) -> &PDI_ERR_COUNT

0x30d - PDI Error Counter

0x310 - Lost Link Counter Port 0

0x311 - Lost Link Counter Port 1

source

pub fn wd_divide(&self) -> &WD_DIVIDE

0x400 - Watchdog Divider

source

pub fn wd_time_pdi(&self) -> &WD_TIME_PDI

0x410 - Watchdog Time PDI

source

pub fn wd_time_pdata(&self) -> &WD_TIME_PDATA

0x420 - Watchdog Time Process Data

source

pub fn wd_stat_pdata(&self) -> &WD_STAT_PDATA

0x440 - Watchdog Status Process Data

source

pub fn wd_count_pdata(&self) -> &WD_COUNT_PDATA

0x442 - Watchdog Counter Process Data

source

pub fn wd_count_pdi(&self) -> &WD_COUNT_PDI

0x443 - Watchdog Counter PDI

source

pub fn eep_conf(&self) -> &EEP_CONF

0x500 - EEPROM Configuration

source

pub fn eep_state(&self) -> &EEP_STATE

0x501 - EEPROM PDI Access State

source

pub fn eep_cont_stat(&self) -> &EEP_CONT_STAT

0x502 - EEPROM Control/Status

source

pub fn eep_adr(&self) -> &EEP_ADR

0x504 - EEPROM Address

source

pub fn eep_data(&self, n: usize) -> &EEP_DATA

0x508..0x510 - EEPROM Read/Write data

source

pub fn eep_data_iter(&self) -> impl Iterator<Item = &EEP_DATA>

Iterator for array of: 0x508..0x510 - EEPROM Read/Write data

source

pub fn mii_cont_stat(&self) -> &MII_CONT_STAT

0x510 - MII Management Control/Status

source

pub fn mii_phy_adr(&self) -> &MII_PHY_ADR

0x512 - PHY Address

source

pub fn mii_phy_reg_adr(&self) -> &MII_PHY_REG_ADR

0x513 - PHY Register Address

source

pub fn mii_phy_data(&self) -> &MII_PHY_DATA

0x514 - PHY Data

source

pub fn mii_ecat_acs_state(&self) -> &MII_ECAT_ACS_STATE

0x516 - MII ECAT ACS STATE

source

pub fn mii_pdi_acs_state(&self) -> &MII_PDI_ACS_STATE

0x517 - MII PDI ACS STATE

source

pub fn dc_rcv_time_port0(&self) -> &DC_RCV_TIME_PORT0

0x900 - Receive Time Port 0

source

pub fn dc_rcv_time_port1(&self) -> &DC_RCV_TIME_PORT1

0x904 - Receive Time Port 1

source

pub fn writemode_dc_sys_time(&self) -> &WRITEMODE_DC_SYS_TIME

0x910 - System Time [WRITE Mode]

source

pub fn readmode_dc_sys_time(&self, n: usize) -> &READMODE_DC_SYS_TIME

0x910..0x918 - System Time read access

source

pub fn readmode_dc_sys_time_iter( &self ) -> impl Iterator<Item = &READMODE_DC_SYS_TIME>

Iterator for array of: 0x910..0x918 - System Time read access

source

pub fn receive_time_pu(&self, n: usize) -> &RECEIVE_TIME_PU

0x918..0x920 - Local time of the beginning of a frame

source

pub fn receive_time_pu_iter(&self) -> impl Iterator<Item = &RECEIVE_TIME_PU>

Iterator for array of: 0x918..0x920 - Local time of the beginning of a frame

source

pub fn dc_sys_time_offset(&self, n: usize) -> &DC_SYS_TIME_OFFSET

0x920..0x928 - Difference between local time and System Time

source

pub fn dc_sys_time_offset_iter( &self ) -> impl Iterator<Item = &DC_SYS_TIME_OFFSET>

Iterator for array of: 0x920..0x928 - Difference between local time and System Time

source

pub fn dc_sys_time_delay(&self) -> &DC_SYS_TIME_DELAY

0x928 - System Time Delay

source

pub fn dc_sys_time_diff(&self) -> &DC_SYS_TIME_DIFF

0x92c - System Time Difference

source

pub fn dc_speed_count_start(&self) -> &DC_SPEED_COUNT_START

0x930 - Speed Counter Start

source

pub fn dc_speed_count_diff(&self) -> &DC_SPEED_COUNT_DIFF

0x932 - Speed Counter Diff

source

pub fn dc_sys_time_fil_depth(&self) -> &DC_SYS_TIME_FIL_DEPTH

0x934 - System Time Difference Filter Depth

source

pub fn dc_speed_count_fil_depth(&self) -> &DC_SPEED_COUNT_FIL_DEPTH

0x935 - Speed Counter Filter Depth

source

pub fn dc_cyc_cont(&self) -> &DC_CYC_CONT

0x980 - Cyclic Unit Control

source

pub fn dc_act(&self) -> &DC_ACT

0x981 - Activation register

source

pub fn dc_pulse_len(&self) -> &DC_PULSE_LEN

0x982 - Pulse Length of SyncSignals

source

pub fn dc_act_stat(&self) -> &DC_ACT_STAT

0x984 - Activation Status

source

pub fn dc_sync0_stat(&self) -> &DC_SYNC0_STAT

0x98e - SYNC0 Status

source

pub fn dc_sync1_stat(&self) -> &DC_SYNC1_STAT

0x98f - SYNC1 Status

source

pub fn dc_cyc_start_time(&self, n: usize) -> &DC_CYC_START_TIME

0x990..0x998 - Start Time Cyclic Operation

source

pub fn dc_cyc_start_time_iter(&self) -> impl Iterator<Item = &DC_CYC_START_TIME>

Iterator for array of: 0x990..0x998 - Start Time Cyclic Operation

source

pub fn dc_next_sync1_pulse(&self, n: usize) -> &DC_NEXT_SYNC1_PULSE

0x998..0x9a0 - System time of next SYNC1 pulse in ns

source

pub fn dc_next_sync1_pulse_iter( &self ) -> impl Iterator<Item = &DC_NEXT_SYNC1_PULSE>

Iterator for array of: 0x998..0x9a0 - System time of next SYNC1 pulse in ns

source

pub fn dc_sync0_cyc_time(&self) -> &DC_SYNC0_CYC_TIME

0x9a0 - SYNC0 Cycle Time

source

pub fn dc_sync1_cyc_time(&self) -> &DC_SYNC1_CYC_TIME

0x9a4 - SYNC1 Cycle Time

source

pub fn dc_latch0_cont(&self) -> &DC_LATCH0_CONT

0x9a8 - Latch0 Control

source

pub fn dc_latch1_cont(&self) -> &DC_LATCH1_CONT

0x9a9 - Latch1 Control

source

pub fn dc_latch0_stat(&self) -> &DC_LATCH0_STAT

0x9ae - Latch0 Status

source

pub fn dc_latch1_stat(&self) -> &DC_LATCH1_STAT

0x9af - Latch1 Status

source

pub fn dc_latch0_time_pos(&self, n: usize) -> &DC_LATCH0_TIME_POS

0x9b0..0x9b8 - Register captures System time at the positive edge of the Latch0 signal

source

pub fn dc_latch0_time_pos_iter( &self ) -> impl Iterator<Item = &DC_LATCH0_TIME_POS>

Iterator for array of: 0x9b0..0x9b8 - Register captures System time at the positive edge of the Latch0 signal

source

pub fn dc_latch0_time_neg(&self, n: usize) -> &DC_LATCH0_TIME_NEG

0x9b8..0x9c0 - Register captures System time at the negative edge of the Latch0 signal

source

pub fn dc_latch0_time_neg_iter( &self ) -> impl Iterator<Item = &DC_LATCH0_TIME_NEG>

Iterator for array of: 0x9b8..0x9c0 - Register captures System time at the negative edge of the Latch0 signal

source

pub fn dc_latch1_time_pos(&self, n: usize) -> &DC_LATCH1_TIME_POS

0x9c0..0x9c8 - Register captures System time at the positive edge of the Latch1 signal

source

pub fn dc_latch1_time_pos_iter( &self ) -> impl Iterator<Item = &DC_LATCH1_TIME_POS>

Iterator for array of: 0x9c0..0x9c8 - Register captures System time at the positive edge of the Latch1 signal

source

pub fn dc_latch1_time_neg(&self, n: usize) -> &DC_LATCH1_TIME_NEG

0x9c8..0x9d0 - Register captures System time at the negative edge of the Latch1 signal

source

pub fn dc_latch1_time_neg_iter( &self ) -> impl Iterator<Item = &DC_LATCH1_TIME_NEG>

Iterator for array of: 0x9c8..0x9d0 - Register captures System time at the negative edge of the Latch1 signal

source

pub fn dc_ecat_cng_ev_time(&self) -> &DC_ECAT_CNG_EV_TIME

0x9f0 - EtherCAT Buffer Change Event Time

source

pub fn dc_pdi_start_ev_time(&self) -> &DC_PDI_START_EV_TIME

0x9f8 - PDI Buffer Start Event Time

source

pub fn dc_pdi_cng_ev_time(&self) -> &DC_PDI_CNG_EV_TIME

0x9fc - PDI Buffer Change Event Time

source

pub fn id(&self) -> &ID

0xe00 - ECAT0 Module ID

source

pub fn status(&self) -> &STATUS

0xe08 - ECAT0 Status

Trait Implementations§

source§

impl Debug for ECAT0

source§

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

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

impl Deref for ECAT0

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for ECAT0

Auto Trait Implementations§

§

impl Freeze for ECAT0

§

impl RefUnwindSafe for ECAT0

§

impl !Sync for ECAT0

§

impl Unpin for ECAT0

§

impl UnwindSafe for ECAT0

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> 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>,

§

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>,

§

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.