pub struct ECAT0 { /* private fields */ }
Expand description
EtherCAT 0
Implementations§
source§impl ECAT0
impl ECAT0
sourcepub const PTR: *const RegisterBlock = {0x54010000 as *const ecat0::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x54010000 as *const ecat0::RegisterBlock}
Pointer to the register block
sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
sourcepub unsafe fn steal() -> Self
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>§
sourcepub fn sync_manager(&self) -> &SYNC_MANAGER
pub fn sync_manager(&self) -> &SYNC_MANAGER
0x05 - SyncManagers Supported
sourcepub fn station_adr(&self) -> &STATION_ADR
pub fn station_adr(&self) -> &STATION_ADR
0x10 - Configured Station Address
sourcepub fn station_alias(&self) -> &STATION_ALIAS
pub fn station_alias(&self) -> &STATION_ALIAS
0x12 - Configured Station Alias
sourcepub fn wr_reg_enable(&self) -> &WR_REG_ENABLE
pub fn wr_reg_enable(&self) -> &WR_REG_ENABLE
0x20 - Write Register Enable
sourcepub fn wr_reg_protect(&self) -> &WR_REG_PROTECT
pub fn wr_reg_protect(&self) -> &WR_REG_PROTECT
0x21 - Write Register Protection
sourcepub fn esc_wr_enable(&self) -> &ESC_WR_ENABLE
pub fn esc_wr_enable(&self) -> &ESC_WR_ENABLE
0x30 - ESC Write Enable
sourcepub fn esc_wr_protect(&self) -> &ESC_WR_PROTECT
pub fn esc_wr_protect(&self) -> &ESC_WR_PROTECT
0x31 - ESC Write Protection
sourcepub fn readmode_esc_reset_ecat(&self) -> &READMODE_ESC_RESET_ECAT
pub fn readmode_esc_reset_ecat(&self) -> &READMODE_ESC_RESET_ECAT
0x40 - ESC Reset ECAT [READ Mode]
sourcepub fn writemode_esc_reset_ecat(&self) -> &WRITEMODE_ESC_RESET_ECAT
pub fn writemode_esc_reset_ecat(&self) -> &WRITEMODE_ESC_RESET_ECAT
0x40 - ESC Reset ECAT [WRITE Mode]
sourcepub fn readmode_esc_reset_pdi(&self) -> &READMODE_ESC_RESET_PDI
pub fn readmode_esc_reset_pdi(&self) -> &READMODE_ESC_RESET_PDI
0x41 - ESC Reset PDI [READ Mode]
sourcepub fn writemode_esc_reset_pdi(&self) -> &WRITEMODE_ESC_RESET_PDI
pub fn writemode_esc_reset_pdi(&self) -> &WRITEMODE_ESC_RESET_PDI
0x41 - ESC Reset PDI [WRITE Mode]
sourcepub fn esc_dl_control(&self) -> &ESC_DL_CONTROL
pub fn esc_dl_control(&self) -> &ESC_DL_CONTROL
0x100 - ESC DL Control
sourcepub fn physical_rw_offset(&self) -> &PHYSICAL_RW_OFFSET
pub fn physical_rw_offset(&self) -> &PHYSICAL_RW_OFFSET
0x108 - Physical Read/Write Offset
sourcepub fn esc_dl_status(&self) -> &ESC_DL_STATUS
pub fn esc_dl_status(&self) -> &ESC_DL_STATUS
0x110 - ESC DL Status
sourcepub fn al_control(&self) -> &AL_CONTROL
pub fn al_control(&self) -> &AL_CONTROL
0x120 - AL Control
sourcepub fn al_status_code(&self) -> &AL_STATUS_CODE
pub fn al_status_code(&self) -> &AL_STATUS_CODE
0x134 - AL Status Code
sourcepub fn pdi_control(&self) -> &PDI_CONTROL
pub fn pdi_control(&self) -> &PDI_CONTROL
0x140 - PDI Control
sourcepub fn esc_config(&self) -> &ESC_CONFIG
pub fn esc_config(&self) -> &ESC_CONFIG
0x141 - ESC Configuration
sourcepub fn pdi_config(&self) -> &PDI_CONFIG
pub fn pdi_config(&self) -> &PDI_CONFIG
0x150 - PDI Control
sourcepub fn sync_latch_config(&self) -> &SYNC_LATCH_CONFIG
pub fn sync_latch_config(&self) -> &SYNC_LATCH_CONFIG
0x151 - Sync/Latch[1:0] PDI Configuration
sourcepub fn pdi_ext_config(&self) -> &PDI_EXT_CONFIG
pub fn pdi_ext_config(&self) -> &PDI_EXT_CONFIG
0x152 - PDI Synchronous Microcontroller extended Configuration
sourcepub fn event_mask(&self) -> &EVENT_MASK
pub fn event_mask(&self) -> &EVENT_MASK
0x200 - ECAT Event Mask
sourcepub fn al_event_mask(&self) -> &AL_EVENT_MASK
pub fn al_event_mask(&self) -> &AL_EVENT_MASK
0x204 - PDI AL Event Mask
sourcepub fn al_event_req(&self) -> &AL_EVENT_REQ
pub fn al_event_req(&self) -> &AL_EVENT_REQ
0x220 - AL Event Request
sourcepub fn rx_err_count0(&self) -> &RX_ERR_COUNT0
pub fn rx_err_count0(&self) -> &RX_ERR_COUNT0
0x300 - RX Error Counter Port 0
sourcepub fn rx_err_count1(&self) -> &RX_ERR_COUNT1
pub fn rx_err_count1(&self) -> &RX_ERR_COUNT1
0x302 - RX Error Counter Port 1
sourcepub fn fwd_rx_err_count0(&self) -> &FWD_RX_ERR_COUNT0
pub fn fwd_rx_err_count0(&self) -> &FWD_RX_ERR_COUNT0
0x308 - Forwarded RX Error Counter Port 0
sourcepub fn fwd_rx_err_count1(&self) -> &FWD_RX_ERR_COUNT1
pub fn fwd_rx_err_count1(&self) -> &FWD_RX_ERR_COUNT1
0x309 - Forwarded RX Error Counter Port 1
sourcepub fn proc_err_count(&self) -> &PROC_ERR_COUNT
pub fn proc_err_count(&self) -> &PROC_ERR_COUNT
0x30c - ECAT Processing Unit Error Counter
sourcepub fn pdi_err_count(&self) -> &PDI_ERR_COUNT
pub fn pdi_err_count(&self) -> &PDI_ERR_COUNT
0x30d - PDI Error Counter
sourcepub fn lost_link_count0(&self) -> &LOST_LINK_COUNT0
pub fn lost_link_count0(&self) -> &LOST_LINK_COUNT0
0x310 - Lost Link Counter Port 0
sourcepub fn lost_link_count1(&self) -> &LOST_LINK_COUNT1
pub fn lost_link_count1(&self) -> &LOST_LINK_COUNT1
0x311 - Lost Link Counter Port 1
sourcepub fn wd_time_pdi(&self) -> &WD_TIME_PDI
pub fn wd_time_pdi(&self) -> &WD_TIME_PDI
0x410 - Watchdog Time PDI
sourcepub fn wd_time_pdata(&self) -> &WD_TIME_PDATA
pub fn wd_time_pdata(&self) -> &WD_TIME_PDATA
0x420 - Watchdog Time Process Data
sourcepub fn wd_stat_pdata(&self) -> &WD_STAT_PDATA
pub fn wd_stat_pdata(&self) -> &WD_STAT_PDATA
0x440 - Watchdog Status Process Data
sourcepub fn wd_count_pdata(&self) -> &WD_COUNT_PDATA
pub fn wd_count_pdata(&self) -> &WD_COUNT_PDATA
0x442 - Watchdog Counter Process Data
sourcepub fn wd_count_pdi(&self) -> &WD_COUNT_PDI
pub fn wd_count_pdi(&self) -> &WD_COUNT_PDI
0x443 - Watchdog Counter PDI
sourcepub fn eep_cont_stat(&self) -> &EEP_CONT_STAT
pub fn eep_cont_stat(&self) -> &EEP_CONT_STAT
0x502 - EEPROM Control/Status
sourcepub fn eep_data_iter(&self) -> impl Iterator<Item = &EEP_DATA>
pub fn eep_data_iter(&self) -> impl Iterator<Item = &EEP_DATA>
Iterator for array of: 0x508..0x510 - EEPROM Read/Write data
sourcepub fn mii_cont_stat(&self) -> &MII_CONT_STAT
pub fn mii_cont_stat(&self) -> &MII_CONT_STAT
0x510 - MII Management Control/Status
sourcepub fn mii_phy_adr(&self) -> &MII_PHY_ADR
pub fn mii_phy_adr(&self) -> &MII_PHY_ADR
0x512 - PHY Address
sourcepub fn mii_phy_reg_adr(&self) -> &MII_PHY_REG_ADR
pub fn mii_phy_reg_adr(&self) -> &MII_PHY_REG_ADR
0x513 - PHY Register Address
sourcepub fn mii_phy_data(&self) -> &MII_PHY_DATA
pub fn mii_phy_data(&self) -> &MII_PHY_DATA
0x514 - PHY Data
sourcepub fn mii_ecat_acs_state(&self) -> &MII_ECAT_ACS_STATE
pub fn mii_ecat_acs_state(&self) -> &MII_ECAT_ACS_STATE
0x516 - MII ECAT ACS STATE
sourcepub fn mii_pdi_acs_state(&self) -> &MII_PDI_ACS_STATE
pub fn mii_pdi_acs_state(&self) -> &MII_PDI_ACS_STATE
0x517 - MII PDI ACS STATE
sourcepub fn dc_rcv_time_port0(&self) -> &DC_RCV_TIME_PORT0
pub fn dc_rcv_time_port0(&self) -> &DC_RCV_TIME_PORT0
0x900 - Receive Time Port 0
sourcepub fn dc_rcv_time_port1(&self) -> &DC_RCV_TIME_PORT1
pub fn dc_rcv_time_port1(&self) -> &DC_RCV_TIME_PORT1
0x904 - Receive Time Port 1
sourcepub fn writemode_dc_sys_time(&self) -> &WRITEMODE_DC_SYS_TIME
pub fn writemode_dc_sys_time(&self) -> &WRITEMODE_DC_SYS_TIME
0x910 - System Time [WRITE Mode]
sourcepub fn readmode_dc_sys_time(&self, n: usize) -> &READMODE_DC_SYS_TIME
pub fn readmode_dc_sys_time(&self, n: usize) -> &READMODE_DC_SYS_TIME
0x910..0x918 - System Time read access
sourcepub fn readmode_dc_sys_time_iter(
&self
) -> impl Iterator<Item = &READMODE_DC_SYS_TIME>
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
sourcepub fn receive_time_pu(&self, n: usize) -> &RECEIVE_TIME_PU
pub fn receive_time_pu(&self, n: usize) -> &RECEIVE_TIME_PU
0x918..0x920 - Local time of the beginning of a frame
sourcepub fn receive_time_pu_iter(&self) -> impl Iterator<Item = &RECEIVE_TIME_PU>
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
sourcepub fn dc_sys_time_offset(&self, n: usize) -> &DC_SYS_TIME_OFFSET
pub fn dc_sys_time_offset(&self, n: usize) -> &DC_SYS_TIME_OFFSET
0x920..0x928 - Difference between local time and System Time
sourcepub fn dc_sys_time_offset_iter(
&self
) -> impl Iterator<Item = &DC_SYS_TIME_OFFSET>
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
sourcepub fn dc_sys_time_delay(&self) -> &DC_SYS_TIME_DELAY
pub fn dc_sys_time_delay(&self) -> &DC_SYS_TIME_DELAY
0x928 - System Time Delay
sourcepub fn dc_sys_time_diff(&self) -> &DC_SYS_TIME_DIFF
pub fn dc_sys_time_diff(&self) -> &DC_SYS_TIME_DIFF
0x92c - System Time Difference
sourcepub fn dc_speed_count_start(&self) -> &DC_SPEED_COUNT_START
pub fn dc_speed_count_start(&self) -> &DC_SPEED_COUNT_START
0x930 - Speed Counter Start
sourcepub fn dc_speed_count_diff(&self) -> &DC_SPEED_COUNT_DIFF
pub fn dc_speed_count_diff(&self) -> &DC_SPEED_COUNT_DIFF
0x932 - Speed Counter Diff
sourcepub fn dc_sys_time_fil_depth(&self) -> &DC_SYS_TIME_FIL_DEPTH
pub fn dc_sys_time_fil_depth(&self) -> &DC_SYS_TIME_FIL_DEPTH
0x934 - System Time Difference Filter Depth
sourcepub fn dc_speed_count_fil_depth(&self) -> &DC_SPEED_COUNT_FIL_DEPTH
pub fn dc_speed_count_fil_depth(&self) -> &DC_SPEED_COUNT_FIL_DEPTH
0x935 - Speed Counter Filter Depth
sourcepub fn dc_cyc_cont(&self) -> &DC_CYC_CONT
pub fn dc_cyc_cont(&self) -> &DC_CYC_CONT
0x980 - Cyclic Unit Control
sourcepub fn dc_pulse_len(&self) -> &DC_PULSE_LEN
pub fn dc_pulse_len(&self) -> &DC_PULSE_LEN
0x982 - Pulse Length of SyncSignals
sourcepub fn dc_act_stat(&self) -> &DC_ACT_STAT
pub fn dc_act_stat(&self) -> &DC_ACT_STAT
0x984 - Activation Status
sourcepub fn dc_sync0_stat(&self) -> &DC_SYNC0_STAT
pub fn dc_sync0_stat(&self) -> &DC_SYNC0_STAT
0x98e - SYNC0 Status
sourcepub fn dc_sync1_stat(&self) -> &DC_SYNC1_STAT
pub fn dc_sync1_stat(&self) -> &DC_SYNC1_STAT
0x98f - SYNC1 Status
sourcepub fn dc_cyc_start_time(&self, n: usize) -> &DC_CYC_START_TIME
pub fn dc_cyc_start_time(&self, n: usize) -> &DC_CYC_START_TIME
0x990..0x998 - Start Time Cyclic Operation
sourcepub fn dc_cyc_start_time_iter(&self) -> impl Iterator<Item = &DC_CYC_START_TIME>
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
sourcepub fn dc_next_sync1_pulse(&self, n: usize) -> &DC_NEXT_SYNC1_PULSE
pub fn dc_next_sync1_pulse(&self, n: usize) -> &DC_NEXT_SYNC1_PULSE
0x998..0x9a0 - System time of next SYNC1 pulse in ns
sourcepub fn dc_next_sync1_pulse_iter(
&self
) -> impl Iterator<Item = &DC_NEXT_SYNC1_PULSE>
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
sourcepub fn dc_sync0_cyc_time(&self) -> &DC_SYNC0_CYC_TIME
pub fn dc_sync0_cyc_time(&self) -> &DC_SYNC0_CYC_TIME
0x9a0 - SYNC0 Cycle Time
sourcepub fn dc_sync1_cyc_time(&self) -> &DC_SYNC1_CYC_TIME
pub fn dc_sync1_cyc_time(&self) -> &DC_SYNC1_CYC_TIME
0x9a4 - SYNC1 Cycle Time
sourcepub fn dc_latch0_cont(&self) -> &DC_LATCH0_CONT
pub fn dc_latch0_cont(&self) -> &DC_LATCH0_CONT
0x9a8 - Latch0 Control
sourcepub fn dc_latch1_cont(&self) -> &DC_LATCH1_CONT
pub fn dc_latch1_cont(&self) -> &DC_LATCH1_CONT
0x9a9 - Latch1 Control
sourcepub fn dc_latch0_stat(&self) -> &DC_LATCH0_STAT
pub fn dc_latch0_stat(&self) -> &DC_LATCH0_STAT
0x9ae - Latch0 Status
sourcepub fn dc_latch1_stat(&self) -> &DC_LATCH1_STAT
pub fn dc_latch1_stat(&self) -> &DC_LATCH1_STAT
0x9af - Latch1 Status
sourcepub fn dc_latch0_time_pos(&self, n: usize) -> &DC_LATCH0_TIME_POS
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
sourcepub fn dc_latch0_time_pos_iter(
&self
) -> impl Iterator<Item = &DC_LATCH0_TIME_POS>
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
sourcepub fn dc_latch0_time_neg(&self, n: usize) -> &DC_LATCH0_TIME_NEG
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
sourcepub fn dc_latch0_time_neg_iter(
&self
) -> impl Iterator<Item = &DC_LATCH0_TIME_NEG>
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
sourcepub fn dc_latch1_time_pos(&self, n: usize) -> &DC_LATCH1_TIME_POS
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
sourcepub fn dc_latch1_time_pos_iter(
&self
) -> impl Iterator<Item = &DC_LATCH1_TIME_POS>
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
sourcepub fn dc_latch1_time_neg(&self, n: usize) -> &DC_LATCH1_TIME_NEG
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
sourcepub fn dc_latch1_time_neg_iter(
&self
) -> impl Iterator<Item = &DC_LATCH1_TIME_NEG>
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
sourcepub fn dc_ecat_cng_ev_time(&self) -> &DC_ECAT_CNG_EV_TIME
pub fn dc_ecat_cng_ev_time(&self) -> &DC_ECAT_CNG_EV_TIME
0x9f0 - EtherCAT Buffer Change Event Time
sourcepub fn dc_pdi_start_ev_time(&self) -> &DC_PDI_START_EV_TIME
pub fn dc_pdi_start_ev_time(&self) -> &DC_PDI_START_EV_TIME
0x9f8 - PDI Buffer Start Event Time
sourcepub fn dc_pdi_cng_ev_time(&self) -> &DC_PDI_CNG_EV_TIME
pub fn dc_pdi_cng_ev_time(&self) -> &DC_PDI_CNG_EV_TIME
0x9fc - PDI Buffer Change Event Time