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) -> &FmmuNum

0x04 - FMMUs Supported

source

pub fn sync_manager(&self) -> &SyncManager

0x05 - SyncManagers Supported

source

pub fn ram_size(&self) -> &RamSize

0x06 - RAM Size

source

pub fn port_desc(&self) -> &PortDesc

0x07 - Port Descriptor

source

pub fn feature(&self) -> &Feature

0x08 - ESC Features Supported

source

pub fn station_adr(&self) -> &StationAdr

0x10 - Configured Station Address

source

pub fn station_alias(&self) -> &StationAlias

0x12 - Configured Station Alias

source

pub fn wr_reg_enable(&self) -> &WrRegEnable

0x20 - Write Register Enable

source

pub fn wr_reg_protect(&self) -> &WrRegProtect

0x21 - Write Register Protection

source

pub fn esc_wr_enable(&self) -> &EscWrEnable

0x30 - ESC Write Enable

source

pub fn esc_wr_protect(&self) -> &EscWrProtect

0x31 - ESC Write Protection

source

pub fn readmode_esc_reset_ecat(&self) -> &ReadmodeEscResetEcat

0x40 - ESC Reset ECAT [READ Mode]

source

pub fn writemode_esc_reset_ecat(&self) -> &WritemodeEscResetEcat

0x40 - ESC Reset ECAT [WRITE Mode]

source

pub fn readmode_esc_reset_pdi(&self) -> &ReadmodeEscResetPdi

0x41 - ESC Reset PDI [READ Mode]

source

pub fn writemode_esc_reset_pdi(&self) -> &WritemodeEscResetPdi

0x41 - ESC Reset PDI [WRITE Mode]

source

pub fn esc_dl_control(&self) -> &EscDlControl

0x100 - ESC DL Control

source

pub fn physical_rw_offset(&self) -> &PhysicalRwOffset

0x108 - Physical Read/Write Offset

source

pub fn esc_dl_status(&self) -> &EscDlStatus

0x110 - ESC DL Status

source

pub fn al_control(&self) -> &AlControl

0x120 - AL Control

source

pub fn al_status(&self) -> &AlStatus

0x130 - AL Status

source

pub fn al_status_code(&self) -> &AlStatusCode

0x134 - AL Status Code

source

pub fn run_led(&self) -> &RunLed

0x138 - RUN LED Override

source

pub fn err_led(&self) -> &ErrLed

0x139 - RUN ERR Override

source

pub fn pdi_control(&self) -> &PdiControl

0x140 - PDI Control

source

pub fn esc_config(&self) -> &EscConfig

0x141 - ESC Configuration

source

pub fn pdi_config(&self) -> &PdiConfig

0x150 - PDI Control

source

pub fn sync_latch_config(&self) -> &SyncLatchConfig

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

source

pub fn pdi_ext_config(&self) -> &PdiExtConfig

0x152 - PDI Synchronous Microcontroller extended Configuration

source

pub fn event_mask(&self) -> &EventMask

0x200 - ECAT Event Mask

source

pub fn al_event_mask(&self) -> &AlEventMask

0x204 - PDI AL Event Mask

source

pub fn event_req(&self) -> &EventReq

0x210 - ECAT Event Request

source

pub fn al_event_req(&self) -> &AlEventReq

0x220 - AL Event Request

source

pub fn rx_err_count0(&self) -> &RxErrCount0

0x300 - RX Error Counter Port 0

source

pub fn rx_err_count1(&self) -> &RxErrCount1

0x302 - RX Error Counter Port 1

source

pub fn fwd_rx_err_count0(&self) -> &FwdRxErrCount0

0x308 - Forwarded RX Error Counter Port 0

source

pub fn fwd_rx_err_count1(&self) -> &FwdRxErrCount1

0x309 - Forwarded RX Error Counter Port 1

source

pub fn proc_err_count(&self) -> &ProcErrCount

0x30c - ECAT Processing Unit Error Counter

source

pub fn pdi_err_count(&self) -> &PdiErrCount

0x30d - PDI Error Counter

0x310 - Lost Link Counter Port 0

0x311 - Lost Link Counter Port 1

source

pub fn wd_divide(&self) -> &WdDivide

0x400 - Watchdog Divider

source

pub fn wd_time_pdi(&self) -> &WdTimePdi

0x410 - Watchdog Time PDI

source

pub fn wd_time_pdata(&self) -> &WdTimePdata

0x420 - Watchdog Time Process Data

source

pub fn wd_stat_pdata(&self) -> &WdStatPdata

0x440 - Watchdog Status Process Data

source

pub fn wd_count_pdata(&self) -> &WdCountPdata

0x442 - Watchdog Counter Process Data

