Struct ec_slave

Source
#[repr(C)]
pub struct ec_slave {
Show 64 fields pub state: uint16, pub ALstatuscode: uint16, pub configadr: uint16, pub aliasadr: uint16, pub eep_man: uint32, pub eep_id: uint32, pub eep_rev: uint32, pub Itype: uint16, pub Dtype: uint16, pub Obits: uint16, pub Obytes: uint32, pub outputs: *mut uint8, pub Ostartbit: uint8, pub Ibits: uint16, pub Ibytes: uint32, pub inputs: *mut uint8, pub Istartbit: uint8, pub SM: [ec_smt; 8], pub SMtype: [uint8; 8], pub FMMU: [ec_fmmut; 4], pub FMMU0func: uint8, pub FMMU1func: uint8, pub FMMU2func: uint8, pub FMMU3func: uint8, pub mbx_l: uint16, pub mbx_wo: uint16, pub mbx_rl: uint16, pub mbx_ro: uint16, pub mbx_proto: uint16, pub mbx_cnt: uint8, pub hasdc: boolean, pub ptype: uint8, pub topology: uint8, pub activeports: uint8, pub consumedports: uint8, pub parent: uint16, pub parentport: uint8, pub entryport: uint8, pub DCrtA: int32, pub DCrtB: int32, pub DCrtC: int32, pub DCrtD: int32, pub pdelay: int32, pub DCnext: uint16, pub DCprevious: uint16, pub DCcycle: int32, pub DCshift: int32, pub DCactive: uint8, pub configindex: uint16, pub SIIindex: uint16, pub eep_8byte: uint8, pub eep_pdi: uint8, pub CoEdetails: uint8, pub FoEdetails: uint8, pub EoEdetails: uint8, pub SoEdetails: uint8, pub Ebuscurrent: int16, pub blockLRW: uint8, pub group: uint8, pub FMMUunused: uint8, pub islost: boolean, pub PO2SOconfig: Option<unsafe extern "C" fn(slave: uint16) -> c_int>, pub PO2SOconfigx: Option<unsafe extern "C" fn(context: *mut ecx_contextt, slave: uint16) -> c_int>, pub name: [c_char; 41],
}
Expand description

for list of ethercat slaves detected

Fields§

§state: uint16

state of slave

§ALstatuscode: uint16

AL status code

§configadr: uint16

Configured address

§aliasadr: uint16

Alias address

§eep_man: uint32

Manufacturer from EEprom

§eep_id: uint32

ID from EEprom

§eep_rev: uint32

revision from EEprom

§Itype: uint16

Interface type

§Dtype: uint16

Device type

§Obits: uint16

output bits

§Obytes: uint32

output bytes, if Obits < 8 then Obytes = 0

§outputs: *mut uint8

output pointer in IOmap buffer

§Ostartbit: uint8

startbit in first output byte

§Ibits: uint16

input bits

§Ibytes: uint32

input bytes, if Ibits < 8 then Ibytes = 0

§inputs: *mut uint8

input pointer in IOmap buffer

§Istartbit: uint8

startbit in first input byte

§SM: [ec_smt; 8]

SM structure

§SMtype: [uint8; 8]

SM type 0=unused 1=MbxWr 2=MbxRd 3=Outputs 4=Inputs

§FMMU: [ec_fmmut; 4]

FMMU structure

§FMMU0func: uint8

FMMU0 function

§FMMU1func: uint8

FMMU1 function

§FMMU2func: uint8

FMMU2 function

§FMMU3func: uint8

FMMU3 function

§mbx_l: uint16

length of write mailbox in bytes, if no mailbox then 0

§mbx_wo: uint16

mailbox write offset

§mbx_rl: uint16

length of read mailbox in bytes

§mbx_ro: uint16

mailbox read offset

§mbx_proto: uint16

mailbox supported protocols

§mbx_cnt: uint8

Counter value of mailbox link layer protocol 1..7

§hasdc: boolean

has DC capability

§ptype: uint8

Physical type; Ebus, EtherNet combinations

§topology: uint8

topology: 1 to 3 links

§activeports: uint8

active ports bitmap : ….3210 , set if respective port is active

§consumedports: uint8

consumed ports bitmap : ….3210, used for internal delay measurement

§parent: uint16

slave number for parent, 0=master

§parentport: uint8

port number on parent this slave is connected to

§entryport: uint8

port number on this slave the parent is connected to

§DCrtA: int32

DC receivetimes on port A

§DCrtB: int32

DC receivetimes on port B

§DCrtC: int32

DC receivetimes on port C

§DCrtD: int32

DC receivetimes on port D

§pdelay: int32

propagation delay

§DCnext: uint16

next DC slave

§DCprevious: uint16

previous DC slave

§DCcycle: int32

DC cycle time in ns

§DCshift: int32

DC shift from clock modulus boundary

§DCactive: uint8

DC sync activation, 0=off, 1=on

§configindex: uint16

link to config table

§SIIindex: uint16

link to SII config

§eep_8byte: uint8

1 = 8 bytes per read, 0 = 4 bytes per read

§eep_pdi: uint8

0 = eeprom to master , 1 = eeprom to PDI

§CoEdetails: uint8

CoE details

§FoEdetails: uint8

FoE details

§EoEdetails: uint8

EoE details

§SoEdetails: uint8

SoE details

§Ebuscurrent: int16

E-bus current

§blockLRW: uint8

if >0 block use of LRW in processdata

§group: uint8

group

§FMMUunused: uint8

first unused FMMU

§islost: boolean

Boolean for tracking whether the slave is (not) responding, not used/set by the SOEM library

§PO2SOconfig: Option<unsafe extern "C" fn(slave: uint16) -> c_int>

registered configuration function PO->SO, (DEPRECATED)

§PO2SOconfigx: Option<unsafe extern "C" fn(context: *mut ecx_contextt, slave: uint16) -> c_int>

registered configuration function PO->SO

§name: [c_char; 41]

readable name

Trait Implementations§

Source§

impl Clone for ec_slave

Source§

fn clone(&self) -> ec_slave

Returns a copy 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 Copy for ec_slave

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.