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) -> &SyncManager
pub fn sync_manager(&self) -> &SyncManager
0x05 - SyncManagers Supported
sourcepub fn station_adr(&self) -> &StationAdr
pub fn station_adr(&self) -> &StationAdr
0x10 - Configured Station Address
sourcepub fn station_alias(&self) -> &StationAlias
pub fn station_alias(&self) -> &StationAlias
0x12 - Configured Station Alias
sourcepub fn wr_reg_enable(&self) -> &WrRegEnable
pub fn wr_reg_enable(&self) -> &WrRegEnable
0x20 - Write Register Enable
sourcepub fn wr_reg_protect(&self) -> &WrRegProtect
pub fn wr_reg_protect(&self) -> &WrRegProtect
0x21 - Write Register Protection
sourcepub fn esc_wr_enable(&self) -> &EscWrEnable
pub fn esc_wr_enable(&self) -> &EscWrEnable
0x30 - ESC Write Enable
sourcepub fn esc_wr_protect(&self) -> &EscWrProtect
pub fn esc_wr_protect(&self) -> &EscWrProtect
0x31 - ESC Write Protection
sourcepub fn readmode_esc_reset_ecat(&self) -> &ReadmodeEscResetEcat
pub fn readmode_esc_reset_ecat(&self) -> &ReadmodeEscResetEcat
0x40 - ESC Reset ECAT [READ Mode]
sourcepub fn writemode_esc_reset_ecat(&self) -> &WritemodeEscResetEcat
pub fn writemode_esc_reset_ecat(&self) -> &WritemodeEscResetEcat
0x40 - ESC Reset ECAT [WRITE Mode]
sourcepub fn readmode_esc_reset_pdi(&self) -> &ReadmodeEscResetPdi
pub fn readmode_esc_reset_pdi(&self) -> &ReadmodeEscResetPdi
0x41 - ESC Reset PDI [READ Mode]
sourcepub fn writemode_esc_reset_pdi(&self) -> &WritemodeEscResetPdi
pub fn writemode_esc_reset_pdi(&self) -> &WritemodeEscResetPdi
0x41 - ESC Reset PDI [WRITE Mode]
sourcepub fn esc_dl_control(&self) -> &EscDlControl
pub fn esc_dl_control(&self) -> &EscDlControl
0x100 - ESC DL Control
sourcepub fn physical_rw_offset(&self) -> &PhysicalRwOffset
pub fn physical_rw_offset(&self) -> &PhysicalRwOffset
0x108 - Physical Read/Write Offset
sourcepub fn esc_dl_status(&self) -> &EscDlStatus
pub fn esc_dl_status(&self) -> &EscDlStatus
0x110 - ESC DL Status
sourcepub fn al_control(&self) -> &AlControl
pub fn al_control(&self) -> &AlControl
0x120 - AL Control
sourcepub fn al_status_code(&self) -> &AlStatusCode
pub fn al_status_code(&self) -> &AlStatusCode
0x134 - AL Status Code
sourcepub fn pdi_control(&self) -> &PdiControl
pub fn pdi_control(&self) -> &PdiControl
0x140 - PDI Control
sourcepub fn esc_config(&self) -> &EscConfig
pub fn esc_config(&self) -> &EscConfig
0x141 - ESC Configuration
sourcepub fn pdi_config(&self) -> &PdiConfig
pub fn pdi_config(&self) -> &PdiConfig
0x150 - PDI Control
sourcepub fn sync_latch_config(&self) -> &SyncLatchConfig
pub fn sync_latch_config(&self) -> &SyncLatchConfig
0x151 - Sync/Latch[1:0] PDI Configuration
sourcepub fn pdi_ext_config(&self) -> &PdiExtConfig
pub fn pdi_ext_config(&self) -> &PdiExtConfig
0x152 - PDI Synchronous Microcontroller extended Configuration
sourcepub fn event_mask(&self) -> &EventMask
pub fn event_mask(&self) -> &EventMask
0x200 - ECAT Event Mask
sourcepub fn al_event_mask(&self) -> &AlEventMask
pub fn al_event_mask(&self) -> &AlEventMask
0x204 - PDI AL Event Mask
sourcepub fn al_event_req(&self) -> &AlEventReq
pub fn al_event_req(&self) -> &AlEventReq
0x220 - AL Event Request
sourcepub fn rx_err_count0(&self) -> &RxErrCount0
pub fn rx_err_count0(&self) -> &RxErrCount0
0x300 - RX Error Counter Port 0
sourcepub fn rx_err_count1(&self) -> &RxErrCount1
pub fn rx_err_count1(&self) -> &RxErrCount1
0x302 - RX Error Counter Port 1
sourcepub fn fwd_rx_err_count0(&self) -> &FwdRxErrCount0
pub fn fwd_rx_err_count0(&self) -> &FwdRxErrCount0
0x308 - Forwarded RX Error Counter Port 0
sourcepub fn fwd_rx_err_count1(&self) -> &FwdRxErrCount1
pub fn fwd_rx_err_count1(&self) -> &FwdRxErrCount1
0x309 - Forwarded RX Error Counter Port 1
sourcepub fn proc_err_count(&self) -> &ProcErrCount
pub fn proc_err_count(&self) -> &ProcErrCount
0x30c - ECAT Processing Unit Error Counter
sourcepub fn pdi_err_count(&self) -> &PdiErrCount
pub fn pdi_err_count(&self) -> &PdiErrCount
0x30d - PDI Error Counter
sourcepub fn lost_link_count0(&self) -> &LostLinkCount0
pub fn lost_link_count0(&self) -> &LostLinkCount0
0x310 - Lost Link Counter Port 0
sourcepub fn lost_link_count1(&self) -> &LostLinkCount1
pub fn lost_link_count1(&self) -> &LostLinkCount1
0x311 - Lost Link Counter Port 1
sourcepub fn wd_time_pdi(&self) -> &WdTimePdi
pub fn wd_time_pdi(&self) -> &WdTimePdi
0x410 - Watchdog Time PDI
sourcepub fn wd_time_pdata(&self) -> &WdTimePdata
pub fn wd_time_pdata(&self) -> &WdTimePdata
0x420 - Watchdog Time Process Data
sourcepub fn wd_stat_pdata(&self) -> &WdStatPdata
pub fn wd_stat_pdata(&self) -> &WdStatPdata
0x440 - Watchdog Status Process Data
sourcepub fn wd_count_pdata(&self) -> &WdCountPdata
pub fn wd_count_pdata(&self) -> &WdCountPdata
0x442 - Watchdog Counter Process Data
sourcepub fn wd_count_pdi(&self) -> &WdCountPdi
pub fn wd_count_pdi(&self) -> &WdCountPdi
0x443 - Watchdog Counter PDI
sourcepub fn eep_cont_stat(&self) -> &EepContStat
pub fn eep_cont_stat(&self) -> &EepContStat
0x502 - EEPROM Control/Status
sourcepub fn eep_data_iter(&self) -> impl Iterator<Item = &EepData>
pub fn eep_data_iter(&self) -> impl Iterator<Item = &EepData>
Iterator for array of: 0x508..0x510 - EEPROM Read/Write data
sourcepub fn mii_cont_stat(&self) -> &MiiContStat
pub fn mii_cont_stat(&self) -> &MiiContStat
0x510 - MII Management Control/Status
sourcepub fn mii_phy_adr(&self) -> &MiiPhyAdr
pub fn mii_phy_adr(&self) -> &MiiPhyAdr
0x512 - PHY Address
sourcepub fn mii_phy_reg_adr(&self) -> &MiiPhyRegAdr
pub fn mii_phy_reg_adr(&self) -> &MiiPhyRegAdr
0x513 - PHY Register Address
sourcepub fn mii_phy_data(&self) -> &MiiPhyData
pub fn mii_phy_data(&self) -> &MiiPhyData
0x514 - PHY Data
sourcepub fn mii_ecat_acs_state(&self) -> &MiiEcatAcsState
pub fn mii_ecat_acs_state(&self) -> &MiiEcatAcsState
0x516 - MII ECAT ACS STATE
sourcepub fn mii_pdi_acs_state(&self) -> &MiiPdiAcsState
pub fn mii_pdi_acs_state(&self) -> &MiiPdiAcsState
0x517 - MII PDI ACS STATE
sourcepub fn dc_rcv_time_port0(&self) -> &DcRcvTimePort0
pub fn dc_rcv_time_port0(&self) -> &DcRcvTimePort0
0x900 - Receive Time Port 0
sourcepub fn dc_rcv_time_port1(&self) -> &DcRcvTimePort1
pub fn dc_rcv_time_port1(&self) -> &DcRcvTimePort1
0x904 - Receive Time Port 1
sourcepub fn writemode_dc_sys_time(&self) -> &WritemodeDcSysTime
pub fn writemode_dc_sys_time(&self) -> &WritemodeDcSysTime
0x910 - System Time [WRITE Mode]
sourcepub fn readmode_dc_sys_time(&self, n: usize) -> &ReadmodeDcSysTime
pub fn readmode_dc_sys_time(&self, n: usize) -> &ReadmodeDcSysTime
0x910..0x918 - System Time read access
sourcepub fn readmode_dc_sys_time_iter(
&self
) -> impl Iterator<Item = &ReadmodeDcSysTime>
pub fn readmode_dc_sys_time_iter( &self ) -> impl Iterator<Item = &ReadmodeDcSysTime>
Iterator for array of: 0x910..0x918 - System Time read access
sourcepub fn receive_time_pu(&self, n: usize) -> &ReceiveTimePu
pub fn receive_time_pu(&self, n: usize) -> &ReceiveTimePu
0x918..0x920 - Local time of the beginning of a frame
sourcepub fn receive_time_pu_iter(&self) -> impl Iterator<Item = &ReceiveTimePu>
pub fn receive_time_pu_iter(&self) -> impl Iterator<Item = &ReceiveTimePu>
Iterator for array of: 0x918..0x920 - Local time of the beginning of a frame
sourcepub fn dc_sys_time_offset(&self, n: usize) -> &DcSysTimeOffset
pub fn dc_sys_time_offset(&self, n: usize) -> &DcSysTimeOffset
0x920..0x928 - Difference between local time and System Time
sourcepub fn dc_sys_time_offset_iter(&self) -> impl Iterator<Item = &DcSysTimeOffset>
pub fn dc_sys_time_offset_iter(&self) -> impl Iterator<Item = &DcSysTimeOffset>
Iterator for array of: 0x920..0x928 - Difference between local time and System Time
sourcepub fn dc_sys_time_delay(&self) -> &DcSysTimeDelay
pub fn dc_sys_time_delay(&self) -> &DcSysTimeDelay
0x928 - System Time Delay
sourcepub fn dc_sys_time_diff(&self) -> &DcSysTimeDiff
pub fn dc_sys_time_diff(&self) -> &DcSysTimeDiff
0x92c - System Time Difference
sourcepub fn dc_speed_count_start(&self) -> &DcSpeedCountStart
pub fn dc_speed_count_start(&self) -> &DcSpeedCountStart
0x930 - Speed Counter Start
sourcepub fn dc_speed_count_diff(&self) -> &DcSpeedCountDiff
pub fn dc_speed_count_diff(&self) -> &DcSpeedCountDiff
0x932 - Speed Counter Diff
sourcepub fn dc_sys_time_fil_depth(&self) -> &DcSysTimeFilDepth
pub fn dc_sys_time_fil_depth(&self) -> &DcSysTimeFilDepth
0x934 - System Time Difference Filter Depth
sourcepub fn dc_speed_count_fil_depth(&self) -> &DcSpeedCountFilDepth
pub fn dc_speed_count_fil_depth(&self) -> &DcSpeedCountFilDepth
0x935 - Speed Counter Filter Depth
sourcepub fn dc_cyc_cont(&self) -> &DcCycCont
pub fn dc_cyc_cont(&self) -> &DcCycCont
0x980 - Cyclic Unit Control
sourcepub fn dc_pulse_len(&self) -> &DcPulseLen
pub fn dc_pulse_len(&self) -> &DcPulseLen
0x982 - Pulse Length of SyncSignals
sourcepub fn dc_act_stat(&self) -> &DcActStat
pub fn dc_act_stat(&self) -> &DcActStat
0x984 - Activation Status
sourcepub fn dc_sync0_stat(&self) -> &DcSync0Stat
pub fn dc_sync0_stat(&self) -> &DcSync0Stat
0x98e - SYNC0 Status
sourcepub fn dc_sync1_stat(&self) -> &DcSync1Stat
pub fn dc_sync1_stat(&self) -> &DcSync1Stat
0x98f - SYNC1 Status
sourcepub fn dc_cyc_start_time(&self, n: usize) -> &DcCycStartTime
pub fn dc_cyc_start_time(&self, n: usize) -> &DcCycStartTime
0x990..0x998 - Start Time Cyclic Operation
sourcepub fn dc_cyc_start_time_iter(&self) -> impl Iterator<Item = &DcCycStartTime>
pub fn dc_cyc_start_time_iter(&self) -> impl Iterator<Item = &DcCycStartTime>
Iterator for array of: 0x990..0x998 - Start Time Cyclic Operation
sourcepub fn dc_next_sync1_pulse(&self, n: usize) -> &DcNextSync1Pulse
pub fn dc_next_sync1_pulse(&self, n: usize) -> &DcNextSync1Pulse
0x998..0x9a0 - System time of next SYNC1 pulse in ns
sourcepub fn dc_next_sync1_pulse_iter(
&self
) -> impl Iterator<Item = &DcNextSync1Pulse>
pub fn dc_next_sync1_pulse_iter( &self ) -> impl Iterator<Item = &DcNextSync1Pulse>
Iterator for array of: 0x998..0x9a0 - System time of next SYNC1 pulse in ns
sourcepub fn dc_sync0_cyc_time(&self) -> &DcSync0CycTime
pub fn dc_sync0_cyc_time(&self) -> &DcSync0CycTime
0x9a0 - SYNC0 Cycle Time
sourcepub fn dc_sync1_cyc_time(&self) -> &DcSync1CycTime
pub fn dc_sync1_cyc_time(&self) -> &DcSync1CycTime
0x9a4 - SYNC1 Cycle Time
sourcepub fn dc_latch0_cont(&self) -> &DcLatch0Cont
pub fn dc_latch0_cont(&self) -> &DcLatch0Cont
0x9a8 - Latch0 Control
sourcepub fn dc_latch1_cont(&self) -> &DcLatch1Cont
pub fn dc_latch1_cont(&self) -> &DcLatch1Cont
0x9a9 - Latch1 Control
sourcepub fn dc_latch0_stat(&self) -> &DcLatch0Stat
pub fn dc_latch0_stat(&self) -> &DcLatch0Stat
0x9ae - Latch0 Status
sourcepub fn dc_latch1_stat(&self) -> &DcLatch1Stat
pub fn dc_latch1_stat(&self) -> &DcLatch1Stat
0x9af - Latch1 Status
sourcepub fn dc_latch0_time_pos(&self, n: usize) -> &DcLatch0TimePos
pub fn dc_latch0_time_pos(&self, n: usize) -> &DcLatch0TimePos
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 = &DcLatch0TimePos>
pub fn dc_latch0_time_pos_iter(&self) -> impl Iterator<Item = &DcLatch0TimePos>
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) -> &DcLatch0TimeNeg
pub fn dc_latch0_time_neg(&self, n: usize) -> &DcLatch0TimeNeg
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 = &DcLatch0TimeNeg>
pub fn dc_latch0_time_neg_iter(&self) -> impl Iterator<Item = &DcLatch0TimeNeg>
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) -> &DcLatch1TimePos
pub fn dc_latch1_time_pos(&self, n: usize) -> &DcLatch1TimePos
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 = &DcLatch1TimePos>
pub fn dc_latch1_time_pos_iter(&self) -> impl Iterator<Item = &DcLatch1TimePos>
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) -> &DcLatch1TimeNeg
pub fn dc_latch1_time_neg(&self, n: usize) -> &DcLatch1TimeNeg
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 = &DcLatch1TimeNeg>
pub fn dc_latch1_time_neg_iter(&self) -> impl Iterator<Item = &DcLatch1TimeNeg>
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) -> &DcEcatCngEvTime
pub fn dc_ecat_cng_ev_time(&self) -> &DcEcatCngEvTime
0x9f0 - EtherCAT Buffer Change Event Time
sourcepub fn dc_pdi_start_ev_time(&self) -> &DcPdiStartEvTime
pub fn dc_pdi_start_ev_time(&self) -> &DcPdiStartEvTime
0x9f8 - PDI Buffer Start Event Time
sourcepub fn dc_pdi_cng_ev_time(&self) -> &DcPdiCngEvTime
pub fn dc_pdi_cng_ev_time(&self) -> &DcPdiCngEvTime
0x9fc - PDI Buffer Change Event Time