source

pub fn wd_count_pdi(&self) -> &WdCountPdi

0x443 - Watchdog Counter PDI

source

pub fn eep_conf(&self) -> &EepConf

0x500 - EEPROM Configuration

source

pub fn eep_state(&self) -> &EepState

0x501 - EEPROM PDI Access State

source

pub fn eep_cont_stat(&self) -> &EepContStat

0x502 - EEPROM Control/Status

source

pub fn eep_adr(&self) -> &EepAdr

0x504 - EEPROM Address

source

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

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

source

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

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

source

pub fn mii_cont_stat(&self) -> &MiiContStat

0x510 - MII Management Control/Status

source

pub fn mii_phy_adr(&self) -> &MiiPhyAdr

0x512 - PHY Address

source

pub fn mii_phy_reg_adr(&self) -> &MiiPhyRegAdr

0x513 - PHY Register Address

source

pub fn mii_phy_data(&self) -> &MiiPhyData

0x514 - PHY Data

source

pub fn mii_ecat_acs_state(&self) -> &MiiEcatAcsState

0x516 - MII ECAT ACS STATE

source

pub fn mii_pdi_acs_state(&self) -> &MiiPdiAcsState

0x517 - MII PDI ACS STATE

source

pub fn dc_rcv_time_port0(&self) -> &DcRcvTimePort0

0x900 - Receive Time Port 0

source

pub fn dc_rcv_time_port1(&self) -> &DcRcvTimePort1

0x904 - Receive Time Port 1

source

pub fn writemode_dc_sys_time(&self) -> &WritemodeDcSysTime

0x910 - System Time [WRITE Mode]

source

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

0x910..0x918 - System Time read access

source

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

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

source

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

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

source

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

source

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

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

source

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

source

pub fn dc_sys_time_delay(&self) -> &DcSysTimeDelay

0x928 - System Time Delay

source

pub fn dc_sys_time_diff(&self) -> &DcSysTimeDiff

0x92c - System Time Difference

source

pub fn dc_speed_count_start(&self) -> &DcSpeedCountStart

0x930 - Speed Counter Start

source

pub fn dc_speed_count_diff(&self) -> &DcSpeedCountDiff

0x932 - Speed Counter Diff

source

pub fn dc_sys_time_fil_depth(&self) -> &DcSysTimeFilDepth

0x934 - System Time Difference Filter Depth

source

pub fn dc_speed_count_fil_depth(&self) -> &DcSpeedCountFilDepth

0x935 - Speed Counter Filter Depth

source

pub fn dc_cyc_cont(&self) -> &DcCycCont

0x980 - Cyclic Unit Control

source

pub fn dc_act(&self) -> &DcAct

0x981 - Activation register

source

pub fn dc_pulse_len(&self) -> &DcPulseLen

0x982 - Pulse Length of SyncSignals

source

pub fn dc_act_stat(&self) -> &DcActStat

0x984 - Activation Status

source

pub fn dc_sync0_stat(&self) -> &DcSync0Stat

0x98e - SYNC0 Status

source

pub fn dc_sync1_stat(&self) -> &DcSync1Stat

0x98f - SYNC1 Status

source

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

0x990..0x998 - Start Time Cyclic Operation

source

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

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

source

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

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

source

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

source

pub fn dc_sync0_cyc_time(&self) -> &DcSync0CycTime

0x9a0 - SYNC0 Cycle Time

source

pub fn dc_sync1_cyc_time(&self) -> &DcSync1CycTime

0x9a4 - SYNC1 Cycle Time

source

pub fn dc_latch0_cont(&self) -> &DcLatch0Cont

0x9a8 - Latch0 Control

source

pub fn dc_latch1_cont(&self) -> &DcLatch1Cont

0x9a9 - Latch1 Control

source

pub fn dc_latch0_stat(&self) -> &DcLatch0Stat

0x9ae - Latch0 Status

source

pub fn dc_latch1_stat(&self) -> &DcLatch1Stat

0x9af - Latch1 Status

source

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

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 = &DcLatch0TimePos>

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) -> &DcLatch0TimeNeg

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 = &DcLatch0TimeNeg>

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) -> &DcLatch1TimePos

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 = &DcLatch1TimePos>

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) -> &DcLatch1TimeNeg

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 = &DcLatch1TimeNeg>

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) -> &DcEcatCngEvTime

0x9f0 - EtherCAT Buffer Change Event Time

source

pub fn dc_pdi_start_ev_time(&self) -> &DcPdiStartEvTime

0x9f8 - PDI Buffer Start Event Time

source

pub fn dc_pdi_cng_ev_time(&self) -> &DcPdiCngEvTime

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